Offset 3, 15 lines modifiedOffset 3, 15 lines modified
3 .source·"AutoRevokePermissions.kt"3 .source·"AutoRevokePermissions.kt"
  
  
4 #·direct·methods4 #·direct·methods
5 .method·public·constructor·<init>()V5 .method·public·constructor·<init>()V
6 ····.locals·06 ····.locals·0
  
7 ····.line·1877 ····.line·191
8 ····invoke-direct·{p0},·Landroid/content/BroadcastReceiver;-><init>()V8 ····invoke-direct·{p0},·Landroid/content/BroadcastReceiver;-><init>()V
  
9 ····return-void9 ····return-void
10 .end·method10 .end·method
  
  
11 #·virtual·methods11 #·virtual·methods
Offset 28, 98 lines modifiedOffset 28, 129 lines modified
  
28 ····move-object/from16·v0,·p128 ····move-object/from16·v0,·p1
  
29 ····const-string·v1,·"context"29 ····const-string·v1,·"context"
  
30 ····invoke-static·{v0,·v1},·Lkotlin/jvm/internal/Intrinsics;->checkParameterIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V30 ····invoke-static·{v0,·v1},·Lkotlin/jvm/internal/Intrinsics;->checkParameterIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V
  
31 ····.line·19131 ····.line·196
32 ····invoke-static/range·{p1·..·p1},·Lcom/android/permissioncontroller/permission/service/AutoRevokePermissions;->access$getFirstBootTime$p(Landroid/content/Context;)J32 ····invoke-virtual/range·{p1·..·p1},·Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
  
 33 ····move-result-object·v1
  
 34 ····const-string·v2,·"android.hardware.type.automotive"
  
 35 ····invoke-virtual·{v1,·v2},·Landroid/content/pm/PackageManager;->hasSystemFeature(Ljava/lang/String;)Z
  
 36 ····move-result·v1
  
 37 ····if-eqz·v1,·:cond_0
  
33 ····.line·19438 ····.line·197
34 ····sget-object·v2,·Lcom/android/permissioncontroller/DumpableLog;->INSTANCE:Lcom/android/permissioncontroller/DumpableLog;39 ····sget-object·v2,·Lcom/android/permissioncontroller/DumpableLog;->INSTANCE:Lcom/android/permissioncontroller/DumpableLog;
  
 40 ····const/4·v5,·0x0
  
 41 ····const/4·v6,·0x4
  
 42 ····const/4·v7,·0x0
  
 43 ····const-string·v3,·"AutoRevokePermissions"
  
 44 ····const-string·v4,·"Auto-revoke·not·scheduled·on·Automotive·devices"
  
 45 ····invoke-static/range·{v2·..·v7},·Lcom/android/permissioncontroller/DumpableLog;->i$default(Lcom/android/permissioncontroller/DumpableLog;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;ILjava/lang/Object;)V
  
 46 ····return-void
  
 47 ····.line·202
 48 ····:cond_0
 49 ····invoke-static/range·{p1·..·p1},·Lcom/android/permissioncontroller/permission/service/AutoRevokePermissions;->access$getFirstBootTime$p(Landroid/content/Context;)J
  
 50 ····.line·205
 51 ····sget-object·v8,·Lcom/android/permissioncontroller/DumpableLog;->INSTANCE:Lcom/android/permissioncontroller/DumpableLog;
  
35 ····new-instance·v1,·Ljava/lang/StringBuilder;52 ····new-instance·v1,·Ljava/lang/StringBuilder;
  
36 ····invoke-direct·{v1},·Ljava/lang/StringBuilder;-><init>()V53 ····invoke-direct·{v1},·Ljava/lang/StringBuilder;-><init>()V
  
37 ····const-string·v3,·"scheduleAutoRevokePermissions·"54 ····const-string·v2,·"scheduleAutoRevokePermissions·"
  
38 ····invoke-virtual·{v1,·v3},·Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;55 ····invoke-virtual·{v1,·v2},·Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  
39 ····const-string·v3,·"with·frequency·"56 ····const-string·v2,·"with·frequency·"
  
40 ····invoke-virtual·{v1,·v3},·Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;57 ····invoke-virtual·{v1,·v2},·Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  
41 ····.line·19558 ····.line·206
42 ····invoke-static/range·{p1·..·p1},·Lcom/android/permissioncontroller/permission/service/AutoRevokePermissions;->access$getCheckFrequencyMs(Landroid/content/Context;)J59 ····invoke-static/range·{p1·..·p1},·Lcom/android/permissioncontroller/permission/service/AutoRevokePermissions;->access$getCheckFrequencyMs(Landroid/content/Context;)J
  
43 ····move-result-wide·v360 ····move-result-wide·v2
  
44 ····invoke-virtual·{v1,·v3,·v4},·Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;61 ····invoke-virtual·{v1,·v2,·v3},·Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
  
45 ····const-string·v3,·"ms·"62 ····const-string·v2,·"ms·"
  
46 ····invoke-virtual·{v1,·v3},·Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;63 ····invoke-virtual·{v1,·v2},·Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  
47 ····const-string·v3,·"and·threshold·"64 ····const-string·v2,·"and·threshold·"
  
48 ····invoke-virtual·{v1,·v3},·Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;65 ····invoke-virtual·{v1,·v2},·Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  
49 ····.line·19666 ····.line·207
50 ····invoke-static/range·{p1·..·p1},·Lcom/android/permissioncontroller/permission/service/AutoRevokePermissions;->getUnusedThresholdMs(Landroid/content/Context;)J67 ····invoke-static/range·{p1·..·p1},·Lcom/android/permissioncontroller/permission/service/AutoRevokePermissions;->getUnusedThresholdMs(Landroid/content/Context;)J
  
51 ····move-result-wide·v368 ····move-result-wide·v2
  
52 ····invoke-virtual·{v1,·v3,·v4},·Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;69 ····invoke-virtual·{v1,·v2,·v3},·Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
  
53 ····const-string·v3,·"ms"70 ····const-string·v2,·"ms"
  
54 ····invoke-virtual·{v1,·v3},·Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;71 ····invoke-virtual·{v1,·v2},·Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  
55 ····invoke-virtual·{v1},·Ljava/lang/StringBuilder;->toString()Ljava/lang/String;72 ····invoke-virtual·{v1},·Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  
56 ····move-result-object·v473 ····move-result-object·v10
  
57 ····const-string·v3,·"AutoRevokePermissions"74 ····const/4·v11,·0x0
  
58 ····const/4·v5,·0x075 ····const/4·v12,·0x4
  
59 ····const/4·v6,·0x476 ····const/4·v13,·0x0
  
60 ····const/4·v7,·0x077 ····const-string·v9,·"AutoRevokePermissions"
  
61 ····.line·19478 ····.line·205
62 ····invoke-static/range·{v2·..·v7},·Lcom/android/permissioncontroller/DumpableLog;->i$default(Lcom/android/permissioncontroller/DumpableLog;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;ILjava/lang/Object;)V79 ····invoke-static/range·{v8·..·v13},·Lcom/android/permissioncontroller/DumpableLog;->i$default(Lcom/android/permissioncontroller/DumpableLog;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;ILjava/lang/Object;)V
  
63 ····.line·19980 ····.line·210
64 ····const-class·v1,·Landroid/os/UserManager;81 ····const-class·v1,·Landroid/os/UserManager;
  
65 ····invoke-virtual·{v0,·v1},·Landroid/content/Context;->getSystemService(Ljava/lang/Class;)Ljava/lang/Object;82 ····invoke-virtual·{v0,·v1},·Landroid/content/Context;->getSystemService(Ljava/lang/Class;)Ljava/lang/Object;
  
66 ····move-result-object·v183 ····move-result-object·v1
  
67 ····const/4·v2,·0x084 ····const/4·v2,·0x0
  
68 ····if-eqz·v1,·:cond_385 ····if-eqz·v1,·:cond_4
  
69 ····check-cast·v1,·Landroid/os/UserManager;86 ····check-cast·v1,·Landroid/os/UserManager;
  
70 ····.line·20187 ····.line·212
71 ····invoke-virtual·{v1},·Landroid/os/UserManager;->isProfile()Z88 ····invoke-virtual·{v1},·Landroid/os/UserManager;->isProfile()Z
  
72 ····move-result·v189 ····move-result·v1
  
73 ····const-string·v3,·"myUserHandle()"90 ····const-string·v3,·"myUserHandle()"
  
74 ····const-string·v4,·"user·"91 ····const-string·v4,·"user·"
  
75 ····if-eqz·v1,·:cond_092 ····if-eqz·v1,·:cond_1
  
76 ····.line·20393 ····.line·214
77 ····sget-object·v5,·Lcom/android/permissioncontroller/DumpableLog;->INSTANCE:Lcom/android/permissioncontroller/DumpableLog;94 ····sget-object·v5,·Lcom/android/permissioncontroller/DumpableLog;->INSTANCE:Lcom/android/permissioncontroller/DumpableLog;
  
78 ····new-instance·v0,·Ljava/lang/StringBuilder;95 ····new-instance·v0,·Ljava/lang/StringBuilder;
  
79 ····invoke-direct·{v0},·Ljava/lang/StringBuilder;-><init>()V96 ····invoke-direct·{v0},·Ljava/lang/StringBuilder;-><init>()V
  
80 ····invoke-virtual·{v0,·v4},·Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;97 ····invoke-virtual·{v0,·v4},·Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
Offset 156, 16 lines modifiedOffset 187, 16 lines modified
  
156 ····const-string·v6,·"AutoRevokePermissions"187 ····const-string·v6,·"AutoRevokePermissions"
  
157 ····invoke-static/range·{v5·..·v10},·Lcom/android/permissioncontroller/DumpableLog;->i$default(Lcom/android/permissioncontroller/DumpableLog;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;ILjava/lang/Object;)V188 ····invoke-static/range·{v5·..·v10},·Lcom/android/permissioncontroller/DumpableLog;->i$default(Lcom/android/permissioncontroller/DumpableLog;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;ILjava/lang/Object;)V
  
158 ····return-void189 ····return-void
  
159 ····.line·208190 ····.line·219
160 ····:cond_0191 ····:cond_1
161 ····sget-object·v11,·Lcom/android/permissioncontroller/DumpableLog;->INSTANCE:Lcom/android/permissioncontroller/DumpableLog;192 ····sget-object·v11,·Lcom/android/permissioncontroller/DumpableLog;->INSTANCE:Lcom/android/permissioncontroller/DumpableLog;
  
162 ····new-instance·v1,·Ljava/lang/StringBuilder;193 ····new-instance·v1,·Ljava/lang/StringBuilder;
  
163 ····invoke-direct·{v1},·Ljava/lang/StringBuilder;-><init>()V194 ····invoke-direct·{v1},·Ljava/lang/StringBuilder;-><init>()V
  
164 ····invoke-virtual·{v1,·v4},·Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;195 ····invoke-virtual·{v1,·v4},·Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
Offset 202, 67 lines modifiedOffset 233, 67 lines modified
  
202 ····const-string·v12,·"AutoRevokePermissions"233 ····const-string·v12,·"AutoRevokePermissions"
  
203 ····invoke-static/range·{v11·..·v16},·Lcom/android/permissioncontroller/DumpableLog;->i$default(Lcom/android/permissioncontroller/DumpableLog;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;ILjava/lang/Object;)V234 ····invoke-static/range·{v11·..·v16},·Lcom/android/permissioncontroller/DumpableLog;->i$default(Lcom/android/permissioncontroller/DumpableLog;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;ILjava/lang/Object;)V
  
204 ····const/4·v1,·0x1235 ····const/4·v1,·0x1
  
205 ····.line·212236 ····.line·223
206 ····invoke-static·{v1},·Lcom/android/permissioncontroller/permission/service/AutoRevokePermissions;->access$setSKIP_NEXT_RUN$p(Z)V237 ····invoke-static·{v1},·Lcom/android/permissioncontroller/permission/service/AutoRevokePermissions;->access$setSKIP_NEXT_RUN$p(Z)V
  
207 ····.line·214238 ····.line·225
208 ····new-instance·v3,·Landroid/app/job/JobInfo$Builder;239 ····new-instance·v3,·Landroid/app/job/JobInfo$Builder;
  
209 ····const/4·v4,·0x2240 ····const/4·v4,·0x2
  
210 ····.line·216241 ····.line·227
211 ····new-instance·v5,·Landroid/content/ComponentName;242 ····new-instance·v5,·Landroid/content/ComponentName;
  
212 ····const-class·v6,·Lcom/android/permissioncontroller/permission/service/AutoRevokeService;243 ····const-class·v6,·Lcom/android/permissioncontroller/permission/service/AutoRevokeService;
  
213 ····invoke-direct·{v5,·v0,·v6},·Landroid/content/ComponentName;-><init>(Landroid/content/Context;Ljava/lang/Class;)V244 ····invoke-direct·{v5,·v0,·v6},·Landroid/content/ComponentName;-><init>(Landroid/content/Context;Ljava/lang/Class;)V
  
214 ····.line·214245 ····.line·225
215 ····invoke-direct·{v3,·v4,·v5},·Landroid/app/job/JobInfo$Builder;-><init>(ILandroid/content/ComponentName;)V246 ····invoke-direct·{v3,·v4,·v5},·Landroid/app/job/JobInfo$Builder;-><init>(ILandroid/content/ComponentName;)V
  
216 ····.line·217247 ····.line·228
217 ····invoke-static/range·{p1·..·p1},·Lcom/android/permissioncontroller/permission/service/AutoRevokePermissions;->access$getCheckFrequencyMs(Landroid/content/Context;)J248 ····invoke-static/range·{p1·..·p1},·Lcom/android/permissioncontroller/permission/service/AutoRevokePermissions;->access$getCheckFrequencyMs(Landroid/content/Context;)J
  
218 ····move-result-wide·v4249 ····move-result-wide·v4
  
219 ····invoke-virtual·{v3,·v4,·v5},·Landroid/app/job/JobInfo$Builder;->setPeriodic(J)Landroid/app/job/JobInfo$Builder;250 ····invoke-virtual·{v3,·v4,·v5},·Landroid/app/job/JobInfo$Builder;->setPeriodic(J)Landroid/app/job/JobInfo$Builder;
  
220 ····move-result-object·v3251 ····move-result-object·v3
  
221 ····.line·218252 ····.line·229
222 ····invoke-virtual·{v3},·Landroid/app/job/JobInfo$Builder;->build()Landroid/app/job/JobInfo;253 ····invoke-virtual·{v3},·Landroid/app/job/JobInfo$Builder;->build()Landroid/app/job/JobInfo;
  
223 ····move-result-object·v3254 ····move-result-object·v3
  
224 ····.line·219255 ····.line·230
225 ····const-class·v4,·Landroid/app/job/JobScheduler;256 ····const-class·v4,·Landroid/app/job/JobScheduler;
  
226 ····invoke-virtual·{v0,·v4},·Landroid/content/Context;->getSystemService(Ljava/lang/Class;)Ljava/lang/Object;257 ····invoke-virtual·{v0,·v4},·Landroid/content/Context;->getSystemService(Ljava/lang/Class;)Ljava/lang/Object;
  
227 ····move-result-object·v0258 ····move-result-object·v0
  
228 ····if-eqz·v0,·:cond_2259 ····if-eqz·v0,·:cond_3
  
229 ····check-cast·v0,·Landroid/app/job/JobScheduler;260 ····check-cast·v0,·Landroid/app/job/JobScheduler;
  
230 ····invoke-virtual·{v0,·v3},·Landroid/app/job/JobScheduler;->schedule(Landroid/app/job/JobInfo;)I261 ····invoke-virtual·{v0,·v3},·Landroid/app/job/JobScheduler;->schedule(Landroid/app/job/JobInfo;)I
  
231 ····move-result·v0262 ····move-result·v0
  
232 ····if-eq·v0,·v1,·:cond_1263 ····if-eq·v0,·v1,·:cond_2
  
233 ····.line·221264 ····.line·232
234 ····sget-object·v2,·Lcom/android/permissioncontroller/DumpableLog;->INSTANCE:Lcom/android/permissioncontroller/DumpableLog;265 ····sget-object·v2,·Lcom/android/permissioncontroller/DumpableLog;->INSTANCE:Lcom/android/permissioncontroller/DumpableLog;
  
235 ····.line·222266 ····.line·233
236 ····new-instance·v1,·Ljava/lang/StringBuilder;267 ····new-instance·v1,·Ljava/lang/StringBuilder;
  
237 ····invoke-direct·{v1},·Ljava/lang/StringBuilder;-><init>()V268 ····invoke-direct·{v1},·Ljava/lang/StringBuilder;-><init>()V
  
238 ····const-string·v3,·"Could·not·schedule·"269 ····const-string·v3,·"Could·not·schedule·"
  
239 ····invoke-virtual·{v1,·v3},·Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;270 ····invoke-virtual·{v1,·v3},·Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
Offset 289, 25 lines modifiedOffset 320, 25 lines modified
  
289 ····const/4·v6,·0x4320 ····const/4·v6,·0x4
  
290 ····const/4·v7,·0x0321 ····const/4·v7,·0x0
  
291 ····const-string·v3,·"AutoRevokePermissions"322 ····const-string·v3,·"AutoRevokePermissions"
  
292 ····.line·221323 ····.line·232
293 ····invoke-static/range·{v2·..·v7},·Lcom/android/permissioncontroller/DumpableLog;->e$default(Lcom/android/permissioncontroller/DumpableLog;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;ILjava/lang/Object;)V324 ····invoke-static/range·{v2·..·v7},·Lcom/android/permissioncontroller/DumpableLog;->e$default(Lcom/android/permissioncontroller/DumpableLog;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;ILjava/lang/Object;)V
  
294 ····:cond_1325 ····:cond_2
295 ····return-void326 ····return-void
  
296 ····.line·219327 ····.line·230
297 ····:cond_2328 ····:cond_3
298 ····invoke-static·{},·Lkotlin/jvm/internal/Intrinsics;->throwNpe()V329 ····invoke-static·{},·Lkotlin/jvm/internal/Intrinsics;->throwNpe()V
  
299 ····throw·v2330 ····throw·v2
  
300 ····.line·199331 ····.line·210
301 ····:cond_3332 ····:cond_4
302 ····invoke-static·{},·Lkotlin/jvm/internal/Intrinsics;->throwNpe()V333 ····invoke-static·{},·Lkotlin/jvm/internal/Intrinsics;->throwNpe()V
  
303 ····throw·v2334 ····throw·v2
304 .end·method335 .end·method