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

173 lines
10 KiB
Java

package com.google.android.gms.internal.ads;
import android.graphics.Color;
import android.text.TextUtils;
import com.google.android.gms.ads.RequestConfiguration;
import java.util.HashMap;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import kotlin.KotlinVersion;
/* loaded from: classes.dex */
public final class zzdp {
/* renamed from: a, reason: collision with root package name */
public static final Pattern f5981a = Pattern.compile("^rgb\\((\\d{1,3}),(\\d{1,3}),(\\d{1,3})\\)$");
public static final Pattern b = Pattern.compile("^rgba\\((\\d{1,3}),(\\d{1,3}),(\\d{1,3}),(\\d{1,3})\\)$");
/* renamed from: c, reason: collision with root package name */
public static final Pattern f5982c = Pattern.compile("^rgba\\((\\d{1,3}),(\\d{1,3}),(\\d{1,3}),(\\d*\\.?\\d*?)\\)$");
public static final HashMap d;
static {
HashMap hashMap = new HashMap();
d = hashMap;
androidx.work.impl.workers.a.v(-984833, hashMap, "aliceblue", -332841, "antiquewhite");
androidx.work.impl.workers.a.B(hashMap, "aqua", -16711681, -8388652, "aquamarine");
androidx.work.impl.workers.a.v(-983041, hashMap, "azure", -657956, "beige");
androidx.work.impl.workers.a.v(-6972, hashMap, "bisque", -16777216, "black");
androidx.work.impl.workers.a.v(-5171, hashMap, "blanchedalmond", -16776961, "blue");
androidx.work.impl.workers.a.v(-7722014, hashMap, "blueviolet", -5952982, "brown");
androidx.work.impl.workers.a.v(-2180985, hashMap, "burlywood", -10510688, "cadetblue");
androidx.work.impl.workers.a.v(-8388864, hashMap, "chartreuse", -2987746, "chocolate");
androidx.work.impl.workers.a.v(-32944, hashMap, "coral", -10185235, "cornflowerblue");
androidx.work.impl.workers.a.v(-1828, hashMap, "cornsilk", -2354116, "crimson");
androidx.work.impl.workers.a.B(hashMap, "cyan", -16711681, -16777077, "darkblue");
androidx.work.impl.workers.a.v(-16741493, hashMap, "darkcyan", -4684277, "darkgoldenrod");
androidx.work.impl.workers.a.B(hashMap, "darkgray", -5658199, -16751616, "darkgreen");
androidx.work.impl.workers.a.B(hashMap, "darkgrey", -5658199, -4343957, "darkkhaki");
androidx.work.impl.workers.a.v(-7667573, hashMap, "darkmagenta", -11179217, "darkolivegreen");
androidx.work.impl.workers.a.v(-29696, hashMap, "darkorange", -6737204, "darkorchid");
androidx.work.impl.workers.a.v(-7667712, hashMap, "darkred", -1468806, "darksalmon");
androidx.work.impl.workers.a.v(-7357297, hashMap, "darkseagreen", -12042869, "darkslateblue");
hashMap.put("darkslategray", -13676721);
hashMap.put("darkslategrey", -13676721);
androidx.work.impl.workers.a.B(hashMap, "darkturquoise", -16724271, -7077677, "darkviolet");
androidx.work.impl.workers.a.v(-60269, hashMap, "deeppink", -16728065, "deepskyblue");
hashMap.put("dimgray", -9868951);
hashMap.put("dimgrey", -9868951);
androidx.work.impl.workers.a.B(hashMap, "dodgerblue", -14774017, -5103070, "firebrick");
androidx.work.impl.workers.a.v(-1296, hashMap, "floralwhite", -14513374, "forestgreen");
androidx.work.impl.workers.a.B(hashMap, "fuchsia", -65281, -2302756, "gainsboro");
androidx.work.impl.workers.a.v(-460545, hashMap, "ghostwhite", -10496, "gold");
hashMap.put("goldenrod", -2448096);
hashMap.put("gray", -8355712);
androidx.work.impl.workers.a.v(-16744448, hashMap, "green", -5374161, "greenyellow");
androidx.work.impl.workers.a.B(hashMap, "grey", -8355712, -983056, "honeydew");
androidx.work.impl.workers.a.v(-38476, hashMap, "hotpink", -3318692, "indianred");
androidx.work.impl.workers.a.v(-11861886, hashMap, "indigo", -16, "ivory");
androidx.work.impl.workers.a.v(-989556, hashMap, "khaki", -1644806, "lavender");
androidx.work.impl.workers.a.v(-3851, hashMap, "lavenderblush", -8586240, "lawngreen");
androidx.work.impl.workers.a.v(-1331, hashMap, "lemonchiffon", -5383962, "lightblue");
androidx.work.impl.workers.a.v(-1015680, hashMap, "lightcoral", -2031617, "lightcyan");
hashMap.put("lightgoldenrodyellow", -329006);
hashMap.put("lightgray", -2894893);
hashMap.put("lightgreen", -7278960);
hashMap.put("lightgrey", -2894893);
androidx.work.impl.workers.a.v(-18751, hashMap, "lightpink", -24454, "lightsalmon");
androidx.work.impl.workers.a.v(-14634326, hashMap, "lightseagreen", -7876870, "lightskyblue");
hashMap.put("lightslategray", -8943463);
hashMap.put("lightslategrey", -8943463);
androidx.work.impl.workers.a.B(hashMap, "lightsteelblue", -5192482, -32, "lightyellow");
androidx.work.impl.workers.a.v(-16711936, hashMap, "lime", -13447886, "limegreen");
hashMap.put("linen", -331546);
hashMap.put("magenta", -65281);
androidx.work.impl.workers.a.v(-8388608, hashMap, "maroon", -10039894, "mediumaquamarine");
androidx.work.impl.workers.a.v(-16777011, hashMap, "mediumblue", -4565549, "mediumorchid");
androidx.work.impl.workers.a.v(-7114533, hashMap, "mediumpurple", -12799119, "mediumseagreen");
androidx.work.impl.workers.a.v(-8689426, hashMap, "mediumslateblue", -16713062, "mediumspringgreen");
androidx.work.impl.workers.a.v(-12004916, hashMap, "mediumturquoise", -3730043, "mediumvioletred");
androidx.work.impl.workers.a.v(-15132304, hashMap, "midnightblue", -655366, "mintcream");
androidx.work.impl.workers.a.v(-6943, hashMap, "mistyrose", -6987, "moccasin");
androidx.work.impl.workers.a.v(-8531, hashMap, "navajowhite", -16777088, "navy");
androidx.work.impl.workers.a.v(-133658, hashMap, "oldlace", -8355840, "olive");
androidx.work.impl.workers.a.v(-9728477, hashMap, "olivedrab", -23296, "orange");
androidx.work.impl.workers.a.v(-47872, hashMap, "orangered", -2461482, "orchid");
androidx.work.impl.workers.a.v(-1120086, hashMap, "palegoldenrod", -6751336, "palegreen");
androidx.work.impl.workers.a.v(-5247250, hashMap, "paleturquoise", -2396013, "palevioletred");
androidx.work.impl.workers.a.v(-4139, hashMap, "papayawhip", -9543, "peachpuff");
androidx.work.impl.workers.a.v(-3308225, hashMap, "peru", -16181, "pink");
androidx.work.impl.workers.a.v(-2252579, hashMap, "plum", -5185306, "powderblue");
androidx.work.impl.workers.a.v(-8388480, hashMap, "purple", -10079335, "rebeccapurple");
androidx.work.impl.workers.a.v(-65536, hashMap, "red", -4419697, "rosybrown");
androidx.work.impl.workers.a.v(-12490271, hashMap, "royalblue", -7650029, "saddlebrown");
androidx.work.impl.workers.a.v(-360334, hashMap, "salmon", -744352, "sandybrown");
androidx.work.impl.workers.a.v(-13726889, hashMap, "seagreen", -2578, "seashell");
androidx.work.impl.workers.a.v(-6270419, hashMap, "sienna", -4144960, "silver");
androidx.work.impl.workers.a.v(-7876885, hashMap, "skyblue", -9807155, "slateblue");
hashMap.put("slategray", -9404272);
hashMap.put("slategrey", -9404272);
androidx.work.impl.workers.a.B(hashMap, "snow", -1286, -16711809, "springgreen");
androidx.work.impl.workers.a.v(-12156236, hashMap, "steelblue", -2968436, "tan");
androidx.work.impl.workers.a.v(-16744320, hashMap, "teal", -2572328, "thistle");
androidx.work.impl.workers.a.v(-40121, hashMap, "tomato", 0, "transparent");
androidx.work.impl.workers.a.v(-12525360, hashMap, "turquoise", -1146130, "violet");
androidx.work.impl.workers.a.v(-663885, hashMap, "wheat", -1, "white");
androidx.work.impl.workers.a.v(-657931, hashMap, "whitesmoke", -256, "yellow");
hashMap.put("yellowgreen", -6632142);
}
public static int a(String str, boolean z) {
Pattern pattern;
int parseInt;
zzgqa.a(!TextUtils.isEmpty(str));
String replace = str.replace(" ", RequestConfiguration.MAX_AD_CONTENT_RATING_UNSPECIFIED);
if (replace.charAt(0) == '#') {
int parseLong = (int) Long.parseLong(replace.substring(1), 16);
if (replace.length() == 7) {
return (-16777216) | parseLong;
}
if (replace.length() == 9) {
return ((parseLong & KotlinVersion.MAX_COMPONENT_VALUE) << 24) | (parseLong >>> 8);
}
throw new IllegalArgumentException();
}
if (replace.startsWith("rgba")) {
if (z) {
pattern = f5982c;
} else {
pattern = b;
}
Matcher matcher = pattern.matcher(replace);
if (matcher.matches()) {
if (z) {
String group = matcher.group(4);
group.getClass();
parseInt = (int) (Float.parseFloat(group) * 255.0f);
} else {
String group2 = matcher.group(4);
group2.getClass();
parseInt = Integer.parseInt(group2, 10);
}
String group3 = matcher.group(1);
group3.getClass();
int parseInt2 = Integer.parseInt(group3, 10);
String group4 = matcher.group(2);
group4.getClass();
int parseInt3 = Integer.parseInt(group4, 10);
String group5 = matcher.group(3);
group5.getClass();
return Color.argb(parseInt, parseInt2, parseInt3, Integer.parseInt(group5, 10));
}
} else if (replace.startsWith("rgb")) {
Matcher matcher2 = f5981a.matcher(replace);
if (matcher2.matches()) {
String group6 = matcher2.group(1);
group6.getClass();
int parseInt4 = Integer.parseInt(group6, 10);
String group7 = matcher2.group(2);
group7.getClass();
int parseInt5 = Integer.parseInt(group7, 10);
String group8 = matcher2.group(3);
group8.getClass();
return Color.rgb(parseInt4, parseInt5, Integer.parseInt(group8, 10));
}
} else {
Integer num = (Integer) d.get(zzgpj.a(replace));
if (num != null) {
return num.intValue();
}
}
throw new IllegalArgumentException();
}
}