soul-browser/app/smali_classes4/okhttp3/internal/http2/Huffman.smali
KaKi87 550ddb0413
Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1)
* Decompile and recreate Soul Browser v1.4.85 with APK CI builds

Co-authored-by: KaKi87 <KaKi87@pm.me>

* Fix CI build: include bundled google.jks and remove PR trigger

The apktool build failed in CI because app/unknown/.../google.jks was
excluded by the *.jks gitignore rule. Whitelist app-bundled JKS files
and commit the missing resource.

Also remove the redundant pull_request workflow trigger.

Co-authored-by: KaKi87 <KaKi87@pm.me>

* Change package ID to com.github.kaki87.soulbrowser

Rename the application ID so the rebuilt APK can be installed
alongside the original Soul Browser from Google Play.

- Update AndroidManifest package, permissions, providers, and actions
- Update R class references in smali (com/github/kaki87/soulbrowser/R)
- Update shortcuts.xml targetPackage
- Rename app label to "Soul Rebuild" for easy identification

Co-authored-by: KaKi87 <KaKi87@pm.me>

* Fix install compatibility: remove split APK metadata and bundle native libs

The rebuilt APK still declared requiredSplitTypes and Play Store split
metadata, causing Android to reject standalone installs as incompatible.

- Remove requiredSplitTypes and split-related manifest meta-data
- Merge native libs from all ABI splits with uncompressed storage
- Page-align before signing for extractNativeLibs=false
- Add .so to apktool doNotCompress list

Co-authored-by: KaKi87 <KaKi87@pm.me>

* Fix install failure: use apksigner v2/v3 and bundle arm64 native libs

Target SDK 36 requires APK Signature Scheme v2+, but jarsigner only
produces v1 signatures, causing Android to reject the install.

- Sign with apksigner (v1+v2+v3) instead of jarsigner
- Add arm64-v8a native libraries from universal Soul Browser 1.4.79
- Set extractNativeLibs=true for reliable sideload installs
- Commit stable debug keystore for consistent signatures across builds

Co-authored-by: KaKi87 <KaKi87@pm.me>

* Add committed debug keystore for consistent APK signatures

Co-authored-by: KaKi87 <KaKi87@pm.me>

* Fix startup crash: use original classes2.dex desugar libraries

Apktool recompiles smali_classes2 into a broken classes2.dex, causing
ClassNotFoundException for j$.com.android.tools.r8.a at ML Kit init.

Inject the original classes2.dex (Java 8+ desugar libs) after apktool
build instead of using the recompiled version.

Co-authored-by: KaKi87 <KaKi87@pm.me>

* Fix missing drawable resources from density split APKs

The base APK is an app bundle module; density-specific drawables like
seek_thumb_nor_b live in config.xhdpi.apk and were missing after rebuild,
causing Resources$NotFoundException at runtime.

- Merge non-9-patch resources from split APKs before apktool build
- Sync public.xml IDs from R smali only when backing files exist
- Add 713 density-specific resource IDs to public.xml

Co-authored-by: KaKi87 <KaKi87@pm.me>

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
2026-08-10 16:07:14 +02:00

1262 lines
18 KiB
Smali

.class public final Lokhttp3/internal/http2/Huffman;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lokhttp3/internal/http2/Huffman$Node;
}
.end annotation
.annotation runtime Lkotlin/Metadata;
d1 = {
"\u0000\u000c\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\u0008\u0002\u0008\u00c6\u0002\u0018\u00002\u00020\u0001:\u0001\u0002\u00a8\u0006\u0003"
}
d2 = {
"Lokhttp3/internal/http2/Huffman;",
"",
"Node",
"okhttp"
}
k = 0x1
mv = {
0x2,
0x2,
0x0
}
xi = 0x30
.end annotation
# static fields
.field public static final a:[I
.field public static final b:[B
.field public static final c:Lokhttp3/internal/http2/Huffman$Node;
# direct methods
.method static constructor <clinit>()V
.locals 8
.line 1
const/16 v0, 0x100
.line 2
.line 3
new-array v1, v0, [I
.line 4
.line 5
fill-array-data v1, :array_0
.line 6
.line 7
.line 8
sput-object v1, Lokhttp3/internal/http2/Huffman;->a:[I
.line 9
.line 10
new-array v1, v0, [B
.line 11
.line 12
fill-array-data v1, :array_1
.line 13
.line 14
.line 15
sput-object v1, Lokhttp3/internal/http2/Huffman;->b:[B
.line 16
.line 17
new-instance v1, Lokhttp3/internal/http2/Huffman$Node;
.line 18
.line 19
invoke-direct {v1}, Lokhttp3/internal/http2/Huffman$Node;-><init>()V
.line 20
.line 21
.line 22
sput-object v1, Lokhttp3/internal/http2/Huffman;->c:Lokhttp3/internal/http2/Huffman$Node;
.line 23
.line 24
const/4 v1, 0x0
.line 25
:goto_0
if-ge v1, v0, :cond_2
.line 26
.line 27
sget-object v2, Lokhttp3/internal/http2/Huffman;->a:[I
.line 28
.line 29
aget v2, v2, v1
.line 30
.line 31
sget-object v3, Lokhttp3/internal/http2/Huffman;->b:[B
.line 32
.line 33
aget-byte v3, v3, v1
.line 34
.line 35
new-instance v4, Lokhttp3/internal/http2/Huffman$Node;
.line 36
.line 37
invoke-direct {v4, v1, v3}, Lokhttp3/internal/http2/Huffman$Node;-><init>(II)V
.line 38
.line 39
.line 40
sget-object v5, Lokhttp3/internal/http2/Huffman;->c:Lokhttp3/internal/http2/Huffman$Node;
.line 41
.line 42
:goto_1
iget-object v5, v5, Lokhttp3/internal/http2/Huffman$Node;->a:[Lokhttp3/internal/http2/Huffman$Node;
.line 43
.line 44
const/16 v6, 0x8
.line 45
.line 46
if-le v3, v6, :cond_1
.line 47
.line 48
add-int/lit8 v3, v3, -0x8
.line 49
.line 50
ushr-int v6, v2, v3
.line 51
.line 52
and-int/lit16 v6, v6, 0xff
.line 53
.line 54
invoke-static {v5}, Lkotlin/jvm/internal/Intrinsics;->checkNotNull(Ljava/lang/Object;)V
.line 55
.line 56
.line 57
aget-object v7, v5, v6
.line 58
.line 59
if-nez v7, :cond_0
.line 60
.line 61
new-instance v7, Lokhttp3/internal/http2/Huffman$Node;
.line 62
.line 63
invoke-direct {v7}, Lokhttp3/internal/http2/Huffman$Node;-><init>()V
.line 64
.line 65
.line 66
aput-object v7, v5, v6
.line 67
.line 68
:cond_0
move-object v5, v7
.line 69
goto :goto_1
.line 70
:cond_1
rsub-int/lit8 v3, v3, 0x8
.line 71
.line 72
shl-int/2addr v2, v3
.line 73
and-int/lit16 v2, v2, 0xff
.line 74
.line 75
const/4 v6, 0x1
.line 76
shl-int v3, v6, v3
.line 77
.line 78
invoke-static {v5}, Lkotlin/jvm/internal/Intrinsics;->checkNotNull(Ljava/lang/Object;)V
.line 79
.line 80
.line 81
add-int/2addr v3, v2
.line 82
invoke-static {v5, v4, v2, v3}, Lkotlin/collections/ArraysKt;->fill([Ljava/lang/Object;Ljava/lang/Object;II)V
.line 83
.line 84
.line 85
add-int/lit8 v1, v1, 0x1
.line 86
.line 87
goto :goto_0
.line 88
:cond_2
return-void
.line 89
:array_0
.array-data 4
0x1ff8
0x7fffd8
0xfffffe2
0xfffffe3
0xfffffe4
0xfffffe5
0xfffffe6
0xfffffe7
0xfffffe8
0xffffea
0x3ffffffc # 1.9999995f
0xfffffe9
0xfffffea
0x3ffffffd # 1.9999996f
0xfffffeb
0xfffffec
0xfffffed
0xfffffee
0xfffffef
0xffffff0
0xffffff1
0xffffff2
0x3ffffffe # 1.9999998f
0xffffff3
0xffffff4
0xffffff5
0xffffff6
0xffffff7
0xffffff8
0xffffff9
0xffffffa
0xffffffb
0x14
0x3f8
0x3f9
0xffa
0x1ff9
0x15
0xf8
0x7fa
0x3fa
0x3fb
0xf9
0x7fb
0xfa
0x16
0x17
0x18
0x0
0x1
0x2
0x19
0x1a
0x1b
0x1c
0x1d
0x1e
0x1f
0x5c
0xfb
0x7ffc
0x20
0xffb
0x3fc
0x1ffa
0x21
0x5d
0x5e
0x5f
0x60
0x61
0x62
0x63
0x64
0x65
0x66
0x67
0x68
0x69
0x6a
0x6b
0x6c
0x6d
0x6e
0x6f
0x70
0x71
0x72
0xfc
0x73
0xfd
0x1ffb
0x7fff0
0x1ffc
0x3ffc
0x22
0x7ffd
0x3
0x23
0x4
0x24
0x5
0x25
0x26
0x27
0x6
0x74
0x75
0x28
0x29
0x2a
0x7
0x2b
0x76
0x2c
0x8
0x9
0x2d
0x77
0x78
0x79
0x7a
0x7b
0x7ffe
0x7fc
0x3ffd
0x1ffd
0xffffffc
0xfffe6
0x3fffd2
0xfffe7
0xfffe8
0x3fffd3
0x3fffd4
0x3fffd5
0x7fffd9
0x3fffd6
0x7fffda
0x7fffdb
0x7fffdc
0x7fffdd
0x7fffde
0xffffeb
0x7fffdf
0xffffec
0xffffed
0x3fffd7
0x7fffe0
0xffffee
0x7fffe1
0x7fffe2
0x7fffe3
0x7fffe4
0x1fffdc
0x3fffd8
0x7fffe5
0x3fffd9
0x7fffe6
0x7fffe7
0xffffef
0x3fffda
0x1fffdd
0xfffe9
0x3fffdb
0x3fffdc
0x7fffe8
0x7fffe9
0x1fffde
0x7fffea
0x3fffdd
0x3fffde
0xfffff0
0x1fffdf
0x3fffdf
0x7fffeb
0x7fffec
0x1fffe0
0x1fffe1
0x3fffe0
0x1fffe2
0x7fffed
0x3fffe1
0x7fffee
0x7fffef
0xfffea
0x3fffe2
0x3fffe3
0x3fffe4
0x7ffff0
0x3fffe5
0x3fffe6
0x7ffff1
0x3ffffe0
0x3ffffe1
0xfffeb
0x7fff1
0x3fffe7
0x7ffff2
0x3fffe8
0x1ffffec
0x3ffffe2
0x3ffffe3
0x3ffffe4
0x7ffffde
0x7ffffdf
0x3ffffe5
0xfffff1
0x1ffffed
0x7fff2
0x1fffe3
0x3ffffe6
0x7ffffe0
0x7ffffe1
0x3ffffe7
0x7ffffe2
0xfffff2
0x1fffe4
0x1fffe5
0x3ffffe8
0x3ffffe9
0xffffffd
0x7ffffe3
0x7ffffe4
0x7ffffe5
0xfffec
0xfffff3
0xfffed
0x1fffe6
0x3fffe9
0x1fffe7
0x1fffe8
0x7ffff3
0x3fffea
0x3fffeb
0x1ffffee
0x1ffffef
0xfffff4
0xfffff5
0x3ffffea
0x7ffff4
0x3ffffeb
0x7ffffe6
0x3ffffec
0x3ffffed
0x7ffffe7
0x7ffffe8
0x7ffffe9
0x7ffffea
0x7ffffeb
0xffffffe
0x7ffffec
0x7ffffed
0x7ffffee
0x7ffffef
0x7fffff0
0x3ffffee
.end array-data
.line 90
.line 91
.line 92
.line 93
.line 94
.line 95
.line 96
.line 97
.line 98
.line 99
.line 100
.line 101
.line 102
.line 103
.line 104
.line 105
.line 106
.line 107
.line 108
.line 109
.line 110
.line 111
.line 112
.line 113
.line 114
.line 115
.line 116
.line 117
.line 118
.line 119
.line 120
.line 121
.line 122
.line 123
.line 124
.line 125
.line 126
.line 127
.line 128
.line 129
.line 130
.line 131
.line 132
.line 133
.line 134
.line 135
.line 136
.line 137
.line 138
.line 139
.line 140
.line 141
.line 142
.line 143
.line 144
.line 145
.line 146
.line 147
.line 148
.line 149
.line 150
.line 151
.line 152
.line 153
.line 154
.line 155
.line 156
.line 157
.line 158
.line 159
.line 160
.line 161
.line 162
.line 163
.line 164
.line 165
.line 166
.line 167
.line 168
.line 169
.line 170
.line 171
.line 172
.line 173
.line 174
.line 175
.line 176
.line 177
.line 178
.line 179
.line 180
.line 181
.line 182
.line 183
.line 184
.line 185
.line 186
.line 187
.line 188
.line 189
.line 190
.line 191
.line 192
.line 193
.line 194
.line 195
.line 196
.line 197
.line 198
.line 199
.line 200
.line 201
.line 202
.line 203
.line 204
.line 205
.line 206
.line 207
.line 208
.line 209
.line 210
.line 211
.line 212
.line 213
.line 214
.line 215
.line 216
.line 217
.line 218
.line 219
.line 220
.line 221
.line 222
.line 223
.line 224
.line 225
.line 226
.line 227
.line 228
.line 229
.line 230
.line 231
.line 232
.line 233
.line 234
.line 235
.line 236
.line 237
.line 238
.line 239
.line 240
.line 241
.line 242
.line 243
.line 244
.line 245
.line 246
.line 247
.line 248
.line 249
.line 250
.line 251
.line 252
.line 253
.line 254
.line 255
.line 256
.line 257
.line 258
.line 259
.line 260
.line 261
.line 262
.line 263
.line 264
.line 265
.line 266
.line 267
.line 268
.line 269
.line 270
.line 271
.line 272
.line 273
.line 274
.line 275
.line 276
.line 277
.line 278
.line 279
.line 280
.line 281
.line 282
.line 283
.line 284
.line 285
.line 286
.line 287
.line 288
.line 289
.line 290
.line 291
.line 292
.line 293
.line 294
.line 295
.line 296
.line 297
.line 298
.line 299
.line 300
.line 301
.line 302
.line 303
.line 304
.line 305
.line 306
.line 307
.line 308
.line 309
.line 310
.line 311
.line 312
.line 313
.line 314
.line 315
.line 316
.line 317
.line 318
.line 319
.line 320
.line 321
.line 322
.line 323
.line 324
.line 325
.line 326
.line 327
.line 328
.line 329
.line 330
.line 331
.line 332
.line 333
.line 334
.line 335
.line 336
.line 337
.line 338
.line 339
.line 340
.line 341
.line 342
.line 343
.line 344
.line 345
.line 346
.line 347
.line 348
.line 349
.line 350
.line 351
.line 352
.line 353
.line 354
.line 355
.line 356
.line 357
.line 358
.line 359
.line 360
.line 361
.line 362
.line 363
.line 364
.line 365
.line 366
.line 367
.line 368
.line 369
.line 370
.line 371
.line 372
.line 373
.line 374
.line 375
.line 376
.line 377
.line 378
.line 379
.line 380
.line 381
.line 382
.line 383
.line 384
.line 385
.line 386
.line 387
.line 388
.line 389
.line 390
.line 391
.line 392
.line 393
.line 394
.line 395
.line 396
.line 397
.line 398
.line 399
.line 400
.line 401
.line 402
.line 403
.line 404
.line 405
.line 406
.line 407
.line 408
.line 409
.line 410
.line 411
.line 412
.line 413
.line 414
.line 415
.line 416
.line 417
.line 418
.line 419
.line 420
.line 421
.line 422
.line 423
.line 424
.line 425
.line 426
.line 427
.line 428
.line 429
.line 430
.line 431
.line 432
.line 433
.line 434
.line 435
.line 436
.line 437
.line 438
.line 439
.line 440
.line 441
.line 442
.line 443
.line 444
.line 445
.line 446
.line 447
.line 448
.line 449
.line 450
.line 451
.line 452
.line 453
.line 454
.line 455
.line 456
.line 457
.line 458
.line 459
.line 460
.line 461
.line 462
.line 463
.line 464
.line 465
.line 466
.line 467
.line 468
.line 469
.line 470
.line 471
.line 472
.line 473
.line 474
.line 475
.line 476
.line 477
.line 478
.line 479
.line 480
.line 481
.line 482
.line 483
.line 484
.line 485
.line 486
.line 487
.line 488
.line 489
.line 490
.line 491
.line 492
.line 493
.line 494
.line 495
.line 496
.line 497
.line 498
.line 499
.line 500
.line 501
.line 502
.line 503
.line 504
.line 505
.line 506
.line 507
.line 508
.line 509
.line 510
.line 511
.line 512
.line 513
.line 514
.line 515
.line 516
.line 517
.line 518
.line 519
.line 520
.line 521
.line 522
.line 523
.line 524
.line 525
.line 526
.line 527
.line 528
.line 529
.line 530
.line 531
.line 532
.line 533
.line 534
.line 535
.line 536
.line 537
.line 538
.line 539
.line 540
.line 541
.line 542
.line 543
.line 544
.line 545
.line 546
.line 547
.line 548
.line 549
.line 550
.line 551
.line 552
.line 553
.line 554
.line 555
.line 556
.line 557
.line 558
.line 559
.line 560
.line 561
.line 562
.line 563
.line 564
.line 565
.line 566
.line 567
.line 568
.line 569
.line 570
.line 571
.line 572
.line 573
.line 574
.line 575
.line 576
.line 577
.line 578
.line 579
.line 580
.line 581
.line 582
.line 583
.line 584
.line 585
.line 586
.line 587
.line 588
.line 589
.line 590
.line 591
.line 592
.line 593
.line 594
.line 595
.line 596
.line 597
.line 598
.line 599
.line 600
.line 601
.line 602
.line 603
.line 604
.line 605
:array_1
.array-data 1
0xdt
0x17t
0x1ct
0x1ct
0x1ct
0x1ct
0x1ct
0x1ct
0x1ct
0x18t
0x1et
0x1ct
0x1ct
0x1et
0x1ct
0x1ct
0x1ct
0x1ct
0x1ct
0x1ct
0x1ct
0x1ct
0x1et
0x1ct
0x1ct
0x1ct
0x1ct
0x1ct
0x1ct
0x1ct
0x1ct
0x1ct
0x6t
0xat
0xat
0xct
0xdt
0x6t
0x8t
0xbt
0xat
0xat
0x8t
0xbt
0x8t
0x6t
0x6t
0x6t
0x5t
0x5t
0x5t
0x6t
0x6t
0x6t
0x6t
0x6t
0x6t
0x6t
0x7t
0x8t
0xft
0x6t
0xct
0xat
0xdt
0x6t
0x7t
0x7t
0x7t
0x7t
0x7t
0x7t
0x7t
0x7t
0x7t
0x7t
0x7t
0x7t
0x7t
0x7t
0x7t
0x7t
0x7t
0x7t
0x7t
0x7t
0x7t
0x7t
0x8t
0x7t
0x8t
0xdt
0x13t
0xdt
0xet
0x6t
0xft
0x5t
0x6t
0x5t
0x6t
0x5t
0x6t
0x6t
0x6t
0x5t
0x7t
0x7t
0x6t
0x6t
0x6t
0x5t
0x6t
0x7t
0x6t
0x5t
0x5t
0x6t
0x7t
0x7t
0x7t
0x7t
0x7t
0xft
0xbt
0xet
0xdt
0x1ct
0x14t
0x16t
0x14t
0x14t
0x16t
0x16t
0x16t
0x17t
0x16t
0x17t
0x17t
0x17t
0x17t
0x17t
0x18t
0x17t
0x18t
0x18t
0x16t
0x17t
0x18t
0x17t
0x17t
0x17t
0x17t
0x15t
0x16t
0x17t
0x16t
0x17t
0x17t
0x18t
0x16t
0x15t
0x14t
0x16t
0x16t
0x17t
0x17t
0x15t
0x17t
0x16t
0x16t
0x18t
0x15t
0x16t
0x17t
0x17t
0x15t
0x15t
0x16t
0x15t
0x17t
0x16t
0x17t
0x17t
0x14t
0x16t
0x16t
0x16t
0x17t
0x16t
0x16t
0x17t
0x1at
0x1at
0x14t
0x13t
0x16t
0x17t
0x16t
0x19t
0x1at
0x1at
0x1at
0x1bt
0x1bt
0x1at
0x18t
0x19t
0x13t
0x15t
0x1at
0x1bt
0x1bt
0x1at
0x1bt
0x18t
0x15t
0x15t
0x1at
0x1at
0x1ct
0x1bt
0x1bt
0x1bt
0x14t
0x18t
0x14t
0x15t
0x16t
0x15t
0x15t
0x17t
0x16t
0x16t
0x19t
0x19t
0x18t
0x18t
0x1at
0x17t
0x1at
0x1bt
0x1at
0x1at
0x1bt
0x1bt
0x1bt
0x1bt
0x1bt
0x1ct
0x1bt
0x1bt
0x1bt
0x1bt
0x1bt
0x1at
.end array-data
.end method