soul-browser/sources/java/com/google/android/gms/internal/ads/zzgga.java
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

103 lines
3.2 KiB
Java

package com.google.android.gms.internal.ads;
import com.google.android.gms.ads.RequestConfiguration;
import java.lang.reflect.Method;
import java.util.Arrays;
import java.util.Map;
/* loaded from: classes.dex */
final class zzgga extends zzgfz {
public final Map f;
public final zzgba g;
public zzgga(zzavs zzavsVar, zzgev zzgevVar, zzgba zzgbaVar, Map map, zzgnc zzgncVar) {
super("PL1+PnLeilPUwoW2fO9HYIrx4Gg09J/+FJQHQ2Jxmj5/l/Syl1OYiCh2G/imF0wq", "lSzEOSnnLGs69ZQnPGdq+hn/fw2CPePS7EJBVgPn7n4=", zzavsVar, zzgevVar, zzgncVar.a(122));
this.f = map;
this.g = zzgbaVar;
}
@Override // com.google.android.gms.internal.ads.zzgfz
public final void a(Method method, zzavs zzavsVar) {
Long[] lArr = new Long[9];
Arrays.fill((Object[]) lArr, (Object) (-1L));
Map map = this.f;
Long l = (Long) map.get("tcq");
if (l == null) {
l = -1L;
}
lArr[0] = l;
Long l2 = (Long) map.get("tpq");
if (l2 == null) {
l2 = -1L;
}
lArr[1] = l2;
Long l3 = (Long) map.get("tcv");
if (l3 == null) {
l3 = -1L;
}
lArr[2] = l3;
Long l4 = (Long) map.get("tpv");
if (l4 == null) {
l4 = -1L;
}
lArr[3] = l4;
Long l5 = (Long) map.get("tchv");
if (l5 == null) {
l5 = -1L;
}
lArr[4] = l5;
Long l6 = (Long) map.get("tphv");
if (l6 == null) {
l6 = -1L;
}
lArr[5] = l6;
Long l7 = (Long) map.get("tcc");
if (l7 == null) {
l7 = -1L;
}
lArr[6] = l7;
Long l8 = (Long) map.get("tpc");
if (l8 == null) {
l8 = -1L;
}
lArr[7] = l8;
Long l9 = (Long) map.get("tst");
if (l9 == null) {
l9 = -1L;
}
lArr[8] = l9;
for (int i = 0; i < 9; i++) {
if (lArr[i] == null) {
lArr[i] = -1L;
}
}
Long[] lArr2 = (Long[]) method.invoke(RequestConfiguration.MAX_AD_CONTENT_RATING_UNSPECIFIED, lArr, Integer.valueOf(this.g.ordinal()));
lArr2.getClass();
synchronized (zzavsVar) {
long longValue = lArr2[0].longValue();
zzavsVar.k();
((zzawp) zzavsVar.f).q0(longValue);
long longValue2 = lArr2[1].longValue();
zzavsVar.k();
((zzawp) zzavsVar.f).G(longValue2);
long longValue3 = lArr2[2].longValue();
zzavsVar.k();
((zzawp) zzavsVar.f).U0(longValue3);
long longValue4 = lArr2[3].longValue();
zzavsVar.k();
((zzawp) zzavsVar.f).R0(longValue4);
long longValue5 = lArr2[4].longValue();
zzavsVar.k();
((zzawp) zzavsVar.f).m0(longValue5);
long longValue6 = lArr2[5].longValue();
zzavsVar.k();
((zzawp) zzavsVar.f).n0(longValue6);
long longValue7 = lArr2[6].longValue();
zzavsVar.k();
((zzawp) zzavsVar.f).T(longValue7);
long longValue8 = lArr2[7].longValue();
zzavsVar.k();
((zzawp) zzavsVar.f).U(longValue8);
}
}
}