| | | |
Offset 36, 18 lines modified | Offset 36, 97 lines modified |
| |
36 | ····.line·43 | 36 | ····.line·43 |
37 | ····invoke-direct·{p0},·Ljava/lang/Object;-><init>()V | 37 | ····invoke-direct·{p0},·Ljava/lang/Object;-><init>()V |
| |
38 | ····return-void | 38 | ····return-void |
39 | .end·method | 39 | .end·method |
| |
| 40 | .method·private·static·checkAppOp(Landroid/content/Context;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z |
| 41 | ····.locals·6 |
| |
| 42 | ····.line·245 |
| 43 | ····const-class·v0,·Landroid/app/AppOpsManager; |
| |
| 44 | ····invoke-virtual·{p0,·v0},·Landroid/content/Context;->getSystemService(Ljava/lang/Class;)Ljava/lang/Object; |
| |
| 45 | ····move-result-object·p0 |
| |
| 46 | ····move-object·v0,·p0 |
| |
| 47 | ····check-cast·v0,·Landroid/app/AppOpsManager; |
| |
| 48 | ····move-object·v1,·p1 |
| |
| 49 | ····move·v2,·p2 |
| |
| 50 | ····move-object·v3,·p3 |
| |
| 51 | ····move-object·v4,·p4 |
| |
| 52 | ····move-object·v5,·p5 |
| |
| 53 | ····.line·246 |
| 54 | ····invoke-virtual/range·{v0·..·v5},·Landroid/app/AppOpsManager;->noteOpNoThrow(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)I |
| |
| 55 | ····move-result·p0 |
| |
| 56 | ····const/4·p2,·0x1 |
| |
| 57 | ····if-eqz·p0,·:cond_2 |
| |
| 58 | ····if-eq·p0,·p2,·:cond_1 |
| |
| 59 | ····const/4·p2,·0x2 |
| |
| 60 | ····if-eq·p0,·p2,·:cond_1 |
| |
| 61 | ····const/4·p2,·0x3 |
| |
| 62 | ····if-ne·p0,·p2,·:cond_0 |
| |
| 63 | ····goto·:goto_0 |
| |
| 64 | ····.line·255 |
| 65 | ····:cond_0 |
| 66 | ····new-instance·p2,·Ljava/lang/IllegalStateException; |
| |
| 67 | ····new-instance·p3,·Ljava/lang/StringBuilder; |
| |
| 68 | ····invoke-direct·{p3},·Ljava/lang/StringBuilder;-><init>()V |
| |
| 69 | ····invoke-virtual·{p3,·p1},·Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; |
| |
| 70 | ····const-string·p1,·"·has·unknown·mode·" |
| |
| 71 | ····invoke-virtual·{p3,·p1},·Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; |
| |
| 72 | ····invoke-virtual·{p3,·p0},·Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; |
| |
| 73 | ····invoke-virtual·{p3},·Ljava/lang/StringBuilder;->toString()Ljava/lang/String; |
| |
| 74 | ····move-result-object·p0 |
| |
| 75 | ····invoke-direct·{p2,·p0},·Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V |
| |
| 76 | ····throw·p2 |
| |
| 77 | ····:cond_1 |
| 78 | ····:goto_0 |
| 79 | ····const/4·p0,·0x0 |
| |
| 80 | ····return·p0 |
| |
| 81 | ····:cond_2 |
| 82 | ····return·p2 |
| 83 | .end·method |
| |
40 | .method·private·static·checkAppOpAllowingLegacy(Landroid/content/Context;Ljava/lang/String;IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z | 84 | .method·private·static·checkAppOpAllowingLegacy(Landroid/content/Context;Ljava/lang/String;IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z |
41 | ····.locals·6 | 85 | ····.locals·6 |
| |
42 | ····.line·231 | 86 | ····.line·266 |
43 | ····const-class·p2,·Landroid/app/AppOpsManager; | 87 | ····const-class·p2,·Landroid/app/AppOpsManager; |
| |
44 | ····invoke-virtual·{p0,·p2},·Landroid/content/Context;->getSystemService(Ljava/lang/Class;)Ljava/lang/Object; | 88 | ····invoke-virtual·{p0,·p2},·Landroid/content/Context;->getSystemService(Ljava/lang/Class;)Ljava/lang/Object; |
| |
45 | ····move-result-object·p0 | 89 | ····move-result-object·p0 |
| |
46 | ····check-cast·p0,·Landroid/app/AppOpsManager; | 90 | ····check-cast·p0,·Landroid/app/AppOpsManager; |
Offset 60, 15 lines modified | Offset 139, 15 lines modified |
| |
60 | ····move-object·v3,·p4 | 139 | ····move-object·v3,·p4 |
| |
61 | ····move-object·v4,·p5 | 140 | ····move-object·v4,·p5 |
| |
62 | ····move-object·v5,·p6 | 141 | ····move-object·v5,·p6 |
| |
63 | ····.line·232 | 142 | ····.line·267 |
64 | ····invoke-virtual/range·{v0·..·v5},·Landroid/app/AppOpsManager;->noteOpNoThrow(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)I | 143 | ····invoke-virtual/range·{v0·..·v5},·Landroid/app/AppOpsManager;->noteOpNoThrow(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)I |
| |
65 | ····move-result·p2 | 144 | ····move-result·p2 |
| |
66 | ····const/4·p5,·0x1 | 145 | ····const/4·p5,·0x1 |
| |
67 | ····if-eqz·p2,·:cond_3 | 146 | ····if-eqz·p2,·:cond_3 |
Offset 81, 15 lines modified | Offset 160, 15 lines modified |
| |
81 | ····const/4·p6,·0x3 | 160 | ····const/4·p6,·0x3 |
| |
82 | ····if-ne·p2,·p6,·:cond_0 | 161 | ····if-ne·p2,·p6,·:cond_0 |
| |
83 | ····goto·:goto_0 | 162 | ····goto·:goto_0 |
| |
84 | ····.line·246 | 163 | ····.line·281 |
85 | ····:cond_0 | 164 | ····:cond_0 |
86 | ····new-instance·p0,·Ljava/lang/IllegalStateException; | 165 | ····new-instance·p0,·Ljava/lang/IllegalStateException; |
| |
87 | ····new-instance·p3,·Ljava/lang/StringBuilder; | 166 | ····new-instance·p3,·Ljava/lang/StringBuilder; |
| |
88 | ····invoke-direct·{p3},·Ljava/lang/StringBuilder;-><init>()V | 167 | ····invoke-direct·{p3},·Ljava/lang/StringBuilder;-><init>()V |
| |
Offset 109, 15 lines modified | Offset 188, 15 lines modified |
| |
109 | ····throw·p0 | 188 | ····throw·p0 |
| |
110 | ····:cond_1 | 189 | ····:cond_1 |
111 | ····:goto_0 | 190 | ····:goto_0 |
112 | ····const-string·p1,·"android:legacy_storage" | 191 | ····const-string·p1,·"android:legacy_storage" |
| |
113 | ····.line·241 | 192 | ····.line·276 |
114 | ····invoke-virtual·{p0,·p1,·p3,·p4},·Landroid/app/AppOpsManager;->unsafeCheckOpNoThrow(Ljava/lang/String;ILjava/lang/String;)I | 193 | ····invoke-virtual·{p0,·p1,·p3,·p4},·Landroid/app/AppOpsManager;->unsafeCheckOpNoThrow(Ljava/lang/String;ILjava/lang/String;)I |
| |
115 | ····move-result·p0 | 194 | ····move-result·p0 |
| |
116 | ····if-nez·p0,·:cond_2 | 195 | ····if-nez·p0,·:cond_2 |
| |
117 | ····return·p5 | 196 | ····return·p5 |
Offset 130, 28 lines modified | Offset 209, 28 lines modified |
130 | ····:cond_3 | 209 | ····:cond_3 |
131 | ····return·p5 | 210 | ····return·p5 |
132 | .end·method | 211 | .end·method |
| |
133 | .method·private·static·checkAppOpPermission(Landroid/content/Context;Ljava/lang/String;IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)Z | 212 | .method·private·static·checkAppOpPermission(Landroid/content/Context;Ljava/lang/String;IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)Z |
134 | ····.locals·7 | 213 | ····.locals·7 |
| |
135 | ····.line·364 | 214 | ····.line·399 |
136 | ····invoke-static·{p1},·Landroid/app/AppOpsManager;->permissionToOp(Ljava/lang/String;)Ljava/lang/String; | 215 | ····invoke-static·{p1},·Landroid/app/AppOpsManager;->permissionToOp(Ljava/lang/String;)Ljava/lang/String; |
| |
137 | ····move-result-object·v1 | 216 | ····move-result-object·v1 |
| |
138 | ····const/4·v6,·0x0 | 217 | ····const/4·v6,·0x0 |
| |
139 | ····if-eqz·v1,·:cond_5 | 218 | ····if-eqz·v1,·:cond_5 |
| |
140 | ····if-nez·p4,·:cond_0 | 219 | ····if-nez·p4,·:cond_0 |
| |
141 | ····goto·:goto_1 | 220 | ····goto·:goto_1 |
| |
142 | ····.line·369 | 221 | ····.line·404 |
143 | ····:cond_0 | 222 | ····:cond_0 |
144 | ····const-class·v0,·Landroid/app/AppOpsManager; | 223 | ····const-class·v0,·Landroid/app/AppOpsManager; |
| |
145 | ····invoke-virtual·{p0,·v0},·Landroid/content/Context;->getSystemService(Ljava/lang/Class;)Ljava/lang/Object; | 224 | ····invoke-virtual·{p0,·v0},·Landroid/content/Context;->getSystemService(Ljava/lang/Class;)Ljava/lang/Object; |
| |
146 | ····move-result-object·v0 | 225 | ····move-result-object·v0 |
| |
Offset 163, 22 lines modified | Offset 242, 22 lines modified |
| |
163 | ····move-object·v3,·p4 | 242 | ····move-object·v3,·p4 |
| |
164 | ····move-object·v4,·p5 | 243 | ····move-object·v4,·p5 |
| |
165 | ····move-object·v5,·p6 | 244 | ····move-object·v5,·p6 |
| |
166 | ····.line·371 | 245 | ····.line·406 |
167 | ····invoke-virtual/range·{v0·..·v5},·Landroid/app/AppOpsManager;->noteOpNoThrow(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)I | 246 | ····invoke-virtual/range·{v0·..·v5},·Landroid/app/AppOpsManager;->noteOpNoThrow(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)I |
| |
168 | ····move-result·p4 | 247 | ····move-result·p4 |
| |
169 | ····goto·:goto_0 | 248 | ····goto·:goto_0 |
| |
170 | ····.line·372 | 249 | ····.line·407 |
171 | ····:cond_1 | 250 | ····:cond_1 |
172 | ····invoke-virtual·{v0,·v1,·p3,·p4},·Landroid/app/AppOpsManager;->unsafeCheckOpRawNoThrow(Ljava/lang/String;ILjava/lang/String;)I | 251 | ····invoke-virtual·{v0,·v1,·p3,·p4},·Landroid/app/AppOpsManager;->unsafeCheckOpRawNoThrow(Ljava/lang/String;ILjava/lang/String;)I |
| |
173 | ····move-result·p4 | 252 | ····move-result·p4 |
| |
174 | ····:goto_0 | 253 | ····:goto_0 |
175 | ····const/4·p5,·0x1 | 254 | ····const/4·p5,·0x1 |
Offset 191, 15 lines modified | Offset 270, 15 lines modified |
| |
191 | ····const/4·p0,·0x4 | 270 | ····const/4·p0,·0x4 |
| |
192 | ····if-eq·p4,·p0,·:cond_4 | 271 | ····if-eq·p4,·p0,·:cond_4 |
| |
193 | ····return·v6 | 272 | ····return·v6 |
| |
194 | ····.line·379 | 273 | ····.line·414 |
195 | ····:cond_2 | 274 | ····:cond_2 |
196 | ····invoke-virtual·{p0,·p1,·p2,·p3},·Landroid/content/Context;->checkPermission(Ljava/lang/String;II)I | 275 | ····invoke-virtual·{p0,·p1,·p2,·p3},·Landroid/content/Context;->checkPermission(Ljava/lang/String;II)I |
| |
197 | ····move-result·p0 | 276 | ····move-result·p0 |
| |
198 | ····if-nez·p0,·:cond_3 | 277 | ····if-nez·p0,·:cond_3 |
| |
Offset 247, 41 lines modified | Offset 326, 41 lines modified |
247 | ····:goto_0 | 326 | ····:goto_0 |
248 | ····return·p0 | 327 | ····return·p0 |
249 | .end·method | 328 | .end·method |
| |
250 | .method·static·checkNoIsolatedStorageGranted(Landroid/content/Context;ILjava/lang/String;Ljava/lang/String;)Z | 329 | .method·static·checkNoIsolatedStorageGranted(Landroid/content/Context;ILjava/lang/String;Ljava/lang/String;)Z |
251 | ····.locals·6 | 330 | ····.locals·6 |
| |
252 | ····.line·191 | 331 | ····.line·205 |
253 | ····const-class·v0,·Landroid/app/AppOpsManager; | 332 | ····const-class·v0,·Landroid/app/AppOpsManager; |
| |
254 | ····invoke-virtual·{p0,·v0},·Landroid/content/Context;->getSystemService(Ljava/lang/Class;)Ljava/lang/Object; | 333 | ····invoke-virtual·{p0,·v0},·Landroid/content/Context;->getSystemService(Ljava/lang/Class;)Ljava/lang/Object; |
| |
255 | ····move-result-object·p0 | 334 | ····move-result-object·p0 |
| |
256 | ····move-object·v0,·p0 | 335 | ····move-object·v0,·p0 |
| |
257 | ····check-cast·v0,·Landroid/app/AppOpsManager; | 336 | ····check-cast·v0,·Landroid/app/AppOpsManager; |
| |
258 | ····const-string·p0,·"am·instrument·--no-isolated-storage" | 337 | ····const-string·p0,·"am·instrument·--no-isolated-storage" |
| |
259 | ····.line·193 | 338 | ····.line·207 |
260 | ····invoke-static·{p2,·p0},·Lcom/android/providers/media/util/PermissionUtils;->generateAppOpMessage(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; | 339 | ····invoke-static·{p2,·p0},·Lcom/android/providers/media/util/PermissionUtils;->generateAppOpMessage(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; |
| |
261 | ····move-result-object·v5 | 340 | ····move-result-object·v5 |
| |
262 | ····const-string·v1,·"android:no_isolated_storage" | 341 | ····const-string·v1,·"android:no_isolated_storage" |
| |
263 | ····move·v2,·p1 | 342 | ····move·v2,·p1 |
| |
264 | ····move-object·v3,·p2 | 343 | ····move-object·v3,·p2 |
| |
265 | ····move-object·v4,·p3 | 344 | ····move-object·v4,·p3 |
| |
266 | ····.line·192 | 345 | ····.line·206 |
267 | ····invoke-virtual/range·{v0·..·v5},·Landroid/app/AppOpsManager;->noteOpNoThrow(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)I | 346 | ····invoke-virtual/range·{v0·..·v5},·Landroid/app/AppOpsManager;->noteOpNoThrow(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)I |
| |
268 | ····move-result·p0 | 347 | ····move-result·p0 |
| |
269 | ····if-nez·p0,·:cond_0 | 348 | ····if-nez·p0,·:cond_0 |
| |
270 | ····const/4·p0,·0x1 | 349 | ····const/4·p0,·0x1 |
Offset 294, 37 lines modified | Offset 373, 37 lines modified |
294 | ····:goto_0 | 373 | ····:goto_0 |
295 | ····return·p0 | 374 | ····return·p0 |
296 | .end·method | 375 | .end·method |
| |
297 | .method·private·static·checkPermissionAllowingNonLegacy(Landroid/content/Context;Ljava/lang/String;IILjava/lang/String;)Z | 376 | .method·private·static·checkPermissionAllowingNonLegacy(Landroid/content/Context;Ljava/lang/String;IILjava/lang/String;)Z |
298 | ····.locals·2 | 377 | ····.locals·2 |
| |
299 | ····.line·215 | 378 | ····.line·229 |
300 | ····const-class·v0,·Landroid/app/AppOpsManager; | 379 | ····const-class·v0,·Landroid/app/AppOpsManager; |
| |
301 | ····invoke-virtual·{p0,·v0},·Landroid/content/Context;->getSystemService(Ljava/lang/Class;)Ljava/lang/Object; | 380 | ····invoke-virtual·{p0,·v0},·Landroid/content/Context;->getSystemService(Ljava/lang/Class;)Ljava/lang/Object; |
| |
302 | ····move-result-object·v0 | 381 | ····move-result-object·v0 |
| |
303 | ····check-cast·v0,·Landroid/app/AppOpsManager; | 382 | ····check-cast·v0,·Landroid/app/AppOpsManager; |
| |
304 | ····const-string·v1,·"android:legacy_storage" | 383 | ····const-string·v1,·"android:legacy_storage" |
| |
305 | ····.line·218 | 384 | ····.line·232 |
306 | ····invoke-virtual·{v0,·v1,·p3,·p4},·Landroid/app/AppOpsManager;->unsafeCheckOpNoThrow(Ljava/lang/String;ILjava/lang/String;)I | 385 | ····invoke-virtual·{v0,·v1,·p3,·p4},·Landroid/app/AppOpsManager;->unsafeCheckOpNoThrow(Ljava/lang/String;ILjava/lang/String;)I |
| |
307 | ····move-result·v0 | 386 | ····move-result·v0 |
| |
308 | ····if-eqz·v0,·:cond_0 | 387 | ····if-eqz·v0,·:cond_0 |
| |
309 | ····const/4·p0,·0x1 | 388 | ····const/4·p0,·0x1 |
| |
310 | ····return·p0 | 389 | ····return·p0 |
| |
311 | ····.line·222 | 390 | ····.line·236 |
312 | ····:cond_0 | 391 | ····:cond_0 |
313 | ····invoke-static·{p0,·p1,·p2,·p3,·p4},·Lcom/android/providers/media/util/PermissionUtils;->checkPermissionForPreflight(Landroid/content/Context;Ljava/lang/String;IILjava/lang/String;)Z | 392 | ····invoke-static·{p0,·p1,·p2,·p3,·p4},·Lcom/android/providers/media/util/PermissionUtils;->checkPermissionForPreflight(Landroid/content/Context;Ljava/lang/String;IILjava/lang/String;)Z |
| |
314 | ····move-result·p0 | 393 | ····move-result·p0 |
| |
315 | ····return·p0 | 394 | ····return·p0 |
316 | .end·method | 395 | .end·method |
Offset 332, 46 lines modified | Offset 411, 46 lines modified |
332 | .method·private·static·checkPermissionCommon(Landroid/content/Context;Ljava/lang/String;IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)Z | 411 | .method·private·static·checkPermissionCommon(Landroid/content/Context;Ljava/lang/String;IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)Z |
333 | ····.locals·10 | 412 | ····.locals·10 |
| |
334 | ····const/4·v0,·0x0 | 413 | ····const/4·v0,·0x0 |
| |
335 | ····if-nez·p4,·:cond_0 | 414 | ····if-nez·p4,·:cond_0 |
| |
336 | ····.line·327 | 415 | ····.line·362 |
337 | ····invoke-virtual·{p0},·Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager; | 416 | ····invoke-virtual·{p0},·Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager; |
| |
338 | ····move-result-object·v1 | 417 | ····move-result-object·v1 |
| |
339 | ····move·v5,·p3 | 418 | ····move·v5,·p3 |
| |
340 | ····invoke-virtual·{v1,·p3},·Landroid/content/pm/PackageManager;->getPackagesForUid(I)[Ljava/lang/String; | 419 | ····invoke-virtual·{v1,·p3},·Landroid/content/pm/PackageManager;->getPackagesForUid(I)[Ljava/lang/String; |
| |
341 | ····move-result-object·v1 | 420 | ····move-result-object·v1 |
| |
342 | ····if-eqz·v1,·:cond_1 | 421 | ····if-eqz·v1,·:cond_1 |
| |
343 | ····.line·328 | 422 | ····.line·363 |
344 | ····array-length·v2,·v1 | 423 | ····array-length·v2,·v1 |
| |
345 | ····if-lez·v2,·:cond_1 | 424 | ····if-lez·v2,·:cond_1 |
| |
346 | ····.line·329 | 425 | ····.line·364 |
347 | ····aget-object·v1,·v1,·v0 | 426 | ····aget-object·v1,·v1,·v0 |
| |
348 | ····move-object·v6,·v1 | 427 | ····move-object·v6,·v1 |
| |
349 | ····goto·:goto_0 | 428 | ····goto·:goto_0 |
| |
350 | ····:cond_0 | 429 | ····:cond_0 |
351 | ····move·v5,·p3 | 430 | ····move·v5,·p3 |
| |
352 | ····:cond_1 | 431 | ····:cond_1 |
353 | ····move-object·v6,·p4 | 432 | ····move-object·v6,·p4 |
| |
354 | ····.line·333 | 433 | ····.line·368 |
355 | ····:goto_0 | 434 | ····:goto_0 |
356 | ····invoke-static·{p1},·Lcom/android/providers/media/util/PermissionUtils;->isAppOpPermission(Ljava/lang/String;)Z | 435 | ····invoke-static·{p1},·Lcom/android/providers/media/util/PermissionUtils;->isAppOpPermission(Ljava/lang/String;)Z |
| |
357 | ····move-result·v1 | 436 | ····move-result·v1 |
| |
358 | ····if-eqz·v1,·:cond_2 | 437 | ····if-eqz·v1,·:cond_2 |
| |
Offset 385, 22 lines modified | Offset 464, 22 lines modified |
| |
385 | ····move-object·v7,·p5 | 464 | ····move-object·v7,·p5 |
| |
386 | ····move-object/from16·v8,·p6 | 465 | ····move-object/from16·v8,·p6 |
| |
387 | ····move/from16·v9,·p7 | 466 | ····move/from16·v9,·p7 |
| |
388 | ····.line·334 | 467 | ····.line·369 |
389 | ····invoke-static/range·{v2·..·v9},·Lcom/android/providers/media/util/PermissionUtils;->checkAppOpPermission(Landroid/content/Context;Ljava/lang/String;IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)Z | 468 | ····invoke-static/range·{v2·..·v9},·Lcom/android/providers/media/util/PermissionUtils;->checkAppOpPermission(Landroid/content/Context;Ljava/lang/String;IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)Z |
| |
390 | ····move-result·v0 | 469 | ····move-result·v0 |
| |
391 | ····return·v0 | 470 | ····return·v0 |
| |
392 | ····.line·337 | 471 | ····.line·372 |
393 | ····:cond_2 | 472 | ····:cond_2 |
394 | ····invoke-static·{p1},·Lcom/android/providers/media/util/PermissionUtils;->isRuntimePermission(Ljava/lang/String;)Z | 473 | ····invoke-static·{p1},·Lcom/android/providers/media/util/PermissionUtils;->isRuntimePermission(Ljava/lang/String;)Z |
| |
395 | ····move-result·v1 | 474 | ····move-result·v1 |
| |
396 | ····if-eqz·v1,·:cond_3 | 475 | ····if-eqz·v1,·:cond_3 |
| |
Offset 414, 22 lines modified | Offset 493, 22 lines modified |
| |
414 | ····move-object·v7,·p5 | 493 | ····move-object·v7,·p5 |
| |
415 | ····move-object/from16·v8,·p6 | 494 | ····move-object/from16·v8,·p6 |
| |
416 | ····move/from16·v9,·p7 | 495 | ····move/from16·v9,·p7 |
| |
417 | ····.line·338 | 496 | ····.line·373 |
418 | ····invoke-static/range·{v2·..·v9},·Lcom/android/providers/media/util/PermissionUtils;->checkRuntimePermission(Landroid/content/Context;Ljava/lang/String;IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)Z | 497 | ····invoke-static/range·{v2·..·v9},·Lcom/android/providers/media/util/PermissionUtils;->checkRuntimePermission(Landroid/content/Context;Ljava/lang/String;IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)Z |
| |
419 | ····move-result·v0 | 498 | ····move-result·v0 |
| |
420 | ····return·v0 | 499 | ····return·v0 |
| |
421 | ····.line·341 | 500 | ····.line·376 |
422 | ····:cond_3 | 501 | ····:cond_3 |
423 | ····invoke-virtual·{p0,·p1,·p2,·p3},·Landroid/content/Context;->checkPermission(Ljava/lang/String;II)I | 502 | ····invoke-virtual·{p0,·p1,·p2,·p3},·Landroid/content/Context;->checkPermission(Ljava/lang/String;II)I |
| |
424 | ····move-result·v1 | 503 | ····move-result·v1 |
| |
425 | ····if-nez·v1,·:cond_4 | 504 | ····if-nez·v1,·:cond_4 |
| |
Offset 490, 15 lines modified | Offset 569, 15 lines modified |
| |
490 | ····move-object·v4,·p4 | 569 | ····move-object·v4,·p4 |
| |
491 | ····move-object·v5,·p5 | 570 | ····move-object·v5,·p5 |
| |
492 | ····move-object·v6,·p6 | 571 | ····move-object·v6,·p6 |
| |
493 | ····.line·319 | 572 | ····.line·354 |
494 | ····invoke-static/range·{v0·..·v7},·Lcom/android/providers/media/util/PermissionUtils;->checkPermissionCommon(Landroid/content/Context;Ljava/lang/String;IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)Z | 573 | ····invoke-static/range·{v0·..·v7},·Lcom/android/providers/media/util/PermissionUtils;->checkPermissionCommon(Landroid/content/Context;Ljava/lang/String;IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)Z |
| |
495 | ····move-result·p0 | 574 | ····move-result·p0 |
| |
496 | ····return·p0 | 575 | ····return·p0 |
497 | .end·method | 576 | .end·method |
| |
Offset 517, 15 lines modified | Offset 596, 15 lines modified |
| |
517 | ····move·v2,·p2 | 596 | ····move·v2,·p2 |
| |
518 | ····move·v3,·p3 | 597 | ····move·v3,·p3 |
| |
519 | ····move-object·v4,·p4 | 598 | ····move-object·v4,·p4 |
| |
520 | ····.line·281 | 599 | ····.line·316 |
521 | ····invoke-static/range·{v0·..·v7},·Lcom/android/providers/media/util/PermissionUtils;->checkPermissionCommon(Landroid/content/Context;Ljava/lang/String;IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)Z | 600 | ····invoke-static/range·{v0·..·v7},·Lcom/android/providers/media/util/PermissionUtils;->checkPermissionCommon(Landroid/content/Context;Ljava/lang/String;IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)Z |
| |
522 | ····move-result·p0 | 601 | ····move-result·p0 |
| |
523 | ····return·p0 | 602 | ····return·p0 |
524 | .end·method | 603 | .end·method |
| |
Offset 997, 42 lines modified | Offset 1076, 42 lines modified |
| |
997 | ····return·p0 | 1076 | ····return·p0 |
998 | .end·method | 1077 | .end·method |
| |
999 | .method·private·static·checkRuntimePermission(Landroid/content/Context;Ljava/lang/String;IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)Z | 1078 | .method·private·static·checkRuntimePermission(Landroid/content/Context;Ljava/lang/String;IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)Z |
1000 | ····.locals·8 | 1079 | ····.locals·8 |
| |
1001 | ····.line·388 | 1080 | ····.line·423 |
1002 | ····invoke-virtual·{p0,·p1,·p2,·p3},·Landroid/content/Context;->checkPermission(Ljava/lang/String;II)I | 1081 | ····invoke-virtual·{p0,·p1,·p2,·p3},·Landroid/content/Context;->checkPermission(Ljava/lang/String;II)I |
| |
1003 | ····move-result·p2 | 1082 | ····move-result·p2 |
| |
1004 | ····const/4·v0,·0x0 | 1083 | ····const/4·v0,·0x0 |
| |
1005 | ····const/4·v1,·-0x1 | 1084 | ····const/4·v1,·-0x1 |
| |
1006 | ····if-ne·p2,·v1,·:cond_0 | 1085 | ····if-ne·p2,·v1,·:cond_0 |
| |
1007 | ····return·v0 | 1086 | ····return·v0 |
| |
1008 | ····.line·392 | 1087 | ····.line·427 |
1009 | ····:cond_0 | 1088 | ····:cond_0 |
1010 | ····invoke-static·{p1},·Landroid/app/AppOpsManager;->permissionToOp(Ljava/lang/String;)Ljava/lang/String; | 1089 | ····invoke-static·{p1},·Landroid/app/AppOpsManager;->permissionToOp(Ljava/lang/String;)Ljava/lang/String; |
| |
1011 | ····move-result-object·v3 | 1090 | ····move-result-object·v3 |
| |
1012 | ····const/4·p1,·0x1 | 1091 | ····const/4·p1,·0x1 |
| |
1013 | ····if-eqz·v3,·:cond_3 | 1092 | ····if-eqz·v3,·:cond_3 |
| |
1014 | ····if-nez·p4,·:cond_1 | 1093 | ····if-nez·p4,·:cond_1 |
| |
1015 | ····goto·:goto_1 | 1094 | ····goto·:goto_1 |
| |
1016 | ····.line·397 | 1095 | ····.line·432 |
1017 | ····:cond_1 | 1096 | ····:cond_1 |
1018 | ····const-class·p2,·Landroid/app/AppOpsManager; | 1097 | ····const-class·p2,·Landroid/app/AppOpsManager; |
| |
1019 | ····invoke-virtual·{p0,·p2},·Landroid/content/Context;->getSystemService(Ljava/lang/Class;)Ljava/lang/Object; | 1098 | ····invoke-virtual·{p0,·p2},·Landroid/content/Context;->getSystemService(Ljava/lang/Class;)Ljava/lang/Object; |
| |
1020 | ····move-result-object·p0 | 1099 | ····move-result-object·p0 |
| |
Offset 1046, 22 lines modified | Offset 1125, 22 lines modified |
| |
1046 | ····move-object·v5,·p4 | 1125 | ····move-object·v5,·p4 |
| |
1047 | ····move-object·v6,·p5 | 1126 | ····move-object·v6,·p5 |
| |
1048 | ····move-object·v7,·p6 | 1127 | ····move-object·v7,·p6 |
| |
1049 | ····.line·399 | 1128 | ····.line·434 |
1050 | ····invoke-virtual/range·{v2·..·v7},·Landroid/app/AppOpsManager;->noteOpNoThrow(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)I | 1129 | ····invoke-virtual/range·{v2·..·v7},·Landroid/app/AppOpsManager;->noteOpNoThrow(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)I |
| |
1051 | ····move-result·p0 | 1130 | ····move-result·p0 |
| |
1052 | ····goto·:goto_0 | 1131 | ····goto·:goto_0 |
| |
1053 | ····.line·400 | 1132 | ····.line·435 |
1054 | ····:cond_2 | 1133 | ····:cond_2 |
1055 | ····invoke-virtual·{v2,·v3,·p3,·p4},·Landroid/app/AppOpsManager;->unsafeCheckOpRawNoThrow(Ljava/lang/String;ILjava/lang/String;)I | 1134 | ····invoke-virtual·{v2,·v3,·p3,·p4},·Landroid/app/AppOpsManager;->unsafeCheckOpRawNoThrow(Ljava/lang/String;ILjava/lang/String;)I |
| |
1056 | ····move-result·p0 | 1135 | ····move-result·p0 |
| |
1057 | ····:goto_0 | 1136 | ····:goto_0 |
1058 | ····if-eqz·p0,·:cond_3 | 1137 | ····if-eqz·p0,·:cond_3 |
Offset 1073, 14 lines modified | Offset 1152, 93 lines modified |
1073 | ····return·v0 | 1152 | ····return·v0 |
| |
1074 | ····:cond_3 | 1153 | ····:cond_3 |
1075 | ····:goto_1 | 1154 | ····:goto_1 |
1076 | ····return·p1 | 1155 | ····return·p1 |
1077 | .end·method | 1156 | .end·method |
| |
| 1157 | .method·public·static·checkWriteImagesOrVideoAppOps(Landroid/content/Context;ILjava/lang/String;Ljava/lang/String;)Z |
| 1158 | ····.locals·7 |
| |
| 1159 | ····.line·194 |
| 1160 | ····sget-object·v0,·Lcom/android/providers/media/util/PermissionUtils;->sOpDescription:Ljava/lang/ThreadLocal; |
| |
| 1161 | ····.line·196 |
| 1162 | ····invoke-virtual·{v0},·Ljava/lang/ThreadLocal;->get()Ljava/lang/Object; |
| |
| 1163 | ····move-result-object·v0 |
| |
| 1164 | ····check-cast·v0,·Ljava/lang/String; |
| |
| 1165 | ····invoke-static·{p2,·v0},·Lcom/android/providers/media/util/PermissionUtils;->generateAppOpMessage(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; |
| |
| 1166 | ····move-result-object·v6 |
| |
| 1167 | ····const-string·v2,·"android:write_media_images" |
| |
| 1168 | ····move-object·v1,·p0 |
| |
| 1169 | ····move·v3,·p1 |
| |
| 1170 | ····move-object·v4,·p2 |
| |
| 1171 | ····move-object·v5,·p3 |
| |
| 1172 | ····.line·194 |
| 1173 | ····invoke-static/range·{v1·..·v6},·Lcom/android/providers/media/util/PermissionUtils;->checkAppOp(Landroid/content/Context;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z |
| |
| 1174 | ····move-result·v0 |
| |
| 1175 | ····if-nez·v0,·:cond_1 |
| |
| 1176 | ····sget-object·v0,·Lcom/android/providers/media/util/PermissionUtils;->sOpDescription:Ljava/lang/ThreadLocal; |
| |
| 1177 | ····.line·199 |
| 1178 | ····invoke-virtual·{v0},·Ljava/lang/ThreadLocal;->get()Ljava/lang/Object; |
| |
| 1179 | ····move-result-object·v0 |
| |
| 1180 | ····check-cast·v0,·Ljava/lang/String; |
| |
| 1181 | ····invoke-static·{p2,·v0},·Lcom/android/providers/media/util/PermissionUtils;->generateAppOpMessage(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; |
| |
| 1182 | ····move-result-object·v6 |
| |
| 1183 | ····const-string·v2,·"android:write_media_video" |
| |
| 1184 | ····move-object·v1,·p0 |
| |
| 1185 | ····move·v3,·p1 |
| |
| 1186 | ····move-object·v4,·p2 |
| |
| 1187 | ····move-object·v5,·p3 |
| |
| 1188 | ····.line·197 |
| 1189 | ····invoke-static/range·{v1·..·v6},·Lcom/android/providers/media/util/PermissionUtils;->checkAppOp(Landroid/content/Context;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z |
| |
| 1190 | ····move-result·p0 |
| |
| 1191 | ····if-eqz·p0,·:cond_0 |
| |
| 1192 | ····goto·:goto_0 |
| |
| 1193 | ····:cond_0 |
| 1194 | ····const/4·p0,·0x0 |
| |
| 1195 | ····goto·:goto_1 |
| |
| 1196 | ····:cond_1 |
| 1197 | ····:goto_0 |
| 1198 | ····const/4·p0,·0x1 |
| |
| 1199 | ····:goto_1 |
| 1200 | ····return·p0 |
| 1201 | .end·method |
| |
1078 | .method·public·static·clearOpDescription()V | 1202 | .method·public·static·clearOpDescription()V |
1079 | ····.locals·2 | 1203 | ····.locals·2 |
| |
1080 | ····.line·57 | 1204 | ····.line·57 |
1081 | ····sget-object·v0,·Lcom/android/providers/media/util/PermissionUtils;->sOpDescription:Ljava/lang/ThreadLocal; | 1205 | ····sget-object·v0,·Lcom/android/providers/media/util/PermissionUtils;->sOpDescription:Ljava/lang/ThreadLocal; |
| |
1082 | ····const/4·v1,·0x0 | 1206 | ····const/4·v1,·0x0 |
Offset 1095, 15 lines modified | Offset 1253, 15 lines modified |
| |
1095 | ····if-nez·p1,·:cond_0 | 1253 | ····if-nez·p1,·:cond_0 |
| |
1096 | ····const/4·p0,·0x0 | 1254 | ····const/4·p0,·0x0 |
| |
1097 | ····return-object·p0 | 1255 | ····return-object·p0 |
| |
1098 | ····.line·206 | 1256 | ····.line·220 |
1099 | ····:cond_0 | 1257 | ····:cond_0 |
1100 | ····new-instance·v0,·Ljava/lang/StringBuilder; | 1258 | ····new-instance·v0,·Ljava/lang/StringBuilder; |
| |
1101 | ····invoke-direct·{v0},·Ljava/lang/StringBuilder;-><init>()V | 1259 | ····invoke-direct·{v0},·Ljava/lang/StringBuilder;-><init>()V |
| |
1102 | ····const-string·v1,·"Package:·" | 1260 | ····const-string·v1,·"Package:·" |
| |
Offset 1127, 15 lines modified | Offset 1285, 15 lines modified |
| |
1127 | ····return-object·p0 | 1285 | ····return-object·p0 |
1128 | .end·method | 1286 | .end·method |
| |
1129 | .method·private·static·isAppOpPermission(Ljava/lang/String;)Z | 1287 | .method·private·static·isAppOpPermission(Ljava/lang/String;)Z |
1130 | ····.locals·3 | 1288 | ····.locals·3 |
| |
1131 | ····.line·345 | 1289 | ····.line·380 |
1132 | ····invoke-virtual·{p0},·Ljava/lang/String;->hashCode()I | 1290 | ····invoke-virtual·{p0},·Ljava/lang/String;->hashCode()I |
| |
1133 | ····move-result·v0 | 1291 | ····move-result·v0 |
| |
1134 | ····const/4·v1,·0x0 | 1292 | ····const/4·v1,·0x0 |
| |
1135 | ····const·v2,·-0x6c1165bf | 1293 | ····const·v2,·-0x6c1165bf |
Offset 1171, 15 lines modified | Offset 1329, 15 lines modified |
| |
1171 | ····return·p0 | 1329 | ····return·p0 |
1172 | .end·method | 1330 | .end·method |
| |
1173 | .method·private·static·isRuntimePermission(Ljava/lang/String;)Z | 1331 | .method·private·static·isRuntimePermission(Ljava/lang/String;)Z |
1174 | ····.locals·4 | 1332 | ····.locals·4 |
| |
1175 | ····.line·353 | 1333 | ····.line·388 |
1176 | ····invoke-virtual·{p0},·Ljava/lang/String;->hashCode()I | 1334 | ····invoke-virtual·{p0},·Ljava/lang/String;->hashCode()I |
| |
1177 | ····move-result·v0 | 1335 | ····move-result·v0 |
| |
1178 | ····const·v1,·-0x1833add0 | 1336 | ····const·v1,·-0x1833add0 |
| |
1179 | ····const/4·v2,·0x0 | 1337 | ····const/4·v2,·0x0 |