* 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>
762 lines
16 KiB
Smali
762 lines
16 KiB
Smali
.class final Landroidx/lifecycle/ClassesInfoCache;
|
|
.super Ljava/lang/Object;
|
|
.source "SourceFile"
|
|
|
|
|
|
# annotations
|
|
.annotation system Ldalvik/annotation/MemberClasses;
|
|
value = {
|
|
Landroidx/lifecycle/ClassesInfoCache$CallbackInfo;,
|
|
Landroidx/lifecycle/ClassesInfoCache$MethodReference;
|
|
}
|
|
.end annotation
|
|
|
|
.annotation runtime Ljava/lang/Deprecated;
|
|
.end annotation
|
|
|
|
|
|
# static fields
|
|
.field public static final c:Landroidx/lifecycle/ClassesInfoCache;
|
|
|
|
|
|
# instance fields
|
|
.field public final a:Ljava/util/HashMap;
|
|
|
|
.field public final b:Ljava/util/HashMap;
|
|
|
|
|
|
# direct methods
|
|
.method static constructor <clinit>()V
|
|
.locals 1
|
|
|
|
.line 1
|
|
new-instance v0, Landroidx/lifecycle/ClassesInfoCache;
|
|
|
|
.line 2
|
|
.line 3
|
|
invoke-direct {v0}, Landroidx/lifecycle/ClassesInfoCache;-><init>()V
|
|
|
|
.line 4
|
|
.line 5
|
|
.line 6
|
|
sput-object v0, Landroidx/lifecycle/ClassesInfoCache;->c:Landroidx/lifecycle/ClassesInfoCache;
|
|
|
|
.line 7
|
|
.line 8
|
|
return-void
|
|
.end method
|
|
|
|
.method public constructor <init>()V
|
|
.locals 1
|
|
|
|
.line 1
|
|
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
|
|
|
.line 2
|
|
.line 3
|
|
.line 4
|
|
new-instance v0, Ljava/util/HashMap;
|
|
|
|
.line 5
|
|
.line 6
|
|
invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
|
|
|
|
.line 7
|
|
.line 8
|
|
.line 9
|
|
iput-object v0, p0, Landroidx/lifecycle/ClassesInfoCache;->a:Ljava/util/HashMap;
|
|
|
|
.line 10
|
|
.line 11
|
|
new-instance v0, Ljava/util/HashMap;
|
|
|
|
.line 12
|
|
.line 13
|
|
invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
|
|
|
|
.line 14
|
|
.line 15
|
|
.line 16
|
|
iput-object v0, p0, Landroidx/lifecycle/ClassesInfoCache;->b:Ljava/util/HashMap;
|
|
|
|
.line 17
|
|
.line 18
|
|
return-void
|
|
.end method
|
|
|
|
.method public static b(Ljava/util/HashMap;Landroidx/lifecycle/ClassesInfoCache$MethodReference;Landroidx/lifecycle/Lifecycle$Event;Ljava/lang/Class;)V
|
|
.locals 3
|
|
|
|
.line 1
|
|
invoke-virtual {p0, p1}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
|
|
|
|
.line 2
|
|
.line 3
|
|
.line 4
|
|
move-result-object v0
|
|
|
|
.line 5
|
|
check-cast v0, Landroidx/lifecycle/Lifecycle$Event;
|
|
|
|
.line 6
|
|
.line 7
|
|
if-eqz v0, :cond_1
|
|
|
|
.line 8
|
|
.line 9
|
|
if-ne p2, v0, :cond_0
|
|
|
|
.line 10
|
|
.line 11
|
|
goto :goto_0
|
|
|
|
.line 12
|
|
:cond_0
|
|
iget-object p0, p1, Landroidx/lifecycle/ClassesInfoCache$MethodReference;->b:Ljava/lang/reflect/Method;
|
|
|
|
.line 13
|
|
.line 14
|
|
new-instance p1, Ljava/lang/IllegalArgumentException;
|
|
|
|
.line 15
|
|
.line 16
|
|
new-instance v1, Ljava/lang/StringBuilder;
|
|
|
|
.line 17
|
|
.line 18
|
|
const-string v2, "Method "
|
|
|
|
.line 19
|
|
.line 20
|
|
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
|
|
|
|
.line 21
|
|
.line 22
|
|
.line 23
|
|
invoke-virtual {p0}, Ljava/lang/reflect/Method;->getName()Ljava/lang/String;
|
|
|
|
.line 24
|
|
.line 25
|
|
.line 26
|
|
move-result-object p0
|
|
|
|
.line 27
|
|
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
.line 28
|
|
.line 29
|
|
.line 30
|
|
const-string p0, " in "
|
|
|
|
.line 31
|
|
.line 32
|
|
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
.line 33
|
|
.line 34
|
|
.line 35
|
|
invoke-virtual {p3}, Ljava/lang/Class;->getName()Ljava/lang/String;
|
|
|
|
.line 36
|
|
.line 37
|
|
.line 38
|
|
move-result-object p0
|
|
|
|
.line 39
|
|
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
.line 40
|
|
.line 41
|
|
.line 42
|
|
const-string p0, " already declared with different @OnLifecycleEvent value: previous value "
|
|
|
|
.line 43
|
|
.line 44
|
|
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
.line 45
|
|
.line 46
|
|
.line 47
|
|
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
|
|
|
|
.line 48
|
|
.line 49
|
|
.line 50
|
|
const-string p0, ", new value "
|
|
|
|
.line 51
|
|
.line 52
|
|
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
.line 53
|
|
.line 54
|
|
.line 55
|
|
invoke-virtual {v1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
|
|
|
|
.line 56
|
|
.line 57
|
|
.line 58
|
|
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
|
|
|
.line 59
|
|
.line 60
|
|
.line 61
|
|
move-result-object p0
|
|
|
|
.line 62
|
|
invoke-direct {p1, p0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
|
|
|
|
.line 63
|
|
.line 64
|
|
.line 65
|
|
throw p1
|
|
|
|
.line 66
|
|
:cond_1
|
|
:goto_0
|
|
if-nez v0, :cond_2
|
|
|
|
.line 67
|
|
.line 68
|
|
invoke-virtual {p0, p1, p2}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
|
|
|
|
.line 69
|
|
.line 70
|
|
.line 71
|
|
:cond_2
|
|
return-void
|
|
.end method
|
|
|
|
|
|
# virtual methods
|
|
.method public final a(Ljava/lang/Class;[Ljava/lang/reflect/Method;)Landroidx/lifecycle/ClassesInfoCache$CallbackInfo;
|
|
.locals 12
|
|
|
|
.line 1
|
|
invoke-virtual {p1}, Ljava/lang/Class;->getSuperclass()Ljava/lang/Class;
|
|
|
|
.line 2
|
|
.line 3
|
|
.line 4
|
|
move-result-object v0
|
|
|
|
.line 5
|
|
new-instance v1, Ljava/util/HashMap;
|
|
|
|
.line 6
|
|
.line 7
|
|
invoke-direct {v1}, Ljava/util/HashMap;-><init>()V
|
|
|
|
.line 8
|
|
.line 9
|
|
.line 10
|
|
const/4 v2, 0x0
|
|
|
|
.line 11
|
|
iget-object v3, p0, Landroidx/lifecycle/ClassesInfoCache;->a:Ljava/util/HashMap;
|
|
|
|
.line 12
|
|
.line 13
|
|
if-eqz v0, :cond_1
|
|
|
|
.line 14
|
|
.line 15
|
|
invoke-virtual {v3, v0}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
|
|
|
|
.line 16
|
|
.line 17
|
|
.line 18
|
|
move-result-object v4
|
|
|
|
.line 19
|
|
check-cast v4, Landroidx/lifecycle/ClassesInfoCache$CallbackInfo;
|
|
|
|
.line 20
|
|
.line 21
|
|
if-eqz v4, :cond_0
|
|
|
|
.line 22
|
|
.line 23
|
|
goto :goto_0
|
|
|
|
.line 24
|
|
:cond_0
|
|
invoke-virtual {p0, v0, v2}, Landroidx/lifecycle/ClassesInfoCache;->a(Ljava/lang/Class;[Ljava/lang/reflect/Method;)Landroidx/lifecycle/ClassesInfoCache$CallbackInfo;
|
|
|
|
.line 25
|
|
.line 26
|
|
.line 27
|
|
move-result-object v4
|
|
|
|
.line 28
|
|
:goto_0
|
|
iget-object v0, v4, Landroidx/lifecycle/ClassesInfoCache$CallbackInfo;->b:Ljava/util/HashMap;
|
|
|
|
.line 29
|
|
.line 30
|
|
invoke-virtual {v1, v0}, Ljava/util/HashMap;->putAll(Ljava/util/Map;)V
|
|
|
|
.line 31
|
|
.line 32
|
|
.line 33
|
|
:cond_1
|
|
invoke-virtual {p1}, Ljava/lang/Class;->getInterfaces()[Ljava/lang/Class;
|
|
|
|
.line 34
|
|
.line 35
|
|
.line 36
|
|
move-result-object v0
|
|
|
|
.line 37
|
|
array-length v4, v0
|
|
|
|
.line 38
|
|
const/4 v5, 0x0
|
|
|
|
.line 39
|
|
move v6, v5
|
|
|
|
.line 40
|
|
:goto_1
|
|
if-ge v6, v4, :cond_4
|
|
|
|
.line 41
|
|
.line 42
|
|
aget-object v7, v0, v6
|
|
|
|
.line 43
|
|
.line 44
|
|
invoke-virtual {v3, v7}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
|
|
|
|
.line 45
|
|
.line 46
|
|
.line 47
|
|
move-result-object v8
|
|
|
|
.line 48
|
|
check-cast v8, Landroidx/lifecycle/ClassesInfoCache$CallbackInfo;
|
|
|
|
.line 49
|
|
.line 50
|
|
if-eqz v8, :cond_2
|
|
|
|
.line 51
|
|
.line 52
|
|
goto :goto_2
|
|
|
|
.line 53
|
|
:cond_2
|
|
invoke-virtual {p0, v7, v2}, Landroidx/lifecycle/ClassesInfoCache;->a(Ljava/lang/Class;[Ljava/lang/reflect/Method;)Landroidx/lifecycle/ClassesInfoCache$CallbackInfo;
|
|
|
|
.line 54
|
|
.line 55
|
|
.line 56
|
|
move-result-object v8
|
|
|
|
.line 57
|
|
:goto_2
|
|
iget-object v7, v8, Landroidx/lifecycle/ClassesInfoCache$CallbackInfo;->b:Ljava/util/HashMap;
|
|
|
|
.line 58
|
|
.line 59
|
|
invoke-virtual {v7}, Ljava/util/HashMap;->entrySet()Ljava/util/Set;
|
|
|
|
.line 60
|
|
.line 61
|
|
.line 62
|
|
move-result-object v7
|
|
|
|
.line 63
|
|
invoke-interface {v7}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
|
|
|
|
.line 64
|
|
.line 65
|
|
.line 66
|
|
move-result-object v7
|
|
|
|
.line 67
|
|
:goto_3
|
|
invoke-interface {v7}, Ljava/util/Iterator;->hasNext()Z
|
|
|
|
.line 68
|
|
.line 69
|
|
.line 70
|
|
move-result v8
|
|
|
|
.line 71
|
|
if-eqz v8, :cond_3
|
|
|
|
.line 72
|
|
.line 73
|
|
invoke-interface {v7}, Ljava/util/Iterator;->next()Ljava/lang/Object;
|
|
|
|
.line 74
|
|
.line 75
|
|
.line 76
|
|
move-result-object v8
|
|
|
|
.line 77
|
|
check-cast v8, Ljava/util/Map$Entry;
|
|
|
|
.line 78
|
|
.line 79
|
|
invoke-interface {v8}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;
|
|
|
|
.line 80
|
|
.line 81
|
|
.line 82
|
|
move-result-object v9
|
|
|
|
.line 83
|
|
check-cast v9, Landroidx/lifecycle/ClassesInfoCache$MethodReference;
|
|
|
|
.line 84
|
|
.line 85
|
|
invoke-interface {v8}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
|
|
|
|
.line 86
|
|
.line 87
|
|
.line 88
|
|
move-result-object v8
|
|
|
|
.line 89
|
|
check-cast v8, Landroidx/lifecycle/Lifecycle$Event;
|
|
|
|
.line 90
|
|
.line 91
|
|
invoke-static {v1, v9, v8, p1}, Landroidx/lifecycle/ClassesInfoCache;->b(Ljava/util/HashMap;Landroidx/lifecycle/ClassesInfoCache$MethodReference;Landroidx/lifecycle/Lifecycle$Event;Ljava/lang/Class;)V
|
|
|
|
.line 92
|
|
.line 93
|
|
.line 94
|
|
goto :goto_3
|
|
|
|
.line 95
|
|
:cond_3
|
|
add-int/lit8 v6, v6, 0x1
|
|
|
|
.line 96
|
|
.line 97
|
|
goto :goto_1
|
|
|
|
.line 98
|
|
:cond_4
|
|
if-eqz p2, :cond_5
|
|
|
|
.line 99
|
|
.line 100
|
|
goto :goto_4
|
|
|
|
.line 101
|
|
:cond_5
|
|
:try_start_0
|
|
invoke-virtual {p1}, Ljava/lang/Class;->getDeclaredMethods()[Ljava/lang/reflect/Method;
|
|
|
|
.line 102
|
|
.line 103
|
|
.line 104
|
|
move-result-object p2
|
|
:try_end_0
|
|
.catch Ljava/lang/NoClassDefFoundError; {:try_start_0 .. :try_end_0} :catch_0
|
|
|
|
.line 105
|
|
:goto_4
|
|
array-length v0, p2
|
|
|
|
.line 106
|
|
move v2, v5
|
|
|
|
.line 107
|
|
move v4, v2
|
|
|
|
.line 108
|
|
:goto_5
|
|
if-ge v2, v0, :cond_d
|
|
|
|
.line 109
|
|
.line 110
|
|
aget-object v6, p2, v2
|
|
|
|
.line 111
|
|
.line 112
|
|
const-class v7, Landroidx/lifecycle/OnLifecycleEvent;
|
|
|
|
.line 113
|
|
.line 114
|
|
invoke-virtual {v6, v7}, Ljava/lang/reflect/Method;->getAnnotation(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
|
|
|
|
.line 115
|
|
.line 116
|
|
.line 117
|
|
move-result-object v7
|
|
|
|
.line 118
|
|
check-cast v7, Landroidx/lifecycle/OnLifecycleEvent;
|
|
|
|
.line 119
|
|
.line 120
|
|
if-nez v7, :cond_6
|
|
|
|
.line 121
|
|
.line 122
|
|
goto :goto_8
|
|
|
|
.line 123
|
|
:cond_6
|
|
invoke-virtual {v6}, Ljava/lang/reflect/Method;->getParameterTypes()[Ljava/lang/Class;
|
|
|
|
.line 124
|
|
.line 125
|
|
.line 126
|
|
move-result-object v4
|
|
|
|
.line 127
|
|
array-length v8, v4
|
|
|
|
.line 128
|
|
const/4 v9, 0x1
|
|
|
|
.line 129
|
|
if-lez v8, :cond_8
|
|
|
|
.line 130
|
|
.line 131
|
|
const-class v8, Landroidx/lifecycle/LifecycleOwner;
|
|
|
|
.line 132
|
|
.line 133
|
|
aget-object v10, v4, v5
|
|
|
|
.line 134
|
|
.line 135
|
|
invoke-virtual {v8, v10}, Ljava/lang/Class;->isAssignableFrom(Ljava/lang/Class;)Z
|
|
|
|
.line 136
|
|
.line 137
|
|
.line 138
|
|
move-result v8
|
|
|
|
.line 139
|
|
if-eqz v8, :cond_7
|
|
|
|
.line 140
|
|
.line 141
|
|
move v8, v9
|
|
|
|
.line 142
|
|
goto :goto_6
|
|
|
|
.line 143
|
|
:cond_7
|
|
new-instance p1, Ljava/lang/IllegalArgumentException;
|
|
|
|
.line 144
|
|
.line 145
|
|
const-string p2, "invalid parameter type. Must be one and instanceof LifecycleOwner"
|
|
|
|
.line 146
|
|
.line 147
|
|
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
|
|
|
|
.line 148
|
|
.line 149
|
|
.line 150
|
|
throw p1
|
|
|
|
.line 151
|
|
:cond_8
|
|
move v8, v5
|
|
|
|
.line 152
|
|
:goto_6
|
|
invoke-interface {v7}, Landroidx/lifecycle/OnLifecycleEvent;->value()Landroidx/lifecycle/Lifecycle$Event;
|
|
|
|
.line 153
|
|
.line 154
|
|
.line 155
|
|
move-result-object v7
|
|
|
|
.line 156
|
|
array-length v10, v4
|
|
|
|
.line 157
|
|
const/4 v11, 0x2
|
|
|
|
.line 158
|
|
if-le v10, v9, :cond_b
|
|
|
|
.line 159
|
|
.line 160
|
|
const-class v8, Landroidx/lifecycle/Lifecycle$Event;
|
|
|
|
.line 161
|
|
.line 162
|
|
aget-object v10, v4, v9
|
|
|
|
.line 163
|
|
.line 164
|
|
invoke-virtual {v8, v10}, Ljava/lang/Class;->isAssignableFrom(Ljava/lang/Class;)Z
|
|
|
|
.line 165
|
|
.line 166
|
|
.line 167
|
|
move-result v8
|
|
|
|
.line 168
|
|
if-eqz v8, :cond_a
|
|
|
|
.line 169
|
|
.line 170
|
|
sget-object v8, Landroidx/lifecycle/Lifecycle$Event;->ON_ANY:Landroidx/lifecycle/Lifecycle$Event;
|
|
|
|
.line 171
|
|
.line 172
|
|
if-ne v7, v8, :cond_9
|
|
|
|
.line 173
|
|
.line 174
|
|
move v8, v11
|
|
|
|
.line 175
|
|
goto :goto_7
|
|
|
|
.line 176
|
|
:cond_9
|
|
new-instance p1, Ljava/lang/IllegalArgumentException;
|
|
|
|
.line 177
|
|
.line 178
|
|
const-string p2, "Second arg is supported only for ON_ANY value"
|
|
|
|
.line 179
|
|
.line 180
|
|
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
|
|
|
|
.line 181
|
|
.line 182
|
|
.line 183
|
|
throw p1
|
|
|
|
.line 184
|
|
:cond_a
|
|
new-instance p1, Ljava/lang/IllegalArgumentException;
|
|
|
|
.line 185
|
|
.line 186
|
|
const-string p2, "invalid parameter type. second arg must be an event"
|
|
|
|
.line 187
|
|
.line 188
|
|
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
|
|
|
|
.line 189
|
|
.line 190
|
|
.line 191
|
|
throw p1
|
|
|
|
.line 192
|
|
:cond_b
|
|
:goto_7
|
|
array-length v4, v4
|
|
|
|
.line 193
|
|
if-gt v4, v11, :cond_c
|
|
|
|
.line 194
|
|
.line 195
|
|
new-instance v4, Landroidx/lifecycle/ClassesInfoCache$MethodReference;
|
|
|
|
.line 196
|
|
.line 197
|
|
invoke-direct {v4, v8, v6}, Landroidx/lifecycle/ClassesInfoCache$MethodReference;-><init>(ILjava/lang/reflect/Method;)V
|
|
|
|
.line 198
|
|
.line 199
|
|
.line 200
|
|
invoke-static {v1, v4, v7, p1}, Landroidx/lifecycle/ClassesInfoCache;->b(Ljava/util/HashMap;Landroidx/lifecycle/ClassesInfoCache$MethodReference;Landroidx/lifecycle/Lifecycle$Event;Ljava/lang/Class;)V
|
|
|
|
.line 201
|
|
.line 202
|
|
.line 203
|
|
move v4, v9
|
|
|
|
.line 204
|
|
:goto_8
|
|
add-int/lit8 v2, v2, 0x1
|
|
|
|
.line 205
|
|
.line 206
|
|
goto :goto_5
|
|
|
|
.line 207
|
|
:cond_c
|
|
new-instance p1, Ljava/lang/IllegalArgumentException;
|
|
|
|
.line 208
|
|
.line 209
|
|
const-string p2, "cannot have more than 2 params"
|
|
|
|
.line 210
|
|
.line 211
|
|
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
|
|
|
|
.line 212
|
|
.line 213
|
|
.line 214
|
|
throw p1
|
|
|
|
.line 215
|
|
:cond_d
|
|
new-instance p2, Landroidx/lifecycle/ClassesInfoCache$CallbackInfo;
|
|
|
|
.line 216
|
|
.line 217
|
|
invoke-direct {p2, v1}, Landroidx/lifecycle/ClassesInfoCache$CallbackInfo;-><init>(Ljava/util/HashMap;)V
|
|
|
|
.line 218
|
|
.line 219
|
|
.line 220
|
|
invoke-virtual {v3, p1, p2}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
|
|
|
|
.line 221
|
|
.line 222
|
|
.line 223
|
|
iget-object v0, p0, Landroidx/lifecycle/ClassesInfoCache;->b:Ljava/util/HashMap;
|
|
|
|
.line 224
|
|
.line 225
|
|
invoke-static {v4}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
|
|
|
|
.line 226
|
|
.line 227
|
|
.line 228
|
|
move-result-object v1
|
|
|
|
.line 229
|
|
invoke-virtual {v0, p1, v1}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
|
|
|
|
.line 230
|
|
.line 231
|
|
.line 232
|
|
return-object p2
|
|
|
|
.line 233
|
|
:catch_0
|
|
move-exception p1
|
|
|
|
.line 234
|
|
new-instance p2, Ljava/lang/IllegalArgumentException;
|
|
|
|
.line 235
|
|
.line 236
|
|
const-string v0, "The observer class has some methods that use newer APIs which are not available in the current OS version. Lifecycles cannot access even other methods so you should make sure that your observer classes only access framework classes that are available in your min API level OR use lifecycle:compiler annotation processor."
|
|
|
|
.line 237
|
|
.line 238
|
|
invoke-direct {p2, v0, p1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
|
|
|
|
.line 239
|
|
.line 240
|
|
.line 241
|
|
throw p2
|
|
.end method
|