|  |  |  |  | 
| Offset 1, 15 lines modified | Offset 1, 15 lines modified | 
| 1 | .class·public·final·Lcom/android/permissioncontroller/permission/utils/AndroidUtilsKt; | 1 | .class·public·final·Lcom/android/permissioncontroller/permission/utils/AndroidUtilsKt; | 
| 2 | .super·Ljava/lang/Object; | 2 | .super·Ljava/lang/Object; | 
| 3 | .source·"AndroidUtils.kt" | 3 | .source·"AndroidUtils.kt" | 
|  |  | 
|  |  | 
| 4 | #·annotations | 4 | #·annotations | 
| 5 | .annotation·system·Ldalvik/annotation/SourceDebugExtension; | 5 | .annotation·system·Ldalvik/annotation/SourceDebugExtension; | 
| 6 | ····value·=·"SMAP\nAndroidUtils.kt\nKotlin\n*S·Kotlin\n*F\n+·1·AndroidUtils.kt\ncom/android/permissioncontroller/permission/utils/AndroidUtilsKt\n+·2·_Arrays.kt\nkotlin/collections/ArraysKt___ArraysKt\n*L\n1#1, 91:1\n10480#2,3:92\n10480#2,3:95\n*E\n*S·KotlinDebug\n*F\n+·1·AndroidUtils.kt\ncom/android/permissioncontroller/permission/utils/AndroidUtilsKt\n*L\n70#1,3:92\n71#1,3:95\n*E\n" | 6 | ····value·=·"SMAP\nAndroidUtils.kt\nKotlin\n*S·Kotlin\n*F\n+·1·AndroidUtils.kt\ncom/android/permissioncontroller/permission/utils/AndroidUtilsKt\n+·2·_Arrays.kt\nkotlin/collections/ArraysKt___ArraysKt\n*L\n1#1,78:1\n10480#2,3:79\n10480#2,3:82\n*E\n*S·KotlinDebug\n*F\n+·1·AndroidUtils.kt\ncom/android/permissioncontroller/permission/utils/AndroidUtilsKt\n*L\n68#1,3:79\n69#1,3:82\n*E\n" | 
| 7 | .end·annotation | 7 | .end·annotation | 
|  |  | 
|  |  | 
| 8 | #·static·fields | 8 | #·static·fields | 
| 9 | .field·private·static·final·IPC:Lkotlinx/coroutines/ExecutorCoroutineDispatcher; | 9 | .field·private·static·final·IPC:Lkotlinx/coroutines/ExecutorCoroutineDispatcher; | 
| 10 | ····.annotation·build·Lorg/jetbrains/annotations/NotNull; | 10 | ····.annotation·build·Lorg/jetbrains/annotations/NotNull; | 
| 11 | ····.end·annotation | 11 | ····.end·annotation | 
| Offset 18, 15 lines modified | Offset 18, 15 lines modified | 
|  |  | 
| 18 | #·direct·methods | 18 | #·direct·methods | 
| 19 | .method·static·constructor·<clinit>()V | 19 | .method·static·constructor·<clinit>()V | 
| 20 | ····.locals·2 | 20 | ····.locals·2 | 
|  |  | 
| 21 | ····const/16·v0,·0x8 | 21 | ····const/16·v0,·0x8 | 
|  |  | 
| 22 | ····.line·5 2 | 22 | ····.line·50 | 
| 23 | ····invoke-static·{v0},·Ljava/util/concurrent/Executors;->newFixedThreadPool(I)Ljava/util/concurrent/ExecutorService; | 23 | ····invoke-static·{v0},·Ljava/util/concurrent/Executors;->newFixedThreadPool(I)Ljava/util/concurrent/ExecutorService; | 
|  |  | 
| 24 | ····move-result-object·v0 | 24 | ····move-result-object·v0 | 
|  |  | 
| 25 | ····const-string·v1,·"Executors.newFixedThread\u2026ol(IPC_THREAD_POOL_COUNT)" | 25 | ····const-string·v1,·"Executors.newFixedThread\u2026ol(IPC_THREAD_POOL_COUNT)" | 
|  |  | 
| 26 | ····invoke-static·{v0,·v1},·Lkotlin/jvm/internal/Intrinsics;->checkExpressionValueIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V | 26 | ····invoke-static·{v0,·v1},·Lkotlin/jvm/internal/Intrinsics;->checkExpressionValueIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V | 
| Offset 39, 15 lines modified | Offset 39, 15 lines modified | 
|  |  | 
| 39 | ····return-void | 39 | ····return-void | 
| 40 | .end·method | 40 | .end·method | 
|  |  | 
| 41 | .method·public·static·final·ensureMainThread()V | 41 | .method·public·static·final·ensureMainThread()V | 
| 42 | ····.locals·2 | 42 | ····.locals·2 | 
|  |  | 
| 43 | ····.line·5 7 | 43 | ····.line·55 | 
| 44 | ····invoke-static·{},·Landroid/os/Looper;->myLooper()Landroid/os/Looper; | 44 | ····invoke-static·{},·Landroid/os/Looper;->myLooper()Landroid/os/Looper; | 
|  |  | 
| 45 | ····move-result-object·v0 | 45 | ····move-result-object·v0 | 
|  |  | 
| 46 | ····invoke-static·{},·Landroid/os/Looper;->getMainLooper()Landroid/os/Looper; | 46 | ····invoke-static·{},·Landroid/os/Looper;->getMainLooper()Landroid/os/Looper; | 
|  |  | 
| 47 | ····move-result-object·v1 | 47 | ····move-result-object·v1 | 
| Offset 83, 24 lines modified | Offset 83, 24 lines modified | 
| 83 | ····.annotation·build·Lorg/jetbrains/annotations/NotNull; | 83 | ····.annotation·build·Lorg/jetbrains/annotations/NotNull; | 
| 84 | ····.end·annotation | 84 | ····.end·annotation | 
|  |  | 
| 85 | ····const-string·v0,·"$this$application" | 85 | ····const-string·v0,·"$this$application" | 
|  |  | 
| 86 | ····invoke-static·{p0,·v0},·Lkotlin/jvm/internal/Intrinsics;->checkParameterIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V | 86 | ····invoke-static·{p0,·v0},·Lkotlin/jvm/internal/Intrinsics;->checkParameterIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V | 
|  |  | 
| 87 | ····.line·3 6 | 87 | ····.line·34 | 
| 88 | ····instance-of·v0,·p0,·Landroid/app/Application; | 88 | ····instance-of·v0,·p0,·Landroid/app/Application; | 
|  |  | 
| 89 | ····if-eqz·v0,·:cond_0 | 89 | ····if-eqz·v0,·:cond_0 | 
|  |  | 
| 90 | ····check-cast·p0,·Landroid/app/Application; | 90 | ····check-cast·p0,·Landroid/app/Application; | 
|  |  | 
| 91 | ····goto·:goto_0 | 91 | ····goto·:goto_0 | 
|  |  | 
| 92 | ····.line·3 7 | 92 | ····.line·35 | 
| 93 | ····:cond_0 | 93 | ····:cond_0 | 
| 94 | ····instance-of·v0,·p0,·Landroid/app/Activity; | 94 | ····instance-of·v0,·p0,·Landroid/app/Activity; | 
|  |  | 
| 95 | ····const-string·v1,·"application" | 95 | ····const-string·v1,·"application" | 
|  |  | 
| 96 | ····if-eqz·v0,·:cond_1 | 96 | ····if-eqz·v0,·:cond_1 | 
|  |  | 
| Offset 110, 15 lines modified | Offset 110, 15 lines modified | 
|  |  | 
| 110 | ····move-result-object·p0 | 110 | ····move-result-object·p0 | 
|  |  | 
| 111 | ····invoke-static·{p0,·v1},·Lkotlin/jvm/internal/Intrinsics;->checkExpressionValueIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V | 111 | ····invoke-static·{p0,·v1},·Lkotlin/jvm/internal/Intrinsics;->checkExpressionValueIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V | 
|  |  | 
| 112 | ····goto·:goto_0 | 112 | ····goto·:goto_0 | 
|  |  | 
| 113 | ····.line·3 8 | 113 | ····.line·36 | 
| 114 | ····:cond_1 | 114 | ····:cond_1 | 
| 115 | ····instance-of·v0,·p0,·Landroid/app/Service; | 115 | ····instance-of·v0,·p0,·Landroid/app/Service; | 
|  |  | 
| 116 | ····if-eqz·v0,·:cond_2 | 116 | ····if-eqz·v0,·:cond_2 | 
|  |  | 
| 117 | ····check-cast·p0,·Landroid/app/Service; | 117 | ····check-cast·p0,·Landroid/app/Service; | 
|  |  | 
| Offset 126, 15 lines modified | Offset 126, 15 lines modified | 
|  |  | 
| 126 | ····move-result-object·p0 | 126 | ····move-result-object·p0 | 
|  |  | 
| 127 | ····invoke-static·{p0,·v1},·Lkotlin/jvm/internal/Intrinsics;->checkExpressionValueIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V | 127 | ····invoke-static·{p0,·v1},·Lkotlin/jvm/internal/Intrinsics;->checkExpressionValueIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V | 
|  |  | 
| 128 | ····goto·:goto_0 | 128 | ····goto·:goto_0 | 
|  |  | 
| 129 | ····.line·3 9 | 129 | ····.line·37 | 
| 130 | ····:cond_2 | 130 | ····:cond_2 | 
| 131 | ····instance-of·v0,·p0,·Landroid/content/ContextWrapper; | 131 | ····instance-of·v0,·p0,·Landroid/content/ContextWrapper; | 
|  |  | 
| 132 | ····if-eqz·v0,·:cond_3 | 132 | ····if-eqz·v0,·:cond_3 | 
|  |  | 
| 133 | ····check-cast·p0,·Landroid/content/ContextWrapper; | 133 | ····check-cast·p0,·Landroid/content/ContextWrapper; | 
|  |  | 
| Offset 148, 15 lines modified | Offset 148, 15 lines modified | 
|  |  | 
| 148 | ····invoke-static·{p0},·Lcom/android/permissioncontroller/permission/utils/AndroidUtilsKt;->getApplication(Landroid/content/Context;)Landroid/app/Application; | 148 | ····invoke-static·{p0},·Lcom/android/permissioncontroller/permission/utils/AndroidUtilsKt;->getApplication(Landroid/content/Context;)Landroid/app/Application; | 
|  |  | 
| 149 | ····move-result-object·p0 | 149 | ····move-result-object·p0 | 
|  |  | 
| 150 | ····goto·:goto_0 | 150 | ····goto·:goto_0 | 
|  |  | 
| 151 | ····.line· 40 | 151 | ····.line·38 | 
| 152 | ····:cond_3 | 152 | ····:cond_3 | 
| 153 | ····invoke-virtual·{p0},·Landroid/content/Context;->getApplicationContext()Landroid/content/Context; | 153 | ····invoke-virtual·{p0},·Landroid/content/Context;->getApplicationContext()Landroid/content/Context; | 
|  |  | 
| 154 | ····move-result-object·p0 | 154 | ····move-result-object·p0 | 
|  |  | 
| 155 | ····if-eqz·p0,·:cond_4 | 155 | ····if-eqz·p0,·:cond_4 | 
|  |  | 
| Offset 171, 69 lines modified | Offset 171, 20 lines modified | 
| 171 | ····const-string·v0,·"null·cannot·be·cast·to·non-null·type·android.app.Application" | 171 | ····const-string·v0,·"null·cannot·be·cast·to·non-null·type·android.app.Application" | 
|  |  | 
| 172 | ····invoke-direct·{p0,·v0},·Lkotlin/TypeCastException;-><init>(Ljava/lang/String;)V | 172 | ····invoke-direct·{p0,·v0},·Lkotlin/TypeCastException;-><init>(Ljava/lang/String;)V | 
|  |  | 
| 173 | ····throw·p0 | 173 | ····throw·p0 | 
| 174 | .end·method | 174 | .end·method | 
|  |  | 
| 175 | .method·public·static·final·getComponentInfo(Landroid/content/pm/ResolveInfo;)Landroid/content/pm/ComponentInfo; |  | 
| 176 | ····.locals·1 |  | 
| 177 | ····.param·p0····#·Landroid/content/pm/ResolveInfo; |  | 
| 178 | ········.annotation·build·Lorg/jetbrains/annotations/NotNull; |  | 
| 179 | ········.end·annotation |  | 
| 180 | ····.end·param |  | 
| 181 | ····.annotation·build·Lorg/jetbrains/annotations/NotNull; |  | 
| 182 | ····.end·annotation |  | 
|  |  | 
| 183 | ····const-string·v0,·"$this$componentInfo" |  | 
|  |  | 
| 184 | ····invoke-static·{p0,·v0},·Lkotlin/jvm/internal/Intrinsics;->checkParameterIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V |  | 
|  |  | 
| 185 | ····.line·87 |  | 
| 186 | ····iget-object·v0,·p0,·Landroid/content/pm/ResolveInfo;->activityInfo:Landroid/content/pm/ActivityInfo; |  | 
|  |  | 
| 187 | ····if-eqz·v0,·:cond_0 |  | 
|  |  | 
| 188 | ····goto·:goto_0 |  | 
|  |  | 
| 189 | ····.line·88 |  | 
| 190 | ····:cond_0 |  | 
| 191 | ····iget-object·v0,·p0,·Landroid/content/pm/ResolveInfo;->serviceInfo:Landroid/content/pm/ServiceInfo; |  | 
|  |  | 
| 192 | ····:goto_0 |  | 
| 193 | ····if-eqz·v0,·:cond_1 |  | 
|  |  | 
| 194 | ····goto·:goto_1 |  | 
|  |  | 
| 195 | ····.line·89 |  | 
| 196 | ····:cond_1 |  | 
| 197 | ····iget-object·v0,·p0,·Landroid/content/pm/ResolveInfo;->providerInfo:Landroid/content/pm/ProviderInfo; |  | 
|  |  | 
| 198 | ····:goto_1 |  | 
| 199 | ····if-eqz·v0,·:cond_2 |  | 
|  |  | 
| 200 | ····return-object·v0 |  | 
|  |  | 
| 201 | ····.line·90 |  | 
| 202 | ····:cond_2 |  | 
| 203 | ····new-instance·p0,·Ljava/lang/IllegalStateException; |  | 
|  |  | 
| 204 | ····const-string·v0,·"Missing·ComponentInfo!" |  | 
|  |  | 
| 205 | ····invoke-direct·{p0,·v0},·Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V |  | 
|  |  | 
| 206 | ····throw·p0 |  | 
| 207 | .end·method |  | 
|  |  | 
| 208 | .method·public·static·final·getIPC()Lkotlinx/coroutines/ExecutorCoroutineDispatcher; | 175 | .method·public·static·final·getIPC()Lkotlinx/coroutines/ExecutorCoroutineDispatcher; | 
| 209 | ····.locals·1 | 176 | ····.locals·1 | 
| 210 | ····.annotation·build·Lorg/jetbrains/annotations/NotNull; | 177 | ····.annotation·build·Lorg/jetbrains/annotations/NotNull; | 
| 211 | ····.end·annotation | 178 | ····.end·annotation | 
|  |  | 
| 212 | ····.line·5 2 | 179 | ····.line·50 | 
| 213 | ····sget-object·v0,·Lcom/android/permissioncontroller/permission/utils/AndroidUtilsKt;->IPC:Lkotlinx/coroutines/ExecutorCoroutineDispatcher; | 180 | ····sget-object·v0,·Lcom/android/permissioncontroller/permission/utils/AndroidUtilsKt;->IPC:Lkotlinx/coroutines/ExecutorCoroutineDispatcher; | 
|  |  | 
| 214 | ····return-object·v0 | 181 | ····return-object·v0 | 
| 215 | .end·method | 182 | .end·method | 
|  |  | 
| 216 | .method·public·static·final·varargs·updatePermissionFlags(Landroid/content/pm/PackageManager;Ljava/lang/String;Ljava/lang/String;Landroid/os/UserHandle;[Lkotlin/Pair;)V | 183 | .method·public·static·final·varargs·updatePermissionFlags(Landroid/content/pm/PackageManager;Ljava/lang/String;Ljava/lang/String;Landroid/os/UserHandle;[Lkotlin/Pair;)V | 
| 217 | ····.locals·9 | 184 | ····.locals·9 | 
| Offset 369, 12 lines modified | Offset 320, 12 lines modified | 
|  |  | 
| 369 | ····move-object·v4,·p1 | 320 | ····move-object·v4,·p1 | 
|  |  | 
| 370 | ····move-object·v5,·p2 | 321 | ····move-object·v5,·p2 | 
|  |  | 
| 371 | ····move-object·v8,·p3 | 322 | ····move-object·v8,·p3 | 
|  |  | 
| 372 | ····.line·7 2 | 323 | ····.line·70 | 
| 373 | ····invoke-virtual/range·{v3·..·v8},·Landroid/content/pm/PackageManager;->updatePermissionFlags(Ljava/lang/String;Ljava/lang/String;IILandroid/os/UserHandle;)V | 324 | ····invoke-virtual/range·{v3·..·v8},·Landroid/content/pm/PackageManager;->updatePermissionFlags(Ljava/lang/String;Ljava/lang/String;IILandroid/os/UserHandle;)V | 
|  |  | 
| 374 | ····return-void | 325 | ····return-void | 
| 375 | .end·method | 326 | .end·method |