Revert "Fixed pdroid security hole (ported from OpenPDroid)"
[auto-patcher.git] / patches / pdroid / 4.1 / cm / 20120806 / framework.patch
blob5c7b2d02d560a846d70a8988b37d564ce84cc55b
1 diff -Npru stock-framework/smali/android/app/BackStackRecord.smali pdroid-framework/smali/android/app/BackStackRecord.smali
2 --- stock-framework/smali/android/app/BackStackRecord.smali 2012-08-06 13:25:41.867662617 -0500
3 +++ pdroid-framework/smali/android/app/BackStackRecord.smali 2012-08-06 13:24:56.667438482 -0500
4 @@ -758,12 +758,12 @@
6 iget v4, p0, Landroid/app/BackStackRecord;->mExitAnim:I
8 - if-eqz v4, :cond_6d
9 + if-eqz v4, :cond_6e
11 :cond_4e
12 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
14 - const-string v4, "mEnterAnim=#"
15 + const-string/jumbo v4, "mEnterAnim=#"
17 invoke-virtual {p3, v4}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
19 @@ -787,16 +787,16 @@
21 invoke-virtual {p3, v4}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
23 - :cond_6d
24 + :cond_6e
25 iget v4, p0, Landroid/app/BackStackRecord;->mPopEnterAnim:I
27 - if-nez v4, :cond_75
28 + if-nez v4, :cond_76
30 iget v4, p0, Landroid/app/BackStackRecord;->mPopExitAnim:I
32 - if-eqz v4, :cond_95
33 + if-eqz v4, :cond_96
35 - :cond_75
36 + :cond_76
37 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
39 const-string/jumbo v4, "mPopEnterAnim=#"
40 @@ -823,16 +823,16 @@
42 invoke-virtual {p3, v4}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
44 - :cond_95
45 + :cond_96
46 iget v4, p0, Landroid/app/BackStackRecord;->mBreadCrumbTitleRes:I
48 - if-nez v4, :cond_9d
49 + if-nez v4, :cond_9e
51 iget-object v4, p0, Landroid/app/BackStackRecord;->mBreadCrumbTitleText:Ljava/lang/CharSequence;
53 - if-eqz v4, :cond_b8
54 + if-eqz v4, :cond_b9
56 - :cond_9d
57 + :cond_9e
58 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
60 const-string v4, "mBreadCrumbTitleRes=#"
61 @@ -855,16 +855,16 @@
63 invoke-virtual {p3, v4}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
65 - :cond_b8
66 + :cond_b9
67 iget v4, p0, Landroid/app/BackStackRecord;->mBreadCrumbShortTitleRes:I
69 - if-nez v4, :cond_c0
70 + if-nez v4, :cond_c1
72 iget-object v4, p0, Landroid/app/BackStackRecord;->mBreadCrumbShortTitleText:Ljava/lang/CharSequence;
74 - if-eqz v4, :cond_db
75 + if-eqz v4, :cond_dc
77 - :cond_c0
78 + :cond_c1
79 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
81 const-string v4, "mBreadCrumbShortTitleRes=#"
82 @@ -887,10 +887,10 @@
84 invoke-virtual {p3, v4}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
86 - :cond_db
87 + :cond_dc
88 iget-object v4, p0, Landroid/app/BackStackRecord;->mHead:Landroid/app/BackStackRecord$Op;
90 - if-eqz v4, :cond_1c1
91 + if-eqz v4, :cond_1c2
93 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
95 @@ -920,8 +920,8 @@
97 const/4 v2, 0x0
99 - :goto_fd
100 - if-eqz v3, :cond_1c1
101 + :goto_fe
102 + if-eqz v3, :cond_1c2
104 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
106 @@ -955,13 +955,13 @@
108 iget v4, v3, Landroid/app/BackStackRecord$Op;->enterAnim:I
110 - if-nez v4, :cond_12e
111 + if-nez v4, :cond_12f
113 iget v4, v3, Landroid/app/BackStackRecord$Op;->exitAnim:I
115 - if-eqz v4, :cond_14d
116 + if-eqz v4, :cond_14e
118 - :cond_12e
119 + :cond_12f
120 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
122 const-string v4, "enterAnim=#"
123 @@ -988,16 +988,16 @@
125 invoke-virtual {p3, v4}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
127 - :cond_14d
128 + :cond_14e
129 iget v4, v3, Landroid/app/BackStackRecord$Op;->popEnterAnim:I
131 - if-nez v4, :cond_155
132 + if-nez v4, :cond_156
134 iget v4, v3, Landroid/app/BackStackRecord$Op;->popExitAnim:I
136 - if-eqz v4, :cond_175
137 + if-eqz v4, :cond_176
139 - :cond_155
140 + :cond_156
141 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
143 const-string/jumbo v4, "popEnterAnim=#"
144 @@ -1024,10 +1024,10 @@
146 invoke-virtual {p3, v4}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
148 - :cond_175
149 + :cond_176
150 iget-object v4, v3, Landroid/app/BackStackRecord$Op;->removed:Ljava/util/ArrayList;
152 - if-eqz v4, :cond_1bd
153 + if-eqz v4, :cond_1be
155 iget-object v4, v3, Landroid/app/BackStackRecord$Op;->removed:Ljava/util/ArrayList;
157 @@ -1035,18 +1035,18 @@
159 move-result v4
161 - if-lez v4, :cond_1bd
162 + if-lez v4, :cond_1be
164 const/4 v0, 0x0
166 - :goto_182
167 + :goto_183
168 iget-object v4, v3, Landroid/app/BackStackRecord$Op;->removed:Ljava/util/ArrayList;
170 invoke-virtual {v4}, Ljava/util/ArrayList;->size()I
172 move-result v4
174 - if-ge v0, v4, :cond_1bd
175 + if-ge v0, v4, :cond_1be
177 invoke-virtual {p3, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
179 @@ -1058,13 +1058,13 @@
181 const/4 v5, 0x1
183 - if-ne v4, v5, :cond_1a7
184 + if-ne v4, v5, :cond_1a8
186 const-string v4, "Removed: "
188 invoke-virtual {p3, v4}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
190 - :goto_19b
191 + :goto_19c
192 iget-object v4, v3, Landroid/app/BackStackRecord$Op;->removed:Ljava/util/ArrayList;
194 invoke-virtual {v4, v0}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
195 @@ -1075,9 +1075,9 @@
197 add-int/lit8 v0, v0, 0x1
199 - goto :goto_182
200 + goto :goto_183
202 - :cond_1a7
203 + :cond_1a8
204 const-string v4, "Removed:"
206 invoke-virtual {p3, v4}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
207 @@ -1094,14 +1094,14 @@
209 invoke-virtual {p3, v4}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
211 - goto :goto_19b
212 + goto :goto_19c
214 - :cond_1bd
215 + :cond_1be
216 iget-object v3, v3, Landroid/app/BackStackRecord$Op;->next:Landroid/app/BackStackRecord$Op;
218 - goto/16 :goto_fd
219 + goto/16 :goto_fe
221 - :cond_1c1
222 + :cond_1c2
223 return-void
224 .end method
226 diff -Npru stock-framework/smali/android/app/ContextImpl$20.smali pdroid-framework/smali/android/app/ContextImpl$20.smali
227 --- stock-framework/smali/android/app/ContextImpl$20.smali 2012-08-06 13:25:41.879662681 -0500
228 +++ pdroid-framework/smali/android/app/ContextImpl$20.smali 2012-08-06 13:24:56.683438566 -0500
229 @@ -26,21 +26,25 @@
231 # virtual methods
232 .method public createStaticService()Ljava/lang/Object;
233 - .registers 4
234 + .registers 5
236 - const-string v1, "location"
237 + const-string v2, "location"
239 - invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
240 + invoke-static {v2}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
242 move-result-object v0
244 - new-instance v1, Landroid/location/LocationManager;
246 invoke-static {v0}, Landroid/location/ILocationManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/location/ILocationManager;
248 - move-result-object v2
249 + move-result-object v1
251 + new-instance v2, Landroid/privacy/surrogate/PrivacyLocationManager;
253 + invoke-static {}, Landroid/app/ContextImpl;->getStaticOuterContext()Landroid/content/Context;
255 + move-result-object v3
257 - invoke-direct {v1, v2}, Landroid/location/LocationManager;-><init>(Landroid/location/ILocationManager;)V
258 + invoke-direct {v2, v1, v3}, Landroid/privacy/surrogate/PrivacyLocationManager;-><init>(Landroid/location/ILocationManager;Landroid/content/Context;)V
260 - return-object v1
261 + return-object v2
262 .end method
263 diff -Npru stock-framework/smali/android/app/ContextImpl$29.smali pdroid-framework/smali/android/app/ContextImpl$29.smali
264 --- stock-framework/smali/android/app/ContextImpl$29.smali 2012-08-06 13:25:41.883662697 -0500
265 +++ pdroid-framework/smali/android/app/ContextImpl$29.smali 2012-08-06 13:24:56.687438580 -0500
266 @@ -28,13 +28,13 @@
267 .method public createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
268 .registers 4
270 - new-instance v0, Landroid/telephony/TelephonyManager;
271 + new-instance v0, Landroid/privacy/surrogate/PrivacyTelephonyManager;
273 invoke-virtual {p1}, Landroid/app/ContextImpl;->getOuterContext()Landroid/content/Context;
275 move-result-object v1
277 - invoke-direct {v0, v1}, Landroid/telephony/TelephonyManager;-><init>(Landroid/content/Context;)V
278 + invoke-direct {v0, v1}, Landroid/privacy/surrogate/PrivacyTelephonyManager;-><init>(Landroid/content/Context;)V
280 return-object v0
281 .end method
282 diff -Npru stock-framework/smali/android/app/ContextImpl$39.smali pdroid-framework/smali/android/app/ContextImpl$39.smali
283 --- stock-framework/smali/android/app/ContextImpl$39.smali 1969-12-31 18:00:00.000000000 -0600
284 +++ pdroid-framework/smali/android/app/ContextImpl$39.smali 2012-08-06 13:24:56.691438601 -0500
285 @@ -0,0 +1,50 @@
286 +.class final Landroid/app/ContextImpl$39;
287 +.super Landroid/app/ContextImpl$StaticServiceFetcher;
288 +.source "ContextImpl.java"
291 +# annotations
292 +.annotation system Ldalvik/annotation/EnclosingClass;
293 + value = Landroid/app/ContextImpl;
294 +.end annotation
296 +.annotation system Ldalvik/annotation/InnerClass;
297 + accessFlags = 0x8
298 + name = null
299 +.end annotation
302 +# direct methods
303 +.method constructor <init>()V
304 + .registers 1
306 + invoke-direct {p0}, Landroid/app/ContextImpl$StaticServiceFetcher;-><init>()V
308 + return-void
309 +.end method
312 +# virtual methods
313 +.method public createStaticService()Ljava/lang/Object;
314 + .registers 5
316 + const-string/jumbo v2, "privacy"
318 + invoke-static {v2}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
320 + move-result-object v0
322 + invoke-static {v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
324 + move-result-object v1
326 + new-instance v2, Landroid/privacy/PrivacySettingsManager;
328 + invoke-static {}, Landroid/app/ContextImpl;->getStaticOuterContext()Landroid/content/Context;
330 + move-result-object v3
332 + invoke-direct {v2, v3, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
334 + return-object v2
335 +.end method
336 diff -Npru stock-framework/smali/android/app/ContextImpl$3.smali pdroid-framework/smali/android/app/ContextImpl$3.smali
337 --- stock-framework/smali/android/app/ContextImpl$3.smali 2012-08-06 13:25:41.887662721 -0500
338 +++ pdroid-framework/smali/android/app/ContextImpl$3.smali 2012-08-06 13:24:56.695438626 -0500
339 @@ -38,9 +38,9 @@
341 move-result-object v1
343 - new-instance v2, Landroid/accounts/AccountManager;
344 + new-instance v2, Landroid/privacy/surrogate/PrivacyAccountManager;
346 - invoke-direct {v2, p1, v1}, Landroid/accounts/AccountManager;-><init>(Landroid/content/Context;Landroid/accounts/IAccountManager;)V
347 + invoke-direct {v2, p1, v1}, Landroid/privacy/surrogate/PrivacyAccountManager;-><init>(Landroid/content/Context;Landroid/accounts/IAccountManager;)V
349 return-object v2
350 .end method
351 diff -Npru stock-framework/smali/android/app/ContextImpl.smali pdroid-framework/smali/android/app/ContextImpl.smali
352 --- stock-framework/smali/android/app/ContextImpl.smali 2012-08-06 13:25:41.911662841 -0500
353 +++ pdroid-framework/smali/android/app/ContextImpl.smali 2012-08-06 13:24:56.727438781 -0500
354 @@ -36,6 +36,8 @@
356 .field private static sNextPerContextServiceCacheIndex:I
358 +.field private static sOuterContext:Landroid/content/Context;
360 .field private static final sSharedPrefs:Ljava/util/HashMap;
361 .annotation system Ldalvik/annotation/Signature;
362 value = {
363 @@ -434,6 +436,14 @@
365 invoke-static {v0, v1}, Landroid/app/ContextImpl;->registerService(Ljava/lang/String;Landroid/app/ContextImpl$ServiceFetcher;)V
367 + const-string/jumbo v0, "privacy"
369 + new-instance v1, Landroid/app/ContextImpl$39;
371 + invoke-direct {v1}, Landroid/app/ContextImpl$39;-><init>()V
373 + invoke-static {v0, v1}, Landroid/app/ContextImpl;->registerService(Ljava/lang/String;Landroid/app/ContextImpl$ServiceFetcher;)V
375 return-void
376 .end method
378 @@ -468,6 +478,8 @@
380 iput-object p0, p0, Landroid/app/ContextImpl;->mOuterContext:Landroid/content/Context;
382 + sput-object p0, Landroid/app/ContextImpl;->sOuterContext:Landroid/content/Context;
384 return-void
385 .end method
387 @@ -522,6 +534,8 @@
389 iput-object p0, p0, Landroid/app/ContextImpl;->mOuterContext:Landroid/content/Context;
391 + sput-object p0, Landroid/app/ContextImpl;->sOuterContext:Landroid/content/Context;
393 return-void
394 .end method
396 @@ -991,6 +1005,14 @@
397 throw v0
398 .end method
400 +.method static final getStaticOuterContext()Landroid/content/Context;
401 + .registers 1
403 + sget-object v0, Landroid/app/ContextImpl;->sOuterContext:Landroid/content/Context;
405 + return-object v0
406 +.end method
408 .method private getWallpaperManager()Landroid/app/WallpaperManager;
409 .registers 2
411 @@ -4264,6 +4286,8 @@
413 iput-object p1, p0, Landroid/app/ContextImpl;->mOuterContext:Landroid/content/Context;
415 + sput-object p1, Landroid/app/ContextImpl;->sOuterContext:Landroid/content/Context;
417 return-void
418 .end method
420 diff -Npru stock-framework/smali/android/content/ContentResolver.smali pdroid-framework/smali/android/content/ContentResolver.smali
421 --- stock-framework/smali/android/content/ContentResolver.smali 2012-08-06 13:25:41.899662777 -0500
422 +++ pdroid-framework/smali/android/content/ContentResolver.smali 2012-08-06 13:24:56.711438699 -0500
423 @@ -3506,8 +3506,8 @@
425 invoke-virtual {v0, v9}, Landroid/os/CancellationSignal;->setRemote(Landroid/os/ICancellationSignal;)V
426 :try_end_1d
427 - .catchall {:try_start_a .. :try_end_1d} :catchall_a8
428 - .catch Landroid/os/RemoteException; {:try_start_a .. :try_end_1d} :catch_9b
429 + .catchall {:try_start_a .. :try_end_1d} :catchall_b6
430 + .catch Landroid/os/RemoteException; {:try_start_a .. :try_end_1d} :catch_a9
432 :cond_1d
433 move-object/from16 v4, p1
434 @@ -3523,64 +3523,82 @@
435 :try_start_27
436 invoke-interface/range {v3 .. v9}, Landroid/content/IContentProvider;->query(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Landroid/os/ICancellationSignal;)Landroid/database/Cursor;
437 :try_end_2a
438 - .catchall {:try_start_27 .. :try_end_2a} :catchall_a8
439 - .catch Landroid/os/DeadObjectException; {:try_start_27 .. :try_end_2a} :catch_3e
440 - .catch Landroid/os/RemoteException; {:try_start_27 .. :try_end_2a} :catch_9b
441 + .catchall {:try_start_27 .. :try_end_2a} :catchall_b6
442 + .catch Landroid/os/DeadObjectException; {:try_start_27 .. :try_end_2a} :catch_4c
443 + .catch Landroid/os/RemoteException; {:try_start_27 .. :try_end_2a} :catch_a9
445 move-result-object v19
447 :goto_2b
448 - if-nez v19, :cond_67
449 + :try_start_2b
450 + move-object/from16 v0, p0
452 + iget-object v4, v0, Landroid/content/ContentResolver;->mContext:Landroid/content/Context;
454 + move-object/from16 v0, p1
456 + move-object/from16 v1, p2
458 + move-object/from16 v2, v19
460 + invoke-static {v0, v1, v4, v2}, Landroid/privacy/surrogate/PrivacyContentResolver;->enforcePrivacyPermission(Landroid/net/Uri;[Ljava/lang/String;Landroid/content/Context;Landroid/database/Cursor;)Landroid/database/Cursor;
461 + :try_end_38
462 + .catchall {:try_start_2b .. :try_end_38} :catchall_b6
463 + .catch Landroid/os/RemoteException; {:try_start_2b .. :try_end_38} :catch_a9
465 + move-result-object v19
467 + if-nez v19, :cond_75
469 const/16 v22, 0x0
471 - if-eqz v3, :cond_36
472 + if-eqz v3, :cond_44
474 move-object/from16 v0, p0
476 invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
478 - :cond_36
479 + :cond_44
480 if-eqz v10, :cond_8
482 - :goto_38
483 + :goto_46
484 move-object/from16 v0, p0
486 invoke-virtual {v0, v10}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
488 goto :goto_8
490 - :catch_3e
491 + :catch_4c
492 move-exception v18
494 - :try_start_3f
495 + :try_start_4d
496 move-object/from16 v0, p0
498 invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->unstableProviderDied(Landroid/content/IContentProvider;)V
500 invoke-virtual/range {p0 .. p1}, Landroid/content/ContentResolver;->acquireProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
501 - :try_end_47
502 - .catchall {:try_start_3f .. :try_end_47} :catchall_a8
503 - .catch Landroid/os/RemoteException; {:try_start_3f .. :try_end_47} :catch_9b
504 + :try_end_55
505 + .catchall {:try_start_4d .. :try_end_55} :catchall_b6
506 + .catch Landroid/os/RemoteException; {:try_start_4d .. :try_end_55} :catch_a9
508 move-result-object v10
510 - if-nez v10, :cond_56
511 + if-nez v10, :cond_64
513 const/16 v22, 0x0
515 - if-eqz v3, :cond_53
516 + if-eqz v3, :cond_61
518 move-object/from16 v0, p0
520 invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
522 - :cond_53
523 + :cond_61
524 if-eqz v10, :cond_8
526 - goto :goto_38
527 + goto :goto_46
529 - :cond_56
530 + :cond_64
531 move-object/from16 v11, p1
533 move-object/from16 v12, p2
534 @@ -3593,14 +3611,14 @@
536 move-object/from16 v16, v9
538 - :try_start_62
539 + :try_start_70
540 invoke-interface/range {v10 .. v16}, Landroid/content/IContentProvider;->query(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Landroid/os/ICancellationSignal;)Landroid/database/Cursor;
542 move-result-object v19
544 goto :goto_2b
546 - :cond_67
547 + :cond_75
548 invoke-interface/range {v19 .. v19}, Landroid/database/Cursor;->getCount()I
550 invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
551 @@ -3623,11 +3641,11 @@
553 new-instance v22, Landroid/content/ContentResolver$CursorWrapperInner;
555 - if-eqz v10, :cond_96
556 + if-eqz v10, :cond_a4
558 move-object v4, v10
560 - :goto_82
561 + :goto_90
562 move-object/from16 v0, v22
564 move-object/from16 v1, p0
565 @@ -3635,67 +3653,67 @@
566 move-object/from16 v2, v19
568 invoke-direct {v0, v1, v2, v4}, Landroid/content/ContentResolver$CursorWrapperInner;-><init>(Landroid/content/ContentResolver;Landroid/database/Cursor;Landroid/content/IContentProvider;)V
569 - :try_end_8b
570 - .catchall {:try_start_62 .. :try_end_8b} :catchall_a8
571 - .catch Landroid/os/RemoteException; {:try_start_62 .. :try_end_8b} :catch_9b
572 + :try_end_99
573 + .catchall {:try_start_70 .. :try_end_99} :catchall_b6
574 + .catch Landroid/os/RemoteException; {:try_start_70 .. :try_end_99} :catch_a9
576 const/4 v10, 0x0
578 - if-eqz v3, :cond_93
579 + if-eqz v3, :cond_a1
581 move-object/from16 v0, p0
583 invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
585 - :cond_93
586 + :cond_a1
587 if-eqz v10, :cond_8
589 - goto :goto_38
590 + goto :goto_46
592 - :cond_96
593 - :try_start_96
594 + :cond_a4
595 + :try_start_a4
596 invoke-virtual/range {p0 .. p1}, Landroid/content/ContentResolver;->acquireProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
597 - :try_end_99
598 - .catchall {:try_start_96 .. :try_end_99} :catchall_a8
599 - .catch Landroid/os/RemoteException; {:try_start_96 .. :try_end_99} :catch_9b
600 + :try_end_a7
601 + .catchall {:try_start_a4 .. :try_end_a7} :catchall_b6
602 + .catch Landroid/os/RemoteException; {:try_start_a4 .. :try_end_a7} :catch_a9
604 move-result-object v4
606 - goto :goto_82
607 + goto :goto_90
609 - :catch_9b
610 + :catch_a9
611 move-exception v18
613 const/16 v22, 0x0
615 - if-eqz v3, :cond_a5
616 + if-eqz v3, :cond_b3
618 move-object/from16 v0, p0
620 invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
622 - :cond_a5
623 + :cond_b3
624 if-eqz v10, :cond_8
626 - goto :goto_38
627 + goto :goto_46
629 - :catchall_a8
630 + :catchall_b6
631 move-exception v4
633 - if-eqz v3, :cond_b0
634 + if-eqz v3, :cond_be
636 move-object/from16 v0, p0
638 invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
640 - :cond_b0
641 - if-eqz v10, :cond_b7
642 + :cond_be
643 + if-eqz v10, :cond_c5
645 move-object/from16 v0, p0
647 invoke-virtual {v0, v10}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
649 - :cond_b7
650 + :cond_c5
651 throw v4
652 .end method
654 diff -Npru stock-framework/smali/android/content/pm/ContainerEncryptionParams.smali pdroid-framework/smali/android/content/pm/ContainerEncryptionParams.smali
655 --- stock-framework/smali/android/content/pm/ContainerEncryptionParams.smali 2012-08-06 13:25:43.247669460 -0500
656 +++ pdroid-framework/smali/android/content/pm/ContainerEncryptionParams.smali 2012-08-06 13:24:58.615448147 -0500
657 @@ -801,7 +801,7 @@
659 invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
661 - const-string v1, "mEncryptionAlgorithm=\""
662 + const-string/jumbo v1, "mEncryptionAlgorithm=\""
664 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
666 @@ -813,7 +813,7 @@
668 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
670 - const-string v1, "mEncryptionSpec="
671 + const-string/jumbo v1, "mEncryptionSpec="
673 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
675 @@ -825,7 +825,7 @@
677 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
679 - const-string v1, "mEncryptionKey="
680 + const-string/jumbo v1, "mEncryptionKey="
682 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
684 diff -Npru stock-framework/smali/android/location/Location.smali pdroid-framework/smali/android/location/Location.smali
685 --- stock-framework/smali/android/location/Location.smali 2012-08-06 13:25:44.015673270 -0500
686 +++ pdroid-framework/smali/android/location/Location.smali 2012-08-06 13:24:59.307451573 -0500
687 @@ -1859,7 +1859,7 @@
689 move-result-object v0
691 - const-string v1, "mExtras="
692 + const-string/jumbo v1, "mExtras="
694 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
696 diff -Npru stock-framework/smali/android/privacy/IPrivacySettingsManager.smali pdroid-framework/smali/android/privacy/IPrivacySettingsManager.smali
697 --- stock-framework/smali/android/privacy/IPrivacySettingsManager.smali 1969-12-31 18:00:00.000000000 -0600
698 +++ pdroid-framework/smali/android/privacy/IPrivacySettingsManager.smali 2012-08-06 13:25:00.015455084 -0500
699 @@ -0,0 +1,104 @@
700 +.class public interface abstract Landroid/privacy/IPrivacySettingsManager;
701 +.super Ljava/lang/Object;
702 +.source "IPrivacySettingsManager.java"
704 +# interfaces
705 +.implements Landroid/os/IInterface;
708 +# annotations
709 +.annotation system Ldalvik/annotation/MemberClasses;
710 + value = {
711 + Landroid/privacy/IPrivacySettingsManager$Stub;
713 +.end annotation
716 +# virtual methods
717 +.method public abstract addObserver(Ljava/lang/String;)V
718 + .annotation system Ldalvik/annotation/Throws;
719 + value = {
720 + Landroid/os/RemoteException;
722 + .end annotation
723 +.end method
725 +.method public abstract deleteSettings(Ljava/lang/String;)Z
726 + .annotation system Ldalvik/annotation/Throws;
727 + value = {
728 + Landroid/os/RemoteException;
730 + .end annotation
731 +.end method
733 +.method public abstract getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
734 + .annotation system Ldalvik/annotation/Throws;
735 + value = {
736 + Landroid/os/RemoteException;
738 + .end annotation
739 +.end method
741 +.method public abstract getVersion()D
742 + .annotation system Ldalvik/annotation/Throws;
743 + value = {
744 + Landroid/os/RemoteException;
746 + .end annotation
747 +.end method
749 +.method public abstract notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
750 + .annotation system Ldalvik/annotation/Throws;
751 + value = {
752 + Landroid/os/RemoteException;
754 + .end annotation
755 +.end method
757 +.method public abstract purgeSettings()Z
758 + .annotation system Ldalvik/annotation/Throws;
759 + value = {
760 + Landroid/os/RemoteException;
762 + .end annotation
763 +.end method
765 +.method public abstract registerObservers()V
766 + .annotation system Ldalvik/annotation/Throws;
767 + value = {
768 + Landroid/os/RemoteException;
770 + .end annotation
771 +.end method
773 +.method public abstract saveSettings(Landroid/privacy/PrivacySettings;)Z
774 + .annotation system Ldalvik/annotation/Throws;
775 + value = {
776 + Landroid/os/RemoteException;
778 + .end annotation
779 +.end method
781 +.method public abstract setBootCompleted()V
782 + .annotation system Ldalvik/annotation/Throws;
783 + value = {
784 + Landroid/os/RemoteException;
786 + .end annotation
787 +.end method
789 +.method public abstract setEnabled(Z)Z
790 + .annotation system Ldalvik/annotation/Throws;
791 + value = {
792 + Landroid/os/RemoteException;
794 + .end annotation
795 +.end method
797 +.method public abstract setNotificationsEnabled(Z)Z
798 + .annotation system Ldalvik/annotation/Throws;
799 + value = {
800 + Landroid/os/RemoteException;
802 + .end annotation
803 +.end method
804 diff -Npru stock-framework/smali/android/privacy/IPrivacySettingsManager$Stub$Proxy.smali pdroid-framework/smali/android/privacy/IPrivacySettingsManager$Stub$Proxy.smali
805 --- stock-framework/smali/android/privacy/IPrivacySettingsManager$Stub$Proxy.smali 1969-12-31 18:00:00.000000000 -0600
806 +++ pdroid-framework/smali/android/privacy/IPrivacySettingsManager$Stub$Proxy.smali 2012-08-06 13:25:00.015455084 -0500
807 @@ -0,0 +1,743 @@
808 +.class Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;
809 +.super Ljava/lang/Object;
810 +.source "IPrivacySettingsManager.java"
812 +# interfaces
813 +.implements Landroid/privacy/IPrivacySettingsManager;
816 +# annotations
817 +.annotation system Ldalvik/annotation/EnclosingClass;
818 + value = Landroid/privacy/IPrivacySettingsManager$Stub;
819 +.end annotation
821 +.annotation system Ldalvik/annotation/InnerClass;
822 + accessFlags = 0xa
823 + name = "Proxy"
824 +.end annotation
827 +# instance fields
828 +.field private mRemote:Landroid/os/IBinder;
831 +# direct methods
832 +.method constructor <init>(Landroid/os/IBinder;)V
833 + .registers 2
835 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
837 + iput-object p1, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
839 + return-void
840 +.end method
843 +# virtual methods
844 +.method public addObserver(Ljava/lang/String;)V
845 + .registers 7
846 + .annotation system Ldalvik/annotation/Throws;
847 + value = {
848 + Landroid/os/RemoteException;
850 + .end annotation
852 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
854 + move-result-object v0
856 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
858 + move-result-object v1
860 + :try_start_8
861 + const-string v2, "android.privacy.IPrivacySettingsManager"
863 + invoke-virtual {v0, v2}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
865 + invoke-virtual {v0, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
867 + iget-object v2, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
869 + const/4 v3, 0x6
871 + const/4 v4, 0x0
873 + invoke-interface {v2, v3, v0, v1, v4}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
875 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
876 + :try_end_1a
877 + .catchall {:try_start_8 .. :try_end_1a} :catchall_21
879 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
881 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
883 + return-void
885 + :catchall_21
886 + move-exception v2
888 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
890 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
892 + throw v2
893 +.end method
895 +.method public asBinder()Landroid/os/IBinder;
896 + .registers 2
898 + iget-object v0, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
900 + return-object v0
901 +.end method
903 +.method public deleteSettings(Ljava/lang/String;)Z
904 + .registers 8
905 + .annotation system Ldalvik/annotation/Throws;
906 + value = {
907 + Landroid/os/RemoteException;
909 + .end annotation
911 + const/4 v2, 0x0
913 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
915 + move-result-object v0
917 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
919 + move-result-object v1
921 + :try_start_9
922 + const-string v3, "android.privacy.IPrivacySettingsManager"
924 + invoke-virtual {v0, v3}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
926 + invoke-virtual {v0, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
928 + iget-object v3, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
930 + const/4 v4, 0x3
932 + const/4 v5, 0x0
934 + invoke-interface {v3, v4, v0, v1, v5}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
936 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
938 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
939 + :try_end_1e
940 + .catchall {:try_start_9 .. :try_end_1e} :catchall_29
942 + move-result v3
944 + if-eqz v3, :cond_22
946 + const/4 v2, 0x1
948 + :cond_22
949 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
951 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
953 + return v2
955 + :catchall_29
956 + move-exception v3
958 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
960 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
962 + throw v3
963 +.end method
965 +.method public getInterfaceDescriptor()Ljava/lang/String;
966 + .registers 2
968 + const-string v0, "android.privacy.IPrivacySettingsManager"
970 + return-object v0
971 +.end method
973 +.method public getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
974 + .registers 8
975 + .annotation system Ldalvik/annotation/Throws;
976 + value = {
977 + Landroid/os/RemoteException;
979 + .end annotation
981 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
983 + move-result-object v0
985 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
987 + move-result-object v1
989 + :try_start_8
990 + const-string v3, "android.privacy.IPrivacySettingsManager"
992 + invoke-virtual {v0, v3}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
994 + invoke-virtual {v0, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
996 + iget-object v3, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
998 + const/4 v4, 0x1
1000 + const/4 v5, 0x0
1002 + invoke-interface {v3, v4, v0, v1, v5}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1004 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
1006 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
1008 + move-result v3
1010 + if-eqz v3, :cond_2f
1012 + sget-object v3, Landroid/privacy/PrivacySettings;->CREATOR:Landroid/os/Parcelable$Creator;
1014 + invoke-interface {v3, v1}, Landroid/os/Parcelable$Creator;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
1016 + move-result-object v2
1018 + check-cast v2, Landroid/privacy/PrivacySettings;
1019 + :try_end_28
1020 + .catchall {:try_start_8 .. :try_end_28} :catchall_31
1022 + :goto_28
1023 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1025 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1027 + return-object v2
1029 + :cond_2f
1030 + const/4 v2, 0x0
1032 + goto :goto_28
1034 + :catchall_31
1035 + move-exception v3
1037 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1039 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1041 + throw v3
1042 +.end method
1044 +.method public getVersion()D
1045 + .registers 8
1046 + .annotation system Ldalvik/annotation/Throws;
1047 + value = {
1048 + Landroid/os/RemoteException;
1050 + .end annotation
1052 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1054 + move-result-object v0
1056 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1058 + move-result-object v1
1060 + :try_start_8
1061 + const-string v4, "android.privacy.IPrivacySettingsManager"
1063 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
1065 + iget-object v4, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
1067 + const/16 v5, 0x8
1069 + const/4 v6, 0x0
1071 + invoke-interface {v4, v5, v0, v1, v6}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1073 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
1075 + invoke-virtual {v1}, Landroid/os/Parcel;->readDouble()D
1076 + :try_end_1b
1077 + .catchall {:try_start_8 .. :try_end_1b} :catchall_23
1079 + move-result-wide v2
1081 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1083 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1085 + return-wide v2
1087 + :catchall_23
1088 + move-exception v4
1090 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1092 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1094 + throw v4
1095 +.end method
1097 +.method public notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
1098 + .registers 10
1099 + .annotation system Ldalvik/annotation/Throws;
1100 + value = {
1101 + Landroid/os/RemoteException;
1103 + .end annotation
1105 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1107 + move-result-object v0
1109 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1111 + move-result-object v1
1113 + :try_start_8
1114 + const-string v2, "android.privacy.IPrivacySettingsManager"
1116 + invoke-virtual {v0, v2}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
1118 + invoke-virtual {v0, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
1120 + invoke-virtual {v0, p2}, Landroid/os/Parcel;->writeByte(B)V
1122 + invoke-virtual {v0, p3}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
1124 + invoke-virtual {v0, p4}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
1126 + iget-object v2, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
1128 + const/4 v3, 0x4
1130 + const/4 v4, 0x0
1132 + invoke-interface {v2, v3, v0, v1, v4}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1134 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
1135 + :try_end_23
1136 + .catchall {:try_start_8 .. :try_end_23} :catchall_2a
1138 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1140 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1142 + return-void
1144 + :catchall_2a
1145 + move-exception v2
1147 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1149 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1151 + throw v2
1152 +.end method
1154 +.method public purgeSettings()Z
1155 + .registers 7
1156 + .annotation system Ldalvik/annotation/Throws;
1157 + value = {
1158 + Landroid/os/RemoteException;
1160 + .end annotation
1162 + const/4 v2, 0x0
1164 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1166 + move-result-object v0
1168 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1170 + move-result-object v1
1172 + :try_start_9
1173 + const-string v3, "android.privacy.IPrivacySettingsManager"
1175 + invoke-virtual {v0, v3}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
1177 + iget-object v3, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
1179 + const/4 v4, 0x7
1181 + const/4 v5, 0x0
1183 + invoke-interface {v3, v4, v0, v1, v5}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1185 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
1187 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
1188 + :try_end_1b
1189 + .catchall {:try_start_9 .. :try_end_1b} :catchall_26
1191 + move-result v3
1193 + if-eqz v3, :cond_1f
1195 + const/4 v2, 0x1
1197 + :cond_1f
1198 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1200 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1202 + return v2
1204 + :catchall_26
1205 + move-exception v3
1207 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1209 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1211 + throw v3
1212 +.end method
1214 +.method public registerObservers()V
1215 + .registers 6
1216 + .annotation system Ldalvik/annotation/Throws;
1217 + value = {
1218 + Landroid/os/RemoteException;
1220 + .end annotation
1222 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1224 + move-result-object v0
1226 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1228 + move-result-object v1
1230 + :try_start_8
1231 + const-string v2, "android.privacy.IPrivacySettingsManager"
1233 + invoke-virtual {v0, v2}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
1235 + iget-object v2, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
1237 + const/4 v3, 0x5
1239 + const/4 v4, 0x0
1241 + invoke-interface {v2, v3, v0, v1, v4}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1243 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
1244 + :try_end_17
1245 + .catchall {:try_start_8 .. :try_end_17} :catchall_1e
1247 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1249 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1251 + return-void
1253 + :catchall_1e
1254 + move-exception v2
1256 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1258 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1260 + throw v2
1261 +.end method
1263 +.method public saveSettings(Landroid/privacy/PrivacySettings;)Z
1264 + .registers 9
1265 + .annotation system Ldalvik/annotation/Throws;
1266 + value = {
1267 + Landroid/os/RemoteException;
1269 + .end annotation
1271 + const/4 v2, 0x1
1273 + const/4 v3, 0x0
1275 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1277 + move-result-object v0
1279 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1281 + move-result-object v1
1283 + :try_start_a
1284 + const-string v4, "android.privacy.IPrivacySettingsManager"
1286 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
1288 + if-eqz p1, :cond_30
1290 + const/4 v4, 0x1
1292 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInt(I)V
1294 + const/4 v4, 0x0
1296 + invoke-virtual {p1, v0, v4}, Landroid/privacy/PrivacySettings;->writeToParcel(Landroid/os/Parcel;I)V
1298 + :goto_19
1299 + iget-object v4, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
1301 + const/4 v5, 0x2
1303 + const/4 v6, 0x0
1305 + invoke-interface {v4, v5, v0, v1, v6}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1307 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
1309 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
1310 + :try_end_26
1311 + .catchall {:try_start_a .. :try_end_26} :catchall_35
1313 + move-result v4
1315 + if-eqz v4, :cond_3d
1317 + :goto_29
1318 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1320 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1322 + return v2
1324 + :cond_30
1325 + const/4 v4, 0x0
1327 + :try_start_31
1328 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInt(I)V
1329 + :try_end_34
1330 + .catchall {:try_start_31 .. :try_end_34} :catchall_35
1332 + goto :goto_19
1334 + :catchall_35
1335 + move-exception v3
1337 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1339 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1341 + throw v3
1343 + :cond_3d
1344 + move v2, v3
1346 + goto :goto_29
1347 +.end method
1349 +.method public setBootCompleted()V
1350 + .registers 6
1351 + .annotation system Ldalvik/annotation/Throws;
1352 + value = {
1353 + Landroid/os/RemoteException;
1355 + .end annotation
1357 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1359 + move-result-object v0
1361 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1363 + move-result-object v1
1365 + :try_start_8
1366 + const-string v2, "android.privacy.IPrivacySettingsManager"
1368 + invoke-virtual {v0, v2}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
1370 + iget-object v2, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
1372 + const/16 v3, 0xb
1374 + const/4 v4, 0x0
1376 + invoke-interface {v2, v3, v0, v1, v4}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1378 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
1379 + :try_end_18
1380 + .catchall {:try_start_8 .. :try_end_18} :catchall_1f
1382 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1384 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1386 + return-void
1388 + :catchall_1f
1389 + move-exception v2
1391 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1393 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1395 + throw v2
1396 +.end method
1398 +.method public setEnabled(Z)Z
1399 + .registers 9
1400 + .annotation system Ldalvik/annotation/Throws;
1401 + value = {
1402 + Landroid/os/RemoteException;
1404 + .end annotation
1406 + const/4 v2, 0x1
1408 + const/4 v3, 0x0
1410 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1412 + move-result-object v0
1414 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1416 + move-result-object v1
1418 + :try_start_a
1419 + const-string v4, "android.privacy.IPrivacySettingsManager"
1421 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
1423 + if-eqz p1, :cond_2d
1425 + move v4, v2
1427 + :goto_12
1428 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInt(I)V
1430 + iget-object v4, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
1432 + const/16 v5, 0x9
1434 + const/4 v6, 0x0
1436 + invoke-interface {v4, v5, v0, v1, v6}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1438 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
1440 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
1441 + :try_end_23
1442 + .catchall {:try_start_a .. :try_end_23} :catchall_31
1444 + move-result v4
1446 + if-eqz v4, :cond_2f
1448 + :goto_26
1449 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1451 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1453 + return v2
1455 + :cond_2d
1456 + move v4, v3
1458 + goto :goto_12
1460 + :cond_2f
1461 + move v2, v3
1463 + goto :goto_26
1465 + :catchall_31
1466 + move-exception v3
1468 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1470 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1472 + throw v3
1473 +.end method
1475 +.method public setNotificationsEnabled(Z)Z
1476 + .registers 9
1477 + .annotation system Ldalvik/annotation/Throws;
1478 + value = {
1479 + Landroid/os/RemoteException;
1481 + .end annotation
1483 + const/4 v2, 0x1
1485 + const/4 v3, 0x0
1487 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1489 + move-result-object v0
1491 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1493 + move-result-object v1
1495 + :try_start_a
1496 + const-string v4, "android.privacy.IPrivacySettingsManager"
1498 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
1500 + if-eqz p1, :cond_2d
1502 + move v4, v2
1504 + :goto_12
1505 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInt(I)V
1507 + iget-object v4, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
1509 + const/16 v5, 0xa
1511 + const/4 v6, 0x0
1513 + invoke-interface {v4, v5, v0, v1, v6}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1515 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
1517 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
1518 + :try_end_23
1519 + .catchall {:try_start_a .. :try_end_23} :catchall_31
1521 + move-result v4
1523 + if-eqz v4, :cond_2f
1525 + :goto_26
1526 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1528 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1530 + return v2
1532 + :cond_2d
1533 + move v4, v3
1535 + goto :goto_12
1537 + :cond_2f
1538 + move v2, v3
1540 + goto :goto_26
1542 + :catchall_31
1543 + move-exception v3
1545 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1547 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1549 + throw v3
1550 +.end method
1551 diff -Npru stock-framework/smali/android/privacy/IPrivacySettingsManager$Stub.smali pdroid-framework/smali/android/privacy/IPrivacySettingsManager$Stub.smali
1552 --- stock-framework/smali/android/privacy/IPrivacySettingsManager$Stub.smali 1969-12-31 18:00:00.000000000 -0600
1553 +++ pdroid-framework/smali/android/privacy/IPrivacySettingsManager$Stub.smali 2012-08-06 13:25:00.019455109 -0500
1554 @@ -0,0 +1,412 @@
1555 +.class public abstract Landroid/privacy/IPrivacySettingsManager$Stub;
1556 +.super Landroid/os/Binder;
1557 +.source "IPrivacySettingsManager.java"
1559 +# interfaces
1560 +.implements Landroid/privacy/IPrivacySettingsManager;
1563 +# annotations
1564 +.annotation system Ldalvik/annotation/EnclosingClass;
1565 + value = Landroid/privacy/IPrivacySettingsManager;
1566 +.end annotation
1568 +.annotation system Ldalvik/annotation/InnerClass;
1569 + accessFlags = 0x409
1570 + name = "Stub"
1571 +.end annotation
1573 +.annotation system Ldalvik/annotation/MemberClasses;
1574 + value = {
1575 + Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;
1577 +.end annotation
1580 +# static fields
1581 +.field private static final DESCRIPTOR:Ljava/lang/String; = "android.privacy.IPrivacySettingsManager"
1583 +.field static final TRANSACTION_addObserver:I = 0x6
1585 +.field static final TRANSACTION_deleteSettings:I = 0x3
1587 +.field static final TRANSACTION_getSettings:I = 0x1
1589 +.field static final TRANSACTION_getVersion:I = 0x8
1591 +.field static final TRANSACTION_notification:I = 0x4
1593 +.field static final TRANSACTION_purgeSettings:I = 0x7
1595 +.field static final TRANSACTION_registerObservers:I = 0x5
1597 +.field static final TRANSACTION_saveSettings:I = 0x2
1599 +.field static final TRANSACTION_setBootCompleted:I = 0xb
1601 +.field static final TRANSACTION_setEnabled:I = 0x9
1603 +.field static final TRANSACTION_setNotificationsEnabled:I = 0xa
1606 +# direct methods
1607 +.method public constructor <init>()V
1608 + .registers 2
1610 + invoke-direct {p0}, Landroid/os/Binder;-><init>()V
1612 + const-string v0, "android.privacy.IPrivacySettingsManager"
1614 + invoke-virtual {p0, p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->attachInterface(Landroid/os/IInterface;Ljava/lang/String;)V
1616 + return-void
1617 +.end method
1619 +.method public static asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
1620 + .registers 3
1622 + if-nez p0, :cond_4
1624 + const/4 v0, 0x0
1626 + :goto_3
1627 + return-object v0
1629 + :cond_4
1630 + const-string v1, "android.privacy.IPrivacySettingsManager"
1632 + invoke-interface {p0, v1}, Landroid/os/IBinder;->queryLocalInterface(Ljava/lang/String;)Landroid/os/IInterface;
1634 + move-result-object v0
1636 + if-eqz v0, :cond_13
1638 + instance-of v1, v0, Landroid/privacy/IPrivacySettingsManager;
1640 + if-eqz v1, :cond_13
1642 + check-cast v0, Landroid/privacy/IPrivacySettingsManager;
1644 + goto :goto_3
1646 + :cond_13
1647 + new-instance v0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;
1649 + invoke-direct {v0, p0}, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
1651 + goto :goto_3
1652 +.end method
1655 +# virtual methods
1656 +.method public asBinder()Landroid/os/IBinder;
1657 + .registers 1
1659 + return-object p0
1660 +.end method
1662 +.method public onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1663 + .registers 14
1664 + .annotation system Ldalvik/annotation/Throws;
1665 + value = {
1666 + Landroid/os/RemoteException;
1668 + .end annotation
1670 + const/4 v6, 0x0
1672 + const/4 v7, 0x1
1674 + sparse-switch p1, :sswitch_data_10e
1676 + invoke-super {p0, p1, p2, p3, p4}, Landroid/os/Binder;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1678 + move-result v7
1680 + :goto_9
1681 + return v7
1683 + :sswitch_a
1684 + const-string v6, "android.privacy.IPrivacySettingsManager"
1686 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
1688 + goto :goto_9
1690 + :sswitch_10
1691 + const-string v8, "android.privacy.IPrivacySettingsManager"
1693 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1695 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
1697 + move-result-object v0
1699 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
1701 + move-result-object v4
1703 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1705 + if-eqz v4, :cond_29
1707 + invoke-virtual {p3, v7}, Landroid/os/Parcel;->writeInt(I)V
1709 + invoke-virtual {v4, p3, v7}, Landroid/privacy/PrivacySettings;->writeToParcel(Landroid/os/Parcel;I)V
1711 + goto :goto_9
1713 + :cond_29
1714 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
1716 + goto :goto_9
1718 + :sswitch_2d
1719 + const-string v8, "android.privacy.IPrivacySettingsManager"
1721 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1723 + invoke-virtual {p2}, Landroid/os/Parcel;->readInt()I
1725 + move-result v8
1727 + if-eqz v8, :cond_4e
1729 + sget-object v8, Landroid/privacy/PrivacySettings;->CREATOR:Landroid/os/Parcelable$Creator;
1731 + invoke-interface {v8, p2}, Landroid/os/Parcelable$Creator;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
1733 + move-result-object v0
1735 + check-cast v0, Landroid/privacy/PrivacySettings;
1737 + :goto_40
1738 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->saveSettings(Landroid/privacy/PrivacySettings;)Z
1740 + move-result v4
1742 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1744 + if-eqz v4, :cond_4a
1746 + move v6, v7
1748 + :cond_4a
1749 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
1751 + goto :goto_9
1753 + :cond_4e
1754 + const/4 v0, 0x0
1756 + goto :goto_40
1758 + :sswitch_50
1759 + const-string v8, "android.privacy.IPrivacySettingsManager"
1761 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1763 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
1765 + move-result-object v0
1767 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->deleteSettings(Ljava/lang/String;)Z
1769 + move-result v4
1771 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1773 + if-eqz v4, :cond_63
1775 + move v6, v7
1777 + :cond_63
1778 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
1780 + goto :goto_9
1782 + :sswitch_67
1783 + const-string v6, "android.privacy.IPrivacySettingsManager"
1785 + invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1787 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
1789 + move-result-object v0
1791 + invoke-virtual {p2}, Landroid/os/Parcel;->readByte()B
1793 + move-result v1
1795 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
1797 + move-result-object v2
1799 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
1801 + move-result-object v3
1803 + invoke-virtual {p0, v0, v1, v2, v3}, Landroid/privacy/IPrivacySettingsManager$Stub;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
1805 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1807 + goto :goto_9
1809 + :sswitch_83
1810 + const-string v6, "android.privacy.IPrivacySettingsManager"
1812 + invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1814 + invoke-virtual {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;->registerObservers()V
1816 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1818 + goto/16 :goto_9
1820 + :sswitch_90
1821 + const-string v6, "android.privacy.IPrivacySettingsManager"
1823 + invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1825 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
1827 + move-result-object v0
1829 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->addObserver(Ljava/lang/String;)V
1831 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1833 + goto/16 :goto_9
1835 + :sswitch_a1
1836 + const-string v8, "android.privacy.IPrivacySettingsManager"
1838 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1840 + invoke-virtual {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;->purgeSettings()Z
1842 + move-result v4
1844 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1846 + if-eqz v4, :cond_b0
1848 + move v6, v7
1850 + :cond_b0
1851 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
1853 + goto/16 :goto_9
1855 + :sswitch_b5
1856 + const-string v6, "android.privacy.IPrivacySettingsManager"
1858 + invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1860 + invoke-virtual {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;->getVersion()D
1862 + move-result-wide v4
1864 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1866 + invoke-virtual {p3, v4, v5}, Landroid/os/Parcel;->writeDouble(D)V
1868 + goto/16 :goto_9
1870 + :sswitch_c6
1871 + const-string v8, "android.privacy.IPrivacySettingsManager"
1873 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1875 + invoke-virtual {p2}, Landroid/os/Parcel;->readInt()I
1877 + move-result v8
1879 + if-eqz v8, :cond_e1
1881 + move v0, v7
1883 + :goto_d2
1884 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->setEnabled(Z)Z
1886 + move-result v4
1888 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1890 + if-eqz v4, :cond_dc
1892 + move v6, v7
1894 + :cond_dc
1895 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
1897 + goto/16 :goto_9
1899 + :cond_e1
1900 + move v0, v6
1902 + goto :goto_d2
1904 + :sswitch_e3
1905 + const-string v8, "android.privacy.IPrivacySettingsManager"
1907 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1909 + invoke-virtual {p2}, Landroid/os/Parcel;->readInt()I
1911 + move-result v8
1913 + if-eqz v8, :cond_fe
1915 + move v0, v7
1917 + :goto_ef
1918 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->setNotificationsEnabled(Z)Z
1920 + move-result v4
1922 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1924 + if-eqz v4, :cond_f9
1926 + move v6, v7
1928 + :cond_f9
1929 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
1931 + goto/16 :goto_9
1933 + :cond_fe
1934 + move v0, v6
1936 + goto :goto_ef
1938 + :sswitch_100
1939 + const-string v6, "android.privacy.IPrivacySettingsManager"
1941 + invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1943 + invoke-virtual {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;->setBootCompleted()V
1945 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1947 + goto/16 :goto_9
1949 + nop
1951 + :sswitch_data_10e
1952 + .sparse-switch
1953 + 0x1 -> :sswitch_10
1954 + 0x2 -> :sswitch_2d
1955 + 0x3 -> :sswitch_50
1956 + 0x4 -> :sswitch_67
1957 + 0x5 -> :sswitch_83
1958 + 0x6 -> :sswitch_90
1959 + 0x7 -> :sswitch_a1
1960 + 0x8 -> :sswitch_b5
1961 + 0x9 -> :sswitch_c6
1962 + 0xa -> :sswitch_e3
1963 + 0xb -> :sswitch_100
1964 + 0x5f4e5446 -> :sswitch_a
1965 + .end sparse-switch
1966 +.end method
1967 diff -Npru stock-framework/smali/android/privacy/PrivacyFileObserver.smali pdroid-framework/smali/android/privacy/PrivacyFileObserver.smali
1968 --- stock-framework/smali/android/privacy/PrivacyFileObserver.smali 1969-12-31 18:00:00.000000000 -0600
1969 +++ pdroid-framework/smali/android/privacy/PrivacyFileObserver.smali 2012-08-06 13:25:00.019455109 -0500
1970 @@ -0,0 +1,217 @@
1971 +.class public Landroid/privacy/PrivacyFileObserver;
1972 +.super Landroid/os/FileObserver;
1973 +.source "PrivacyFileObserver.java"
1976 +# static fields
1977 +.field public static final PACKAGE_PATH_INDEX:I = 0x3
1979 +.field public static final TAG:Ljava/lang/String; = "PrivacyFileObserver"
1982 +# instance fields
1983 +.field public absolutePath:Ljava/lang/String;
1985 +.field public children:Ljava/util/HashMap;
1986 + .annotation system Ldalvik/annotation/Signature;
1987 + value = {
1988 + "Ljava/util/HashMap",
1989 + "<",
1990 + "Ljava/lang/String;",
1991 + "Landroid/privacy/PrivacyFileObserver;",
1992 + ">;"
1994 + .end annotation
1995 +.end field
1997 +.field private pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
2000 +# direct methods
2001 +.method public constructor <init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
2002 + .registers 12
2004 + const/16 v8, 0xfff
2006 + invoke-direct {p0, p1, v8}, Landroid/os/FileObserver;-><init>(Ljava/lang/String;I)V
2008 + iput-object p1, p0, Landroid/privacy/PrivacyFileObserver;->absolutePath:Ljava/lang/String;
2010 + iput-object p2, p0, Landroid/privacy/PrivacyFileObserver;->pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
2012 + new-instance v8, Ljava/util/HashMap;
2014 + invoke-direct {v8}, Ljava/util/HashMap;-><init>()V
2016 + iput-object v8, p0, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap;
2018 + new-instance v7, Ljava/io/File;
2020 + iget-object v8, p0, Landroid/privacy/PrivacyFileObserver;->absolutePath:Ljava/lang/String;
2022 + invoke-direct {v7, v8}, Ljava/io/File;-><init>(Ljava/lang/String;)V
2024 + invoke-virtual {v7}, Ljava/io/File;->isDirectory()Z
2026 + move-result v8
2028 + if-eqz v8, :cond_42
2030 + invoke-virtual {v7}, Ljava/io/File;->listFiles()[Ljava/io/File;
2032 + move-result-object v6
2034 + move-object v0, v6
2036 + array-length v4, v0
2038 + const/4 v3, 0x0
2040 + :goto_24
2041 + if-ge v3, v4, :cond_42
2043 + aget-object v2, v0, v3
2045 + invoke-virtual {v2}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
2047 + move-result-object v5
2049 + new-instance v1, Landroid/privacy/PrivacyFileObserver;
2051 + invoke-direct {v1, v5, p2}, Landroid/privacy/PrivacyFileObserver;-><init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
2053 + iget-object v8, p0, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap;
2055 + invoke-virtual {v8, v5, v1}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
2057 + invoke-virtual {v2}, Ljava/io/File;->isFile()Z
2059 + move-result v8
2061 + if-eqz v8, :cond_3f
2063 + invoke-virtual {v1}, Landroid/privacy/PrivacyFileObserver;->startWatching()V
2065 + :cond_3f
2066 + add-int/lit8 v3, v3, 0x1
2068 + goto :goto_24
2070 + :cond_42
2071 + return-void
2072 +.end method
2075 +# virtual methods
2076 +.method public addObserver(Ljava/lang/String;)V
2077 + .registers 6
2079 + new-instance v2, Ljava/lang/StringBuilder;
2081 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
2083 + iget-object v3, p0, Landroid/privacy/PrivacyFileObserver;->absolutePath:Ljava/lang/String;
2085 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2087 + move-result-object v2
2089 + const-string v3, "/"
2091 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2093 + move-result-object v2
2095 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2097 + move-result-object v2
2099 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2101 + move-result-object v1
2103 + iget-object v2, p0, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap;
2105 + invoke-virtual {v2, v1}, Ljava/util/HashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
2107 + new-instance v0, Landroid/privacy/PrivacyFileObserver;
2109 + iget-object v2, p0, Landroid/privacy/PrivacyFileObserver;->pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
2111 + invoke-direct {v0, v1, v2}, Landroid/privacy/PrivacyFileObserver;-><init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
2113 + iget-object v2, p0, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap;
2115 + invoke-virtual {v2, v1, v0}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
2117 + return-void
2118 +.end method
2120 +.method public onEvent(ILjava/lang/String;)V
2121 + .registers 11
2123 + and-int/lit8 v4, p1, 0x1
2125 + if-eqz v4, :cond_34
2127 + new-instance v3, Ljava/util/StringTokenizer;
2129 + iget-object v4, p0, Landroid/privacy/PrivacyFileObserver;->absolutePath:Ljava/lang/String;
2131 + const-string v5, "/"
2133 + invoke-direct {v3, v4, v5}, Ljava/util/StringTokenizer;-><init>(Ljava/lang/String;Ljava/lang/String;)V
2135 + const/4 v0, 0x0
2137 + :goto_e
2138 + const/4 v4, 0x3
2140 + if-ge v0, v4, :cond_1d
2142 + invoke-virtual {v3}, Ljava/util/StringTokenizer;->hasMoreElements()Z
2144 + move-result v4
2146 + if-eqz v4, :cond_1d
2148 + invoke-virtual {v3}, Ljava/util/StringTokenizer;->nextToken()Ljava/lang/String;
2150 + add-int/lit8 v0, v0, 0x1
2152 + goto :goto_e
2154 + :cond_1d
2155 + invoke-virtual {v3}, Ljava/util/StringTokenizer;->nextToken()Ljava/lang/String;
2157 + move-result-object v2
2159 + iget-object v4, p0, Landroid/privacy/PrivacyFileObserver;->pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
2161 + invoke-virtual {v4, v2}, Landroid/privacy/PrivacySettingsManagerService;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
2163 + move-result-object v1
2165 + iget-object v4, p0, Landroid/privacy/PrivacyFileObserver;->pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
2167 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getSystemLogsSetting()B
2169 + move-result v5
2171 + const-string/jumbo v6, "systemLogs"
2173 + const/4 v7, 0x0
2175 + invoke-virtual {v4, v2, v5, v6, v7}, Landroid/privacy/PrivacySettingsManagerService;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
2177 + :cond_34
2178 + return-void
2179 +.end method
2181 +.method public startWatching()V
2182 + .registers 1
2184 + invoke-super {p0}, Landroid/os/FileObserver;->startWatching()V
2186 + return-void
2187 +.end method
2188 diff -Npru stock-framework/smali/android/privacy/PrivacyPersistenceAdapter.smali pdroid-framework/smali/android/privacy/PrivacyPersistenceAdapter.smali
2189 --- stock-framework/smali/android/privacy/PrivacyPersistenceAdapter.smali 1969-12-31 18:00:00.000000000 -0600
2190 +++ pdroid-framework/smali/android/privacy/PrivacyPersistenceAdapter.smali 2012-08-06 13:25:00.023455125 -0500
2191 @@ -0,0 +1,4581 @@
2192 +.class public Landroid/privacy/PrivacyPersistenceAdapter;
2193 +.super Ljava/lang/Object;
2194 +.source "PrivacyPersistenceAdapter.java"
2197 +# static fields
2198 +.field private static final CREATE_TABLE_ALLOWED_CONTACTS:Ljava/lang/String; = "CREATE TABLE IF NOT EXISTS allowed_contacts ( settings_id, contact_id, PRIMARY KEY(settings_id, contact_id) );"
2200 +.field private static final CREATE_TABLE_MAP:Ljava/lang/String; = "CREATE TABLE IF NOT EXISTS map ( name TEXT PRIMARY KEY, value TEXT );"
2202 +.field private static final CREATE_TABLE_SETTINGS:Ljava/lang/String; = "CREATE TABLE IF NOT EXISTS settings ( _id INTEGER PRIMARY KEY AUTOINCREMENT, packageName TEXT, uid INTEGER, deviceIdSetting INTEGER, deviceId TEXT, line1NumberSetting INTEGER, line1Number TEXT, locationGpsSetting INTEGER, locationGpsLat TEXT, locationGpsLon TEXT, locationNetworkSetting INTEGER, locationNetworkLat TEXT, locationNetworkLon TEXT, networkInfoSetting INTEGER, simInfoSetting INTEGER, simSerialNumberSetting INTEGER, simSerialNumber TEXT, subscriberIdSetting INTEGER, subscriberId TEXT, accountsSetting INTEGER, accountsAuthTokensSetting INTEGER, outgoingCallsSetting INTEGER, incomingCallsSetting INTEGER, contactsSetting INTEGER, calendarSetting INTEGER, mmsSetting INTEGER, smsSetting INTEGER, callLogSetting INTEGER, bookmarksSetting INTEGER, systemLogsSetting INTEGER, externalStorageSetting INTEGER, cameraSetting INTEGER, recordAudioSetting INTEGER, notificationSetting INTEGER, intentBootCompletedSetting INTEGER);"
2204 +.field private static final DATABASE_FIELDS:[Ljava/lang/String; = null
2206 +.field private static final DATABASE_FILE:Ljava/lang/String; = "/data/system/privacy.db"
2208 +.field private static final DATABASE_VERSION:I = 0x3
2210 +.field public static final DUMMY_UID:I = -0x1
2212 +.field private static final INSERT_ENABLED:Ljava/lang/String; = "INSERT OR REPLACE INTO map (name, value) VALUES (\"enabled\", \"1\");"
2214 +.field private static final INSERT_NOTIFICATIONS_ENABLED:Ljava/lang/String; = "INSERT OR REPLACE INTO map (name, value) VALUES (\"notifications_enabled\", \"1\");"
2216 +.field private static final INSERT_VERSION:Ljava/lang/String; = "INSERT OR REPLACE INTO map (name, value) VALUES (\"db_version\", 3);"
2218 +.field private static final RETRY_QUERY_COUNT:I = 0x5
2220 +.field public static final SETTINGS_DIRECTORY:Ljava/lang/String; = "/data/system/privacy"
2222 +.field public static final SETTING_DB_VERSION:Ljava/lang/String; = "db_version"
2224 +.field public static final SETTING_ENABLED:Ljava/lang/String; = "enabled"
2226 +.field public static final SETTING_NOTIFICATIONS_ENABLED:Ljava/lang/String; = "notifications_enabled"
2228 +.field private static final TABLE_ALLOWED_CONTACTS:Ljava/lang/String; = "allowed_contacts"
2230 +.field private static final TABLE_MAP:Ljava/lang/String; = "map"
2232 +.field private static final TABLE_SETTINGS:Ljava/lang/String; = "settings"
2234 +.field private static final TABLE_VERSION:Ljava/lang/String; = "version"
2236 +.field private static final TAG:Ljava/lang/String; = "PrivacyPersistenceAdapter"
2238 +.field public static final VALUE_FALSE:Ljava/lang/String; = "0"
2240 +.field public static final VALUE_TRUE:Ljava/lang/String; = "1"
2242 +.field public static readingThreads:Ljava/lang/Integer;
2245 +# instance fields
2246 +.field private context:Landroid/content/Context;
2248 +.field private db:Landroid/database/sqlite/SQLiteDatabase;
2251 +# direct methods
2252 +.method static constructor <clinit>()V
2253 + .registers 3
2255 + const/4 v2, 0x0
2257 + invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
2259 + move-result-object v0
2261 + sput-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2263 + const/16 v0, 0x23
2265 + new-array v0, v0, [Ljava/lang/String;
2267 + const-string v1, "_id"
2269 + aput-object v1, v0, v2
2271 + const/4 v1, 0x1
2273 + const-string/jumbo v2, "packageName"
2275 + aput-object v2, v0, v1
2277 + const/4 v1, 0x2
2279 + const-string/jumbo v2, "uid"
2281 + aput-object v2, v0, v1
2283 + const/4 v1, 0x3
2285 + const-string v2, "deviceIdSetting"
2287 + aput-object v2, v0, v1
2289 + const/4 v1, 0x4
2291 + const-string v2, "deviceId"
2293 + aput-object v2, v0, v1
2295 + const/4 v1, 0x5
2297 + const-string v2, "line1NumberSetting"
2299 + aput-object v2, v0, v1
2301 + const/4 v1, 0x6
2303 + const-string v2, "line1Number"
2305 + aput-object v2, v0, v1
2307 + const/4 v1, 0x7
2309 + const-string v2, "locationGpsSetting"
2311 + aput-object v2, v0, v1
2313 + const/16 v1, 0x8
2315 + const-string v2, "locationGpsLat"
2317 + aput-object v2, v0, v1
2319 + const/16 v1, 0x9
2321 + const-string v2, "locationGpsLon"
2323 + aput-object v2, v0, v1
2325 + const/16 v1, 0xa
2327 + const-string v2, "locationNetworkSetting"
2329 + aput-object v2, v0, v1
2331 + const/16 v1, 0xb
2333 + const-string v2, "locationNetworkLat"
2335 + aput-object v2, v0, v1
2337 + const/16 v1, 0xc
2339 + const-string v2, "locationNetworkLon"
2341 + aput-object v2, v0, v1
2343 + const/16 v1, 0xd
2345 + const-string/jumbo v2, "networkInfoSetting"
2347 + aput-object v2, v0, v1
2349 + const/16 v1, 0xe
2351 + const-string/jumbo v2, "simInfoSetting"
2353 + aput-object v2, v0, v1
2355 + const/16 v1, 0xf
2357 + const-string/jumbo v2, "simSerialNumberSetting"
2359 + aput-object v2, v0, v1
2361 + const/16 v1, 0x10
2363 + const-string/jumbo v2, "simSerialNumber"
2365 + aput-object v2, v0, v1
2367 + const/16 v1, 0x11
2369 + const-string/jumbo v2, "subscriberIdSetting"
2371 + aput-object v2, v0, v1
2373 + const/16 v1, 0x12
2375 + const-string/jumbo v2, "subscriberId"
2377 + aput-object v2, v0, v1
2379 + const/16 v1, 0x13
2381 + const-string v2, "accountsSetting"
2383 + aput-object v2, v0, v1
2385 + const/16 v1, 0x14
2387 + const-string v2, "accountsAuthTokensSetting"
2389 + aput-object v2, v0, v1
2391 + const/16 v1, 0x15
2393 + const-string/jumbo v2, "outgoingCallsSetting"
2395 + aput-object v2, v0, v1
2397 + const/16 v1, 0x16
2399 + const-string v2, "incomingCallsSetting"
2401 + aput-object v2, v0, v1
2403 + const/16 v1, 0x17
2405 + const-string v2, "contactsSetting"
2407 + aput-object v2, v0, v1
2409 + const/16 v1, 0x18
2411 + const-string v2, "calendarSetting"
2413 + aput-object v2, v0, v1
2415 + const/16 v1, 0x19
2417 + const-string/jumbo v2, "mmsSetting"
2419 + aput-object v2, v0, v1
2421 + const/16 v1, 0x1a
2423 + const-string/jumbo v2, "smsSetting"
2425 + aput-object v2, v0, v1
2427 + const/16 v1, 0x1b
2429 + const-string v2, "callLogSetting"
2431 + aput-object v2, v0, v1
2433 + const/16 v1, 0x1c
2435 + const-string v2, "bookmarksSetting"
2437 + aput-object v2, v0, v1
2439 + const/16 v1, 0x1d
2441 + const-string/jumbo v2, "systemLogsSetting"
2443 + aput-object v2, v0, v1
2445 + const/16 v1, 0x1e
2447 + const-string v2, "externalStorageSetting"
2449 + aput-object v2, v0, v1
2451 + const/16 v1, 0x1f
2453 + const-string v2, "cameraSetting"
2455 + aput-object v2, v0, v1
2457 + const/16 v1, 0x20
2459 + const-string/jumbo v2, "recordAudioSetting"
2461 + aput-object v2, v0, v1
2463 + const/16 v1, 0x21
2465 + const-string/jumbo v2, "notificationSetting"
2467 + aput-object v2, v0, v1
2469 + const/16 v1, 0x22
2471 + const-string v2, "intentBootCompletedSetting"
2473 + aput-object v2, v0, v1
2475 + sput-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->DATABASE_FIELDS:[Ljava/lang/String;
2477 + return-void
2478 +.end method
2480 +.method public constructor <init>(Landroid/content/Context;)V
2481 + .registers 6
2483 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
2485 + iput-object p1, p0, Landroid/privacy/PrivacyPersistenceAdapter;->context:Landroid/content/Context;
2487 + new-instance v2, Ljava/io/File;
2489 + const-string v3, "/data/system/"
2491 + invoke-direct {v2, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
2493 + invoke-virtual {v2}, Ljava/io/File;->canWrite()Z
2495 + move-result v0
2497 + if-eqz v0, :cond_3c
2499 + new-instance v2, Ljava/io/File;
2501 + const-string v3, "/data/system/privacy.db"
2503 + invoke-direct {v2, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
2505 + invoke-virtual {v2}, Ljava/io/File;->exists()Z
2507 + move-result v2
2509 + if-nez v2, :cond_22
2511 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->createDatabase()V
2513 + :cond_22
2514 + new-instance v2, Ljava/io/File;
2516 + const-string v3, "/data/system/privacy"
2518 + invoke-direct {v2, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
2520 + invoke-virtual {v2}, Ljava/io/File;->exists()Z
2522 + move-result v2
2524 + if-nez v2, :cond_32
2526 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->createSettingsDir()V
2528 + :cond_32
2529 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getDbVersion()I
2531 + move-result v1
2533 + const/4 v2, 0x3
2535 + if-ge v1, v2, :cond_3c
2537 + invoke-direct {p0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->upgradeDatabase(I)V
2539 + :cond_3c
2540 + return-void
2541 +.end method
2543 +.method private declared-synchronized createDatabase()V
2544 + .registers 6
2546 + monitor-enter p0
2548 + :try_start_1
2549 + const-string v2, "PrivacyPersistenceAdapter"
2551 + const-string v3, "createDatabase - creating privacy database file"
2553 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
2554 + :try_end_8
2555 + .catchall {:try_start_1 .. :try_end_8} :catchall_4c
2557 + :try_start_8
2558 + const-string v2, "/data/system/privacy.db"
2560 + const/4 v3, 0x0
2562 + const/high16 v4, 0x1000
2564 + invoke-static {v2, v3, v4}, Landroid/database/sqlite/SQLiteDatabase;->openDatabase(Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;I)Landroid/database/sqlite/SQLiteDatabase;
2566 + move-result-object v0
2568 + const-string v2, "PrivacyPersistenceAdapter"
2570 + const-string v3, "createDatabase - creating privacy database"
2572 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
2574 + const-string v2, "CREATE TABLE IF NOT EXISTS settings ( _id INTEGER PRIMARY KEY AUTOINCREMENT, packageName TEXT, uid INTEGER, deviceIdSetting INTEGER, deviceId TEXT, line1NumberSetting INTEGER, line1Number TEXT, locationGpsSetting INTEGER, locationGpsLat TEXT, locationGpsLon TEXT, locationNetworkSetting INTEGER, locationNetworkLat TEXT, locationNetworkLon TEXT, networkInfoSetting INTEGER, simInfoSetting INTEGER, simSerialNumberSetting INTEGER, simSerialNumber TEXT, subscriberIdSetting INTEGER, subscriberId TEXT, accountsSetting INTEGER, accountsAuthTokensSetting INTEGER, outgoingCallsSetting INTEGER, incomingCallsSetting INTEGER, contactsSetting INTEGER, calendarSetting INTEGER, mmsSetting INTEGER, smsSetting INTEGER, callLogSetting INTEGER, bookmarksSetting INTEGER, systemLogsSetting INTEGER, externalStorageSetting INTEGER, cameraSetting INTEGER, recordAudioSetting INTEGER, notificationSetting INTEGER, intentBootCompletedSetting INTEGER);"
2576 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
2578 + const-string v2, "CREATE TABLE IF NOT EXISTS allowed_contacts ( settings_id, contact_id, PRIMARY KEY(settings_id, contact_id) );"
2580 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
2582 + const-string v2, "CREATE TABLE IF NOT EXISTS map ( name TEXT PRIMARY KEY, value TEXT );"
2584 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
2586 + const-string v2, "INSERT OR REPLACE INTO map (name, value) VALUES (\"db_version\", 3);"
2588 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
2590 + const-string v2, "INSERT OR REPLACE INTO map (name, value) VALUES (\"enabled\", \"1\");"
2592 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
2594 + const-string v2, "INSERT OR REPLACE INTO map (name, value) VALUES (\"notifications_enabled\", \"1\");"
2596 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
2598 + if-eqz v0, :cond_41
2600 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
2602 + move-result v2
2604 + if-eqz v2, :cond_41
2606 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
2607 + :try_end_41
2608 + .catchall {:try_start_8 .. :try_end_41} :catchall_4c
2609 + .catch Landroid/database/SQLException; {:try_start_8 .. :try_end_41} :catch_43
2611 + :cond_41
2612 + :goto_41
2613 + monitor-exit p0
2615 + return-void
2617 + :catch_43
2618 + move-exception v1
2620 + :try_start_44
2621 + const-string v2, "PrivacyPersistenceAdapter"
2623 + const-string v3, "createDatabase - failed to create privacy database"
2625 + invoke-static {v2, v3, v1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
2626 + :try_end_4b
2627 + .catchall {:try_start_44 .. :try_end_4b} :catchall_4c
2629 + goto :goto_41
2631 + :catchall_4c
2632 + move-exception v2
2634 + monitor-exit p0
2636 + throw v2
2637 +.end method
2639 +.method private declared-synchronized createSettingsDir()V
2640 + .registers 4
2642 + monitor-enter p0
2644 + :try_start_1
2645 + new-instance v0, Ljava/io/File;
2647 + const-string v1, "/data/system/privacy/"
2649 + invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
2651 + invoke-virtual {v0}, Ljava/io/File;->mkdirs()Z
2653 + const/4 v1, 0x1
2655 + const/4 v2, 0x0
2657 + invoke-virtual {v0, v1, v2}, Ljava/io/File;->setReadable(ZZ)Z
2659 + const/4 v1, 0x1
2661 + const/4 v2, 0x0
2663 + invoke-virtual {v0, v1, v2}, Ljava/io/File;->setExecutable(ZZ)Z
2664 + :try_end_15
2665 + .catchall {:try_start_1 .. :try_end_15} :catchall_17
2667 + monitor-exit p0
2669 + return-void
2671 + :catchall_17
2672 + move-exception v1
2674 + monitor-exit p0
2676 + throw v1
2677 +.end method
2679 +.method private deleteRecursive(Ljava/io/File;)V
2680 + .registers 7
2682 + invoke-virtual {p1}, Ljava/io/File;->isDirectory()Z
2684 + move-result v4
2686 + if-eqz v4, :cond_16
2688 + invoke-virtual {p1}, Ljava/io/File;->listFiles()[Ljava/io/File;
2690 + move-result-object v0
2692 + array-length v3, v0
2694 + const/4 v2, 0x0
2696 + :goto_c
2697 + if-ge v2, v3, :cond_16
2699 + aget-object v1, v0, v2
2701 + invoke-direct {p0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteRecursive(Ljava/io/File;)V
2703 + add-int/lit8 v2, v2, 0x1
2705 + goto :goto_c
2707 + :cond_16
2708 + invoke-virtual {p1}, Ljava/io/File;->delete()Z
2710 + return-void
2711 +.end method
2713 +.method private getDbVersion()I
2714 + .registers 9
2716 + const/4 v4, 0x1
2718 + const/4 v3, -0x1
2720 + sget-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2722 + sget-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2724 + invoke-virtual {v6}, Ljava/lang/Integer;->intValue()I
2726 + move-result v6
2728 + add-int/lit8 v6, v6, 0x1
2730 + invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
2732 + move-result-object v6
2734 + sput-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2736 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
2738 + move-result-object v1
2740 + :try_start_16
2741 + const-string v6, "SELECT name FROM sqlite_master WHERE type=\'table\' AND name=\'map\';"
2743 + invoke-direct {p0, v1, v6}, Landroid/privacy/PrivacyPersistenceAdapter;->rawQuery(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;)Landroid/database/Cursor;
2745 + move-result-object v0
2747 + if-eqz v0, :cond_5e
2749 + invoke-interface {v0}, Landroid/database/Cursor;->getCount()I
2751 + move-result v6
2753 + if-nez v6, :cond_25
2755 + const/4 v3, 0x1
2757 + :cond_25
2758 + invoke-interface {v0}, Landroid/database/Cursor;->close()V
2760 + sget-object v7, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2762 + monitor-enter v7
2763 + :try_end_2b
2764 + .catch Ljava/lang/Exception; {:try_start_16 .. :try_end_2b} :catch_55
2766 + :try_start_2b
2767 + sget-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2769 + sget-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2771 + invoke-virtual {v6}, Ljava/lang/Integer;->intValue()I
2773 + move-result v6
2775 + add-int/lit8 v6, v6, -0x1
2777 + invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
2779 + move-result-object v6
2781 + sput-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2783 + sget-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2785 + invoke-virtual {v6}, Ljava/lang/Integer;->intValue()I
2787 + move-result v6
2789 + if-nez v6, :cond_4e
2791 + if-eqz v1, :cond_4e
2793 + invoke-virtual {v1}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
2795 + move-result v6
2797 + if-eqz v6, :cond_4e
2799 + invoke-virtual {v1}, Landroid/database/sqlite/SQLiteDatabase;->close()V
2801 + :cond_4e
2802 + monitor-exit v7
2804 + :goto_4f
2805 + if-ne v3, v4, :cond_66
2807 + :goto_51
2808 + return v3
2810 + :catchall_52
2811 + move-exception v6
2813 + monitor-exit v7
2814 + :try_end_54
2815 + .catchall {:try_start_2b .. :try_end_54} :catchall_52
2817 + :try_start_54
2818 + throw v6
2819 + :try_end_55
2820 + .catch Ljava/lang/Exception; {:try_start_54 .. :try_end_55} :catch_55
2822 + :catch_55
2823 + move-exception v2
2825 + const-string v6, "PrivacyPersistenceAdapter"
2827 + const-string v7, "getDbVersion - failed to check if table map exists (exception)"
2829 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
2831 + goto :goto_4f
2833 + :cond_5e
2834 + :try_start_5e
2835 + const-string v6, "PrivacyPersistenceAdapter"
2837 + const-string v7, "getDbVersion - failed to check if table map exists (cursor is null)"
2839 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
2840 + :try_end_65
2841 + .catch Ljava/lang/Exception; {:try_start_5e .. :try_end_65} :catch_55
2843 + goto :goto_4f
2845 + :cond_66
2846 + const-string v6, "db_version"
2848 + invoke-virtual {p0, v6}, Landroid/privacy/PrivacyPersistenceAdapter;->getValue(Ljava/lang/String;)Ljava/lang/String;
2850 + move-result-object v5
2852 + if-nez v5, :cond_70
2854 + move v3, v4
2856 + goto :goto_51
2858 + :cond_70
2859 + :try_start_70
2860 + invoke-static {v5}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
2861 + :try_end_73
2862 + .catch Ljava/lang/Exception; {:try_start_70 .. :try_end_73} :catch_76
2864 + move-result v4
2866 + move v3, v4
2868 + goto :goto_51
2870 + :catch_76
2871 + move-exception v2
2873 + const-string v6, "PrivacyPersistenceAdapter"
2875 + const-string v7, "getDbVersion - failed to parse database version; returning 1"
2877 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
2879 + move v3, v4
2881 + goto :goto_51
2882 +.end method
2884 +.method private declared-synchronized getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
2885 + .registers 4
2887 + monitor-enter p0
2889 + :try_start_1
2890 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2892 + if-eqz v0, :cond_11
2894 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2896 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
2898 + move-result v0
2900 + if-eqz v0, :cond_11
2902 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2903 + :try_end_f
2904 + .catchall {:try_start_1 .. :try_end_f} :catchall_1e
2906 + :goto_f
2907 + monitor-exit p0
2909 + return-object v0
2911 + :cond_11
2912 + :try_start_11
2913 + const-string v0, "/data/system/privacy.db"
2915 + const/4 v1, 0x0
2917 + const/4 v2, 0x1
2919 + invoke-static {v0, v1, v2}, Landroid/database/sqlite/SQLiteDatabase;->openDatabase(Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;I)Landroid/database/sqlite/SQLiteDatabase;
2921 + move-result-object v0
2923 + iput-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2925 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2926 + :try_end_1d
2927 + .catchall {:try_start_11 .. :try_end_1d} :catchall_1e
2929 + goto :goto_f
2931 + :catchall_1e
2932 + move-exception v0
2934 + monitor-exit p0
2936 + throw v0
2937 +.end method
2939 +.method private declared-synchronized getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
2940 + .registers 4
2942 + monitor-enter p0
2944 + :try_start_1
2945 + new-instance v0, Ljava/io/File;
2947 + const-string v1, "/data/system/privacy.db"
2949 + invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
2951 + invoke-virtual {v0}, Ljava/io/File;->exists()Z
2953 + move-result v0
2955 + if-nez v0, :cond_11
2957 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->createDatabase()V
2959 + :cond_11
2960 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2962 + if-eqz v0, :cond_29
2964 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2966 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
2968 + move-result v0
2970 + if-eqz v0, :cond_29
2972 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2974 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isReadOnly()Z
2976 + move-result v0
2978 + if-nez v0, :cond_29
2980 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2981 + :try_end_27
2982 + .catchall {:try_start_1 .. :try_end_27} :catchall_36
2984 + :goto_27
2985 + monitor-exit p0
2987 + return-object v0
2989 + :cond_29
2990 + :try_start_29
2991 + const-string v0, "/data/system/privacy.db"
2993 + const/4 v1, 0x0
2995 + const/4 v2, 0x0
2997 + invoke-static {v0, v1, v2}, Landroid/database/sqlite/SQLiteDatabase;->openDatabase(Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;I)Landroid/database/sqlite/SQLiteDatabase;
2999 + move-result-object v0
3001 + iput-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
3003 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
3004 + :try_end_35
3005 + .catchall {:try_start_29 .. :try_end_35} :catchall_36
3007 + goto :goto_27
3009 + :catchall_36
3010 + move-exception v0
3012 + monitor-exit p0
3014 + throw v0
3015 +.end method
3017 +.method private query(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;
3018 + .registers 16
3019 + .annotation system Ldalvik/annotation/Throws;
3020 + value = {
3021 + Ljava/lang/Exception;
3023 + .end annotation
3025 + const/4 v0, 0x0
3027 + const/4 v3, 0x0
3029 + const/4 v2, 0x0
3031 + :goto_3
3032 + if-nez v3, :cond_27
3034 + const/4 v4, 0x5
3036 + if-ge v2, v4, :cond_27
3038 + if-eqz v0, :cond_d
3040 + :try_start_a
3041 + invoke-interface {v0}, Landroid/database/Cursor;->close()V
3043 + :cond_d
3044 + invoke-virtual/range {p1 .. p9}, Landroid/database/sqlite/SQLiteDatabase;->query(Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;
3045 + :try_end_10
3046 + .catch Ljava/lang/IllegalStateException; {:try_start_a .. :try_end_10} :catch_15
3048 + move-result-object v0
3050 + const/4 v3, 0x1
3052 + :goto_12
3053 + add-int/lit8 v2, v2, 0x1
3055 + goto :goto_3
3057 + :catch_15
3058 + move-exception v1
3060 + const/4 v3, 0x0
3062 + if-eqz p1, :cond_22
3064 + invoke-virtual {p1}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3066 + move-result v4
3068 + if-eqz v4, :cond_22
3070 + invoke-virtual {p1}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3072 + :cond_22
3073 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
3075 + move-result-object p1
3077 + goto :goto_12
3079 + :cond_27
3080 + if-nez v3, :cond_32
3082 + new-instance v4, Ljava/lang/Exception;
3084 + const-string/jumbo v5, "query - failed to execute query on the DB"
3086 + invoke-direct {v4, v5}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
3088 + throw v4
3090 + :cond_32
3091 + return-object v0
3092 +.end method
3094 +.method private rawQuery(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;)Landroid/database/Cursor;
3095 + .registers 9
3096 + .annotation system Ldalvik/annotation/Throws;
3097 + value = {
3098 + Ljava/lang/Exception;
3100 + .end annotation
3102 + const/4 v0, 0x0
3104 + const/4 v3, 0x0
3106 + const/4 v2, 0x0
3108 + :goto_3
3109 + if-nez v3, :cond_28
3111 + const/4 v4, 0x5
3113 + if-ge v2, v4, :cond_28
3115 + if-eqz v0, :cond_d
3117 + :try_start_a
3118 + invoke-interface {v0}, Landroid/database/Cursor;->close()V
3120 + :cond_d
3121 + const/4 v4, 0x0
3123 + invoke-virtual {p1, p2, v4}, Landroid/database/sqlite/SQLiteDatabase;->rawQuery(Ljava/lang/String;[Ljava/lang/String;)Landroid/database/Cursor;
3124 + :try_end_11
3125 + .catch Ljava/lang/IllegalStateException; {:try_start_a .. :try_end_11} :catch_16
3127 + move-result-object v0
3129 + const/4 v3, 0x1
3131 + :goto_13
3132 + add-int/lit8 v2, v2, 0x1
3134 + goto :goto_3
3136 + :catch_16
3137 + move-exception v1
3139 + const/4 v3, 0x0
3141 + if-eqz p1, :cond_23
3143 + invoke-virtual {p1}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3145 + move-result v4
3147 + if-eqz v4, :cond_23
3149 + invoke-virtual {p1}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3151 + :cond_23
3152 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
3154 + move-result-object p1
3156 + goto :goto_13
3158 + :cond_28
3159 + if-nez v3, :cond_33
3161 + new-instance v4, Ljava/lang/Exception;
3163 + const-string/jumbo v5, "query - failed to execute query on the DB"
3165 + invoke-direct {v4, v5}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
3167 + throw v4
3169 + :cond_33
3170 + return-object v0
3171 +.end method
3173 +.method private declared-synchronized upgradeDatabase(I)V
3174 + .registers 23
3176 + monitor-enter p0
3178 + :try_start_1
3179 + const-string v17, "PrivacyPersistenceAdapter"
3181 + new-instance v18, Ljava/lang/StringBuilder;
3183 + invoke-direct/range {v18 .. v18}, Ljava/lang/StringBuilder;-><init>()V
3185 + const-string/jumbo v19, "upgradeDatabase - upgrading DB from version "
3187 + invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3189 + move-result-object v18
3191 + move-object/from16 v0, v18
3193 + move/from16 v1, p1
3195 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
3197 + move-result-object v18
3199 + const-string v19, " to "
3201 + invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3203 + move-result-object v18
3205 + const/16 v19, 0x3
3207 + invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
3209 + move-result-object v18
3211 + invoke-virtual/range {v18 .. v18}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3213 + move-result-object v18
3215 + invoke-static/range {v17 .. v18}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
3217 + new-instance v6, Ljava/io/File;
3219 + const-string v17, "/data/system/privacy.db"
3221 + move-object/from16 v0, v17
3223 + invoke-direct {v6, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
3225 + new-instance v5, Ljava/io/File;
3227 + const-string v17, "/data/system/privacy.db.bak"
3229 + move-object/from16 v0, v17
3231 + invoke-direct {v5, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
3232 + :try_end_3c
3233 + .catchall {:try_start_1 .. :try_end_3c} :catchall_66
3235 + :try_start_3c
3236 + invoke-virtual {v5}, Ljava/io/File;->delete()Z
3237 + :try_end_3f
3238 + .catchall {:try_start_3c .. :try_end_3f} :catchall_66
3239 + .catch Ljava/lang/SecurityException; {:try_start_3c .. :try_end_3f} :catch_5c
3241 + :goto_3f
3242 + :try_start_3f
3243 + invoke-static {v6, v5}, Landroid/os/FileUtils;->copyFile(Ljava/io/File;Ljava/io/File;)Z
3245 + invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
3247 + move-result-wide v17
3249 + invoke-virtual {v5}, Ljava/io/File;->lastModified()J
3251 + move-result-wide v19
3253 + sub-long v17, v17, v19
3255 + const-wide/16 v19, 0x7d0
3257 + cmp-long v17, v17, v19
3259 + if-lez v17, :cond_69
3261 + const-string v17, "PrivacyPersistenceAdapter"
3263 + const-string/jumbo v18, "upgradeDatabase - could not create a database backup, aborting..."
3265 + invoke-static/range {v17 .. v18}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
3266 + :try_end_5a
3267 + .catchall {:try_start_3f .. :try_end_5a} :catchall_66
3269 + :goto_5a
3270 + monitor-exit p0
3272 + return-void
3274 + :catch_5c
3275 + move-exception v7
3277 + :try_start_5d
3278 + const-string v17, "PrivacyPersistenceAdapter"
3280 + const-string/jumbo v18, "upgradeDatabase - could not remove old backup"
3282 + invoke-static/range {v17 .. v18}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
3283 + :try_end_65
3284 + .catchall {:try_start_5d .. :try_end_65} :catchall_66
3286 + goto :goto_3f
3288 + :catchall_66
3289 + move-exception v17
3291 + monitor-exit p0
3293 + throw v17
3295 + :cond_69
3296 + :try_start_69
3297 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
3299 + move-result-object v4
3301 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->beginTransaction()V
3303 + packed-switch p1, :pswitch_data_164
3305 + :cond_73
3306 + :goto_73
3307 + if-eqz v4, :cond_159
3309 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3311 + move-result v17
3313 + if-eqz v17, :cond_159
3315 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
3317 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3319 + :goto_81
3320 + invoke-virtual/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->purgeSettings()Z
3321 + :try_end_84
3322 + .catchall {:try_start_69 .. :try_end_84} :catchall_66
3324 + goto :goto_5a
3326 + :pswitch_85
3327 + if-eqz v4, :cond_73
3329 + :try_start_87
3330 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3332 + move-result v17
3334 + if-eqz v17, :cond_73
3336 + const-string v17, "DROP TABLE IF EXISTS version;"
3338 + move-object/from16 v0, v17
3340 + invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
3342 + const-string v17, "CREATE TABLE IF NOT EXISTS allowed_contacts ( settings_id, contact_id, PRIMARY KEY(settings_id, contact_id) );"
3344 + move-object/from16 v0, v17
3346 + invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
3348 + const-string v17, "CREATE TABLE IF NOT EXISTS map ( name TEXT PRIMARY KEY, value TEXT );"
3350 + move-object/from16 v0, v17
3352 + invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
3354 + const-string v17, "INSERT OR REPLACE INTO map (name, value) VALUES (\"db_version\", 3);"
3356 + move-object/from16 v0, v17
3358 + invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
3360 + const-string v17, "INSERT OR REPLACE INTO map (name, value) VALUES (\"enabled\", \"1\");"
3362 + move-object/from16 v0, v17
3364 + invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
3366 + const-string v17, "INSERT OR REPLACE INTO map (name, value) VALUES (\"notifications_enabled\", \"1\");"
3368 + move-object/from16 v0, v17
3370 + invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
3372 + new-instance v14, Ljava/io/File;
3374 + const-string v17, "/data/system/privacy"
3376 + move-object/from16 v0, v17
3378 + invoke-direct {v14, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
3380 + invoke-virtual {v14}, Ljava/io/File;->listFiles()[Ljava/io/File;
3382 + move-result-object v2
3384 + array-length v10, v2
3386 + const/4 v8, 0x0
3388 + move v9, v8
3390 + :goto_c7
3391 + if-ge v9, v10, :cond_127
3393 + aget-object v13, v2, v9
3395 + invoke-virtual {v13}, Ljava/io/File;->listFiles()[Ljava/io/File;
3397 + move-result-object v3
3399 + array-length v11, v3
3401 + const/4 v8, 0x0
3403 + :goto_d1
3404 + if-ge v8, v11, :cond_123
3406 + aget-object v16, v3, v8
3408 + invoke-virtual/range {v16 .. v16}, Ljava/io/File;->isDirectory()Z
3410 + move-result v17
3412 + if-eqz v17, :cond_120
3414 + invoke-virtual/range {v16 .. v16}, Ljava/io/File;->listFiles()[Ljava/io/File;
3416 + move-result-object v15
3418 + const/16 v17, 0x0
3420 + aget-object v17, v15, v17
3422 + if-eqz v17, :cond_120
3424 + new-instance v12, Ljava/io/File;
3426 + new-instance v17, Ljava/lang/StringBuilder;
3428 + invoke-direct/range {v17 .. v17}, Ljava/lang/StringBuilder;-><init>()V
3430 + move-object/from16 v0, v17
3432 + invoke-virtual {v0, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
3434 + move-result-object v17
3436 + const-string v18, "/"
3438 + invoke-virtual/range {v17 .. v18}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3440 + move-result-object v17
3442 + const/16 v18, 0x0
3444 + aget-object v18, v15, v18
3446 + invoke-virtual/range {v18 .. v18}, Ljava/io/File;->getName()Ljava/lang/String;
3448 + move-result-object v18
3450 + invoke-virtual/range {v17 .. v18}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3452 + move-result-object v17
3454 + invoke-virtual/range {v17 .. v17}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3456 + move-result-object v17
3458 + move-object/from16 v0, v17
3460 + invoke-direct {v12, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
3462 + invoke-virtual {v12}, Ljava/io/File;->delete()Z
3464 + const/16 v17, 0x0
3466 + aget-object v17, v15, v17
3468 + move-object/from16 v0, v17
3470 + invoke-virtual {v0, v12}, Ljava/io/File;->renameTo(Ljava/io/File;)Z
3472 + move-object/from16 v0, p0
3474 + move-object/from16 v1, v16
3476 + invoke-direct {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteRecursive(Ljava/io/File;)V
3478 + :cond_120
3479 + add-int/lit8 v8, v8, 0x1
3481 + goto :goto_d1
3483 + :cond_123
3484 + add-int/lit8 v8, v9, 0x1
3486 + move v9, v8
3488 + goto :goto_c7
3490 + :cond_127
3491 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->setTransactionSuccessful()V
3492 + :try_end_12a
3493 + .catchall {:try_start_87 .. :try_end_12a} :catchall_66
3494 + .catch Ljava/lang/Exception; {:try_start_87 .. :try_end_12a} :catch_12c
3496 + goto/16 :goto_73
3498 + :catch_12c
3499 + move-exception v7
3501 + if-eqz v4, :cond_13b
3503 + :try_start_12f
3504 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3506 + move-result v17
3508 + if-eqz v17, :cond_13b
3510 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
3512 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3514 + :cond_13b
3515 + const-string v17, "PrivacyPersistenceAdapter"
3517 + const-string/jumbo v18, "upgradeDatabase - could not upgrade DB; will restore backup"
3519 + move-object/from16 v0, v17
3521 + move-object/from16 v1, v18
3523 + invoke-static {v0, v1, v7}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
3525 + invoke-static {v5, v6}, Landroid/os/FileUtils;->copyFile(Ljava/io/File;Ljava/io/File;)Z
3527 + invoke-virtual {v5}, Ljava/io/File;->delete()Z
3529 + goto/16 :goto_73
3531 + :pswitch_14f
3532 + const-string v17, "PrivacyPersistenceAdapter"
3534 + const-string/jumbo v18, "upgradeDatabase - trying to upgrade most current DB version"
3536 + invoke-static/range {v17 .. v18}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
3538 + goto/16 :goto_73
3540 + :cond_159
3541 + const-string v17, "PrivacyPersistenceAdapter"
3543 + const-string/jumbo v18, "upgradeDatabase - database is null or closed; cant call endTransaction()"
3545 + invoke-static/range {v17 .. v18}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
3546 + :try_end_161
3547 + .catchall {:try_start_12f .. :try_end_161} :catchall_66
3549 + goto/16 :goto_81
3551 + nop
3553 + :pswitch_data_164
3554 + .packed-switch 0x1
3555 + :pswitch_85
3556 + :pswitch_85
3557 + :pswitch_14f
3558 + .end packed-switch
3559 +.end method
3562 +# virtual methods
3563 +.method public declared-synchronized deleteSettings(Ljava/lang/String;)Z
3564 + .registers 16
3566 + monitor-enter p0
3568 + const/4 v11, 0x1
3570 + :try_start_2
3571 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
3573 + move-result-object v0
3575 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->beginTransaction()V
3576 + :try_end_9
3577 + .catchall {:try_start_2 .. :try_end_9} :catchall_107
3579 + :try_start_9
3580 + const-string/jumbo v1, "settings"
3582 + const/4 v2, 0x1
3584 + new-array v2, v2, [Ljava/lang/String;
3586 + const/4 v3, 0x0
3588 + const-string v4, "_id"
3590 + aput-object v4, v2, v3
3592 + const-string/jumbo v3, "packageName=?"
3594 + const/4 v4, 0x1
3596 + new-array v4, v4, [Ljava/lang/String;
3598 + const/4 v5, 0x0
3600 + aput-object p1, v4, v5
3602 + const/4 v5, 0x0
3604 + const/4 v6, 0x0
3606 + const/4 v7, 0x0
3608 + invoke-virtual/range {v0 .. v7}, Landroid/database/sqlite/SQLiteDatabase;->query(Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;
3610 + move-result-object v8
3612 + if-eqz v8, :cond_4c
3614 + invoke-interface {v8}, Landroid/database/Cursor;->getCount()I
3616 + move-result v1
3618 + if-lez v1, :cond_4c
3620 + invoke-interface {v8}, Landroid/database/Cursor;->moveToFirst()Z
3622 + move-result v1
3624 + if-eqz v1, :cond_4c
3626 + const/4 v1, 0x0
3628 + invoke-interface {v8, v1}, Landroid/database/Cursor;->getInt(I)I
3630 + move-result v10
3632 + const-string v1, "allowed_contacts"
3634 + const-string/jumbo v2, "settings_id=?"
3636 + const/4 v3, 0x1
3638 + new-array v3, v3, [Ljava/lang/String;
3640 + const/4 v4, 0x0
3642 + invoke-static {v10}, Ljava/lang/Integer;->toString(I)Ljava/lang/String;
3644 + move-result-object v5
3646 + aput-object v5, v3, v4
3648 + invoke-virtual {v0, v1, v2, v3}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
3650 + invoke-interface {v8}, Landroid/database/Cursor;->close()V
3652 + :cond_4c
3653 + const-string/jumbo v1, "settings"
3655 + const-string/jumbo v2, "packageName=?"
3657 + const/4 v3, 0x1
3659 + new-array v3, v3, [Ljava/lang/String;
3661 + const/4 v4, 0x0
3663 + aput-object p1, v3, v4
3665 + invoke-virtual {v0, v1, v2, v3}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
3667 + move-result v1
3669 + if-nez v1, :cond_8d
3671 + const-string v1, "PrivacyPersistenceAdapter"
3673 + new-instance v2, Ljava/lang/StringBuilder;
3675 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
3677 + const-string v3, "deleteSettings - database entry for "
3679 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3681 + move-result-object v2
3683 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3685 + move-result-object v2
3687 + const-string v3, " not found"
3689 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3691 + move-result-object v2
3693 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3695 + move-result-object v2
3697 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
3698 + :try_end_7c
3699 + .catchall {:try_start_9 .. :try_end_7c} :catchall_10a
3700 + .catch Ljava/lang/Exception; {:try_start_9 .. :try_end_7c} :catch_ef
3702 + const/4 v1, 0x0
3704 + :try_start_7d
3705 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
3707 + if-eqz v0, :cond_8b
3709 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3711 + move-result v2
3713 + if-eqz v2, :cond_8b
3715 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3716 + :try_end_8b
3717 + .catchall {:try_start_7d .. :try_end_8b} :catchall_107
3719 + :cond_8b
3720 + :goto_8b
3721 + monitor-exit p0
3723 + return v1
3725 + :cond_8d
3726 + :try_start_8d
3727 + new-instance v12, Ljava/io/File;
3729 + new-instance v1, Ljava/lang/StringBuilder;
3731 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
3733 + const-string v2, "/data/system/privacy/"
3735 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3737 + move-result-object v1
3739 + invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3741 + move-result-object v1
3743 + const-string v2, "/"
3745 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3747 + move-result-object v1
3749 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3751 + move-result-object v1
3753 + invoke-direct {v12, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
3755 + new-instance v13, Ljava/io/File;
3757 + new-instance v1, Ljava/lang/StringBuilder;
3759 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
3761 + const-string v2, "/data/system/privacy/"
3763 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3765 + move-result-object v1
3767 + invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3769 + move-result-object v1
3771 + const-string v2, "/systemLogsSetting"
3773 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3775 + move-result-object v1
3777 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3779 + move-result-object v1
3781 + invoke-direct {v13, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
3783 + invoke-virtual {v13}, Ljava/io/File;->delete()Z
3785 + invoke-virtual {v12}, Ljava/io/File;->list()[Ljava/lang/String;
3787 + move-result-object v1
3789 + if-eqz v1, :cond_d9
3791 + invoke-virtual {v12}, Ljava/io/File;->list()[Ljava/lang/String;
3793 + move-result-object v1
3795 + array-length v1, v1
3797 + if-nez v1, :cond_dc
3799 + :cond_d9
3800 + invoke-virtual {v12}, Ljava/io/File;->delete()Z
3802 + :cond_dc
3803 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->setTransactionSuccessful()V
3804 + :try_end_df
3805 + .catchall {:try_start_8d .. :try_end_df} :catchall_10a
3806 + .catch Ljava/lang/Exception; {:try_start_8d .. :try_end_df} :catch_ef
3808 + :try_start_df
3809 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
3811 + if-eqz v0, :cond_ed
3813 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3815 + move-result v1
3817 + if-eqz v1, :cond_ed
3819 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3820 + :try_end_ed
3821 + .catchall {:try_start_df .. :try_end_ed} :catchall_107
3823 + :cond_ed
3824 + :goto_ed
3825 + move v1, v11
3827 + goto :goto_8b
3829 + :catch_ef
3830 + move-exception v9
3832 + const/4 v11, 0x0
3834 + :try_start_f1
3835 + const-string v1, "PrivacyPersistenceAdapter"
3837 + const-string v2, "deleteSettings - could not delete settings"
3839 + invoke-static {v1, v2, v9}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
3840 + :try_end_f8
3841 + .catchall {:try_start_f1 .. :try_end_f8} :catchall_10a
3843 + :try_start_f8
3844 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
3846 + if-eqz v0, :cond_ed
3848 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3850 + move-result v1
3852 + if-eqz v1, :cond_ed
3854 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3855 + :try_end_106
3856 + .catchall {:try_start_f8 .. :try_end_106} :catchall_107
3858 + goto :goto_ed
3860 + :catchall_107
3861 + move-exception v1
3863 + monitor-exit p0
3865 + throw v1
3867 + :catchall_10a
3868 + move-exception v1
3870 + :try_start_10b
3871 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
3873 + if-eqz v0, :cond_119
3875 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3877 + move-result v2
3879 + if-eqz v2, :cond_119
3881 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3883 + :cond_119
3884 + throw v1
3885 + :try_end_11a
3886 + .catchall {:try_start_10b .. :try_end_11a} :catchall_107
3887 +.end method
3889 +.method public getSettings(Ljava/lang/String;Z)Landroid/privacy/PrivacySettings;
3890 + .registers 47
3892 + const/16 v43, 0x0
3894 + if-nez p1, :cond_e
3896 + const-string v1, "PrivacyPersistenceAdapter"
3898 + const-string v4, "getSettings - insufficient application identifier - package name is required"
3900 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
3902 + move-object/from16 v3, v43
3904 + :goto_d
3905 + return-object v43
3907 + :cond_e
3908 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
3910 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
3912 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
3914 + move-result v1
3916 + add-int/lit8 v1, v1, 0x1
3918 + invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
3920 + move-result-object v1
3922 + sput-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
3924 + :try_start_1e
3925 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
3926 + :try_end_21
3927 + .catch Landroid/database/sqlite/SQLiteException; {:try_start_1e .. :try_end_21} :catch_243
3929 + move-result-object v2
3931 + const/16 v41, 0x0
3933 + :try_start_24
3934 + const-string/jumbo v3, "settings"
3936 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->DATABASE_FIELDS:[Ljava/lang/String;
3938 + const-string/jumbo v5, "packageName=?"
3940 + const/4 v1, 0x1
3942 + new-array v6, v1, [Ljava/lang/String;
3944 + const/4 v1, 0x0
3946 + aput-object p1, v6, v1
3948 + const/4 v7, 0x0
3950 + const/4 v8, 0x0
3952 + const/4 v9, 0x0
3954 + const/4 v10, 0x0
3956 + move-object/from16 v1, p0
3958 + invoke-direct/range {v1 .. v10}, Landroid/privacy/PrivacyPersistenceAdapter;->query(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;
3960 + move-result-object v41
3962 + if-eqz v41, :cond_2d3
3964 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->moveToFirst()Z
3966 + move-result v1
3968 + if-eqz v1, :cond_2d3
3970 + new-instance v3, Landroid/privacy/PrivacySettings;
3972 + const/4 v1, 0x0
3974 + move-object/from16 v0, v41
3976 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getInt(I)I
3978 + move-result v1
3980 + invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
3982 + move-result-object v4
3984 + const/4 v1, 0x1
3986 + move-object/from16 v0, v41
3988 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
3990 + move-result-object v5
3992 + const/4 v1, 0x2
3994 + move-object/from16 v0, v41
3996 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getInt(I)I
3998 + move-result v6
4000 + const/4 v1, 0x3
4002 + move-object/from16 v0, v41
4004 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4006 + move-result v1
4008 + int-to-byte v7, v1
4010 + const/4 v1, 0x4
4012 + move-object/from16 v0, v41
4014 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
4016 + move-result-object v8
4018 + const/4 v1, 0x5
4020 + move-object/from16 v0, v41
4022 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4024 + move-result v1
4026 + int-to-byte v9, v1
4028 + const/4 v1, 0x6
4030 + move-object/from16 v0, v41
4032 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
4034 + move-result-object v10
4036 + const/4 v1, 0x7
4038 + move-object/from16 v0, v41
4040 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4042 + move-result v1
4044 + int-to-byte v11, v1
4046 + const/16 v1, 0x8
4048 + move-object/from16 v0, v41
4050 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
4052 + move-result-object v12
4054 + const/16 v1, 0x9
4056 + move-object/from16 v0, v41
4058 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
4060 + move-result-object v13
4062 + const/16 v1, 0xa
4064 + move-object/from16 v0, v41
4066 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4068 + move-result v1
4070 + int-to-byte v14, v1
4072 + const/16 v1, 0xb
4074 + move-object/from16 v0, v41
4076 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
4078 + move-result-object v15
4080 + const/16 v1, 0xc
4082 + move-object/from16 v0, v41
4084 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
4086 + move-result-object v16
4088 + const/16 v1, 0xd
4090 + move-object/from16 v0, v41
4092 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4094 + move-result v1
4096 + int-to-byte v0, v1
4098 + move/from16 v17, v0
4100 + const/16 v1, 0xe
4102 + move-object/from16 v0, v41
4104 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4106 + move-result v1
4108 + int-to-byte v0, v1
4110 + move/from16 v18, v0
4112 + const/16 v1, 0xf
4114 + move-object/from16 v0, v41
4116 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4118 + move-result v1
4120 + int-to-byte v0, v1
4122 + move/from16 v19, v0
4124 + const/16 v1, 0x10
4126 + move-object/from16 v0, v41
4128 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
4130 + move-result-object v20
4132 + const/16 v1, 0x11
4134 + move-object/from16 v0, v41
4136 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4138 + move-result v1
4140 + int-to-byte v0, v1
4142 + move/from16 v21, v0
4144 + const/16 v1, 0x12
4146 + move-object/from16 v0, v41
4148 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
4150 + move-result-object v22
4152 + const/16 v1, 0x13
4154 + move-object/from16 v0, v41
4156 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4158 + move-result v1
4160 + int-to-byte v0, v1
4162 + move/from16 v23, v0
4164 + const/16 v1, 0x14
4166 + move-object/from16 v0, v41
4168 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4170 + move-result v1
4172 + int-to-byte v0, v1
4174 + move/from16 v24, v0
4176 + const/16 v1, 0x15
4178 + move-object/from16 v0, v41
4180 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4182 + move-result v1
4184 + int-to-byte v0, v1
4186 + move/from16 v25, v0
4188 + const/16 v1, 0x16
4190 + move-object/from16 v0, v41
4192 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4194 + move-result v1
4196 + int-to-byte v0, v1
4198 + move/from16 v26, v0
4200 + const/16 v1, 0x17
4202 + move-object/from16 v0, v41
4204 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4206 + move-result v1
4208 + int-to-byte v0, v1
4210 + move/from16 v27, v0
4212 + const/16 v1, 0x18
4214 + move-object/from16 v0, v41
4216 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4218 + move-result v1
4220 + int-to-byte v0, v1
4222 + move/from16 v28, v0
4224 + const/16 v1, 0x19
4226 + move-object/from16 v0, v41
4228 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4230 + move-result v1
4232 + int-to-byte v0, v1
4234 + move/from16 v29, v0
4236 + const/16 v1, 0x1a
4238 + move-object/from16 v0, v41
4240 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4242 + move-result v1
4244 + int-to-byte v0, v1
4246 + move/from16 v30, v0
4248 + const/16 v1, 0x1b
4250 + move-object/from16 v0, v41
4252 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4254 + move-result v1
4256 + int-to-byte v0, v1
4258 + move/from16 v31, v0
4260 + const/16 v1, 0x1c
4262 + move-object/from16 v0, v41
4264 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4266 + move-result v1
4268 + int-to-byte v0, v1
4270 + move/from16 v32, v0
4272 + const/16 v1, 0x1d
4274 + move-object/from16 v0, v41
4276 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4278 + move-result v1
4280 + int-to-byte v0, v1
4282 + move/from16 v33, v0
4284 + const/16 v1, 0x1e
4286 + move-object/from16 v0, v41
4288 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4290 + move-result v1
4292 + int-to-byte v0, v1
4294 + move/from16 v34, v0
4296 + const/16 v1, 0x1f
4298 + move-object/from16 v0, v41
4300 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4302 + move-result v1
4304 + int-to-byte v0, v1
4306 + move/from16 v35, v0
4308 + const/16 v1, 0x20
4310 + move-object/from16 v0, v41
4312 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4314 + move-result v1
4316 + int-to-byte v0, v1
4318 + move/from16 v36, v0
4320 + const/16 v1, 0x21
4322 + move-object/from16 v0, v41
4324 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4326 + move-result v1
4328 + int-to-byte v0, v1
4330 + move/from16 v37, v0
4332 + const/16 v1, 0x22
4334 + move-object/from16 v0, v41
4336 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4338 + move-result v1
4340 + int-to-byte v0, v1
4342 + move/from16 v38, v0
4344 + const/16 v39, 0x0
4346 + invoke-direct/range {v3 .. v39}, Landroid/privacy/PrivacySettings;-><init>(Ljava/lang/Integer;Ljava/lang/String;IBLjava/lang/String;BLjava/lang/String;BLjava/lang/String;Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;BBBLjava/lang/String;BLjava/lang/String;BBBBBBBBBBBBBBBB[I)V
4347 + :try_end_19f
4348 + .catchall {:try_start_24 .. :try_end_19f} :catchall_296
4349 + .catch Ljava/lang/Exception; {:try_start_24 .. :try_end_19f} :catch_2ce
4351 + :try_start_19f
4352 + new-instance v1, Ljava/lang/StringBuilder;
4354 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
4356 + const-string v4, "SELECT * FROM allowed_contacts WHERE settings_id="
4358 + invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4360 + move-result-object v1
4362 + invoke-virtual {v3}, Landroid/privacy/PrivacySettings;->get_id()Ljava/lang/Integer;
4364 + move-result-object v4
4366 + invoke-virtual {v4}, Ljava/lang/Integer;->intValue()I
4368 + move-result v4
4370 + invoke-static {v4}, Ljava/lang/Integer;->toString(I)Ljava/lang/String;
4372 + move-result-object v4
4374 + invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4376 + move-result-object v1
4378 + const-string v4, ";"
4380 + invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4382 + move-result-object v1
4384 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4386 + move-result-object v1
4388 + move-object/from16 v0, p0
4390 + invoke-direct {v0, v2, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->rawQuery(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;)Landroid/database/Cursor;
4392 + move-result-object v41
4394 + if-eqz v41, :cond_266
4396 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->getCount()I
4398 + move-result v1
4400 + if-lez v1, :cond_266
4402 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->getCount()I
4404 + move-result v1
4406 + new-array v0, v1, [I
4408 + move-object/from16 v40, v0
4410 + :goto_1da
4411 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->moveToNext()Z
4413 + move-result v1
4415 + if-eqz v1, :cond_261
4417 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->getPosition()I
4419 + move-result v1
4421 + const/4 v4, 0x1
4423 + move-object/from16 v0, v41
4425 + invoke-interface {v0, v4}, Landroid/database/Cursor;->getInt(I)I
4427 + move-result v4
4429 + aput v4, v40, v1
4430 + :try_end_1ed
4431 + .catchall {:try_start_19f .. :try_end_1ed} :catchall_2cc
4432 + .catch Ljava/lang/Exception; {:try_start_19f .. :try_end_1ed} :catch_1ee
4434 + goto :goto_1da
4436 + :catch_1ee
4437 + move-exception v42
4439 + :goto_1ef
4440 + :try_start_1ef
4441 + const-string v1, "PrivacyPersistenceAdapter"
4443 + new-instance v4, Ljava/lang/StringBuilder;
4445 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
4447 + const-string v5, "getSettings - failed to get settings for package: "
4449 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4451 + move-result-object v4
4453 + move-object/from16 v0, p1
4455 + invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4457 + move-result-object v4
4459 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4461 + move-result-object v4
4463 + move-object/from16 v0, v42
4465 + invoke-static {v1, v4, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
4467 + invoke-virtual/range {v42 .. v42}, Ljava/lang/Exception;->printStackTrace()V
4469 + if-eqz v41, :cond_213
4471 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->close()V
4472 + :try_end_213
4473 + .catchall {:try_start_1ef .. :try_end_213} :catchall_2cc
4475 + :cond_213
4476 + if-eqz v41, :cond_218
4478 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->close()V
4480 + :cond_218
4481 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4483 + monitor-enter v4
4485 + :try_start_21b
4486 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4488 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4490 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
4492 + move-result v1
4494 + add-int/lit8 v1, v1, -0x1
4496 + invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4498 + move-result-object v1
4500 + sput-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4502 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4504 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
4506 + move-result v1
4508 + if-nez v1, :cond_23e
4510 + if-eqz v2, :cond_23e
4512 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
4514 + move-result v1
4516 + if-eqz v1, :cond_23e
4518 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
4520 + :cond_23e
4521 + monitor-exit v4
4522 + :try_end_23f
4523 + .catchall {:try_start_21b .. :try_end_23f} :catchall_2c9
4525 + :goto_23f
4526 + move-object/from16 v43, v3
4528 + goto/16 :goto_d
4530 + :catch_243
4531 + move-exception v42
4533 + const-string v1, "PrivacyPersistenceAdapter"
4535 + const-string v4, "getSettings - database could not be opened"
4537 + move-object/from16 v0, v42
4539 + invoke-static {v1, v4, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
4541 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4543 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4545 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
4547 + move-result v1
4549 + add-int/lit8 v1, v1, -0x1
4551 + invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4553 + move-result-object v1
4555 + sput-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4557 + move-object/from16 v3, v43
4559 + goto/16 :goto_d
4561 + :cond_261
4562 + :try_start_261
4563 + move-object/from16 v0, v40
4565 + invoke-virtual {v3, v0}, Landroid/privacy/PrivacySettings;->setAllowedContacts([I)V
4566 + :try_end_266
4567 + .catchall {:try_start_261 .. :try_end_266} :catchall_2cc
4568 + .catch Ljava/lang/Exception; {:try_start_261 .. :try_end_266} :catch_1ee
4570 + :cond_266
4571 + :goto_266
4572 + if-eqz v41, :cond_26b
4574 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->close()V
4576 + :cond_26b
4577 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4579 + monitor-enter v4
4581 + :try_start_26e
4582 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4584 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4586 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
4588 + move-result v1
4590 + add-int/lit8 v1, v1, -0x1
4592 + invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4594 + move-result-object v1
4596 + sput-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4598 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4600 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
4602 + move-result v1
4604 + if-nez v1, :cond_291
4606 + if-eqz v2, :cond_291
4608 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
4610 + move-result v1
4612 + if-eqz v1, :cond_291
4614 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
4616 + :cond_291
4617 + monitor-exit v4
4619 + goto :goto_23f
4621 + :catchall_293
4622 + move-exception v1
4624 + monitor-exit v4
4625 + :try_end_295
4626 + .catchall {:try_start_26e .. :try_end_295} :catchall_293
4628 + throw v1
4630 + :catchall_296
4631 + move-exception v1
4633 + move-object/from16 v3, v43
4635 + :goto_299
4636 + if-eqz v41, :cond_29e
4638 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->close()V
4640 + :cond_29e
4641 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4643 + monitor-enter v4
4645 + :try_start_2a1
4646 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4648 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4650 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
4652 + move-result v5
4654 + add-int/lit8 v5, v5, -0x1
4656 + invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4658 + move-result-object v5
4660 + sput-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4662 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4664 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
4666 + move-result v5
4668 + if-nez v5, :cond_2c4
4670 + if-eqz v2, :cond_2c4
4672 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
4674 + move-result v5
4676 + if-eqz v5, :cond_2c4
4678 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
4680 + :cond_2c4
4681 + monitor-exit v4
4682 + :try_end_2c5
4683 + .catchall {:try_start_2a1 .. :try_end_2c5} :catchall_2c6
4685 + throw v1
4687 + :catchall_2c6
4688 + move-exception v1
4690 + :try_start_2c7
4691 + monitor-exit v4
4692 + :try_end_2c8
4693 + .catchall {:try_start_2c7 .. :try_end_2c8} :catchall_2c6
4695 + throw v1
4697 + :catchall_2c9
4698 + move-exception v1
4700 + :try_start_2ca
4701 + monitor-exit v4
4702 + :try_end_2cb
4703 + .catchall {:try_start_2ca .. :try_end_2cb} :catchall_2c9
4705 + throw v1
4707 + :catchall_2cc
4708 + move-exception v1
4710 + goto :goto_299
4712 + :catch_2ce
4713 + move-exception v42
4715 + move-object/from16 v3, v43
4717 + goto/16 :goto_1ef
4719 + :cond_2d3
4720 + move-object/from16 v3, v43
4722 + goto :goto_266
4723 +.end method
4725 +.method public getValue(Ljava/lang/String;)Ljava/lang/String;
4726 + .registers 15
4728 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4730 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4732 + invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
4734 + move-result v0
4736 + add-int/lit8 v0, v0, 0x1
4738 + invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4740 + move-result-object v0
4742 + sput-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4744 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
4746 + move-result-object v1
4748 + const/4 v12, 0x0
4750 + :try_start_15
4751 + const-string/jumbo v2, "map"
4753 + const/4 v0, 0x1
4755 + new-array v3, v0, [Ljava/lang/String;
4757 + const/4 v0, 0x0
4759 + const-string/jumbo v4, "value"
4761 + aput-object v4, v3, v0
4763 + const-string/jumbo v4, "name=?"
4765 + const/4 v0, 0x1
4767 + new-array v5, v0, [Ljava/lang/String;
4769 + const/4 v0, 0x0
4771 + aput-object p1, v5, v0
4773 + const/4 v6, 0x0
4775 + const/4 v7, 0x0
4777 + const/4 v8, 0x0
4779 + const/4 v9, 0x0
4781 + move-object v0, p0
4783 + invoke-direct/range {v0 .. v9}, Landroid/privacy/PrivacyPersistenceAdapter;->query(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;
4785 + move-result-object v10
4787 + if-eqz v10, :cond_77
4789 + invoke-interface {v10}, Landroid/database/Cursor;->getCount()I
4791 + move-result v0
4793 + if-lez v0, :cond_77
4795 + invoke-interface {v10}, Landroid/database/Cursor;->moveToFirst()Z
4797 + move-result v0
4799 + if-eqz v0, :cond_77
4801 + const-string/jumbo v0, "value"
4803 + invoke-interface {v10, v0}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
4805 + move-result v0
4807 + invoke-interface {v10, v0}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
4809 + move-result-object v12
4811 + invoke-interface {v10}, Landroid/database/Cursor;->close()V
4812 + :try_end_4f
4813 + .catch Ljava/lang/Exception; {:try_start_15 .. :try_end_4f} :catch_90
4815 + :goto_4f
4816 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4818 + monitor-enter v2
4820 + :try_start_52
4821 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4823 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4825 + invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
4827 + move-result v0
4829 + add-int/lit8 v0, v0, -0x1
4831 + invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4833 + move-result-object v0
4835 + sput-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4837 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4839 + invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
4841 + move-result v0
4843 + if-nez v0, :cond_75
4845 + if-eqz v1, :cond_75
4847 + invoke-virtual {v1}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
4849 + move-result v0
4851 + if-eqz v0, :cond_75
4853 + invoke-virtual {v1}, Landroid/database/sqlite/SQLiteDatabase;->close()V
4855 + :cond_75
4856 + monitor-exit v2
4857 + :try_end_76
4858 + .catchall {:try_start_52 .. :try_end_76} :catchall_aa
4860 + return-object v12
4862 + :cond_77
4863 + :try_start_77
4864 + const-string v0, "PrivacyPersistenceAdapter"
4866 + new-instance v2, Ljava/lang/StringBuilder;
4868 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
4870 + const-string v3, "getValue - could not get value for name: "
4872 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4874 + move-result-object v2
4876 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4878 + move-result-object v2
4880 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4882 + move-result-object v2
4884 + invoke-static {v0, v2}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
4885 + :try_end_8f
4886 + .catch Ljava/lang/Exception; {:try_start_77 .. :try_end_8f} :catch_90
4888 + goto :goto_4f
4890 + :catch_90
4891 + move-exception v11
4893 + const-string v0, "PrivacyPersistenceAdapter"
4895 + new-instance v2, Ljava/lang/StringBuilder;
4897 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
4899 + const-string v3, "getValue - could not get value for name: "
4901 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4903 + move-result-object v2
4905 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4907 + move-result-object v2
4909 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4911 + move-result-object v2
4913 + invoke-static {v0, v2, v11}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
4915 + goto :goto_4f
4917 + :catchall_aa
4918 + move-exception v0
4920 + :try_start_ab
4921 + monitor-exit v2
4922 + :try_end_ac
4923 + .catchall {:try_start_ab .. :try_end_ac} :catchall_aa
4925 + throw v0
4926 +.end method
4928 +.method public purgeSettings()Z
4929 + .registers 28
4931 + const/16 v25, 0x1
4933 + new-instance v13, Ljava/util/ArrayList;
4935 + invoke-direct {v13}, Ljava/util/ArrayList;-><init>()V
4937 + move-object/from16 v0, p0
4939 + iget-object v2, v0, Landroid/privacy/PrivacyPersistenceAdapter;->context:Landroid/content/Context;
4941 + invoke-virtual {v2}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
4943 + move-result-object v21
4945 + const/16 v2, 0x80
4947 + move-object/from16 v0, v21
4949 + invoke-virtual {v0, v2}, Landroid/content/pm/PackageManager;->getInstalledApplications(I)Ljava/util/List;
4951 + move-result-object v19
4953 + invoke-interface/range {v19 .. v19}, Ljava/util/List;->iterator()Ljava/util/Iterator;
4955 + move-result-object v18
4957 + :goto_1b
4958 + invoke-interface/range {v18 .. v18}, Ljava/util/Iterator;->hasNext()Z
4960 + move-result v2
4962 + if-eqz v2, :cond_2d
4964 + invoke-interface/range {v18 .. v18}, Ljava/util/Iterator;->next()Ljava/lang/Object;
4966 + move-result-object v12
4968 + check-cast v12, Landroid/content/pm/ApplicationInfo;
4970 + iget-object v2, v12, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
4972 + invoke-interface {v13, v2}, Ljava/util/List;->add(Ljava/lang/Object;)Z
4974 + goto :goto_1b
4976 + :cond_2d
4977 + new-instance v26, Ljava/io/File;
4979 + const-string v2, "/data/system/privacy"
4981 + move-object/from16 v0, v26
4983 + invoke-direct {v0, v2}, Ljava/io/File;-><init>(Ljava/lang/String;)V
4985 + invoke-virtual/range {v26 .. v26}, Ljava/io/File;->listFiles()[Ljava/io/File;
4987 + move-result-object v15
4989 + array-length v0, v15
4991 + move/from16 v20, v0
4993 + const/16 v18, 0x0
4995 + :goto_3f
4996 + move/from16 v0, v18
4998 + move/from16 v1, v20
5000 + if-ge v0, v1, :cond_5d
5002 + aget-object v23, v15, v18
5004 + invoke-virtual/range {v23 .. v23}, Ljava/io/File;->getName()Ljava/lang/String;
5006 + move-result-object v24
5008 + move-object/from16 v0, v24
5010 + invoke-interface {v13, v0}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
5012 + move-result v2
5014 + if-nez v2, :cond_5a
5016 + move-object/from16 v0, p0
5018 + move-object/from16 v1, v23
5020 + invoke-direct {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteRecursive(Ljava/io/File;)V
5022 + :cond_5a
5023 + add-int/lit8 v18, v18, 0x1
5025 + goto :goto_3f
5027 + :cond_5d
5028 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5030 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5032 + invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
5034 + move-result v2
5036 + add-int/lit8 v2, v2, 0x1
5038 + invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5040 + move-result-object v2
5042 + sput-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5044 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
5046 + move-result-object v3
5048 + const/16 v16, 0x0
5050 + :try_start_73
5051 + const-string/jumbo v4, "settings"
5053 + const/4 v2, 0x1
5055 + new-array v5, v2, [Ljava/lang/String;
5057 + const/4 v2, 0x0
5059 + const-string/jumbo v6, "packageName"
5061 + aput-object v6, v5, v2
5063 + const/4 v6, 0x0
5065 + const/4 v7, 0x0
5067 + const/4 v8, 0x0
5069 + const/4 v9, 0x0
5071 + const/4 v10, 0x0
5073 + const/4 v11, 0x0
5075 + move-object/from16 v2, p0
5077 + invoke-direct/range {v2 .. v11}, Landroid/privacy/PrivacyPersistenceAdapter;->query(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;
5079 + move-result-object v16
5081 + new-instance v14, Ljava/util/ArrayList;
5083 + invoke-direct {v14}, Ljava/util/ArrayList;-><init>()V
5085 + :goto_90
5086 + invoke-interface/range {v16 .. v16}, Landroid/database/Cursor;->moveToNext()Z
5088 + move-result v2
5090 + if-eqz v2, :cond_142
5092 + const/4 v2, 0x0
5094 + move-object/from16 v0, v16
5096 + invoke-interface {v0, v2}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
5098 + move-result-object v24
5100 + move-object/from16 v0, v24
5102 + invoke-interface {v13, v0}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
5104 + move-result v2
5106 + if-nez v2, :cond_e7
5108 + move-object/from16 v0, p0
5110 + move-object/from16 v1, v24
5112 + invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteSettings(Ljava/lang/String;)Z
5113 + :try_end_ac
5114 + .catchall {:try_start_73 .. :try_end_ac} :catchall_107
5115 + .catch Ljava/lang/Exception; {:try_start_73 .. :try_end_ac} :catch_ad
5117 + goto :goto_90
5119 + :catch_ad
5120 + move-exception v17
5122 + :try_start_ae
5123 + const-string v2, "PrivacyPersistenceAdapter"
5125 + const-string/jumbo v4, "purgeSettings - purging DB failed"
5127 + move-object/from16 v0, v17
5129 + invoke-static {v2, v4, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
5130 + :try_end_b8
5131 + .catchall {:try_start_ae .. :try_end_b8} :catchall_107
5133 + const/16 v25, 0x0
5135 + if-eqz v16, :cond_bf
5137 + invoke-interface/range {v16 .. v16}, Landroid/database/Cursor;->close()V
5139 + :cond_bf
5140 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5142 + monitor-enter v4
5144 + :try_start_c2
5145 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5147 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5149 + invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
5151 + move-result v2
5153 + add-int/lit8 v2, v2, -0x1
5155 + invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5157 + move-result-object v2
5159 + sput-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5161 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5163 + invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
5165 + move-result v2
5167 + if-nez v2, :cond_e5
5169 + if-eqz v3, :cond_e5
5171 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
5173 + move-result v2
5175 + if-eqz v2, :cond_e5
5177 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->close()V
5179 + :cond_e5
5180 + monitor-exit v4
5181 + :try_end_e6
5182 + .catchall {:try_start_c2 .. :try_end_e6} :catchall_13f
5184 + :goto_e6
5185 + return v25
5187 + :cond_e7
5188 + :try_start_e7
5189 + move-object/from16 v0, v24
5191 + invoke-interface {v14, v0}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
5193 + move-result v2
5195 + if-eqz v2, :cond_135
5197 + const/4 v2, 0x0
5199 + move-object/from16 v0, p0
5201 + move-object/from16 v1, v24
5203 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacyPersistenceAdapter;->getSettings(Ljava/lang/String;Z)Landroid/privacy/PrivacySettings;
5205 + move-result-object v22
5207 + move-object/from16 v0, p0
5209 + move-object/from16 v1, v24
5211 + invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteSettings(Ljava/lang/String;)Z
5213 + move-object/from16 v0, p0
5215 + move-object/from16 v1, v22
5217 + invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->saveSettings(Landroid/privacy/PrivacySettings;)Z
5218 + :try_end_106
5219 + .catchall {:try_start_e7 .. :try_end_106} :catchall_107
5220 + .catch Ljava/lang/Exception; {:try_start_e7 .. :try_end_106} :catch_ad
5222 + goto :goto_90
5224 + :catchall_107
5225 + move-exception v2
5227 + if-eqz v16, :cond_10d
5229 + invoke-interface/range {v16 .. v16}, Landroid/database/Cursor;->close()V
5231 + :cond_10d
5232 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5234 + monitor-enter v4
5236 + :try_start_110
5237 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5239 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5241 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
5243 + move-result v5
5245 + add-int/lit8 v5, v5, -0x1
5247 + invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5249 + move-result-object v5
5251 + sput-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5253 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5255 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
5257 + move-result v5
5259 + if-nez v5, :cond_133
5261 + if-eqz v3, :cond_133
5263 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
5265 + move-result v5
5267 + if-eqz v5, :cond_133
5269 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->close()V
5271 + :cond_133
5272 + monitor-exit v4
5273 + :try_end_134
5274 + .catchall {:try_start_110 .. :try_end_134} :catchall_13c
5276 + throw v2
5278 + :cond_135
5279 + :try_start_135
5280 + move-object/from16 v0, v24
5282 + invoke-interface {v14, v0}, Ljava/util/List;->add(Ljava/lang/Object;)Z
5283 + :try_end_13a
5284 + .catchall {:try_start_135 .. :try_end_13a} :catchall_107
5285 + .catch Ljava/lang/Exception; {:try_start_135 .. :try_end_13a} :catch_ad
5287 + goto/16 :goto_90
5289 + :catchall_13c
5290 + move-exception v2
5292 + :try_start_13d
5293 + monitor-exit v4
5294 + :try_end_13e
5295 + .catchall {:try_start_13d .. :try_end_13e} :catchall_13c
5297 + throw v2
5299 + :catchall_13f
5300 + move-exception v2
5302 + :try_start_140
5303 + monitor-exit v4
5304 + :try_end_141
5305 + .catchall {:try_start_140 .. :try_end_141} :catchall_13f
5307 + throw v2
5309 + :cond_142
5310 + if-eqz v16, :cond_147
5312 + invoke-interface/range {v16 .. v16}, Landroid/database/Cursor;->close()V
5314 + :cond_147
5315 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5317 + monitor-enter v4
5319 + :try_start_14a
5320 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5322 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5324 + invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
5326 + move-result v2
5328 + add-int/lit8 v2, v2, -0x1
5330 + invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5332 + move-result-object v2
5334 + sput-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5336 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5338 + invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
5340 + move-result v2
5342 + if-nez v2, :cond_16d
5344 + if-eqz v3, :cond_16d
5346 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
5348 + move-result v2
5350 + if-eqz v2, :cond_16d
5352 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->close()V
5354 + :cond_16d
5355 + monitor-exit v4
5357 + goto/16 :goto_e6
5359 + :catchall_170
5360 + move-exception v2
5362 + monitor-exit v4
5363 + :try_end_172
5364 + .catchall {:try_start_14a .. :try_end_172} :catchall_170
5366 + throw v2
5367 +.end method
5369 +.method public declared-synchronized saveSettings(Landroid/privacy/PrivacySettings;)Z
5370 + .registers 27
5372 + monitor-enter p0
5374 + const/16 v18, 0x1
5376 + :try_start_3
5377 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getPackageName()Ljava/lang/String;
5379 + move-result-object v17
5381 + if-eqz v17, :cond_f
5383 + invoke-virtual/range {v17 .. v17}, Ljava/lang/String;->isEmpty()Z
5385 + move-result v3
5387 + if-eqz v3, :cond_1a
5389 + :cond_f
5390 + const-string v3, "PrivacyPersistenceAdapter"
5392 + const-string/jumbo v4, "saveSettings - either package name, UID or both is missing"
5394 + invoke-static {v3, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
5395 + :try_end_17
5396 + .catchall {:try_start_3 .. :try_end_17} :catchall_2c2
5398 + const/4 v3, 0x0
5400 + :goto_18
5401 + monitor-exit p0
5403 + return v3
5405 + :cond_1a
5406 + :try_start_1a
5407 + new-instance v23, Landroid/content/ContentValues;
5409 + invoke-direct/range {v23 .. v23}, Landroid/content/ContentValues;-><init>()V
5411 + const-string/jumbo v3, "packageName"
5413 + move-object/from16 v0, v23
5415 + move-object/from16 v1, v17
5417 + invoke-virtual {v0, v3, v1}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5419 + const-string/jumbo v3, "uid"
5421 + const/4 v4, -0x1
5423 + invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5425 + move-result-object v4
5427 + move-object/from16 v0, v23
5429 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
5431 + const-string v3, "deviceIdSetting"
5433 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
5435 + move-result v4
5437 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5439 + move-result-object v4
5441 + move-object/from16 v0, v23
5443 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5445 + const-string v3, "deviceId"
5447 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getDeviceId()Ljava/lang/String;
5449 + move-result-object v4
5451 + move-object/from16 v0, v23
5453 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5455 + const-string v3, "line1NumberSetting"
5457 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
5459 + move-result v4
5461 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5463 + move-result-object v4
5465 + move-object/from16 v0, v23
5467 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5469 + const-string v3, "line1Number"
5471 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLine1Number()Ljava/lang/String;
5473 + move-result-object v4
5475 + move-object/from16 v0, v23
5477 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5479 + const-string v3, "locationGpsSetting"
5481 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
5483 + move-result v4
5485 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5487 + move-result-object v4
5489 + move-object/from16 v0, v23
5491 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5493 + const-string v3, "locationGpsLat"
5495 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
5497 + move-result-object v4
5499 + move-object/from16 v0, v23
5501 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5503 + const-string v3, "locationGpsLon"
5505 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
5507 + move-result-object v4
5509 + move-object/from16 v0, v23
5511 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5513 + const-string v3, "locationNetworkSetting"
5515 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
5517 + move-result v4
5519 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5521 + move-result-object v4
5523 + move-object/from16 v0, v23
5525 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5527 + const-string v3, "locationNetworkLat"
5529 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
5531 + move-result-object v4
5533 + move-object/from16 v0, v23
5535 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5537 + const-string v3, "locationNetworkLon"
5539 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
5541 + move-result-object v4
5543 + move-object/from16 v0, v23
5545 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5547 + const-string/jumbo v3, "networkInfoSetting"
5549 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
5551 + move-result v4
5553 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5555 + move-result-object v4
5557 + move-object/from16 v0, v23
5559 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5561 + const-string/jumbo v3, "simInfoSetting"
5563 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSimInfoSetting()B
5565 + move-result v4
5567 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5569 + move-result-object v4
5571 + move-object/from16 v0, v23
5573 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5575 + const-string/jumbo v3, "simSerialNumberSetting"
5577 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSimSerialNumberSetting()B
5579 + move-result v4
5581 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5583 + move-result-object v4
5585 + move-object/from16 v0, v23
5587 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5589 + const-string/jumbo v3, "simSerialNumber"
5591 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSimSerialNumber()Ljava/lang/String;
5593 + move-result-object v4
5595 + move-object/from16 v0, v23
5597 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5599 + const-string/jumbo v3, "subscriberIdSetting"
5601 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSubscriberIdSetting()B
5603 + move-result v4
5605 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5607 + move-result-object v4
5609 + move-object/from16 v0, v23
5611 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5613 + const-string/jumbo v3, "subscriberId"
5615 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSubscriberId()Ljava/lang/String;
5617 + move-result-object v4
5619 + move-object/from16 v0, v23
5621 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5623 + const-string v3, "accountsSetting"
5625 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
5627 + move-result v4
5629 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5631 + move-result-object v4
5633 + move-object/from16 v0, v23
5635 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5637 + const-string v3, "accountsAuthTokensSetting"
5639 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
5641 + move-result v4
5643 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5645 + move-result-object v4
5647 + move-object/from16 v0, v23
5649 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5651 + const-string/jumbo v3, "outgoingCallsSetting"
5653 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getOutgoingCallsSetting()B
5655 + move-result v4
5657 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5659 + move-result-object v4
5661 + move-object/from16 v0, v23
5663 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5665 + const-string v3, "incomingCallsSetting"
5667 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getIncomingCallsSetting()B
5669 + move-result v4
5671 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5673 + move-result-object v4
5675 + move-object/from16 v0, v23
5677 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5679 + const-string v3, "contactsSetting"
5681 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getContactsSetting()B
5683 + move-result v4
5685 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5687 + move-result-object v4
5689 + move-object/from16 v0, v23
5691 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5693 + const-string v3, "calendarSetting"
5695 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getCalendarSetting()B
5697 + move-result v4
5699 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5701 + move-result-object v4
5703 + move-object/from16 v0, v23
5705 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5707 + const-string/jumbo v3, "mmsSetting"
5709 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getMmsSetting()B
5711 + move-result v4
5713 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5715 + move-result-object v4
5717 + move-object/from16 v0, v23
5719 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5721 + const-string/jumbo v3, "smsSetting"
5723 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSmsSetting()B
5725 + move-result v4
5727 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5729 + move-result-object v4
5731 + move-object/from16 v0, v23
5733 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5735 + const-string v3, "callLogSetting"
5737 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getCallLogSetting()B
5739 + move-result v4
5741 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5743 + move-result-object v4
5745 + move-object/from16 v0, v23
5747 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5749 + const-string v3, "bookmarksSetting"
5751 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getBookmarksSetting()B
5753 + move-result v4
5755 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5757 + move-result-object v4
5759 + move-object/from16 v0, v23
5761 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5763 + const-string/jumbo v3, "systemLogsSetting"
5765 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSystemLogsSetting()B
5767 + move-result v4
5769 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5771 + move-result-object v4
5773 + move-object/from16 v0, v23
5775 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5777 + const-string/jumbo v3, "notificationSetting"
5779 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getNotificationSetting()B
5781 + move-result v4
5783 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5785 + move-result-object v4
5787 + move-object/from16 v0, v23
5789 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5791 + const-string v3, "intentBootCompletedSetting"
5793 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getIntentBootCompletedSetting()B
5795 + move-result v4
5797 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5799 + move-result-object v4
5801 + move-object/from16 v0, v23
5803 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5805 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5807 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5809 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
5811 + move-result v3
5813 + add-int/lit8 v3, v3, 0x1
5815 + invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5817 + move-result-object v3
5819 + sput-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5821 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
5823 + move-result-object v2
5825 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->beginTransaction()V
5826 + :try_end_1eb
5827 + .catchall {:try_start_1a .. :try_end_1eb} :catchall_2c2
5829 + const/4 v11, 0x0
5831 + :try_start_1ec
5832 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->get_id()Ljava/lang/Integer;
5834 + move-result-object v15
5836 + if-eqz v15, :cond_2c8
5838 + const-string/jumbo v3, "settings"
5840 + const-string v4, "_id=?"
5842 + const/4 v5, 0x1
5844 + new-array v5, v5, [Ljava/lang/String;
5846 + const/4 v6, 0x0
5848 + invoke-virtual {v15}, Ljava/lang/Integer;->toString()Ljava/lang/String;
5850 + move-result-object v7
5852 + aput-object v7, v5, v6
5854 + move-object/from16 v0, v23
5856 + invoke-virtual {v2, v3, v0, v4, v5}, Landroid/database/sqlite/SQLiteDatabase;->update(Ljava/lang/String;Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;)I
5858 + move-result v3
5860 + const/4 v4, 0x1
5862 + if-ge v3, v4, :cond_249
5864 + new-instance v3, Ljava/lang/Exception;
5866 + const-string/jumbo v4, "saveSettings - failed to update database entry"
5868 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
5870 + throw v3
5871 + :try_end_213
5872 + .catchall {:try_start_1ec .. :try_end_213} :catchall_291
5873 + .catch Ljava/lang/Exception; {:try_start_1ec .. :try_end_213} :catch_213
5875 + :catch_213
5876 + move-exception v13
5878 + const/16 v18, 0x0
5880 + :try_start_216
5881 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
5883 + if-eqz v11, :cond_21e
5885 + invoke-interface {v11}, Landroid/database/Cursor;->close()V
5887 + :cond_21e
5888 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5890 + monitor-enter v4
5891 + :try_end_221
5892 + .catchall {:try_start_216 .. :try_end_221} :catchall_2c2
5894 + :try_start_221
5895 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5897 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5899 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
5901 + move-result v3
5903 + add-int/lit8 v3, v3, -0x1
5905 + invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5907 + move-result-object v3
5909 + sput-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5911 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5913 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
5915 + move-result v3
5917 + if-nez v3, :cond_244
5919 + if-eqz v2, :cond_244
5921 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
5923 + move-result v3
5925 + if-eqz v3, :cond_244
5927 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
5929 + :cond_244
5930 + monitor-exit v4
5931 + :try_end_245
5932 + .catchall {:try_start_221 .. :try_end_245} :catchall_4ca
5934 + :goto_245
5935 + move/from16 v3, v18
5937 + goto/16 :goto_18
5939 + :cond_249
5940 + :try_start_249
5941 + const-string v3, "allowed_contacts"
5943 + const-string/jumbo v4, "settings_id=?"
5945 + const/4 v5, 0x1
5947 + new-array v5, v5, [Ljava/lang/String;
5949 + const/4 v6, 0x0
5951 + invoke-virtual {v15}, Ljava/lang/Integer;->toString()Ljava/lang/String;
5953 + move-result-object v7
5955 + aput-object v7, v5, v6
5957 + invoke-virtual {v2, v3, v4, v5}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
5959 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAllowedContacts()[I
5961 + move-result-object v10
5963 + if-eqz v10, :cond_3f2
5965 + new-instance v12, Landroid/content/ContentValues;
5967 + invoke-direct {v12}, Landroid/content/ContentValues;-><init>()V
5969 + const/4 v14, 0x0
5971 + :goto_267
5972 + array-length v3, v10
5974 + if-ge v14, v3, :cond_3f2
5976 + const-string/jumbo v3, "settings_id"
5978 + invoke-virtual {v12, v3, v15}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
5980 + const-string v3, "contact_id"
5982 + aget v4, v10, v14
5984 + invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5986 + move-result-object v4
5988 + invoke-virtual {v12, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
5990 + const-string v3, "allowed_contacts"
5992 + const/4 v4, 0x0
5994 + invoke-virtual {v2, v3, v4, v12}, Landroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
5996 + move-result-wide v3
5998 + const-wide/16 v5, -0x1
6000 + cmp-long v3, v3, v5
6002 + if-nez v3, :cond_2c5
6004 + new-instance v3, Ljava/lang/Exception;
6006 + const-string/jumbo v4, "saveSettings - failed to update database entry (contacts)"
6008 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
6010 + throw v3
6011 + :try_end_291
6012 + .catchall {:try_start_249 .. :try_end_291} :catchall_291
6013 + .catch Ljava/lang/Exception; {:try_start_249 .. :try_end_291} :catch_213
6015 + :catchall_291
6016 + move-exception v3
6018 + :try_start_292
6019 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
6021 + if-eqz v11, :cond_29a
6023 + invoke-interface {v11}, Landroid/database/Cursor;->close()V
6025 + :cond_29a
6026 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6028 + monitor-enter v4
6029 + :try_end_29d
6030 + .catchall {:try_start_292 .. :try_end_29d} :catchall_2c2
6032 + :try_start_29d
6033 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6035 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6037 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
6039 + move-result v5
6041 + add-int/lit8 v5, v5, -0x1
6043 + invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
6045 + move-result-object v5
6047 + sput-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6049 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6051 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
6053 + move-result v5
6055 + if-nez v5, :cond_2c0
6057 + if-eqz v2, :cond_2c0
6059 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
6061 + move-result v5
6063 + if-eqz v5, :cond_2c0
6065 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
6067 + :cond_2c0
6068 + monitor-exit v4
6069 + :try_end_2c1
6070 + .catchall {:try_start_29d .. :try_end_2c1} :catchall_4cd
6072 + :try_start_2c1
6073 + throw v3
6074 + :try_end_2c2
6075 + .catchall {:try_start_2c1 .. :try_end_2c2} :catchall_2c2
6077 + :catchall_2c2
6078 + move-exception v3
6080 + monitor-exit p0
6082 + throw v3
6084 + :cond_2c5
6085 + add-int/lit8 v14, v14, 0x1
6087 + goto :goto_267
6089 + :cond_2c8
6090 + :try_start_2c8
6091 + const-string/jumbo v3, "settings"
6093 + const/4 v4, 0x1
6095 + new-array v4, v4, [Ljava/lang/String;
6097 + const/4 v5, 0x0
6099 + const-string v6, "_id"
6101 + aput-object v6, v4, v5
6103 + const-string/jumbo v5, "packageName=?"
6105 + const/4 v6, 0x1
6107 + new-array v6, v6, [Ljava/lang/String;
6109 + const/4 v7, 0x0
6111 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getPackageName()Ljava/lang/String;
6113 + move-result-object v8
6115 + aput-object v8, v6, v7
6117 + const/4 v7, 0x0
6119 + const/4 v8, 0x0
6121 + const/4 v9, 0x0
6123 + invoke-virtual/range {v2 .. v9}, Landroid/database/sqlite/SQLiteDatabase;->query(Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;
6125 + move-result-object v11
6127 + if-eqz v11, :cond_3e7
6129 + invoke-interface {v11}, Landroid/database/Cursor;->getCount()I
6131 + move-result v3
6133 + const/4 v4, 0x1
6135 + if-ne v3, v4, :cond_36e
6137 + const-string/jumbo v3, "settings"
6139 + const-string/jumbo v4, "packageName=?"
6141 + const/4 v5, 0x1
6143 + new-array v5, v5, [Ljava/lang/String;
6145 + const/4 v6, 0x0
6147 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getPackageName()Ljava/lang/String;
6149 + move-result-object v7
6151 + aput-object v7, v5, v6
6153 + move-object/from16 v0, v23
6155 + invoke-virtual {v2, v3, v0, v4, v5}, Landroid/database/sqlite/SQLiteDatabase;->update(Ljava/lang/String;Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;)I
6157 + move-result v3
6159 + const/4 v4, 0x1
6161 + if-ge v3, v4, :cond_312
6163 + new-instance v3, Ljava/lang/Exception;
6165 + const-string/jumbo v4, "saveSettings - failed to update database entry"
6167 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
6169 + throw v3
6171 + :cond_312
6172 + invoke-interface {v11}, Landroid/database/Cursor;->moveToFirst()Z
6174 + move-result v3
6176 + if-eqz v3, :cond_3f2
6178 + const/4 v3, 0x0
6180 + invoke-interface {v11, v3}, Landroid/database/Cursor;->getInt(I)I
6182 + move-result v3
6184 + invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
6186 + move-result-object v16
6188 + const-string v3, "allowed_contacts"
6190 + const-string/jumbo v4, "settings_id=?"
6192 + const/4 v5, 0x1
6194 + new-array v5, v5, [Ljava/lang/String;
6196 + const/4 v6, 0x0
6198 + invoke-virtual/range {v16 .. v16}, Ljava/lang/Integer;->toString()Ljava/lang/String;
6200 + move-result-object v7
6202 + aput-object v7, v5, v6
6204 + invoke-virtual {v2, v3, v4, v5}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
6206 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAllowedContacts()[I
6208 + move-result-object v10
6210 + if-eqz v10, :cond_3f2
6212 + new-instance v12, Landroid/content/ContentValues;
6214 + invoke-direct {v12}, Landroid/content/ContentValues;-><init>()V
6216 + const/4 v14, 0x0
6218 + :goto_33f
6219 + array-length v3, v10
6221 + if-ge v14, v3, :cond_3f2
6223 + const-string/jumbo v3, "settings_id"
6225 + move-object/from16 v0, v16
6227 + invoke-virtual {v12, v3, v0}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
6229 + const-string v3, "contact_id"
6231 + aget v4, v10, v14
6233 + invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
6235 + move-result-object v4
6237 + invoke-virtual {v12, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
6239 + const-string v3, "allowed_contacts"
6241 + const/4 v4, 0x0
6243 + invoke-virtual {v2, v3, v4, v12}, Landroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
6245 + move-result-wide v3
6247 + const-wide/16 v5, -0x1
6249 + cmp-long v3, v3, v5
6251 + if-nez v3, :cond_36b
6253 + new-instance v3, Ljava/lang/Exception;
6255 + const-string/jumbo v4, "saveSettings - failed to update database entry (contacts)"
6257 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
6259 + throw v3
6261 + :cond_36b
6262 + add-int/lit8 v14, v14, 0x1
6264 + goto :goto_33f
6266 + :cond_36e
6267 + invoke-interface {v11}, Landroid/database/Cursor;->getCount()I
6269 + move-result v3
6271 + if-nez v3, :cond_3dc
6273 + const-string/jumbo v3, "settings"
6275 + const/4 v4, 0x0
6277 + move-object/from16 v0, v23
6279 + invoke-virtual {v2, v3, v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
6281 + move-result-wide v19
6283 + const-wide/16 v3, -0x1
6285 + cmp-long v3, v19, v3
6287 + if-nez v3, :cond_38d
6289 + new-instance v3, Ljava/lang/Exception;
6291 + const-string/jumbo v4, "saveSettings - failed to insert new record into DB"
6293 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
6295 + throw v3
6297 + :cond_38d
6298 + const-string v3, "allowed_contacts"
6300 + const-string/jumbo v4, "settings_id=?"
6302 + const/4 v5, 0x1
6304 + new-array v5, v5, [Ljava/lang/String;
6306 + const/4 v6, 0x0
6308 + invoke-static/range {v19 .. v20}, Ljava/lang/Long;->toString(J)Ljava/lang/String;
6310 + move-result-object v7
6312 + aput-object v7, v5, v6
6314 + invoke-virtual {v2, v3, v4, v5}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
6316 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAllowedContacts()[I
6318 + move-result-object v10
6320 + if-eqz v10, :cond_3f2
6322 + new-instance v12, Landroid/content/ContentValues;
6324 + invoke-direct {v12}, Landroid/content/ContentValues;-><init>()V
6326 + const/4 v14, 0x0
6328 + :goto_3ab
6329 + array-length v3, v10
6331 + if-ge v14, v3, :cond_3f2
6333 + const-string/jumbo v3, "settings_id"
6335 + invoke-static/range {v19 .. v20}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
6337 + move-result-object v4
6339 + invoke-virtual {v12, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Long;)V
6341 + const-string v3, "contact_id"
6343 + aget v4, v10, v14
6345 + invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
6347 + move-result-object v4
6349 + invoke-virtual {v12, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
6351 + const-string v3, "allowed_contacts"
6353 + const/4 v4, 0x0
6355 + invoke-virtual {v2, v3, v4, v12}, Landroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
6357 + move-result-wide v3
6359 + const-wide/16 v5, -0x1
6361 + cmp-long v3, v3, v5
6363 + if-nez v3, :cond_3d9
6365 + new-instance v3, Ljava/lang/Exception;
6367 + const-string/jumbo v4, "saveSettings - failed to update database entry (contacts)"
6369 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
6371 + throw v3
6373 + :cond_3d9
6374 + add-int/lit8 v14, v14, 0x1
6376 + goto :goto_3ab
6378 + :cond_3dc
6379 + const/16 v18, 0x0
6381 + new-instance v3, Ljava/lang/Exception;
6383 + const-string/jumbo v4, "saveSettings - duplicate entries in the privacy.db"
6385 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
6387 + throw v3
6389 + :cond_3e7
6390 + const/16 v18, 0x0
6392 + new-instance v3, Ljava/lang/Exception;
6394 + const-string/jumbo v4, "saveSettings - cursor is null, database access failed"
6396 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
6398 + throw v3
6400 + :cond_3f2
6401 + new-instance v21, Ljava/io/File;
6403 + new-instance v3, Ljava/lang/StringBuilder;
6405 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
6407 + const-string v4, "/data/system/privacy/"
6409 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6411 + move-result-object v3
6413 + move-object/from16 v0, v17
6415 + invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6417 + move-result-object v3
6419 + const-string v4, "/"
6421 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6423 + move-result-object v3
6425 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6427 + move-result-object v3
6429 + move-object/from16 v0, v21
6431 + invoke-direct {v0, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
6433 + new-instance v22, Ljava/io/File;
6435 + new-instance v3, Ljava/lang/StringBuilder;
6437 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
6439 + const-string v4, "/data/system/privacy/"
6441 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6443 + move-result-object v3
6445 + move-object/from16 v0, v17
6447 + invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6449 + move-result-object v3
6451 + const-string v4, "/"
6453 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6455 + move-result-object v3
6457 + const-string v4, "/systemLogsSetting"
6459 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6461 + move-result-object v3
6463 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6465 + move-result-object v3
6467 + move-object/from16 v0, v22
6469 + invoke-direct {v0, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
6470 + :try_end_43c
6471 + .catchall {:try_start_2c8 .. :try_end_43c} :catchall_291
6472 + .catch Ljava/lang/Exception; {:try_start_2c8 .. :try_end_43c} :catch_213
6474 + :try_start_43c
6475 + invoke-virtual/range {v21 .. v21}, Ljava/io/File;->mkdirs()Z
6477 + const/4 v3, 0x1
6479 + const/4 v4, 0x0
6481 + move-object/from16 v0, v21
6483 + invoke-virtual {v0, v3, v4}, Ljava/io/File;->setReadable(ZZ)Z
6485 + const/4 v3, 0x1
6487 + const/4 v4, 0x0
6489 + move-object/from16 v0, v21
6491 + invoke-virtual {v0, v3, v4}, Ljava/io/File;->setExecutable(ZZ)Z
6493 + invoke-virtual/range {v22 .. v22}, Ljava/io/File;->createNewFile()Z
6495 + const/4 v3, 0x1
6497 + const/4 v4, 0x0
6499 + move-object/from16 v0, v22
6501 + invoke-virtual {v0, v3, v4}, Ljava/io/File;->setReadable(ZZ)Z
6503 + new-instance v24, Ljava/io/OutputStreamWriter;
6505 + new-instance v3, Ljava/io/FileOutputStream;
6507 + move-object/from16 v0, v22
6509 + invoke-direct {v3, v0}, Ljava/io/FileOutputStream;-><init>(Ljava/io/File;)V
6511 + move-object/from16 v0, v24
6513 + invoke-direct {v0, v3}, Ljava/io/OutputStreamWriter;-><init>(Ljava/io/OutputStream;)V
6515 + new-instance v3, Ljava/lang/StringBuilder;
6517 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
6519 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSystemLogsSetting()B
6521 + move-result v4
6523 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
6525 + move-result-object v3
6527 + const-string v4, ""
6529 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6531 + move-result-object v3
6533 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6535 + move-result-object v3
6537 + move-object/from16 v0, v24
6539 + invoke-virtual {v0, v3}, Ljava/io/OutputStreamWriter;->append(Ljava/lang/CharSequence;)Ljava/io/Writer;
6541 + invoke-virtual/range {v24 .. v24}, Ljava/io/OutputStreamWriter;->flush()V
6543 + invoke-virtual/range {v24 .. v24}, Ljava/io/OutputStreamWriter;->close()V
6544 + :try_end_487
6545 + .catchall {:try_start_43c .. :try_end_487} :catchall_291
6546 + .catch Ljava/io/IOException; {:try_start_43c .. :try_end_487} :catch_4be
6547 + .catch Ljava/lang/Exception; {:try_start_43c .. :try_end_487} :catch_213
6549 + :try_start_487
6550 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->setTransactionSuccessful()V
6551 + :try_end_48a
6552 + .catchall {:try_start_487 .. :try_end_48a} :catchall_291
6553 + .catch Ljava/lang/Exception; {:try_start_487 .. :try_end_48a} :catch_213
6555 + :try_start_48a
6556 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
6558 + if-eqz v11, :cond_492
6560 + invoke-interface {v11}, Landroid/database/Cursor;->close()V
6562 + :cond_492
6563 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6565 + monitor-enter v4
6566 + :try_end_495
6567 + .catchall {:try_start_48a .. :try_end_495} :catchall_2c2
6569 + :try_start_495
6570 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6572 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6574 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
6576 + move-result v3
6578 + add-int/lit8 v3, v3, -0x1
6580 + invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
6582 + move-result-object v3
6584 + sput-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6586 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6588 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
6590 + move-result v3
6592 + if-nez v3, :cond_4b8
6594 + if-eqz v2, :cond_4b8
6596 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
6598 + move-result v3
6600 + if-eqz v3, :cond_4b8
6602 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
6604 + :cond_4b8
6605 + monitor-exit v4
6607 + goto/16 :goto_245
6609 + :catchall_4bb
6610 + move-exception v3
6612 + monitor-exit v4
6613 + :try_end_4bd
6614 + .catchall {:try_start_495 .. :try_end_4bd} :catchall_4bb
6616 + :try_start_4bd
6617 + throw v3
6618 + :try_end_4be
6619 + .catchall {:try_start_4bd .. :try_end_4be} :catchall_2c2
6621 + :catch_4be
6622 + move-exception v13
6624 + const/16 v18, 0x0
6626 + :try_start_4c1
6627 + new-instance v3, Ljava/lang/Exception;
6629 + const-string/jumbo v4, "saveSettings - could not write settings to file"
6631 + invoke-direct {v3, v4, v13}, Ljava/lang/Exception;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
6633 + throw v3
6634 + :try_end_4ca
6635 + .catchall {:try_start_4c1 .. :try_end_4ca} :catchall_291
6636 + .catch Ljava/lang/Exception; {:try_start_4c1 .. :try_end_4ca} :catch_213
6638 + :catchall_4ca
6639 + move-exception v3
6641 + :try_start_4cb
6642 + monitor-exit v4
6643 + :try_end_4cc
6644 + .catchall {:try_start_4cb .. :try_end_4cc} :catchall_4ca
6646 + :try_start_4cc
6647 + throw v3
6648 + :try_end_4cd
6649 + .catchall {:try_start_4cc .. :try_end_4cd} :catchall_2c2
6651 + :catchall_4cd
6652 + move-exception v3
6654 + :try_start_4ce
6655 + monitor-exit v4
6656 + :try_end_4cf
6657 + .catchall {:try_start_4ce .. :try_end_4cf} :catchall_4cd
6659 + :try_start_4cf
6660 + throw v3
6661 + :try_end_4d0
6662 + .catchall {:try_start_4cf .. :try_end_4d0} :catchall_2c2
6663 +.end method
6665 +.method public declared-synchronized setValue(Ljava/lang/String;Ljava/lang/String;)Z
6666 + .registers 10
6668 + monitor-enter p0
6670 + :try_start_1
6671 + const-string v3, "PrivacyPersistenceAdapter"
6673 + new-instance v4, Ljava/lang/StringBuilder;
6675 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
6677 + const-string/jumbo v5, "setValue - name "
6679 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6681 + move-result-object v4
6683 + invoke-virtual {v4, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6685 + move-result-object v4
6687 + const-string v5, " value "
6689 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6691 + move-result-object v4
6693 + invoke-virtual {v4, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6695 + move-result-object v4
6697 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6699 + move-result-object v4
6701 + invoke-static {v3, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
6703 + new-instance v2, Landroid/content/ContentValues;
6705 + invoke-direct {v2}, Landroid/content/ContentValues;-><init>()V
6707 + const-string/jumbo v3, "name"
6709 + invoke-virtual {v2, v3, p1}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
6711 + const-string/jumbo v3, "value"
6713 + invoke-virtual {v2, v3, p2}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
6715 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
6717 + move-result-object v0
6719 + const-string/jumbo v3, "map"
6721 + const/4 v4, 0x0
6723 + invoke-virtual {v0, v3, v4, v2}, Landroid/database/sqlite/SQLiteDatabase;->replace(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
6725 + move-result-wide v3
6727 + const-wide/16 v5, -0x1
6729 + cmp-long v3, v3, v5
6731 + if-eqz v3, :cond_5d
6733 + const/4 v1, 0x1
6735 + :goto_48
6736 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6738 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
6740 + move-result v3
6742 + if-nez v3, :cond_5b
6744 + if-eqz v0, :cond_5b
6746 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
6748 + move-result v3
6750 + if-eqz v3, :cond_5b
6752 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
6753 + :try_end_5b
6754 + .catchall {:try_start_1 .. :try_end_5b} :catchall_5f
6756 + :cond_5b
6757 + monitor-exit p0
6759 + return v1
6761 + :cond_5d
6762 + const/4 v1, 0x0
6764 + goto :goto_48
6766 + :catchall_5f
6767 + move-exception v3
6769 + monitor-exit p0
6771 + throw v3
6772 +.end method
6773 diff -Npru stock-framework/smali/android/privacy/PrivacySettings$1.smali pdroid-framework/smali/android/privacy/PrivacySettings$1.smali
6774 --- stock-framework/smali/android/privacy/PrivacySettings$1.smali 1969-12-31 18:00:00.000000000 -0600
6775 +++ pdroid-framework/smali/android/privacy/PrivacySettings$1.smali 2012-08-06 13:25:00.023455125 -0500
6776 @@ -0,0 +1,77 @@
6777 +.class final Landroid/privacy/PrivacySettings$1;
6778 +.super Ljava/lang/Object;
6779 +.source "PrivacySettings.java"
6781 +# interfaces
6782 +.implements Landroid/os/Parcelable$Creator;
6785 +# annotations
6786 +.annotation system Ldalvik/annotation/EnclosingClass;
6787 + value = Landroid/privacy/PrivacySettings;
6788 +.end annotation
6790 +.annotation system Ldalvik/annotation/InnerClass;
6791 + accessFlags = 0x8
6792 + name = null
6793 +.end annotation
6795 +.annotation system Ldalvik/annotation/Signature;
6796 + value = {
6797 + "Ljava/lang/Object;",
6798 + "Landroid/os/Parcelable$Creator",
6799 + "<",
6800 + "Landroid/privacy/PrivacySettings;",
6801 + ">;"
6803 +.end annotation
6806 +# direct methods
6807 +.method constructor <init>()V
6808 + .registers 1
6810 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
6812 + return-void
6813 +.end method
6816 +# virtual methods
6817 +.method public createFromParcel(Landroid/os/Parcel;)Landroid/privacy/PrivacySettings;
6818 + .registers 3
6820 + new-instance v0, Landroid/privacy/PrivacySettings;
6822 + invoke-direct {v0, p1}, Landroid/privacy/PrivacySettings;-><init>(Landroid/os/Parcel;)V
6824 + return-object v0
6825 +.end method
6827 +.method public bridge synthetic createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
6828 + .registers 3
6830 + invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettings$1;->createFromParcel(Landroid/os/Parcel;)Landroid/privacy/PrivacySettings;
6832 + move-result-object v0
6834 + return-object v0
6835 +.end method
6837 +.method public newArray(I)[Landroid/privacy/PrivacySettings;
6838 + .registers 3
6840 + new-array v0, p1, [Landroid/privacy/PrivacySettings;
6842 + return-object v0
6843 +.end method
6845 +.method public bridge synthetic newArray(I)[Ljava/lang/Object;
6846 + .registers 3
6848 + invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettings$1;->newArray(I)[Landroid/privacy/PrivacySettings;
6850 + move-result-object v0
6852 + return-object v0
6853 +.end method
6854 diff -Npru stock-framework/smali/android/privacy/PrivacySettingsManagerService.smali pdroid-framework/smali/android/privacy/PrivacySettingsManagerService.smali
6855 --- stock-framework/smali/android/privacy/PrivacySettingsManagerService.smali 1969-12-31 18:00:00.000000000 -0600
6856 +++ pdroid-framework/smali/android/privacy/PrivacySettingsManagerService.smali 2012-08-06 13:25:00.027455145 -0500
6857 @@ -0,0 +1,535 @@
6858 +.class public Landroid/privacy/PrivacySettingsManagerService;
6859 +.super Landroid/privacy/IPrivacySettingsManager$Stub;
6860 +.source "PrivacySettingsManagerService.java"
6863 +# static fields
6864 +.field private static final TAG:Ljava/lang/String; = "PrivacySettingsManagerService"
6866 +.field private static final VERSION:D = 1.32
6868 +.field private static final WRITE_PRIVACY_SETTINGS:Ljava/lang/String; = "android.privacy.WRITE_PRIVACY_SETTINGS"
6870 +.field public static obs:Landroid/privacy/PrivacyFileObserver;
6873 +# instance fields
6874 +.field private bootCompleted:Z
6876 +.field private context:Landroid/content/Context;
6878 +.field private enabled:Z
6880 +.field private notificationsEnabled:Z
6882 +.field private persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
6885 +# direct methods
6886 +.method public constructor <init>(Landroid/content/Context;)V
6887 + .registers 5
6889 + invoke-direct {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;-><init>()V
6891 + const-string v0, "PrivacySettingsManagerService"
6893 + new-instance v1, Ljava/lang/StringBuilder;
6895 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
6897 + const-string v2, "PrivacySettingsManagerService - initializing for package: "
6899 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6901 + move-result-object v1
6903 + invoke-virtual {p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
6905 + move-result-object v2
6907 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6909 + move-result-object v1
6911 + const-string v2, " UID: "
6913 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6915 + move-result-object v1
6917 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
6919 + move-result v2
6921 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
6923 + move-result-object v1
6925 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6927 + move-result-object v1
6929 + invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
6931 + iput-object p1, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
6933 + new-instance v0, Landroid/privacy/PrivacyPersistenceAdapter;
6935 + invoke-direct {v0, p1}, Landroid/privacy/PrivacyPersistenceAdapter;-><init>(Landroid/content/Context;)V
6937 + iput-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
6939 + new-instance v0, Landroid/privacy/PrivacyFileObserver;
6941 + const-string v1, "/data/system/privacy"
6943 + invoke-direct {v0, v1, p0}, Landroid/privacy/PrivacyFileObserver;-><init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
6945 + sput-object v0, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
6947 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
6949 + const-string v1, "enabled"
6951 + invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->getValue(Ljava/lang/String;)Ljava/lang/String;
6953 + move-result-object v0
6955 + const-string v1, "1"
6957 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
6959 + move-result v0
6961 + iput-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->enabled:Z
6963 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
6965 + const-string/jumbo v1, "notifications_enabled"
6967 + invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->getValue(Ljava/lang/String;)Ljava/lang/String;
6969 + move-result-object v0
6971 + const-string v1, "1"
6973 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
6975 + move-result v0
6977 + iput-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->notificationsEnabled:Z
6979 + const/4 v0, 0x0
6981 + iput-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->bootCompleted:Z
6983 + return-void
6984 +.end method
6987 +# virtual methods
6988 +.method public addObserver(Ljava/lang/String;)V
6989 + .registers 5
6991 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
6993 + const-string v1, "android.privacy.WRITE_PRIVACY_SETTINGS"
6995 + const-string v2, "Requires WRITE_PRIVACY_SETTINGS"
6997 + invoke-virtual {v0, v1, v2}, Landroid/content/Context;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
6999 + sget-object v0, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
7001 + invoke-virtual {v0, p1}, Landroid/privacy/PrivacyFileObserver;->addObserver(Ljava/lang/String;)V
7003 + return-void
7004 +.end method
7006 +.method public deleteSettings(Ljava/lang/String;)Z
7007 + .registers 8
7009 + const/4 v5, 0x1
7011 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
7013 + move-result v2
7015 + const/16 v3, 0x3e8
7017 + if-eq v2, v3, :cond_12
7019 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
7021 + const-string v3, "android.privacy.WRITE_PRIVACY_SETTINGS"
7023 + const-string v4, "Requires WRITE_PRIVACY_SETTINGS"
7025 + invoke-virtual {v2, v3, v4}, Landroid/content/Context;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
7027 + :cond_12
7028 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
7030 + invoke-virtual {v2, p1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteSettings(Ljava/lang/String;)Z
7032 + move-result v1
7034 + new-instance v2, Ljava/lang/StringBuilder;
7036 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
7038 + const-string v3, "/data/system/privacy/"
7040 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7042 + move-result-object v2
7044 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7046 + move-result-object v2
7048 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
7050 + move-result-object v0
7052 + new-instance v2, Ljava/io/File;
7054 + invoke-direct {v2, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
7056 + invoke-virtual {v2}, Ljava/io/File;->exists()Z
7058 + move-result v2
7060 + if-eqz v2, :cond_3e
7062 + if-ne v1, v5, :cond_3e
7064 + sget-object v2, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
7066 + invoke-virtual {v2, v0}, Landroid/privacy/PrivacyFileObserver;->addObserver(Ljava/lang/String;)V
7068 + :cond_3d
7069 + :goto_3d
7070 + return v1
7072 + :cond_3e
7073 + if-ne v1, v5, :cond_3d
7075 + sget-object v2, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
7077 + iget-object v2, v2, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap;
7079 + invoke-virtual {v2, v0}, Ljava/util/HashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
7081 + goto :goto_3d
7082 +.end method
7084 +.method public getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
7085 + .registers 4
7087 + iget-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->enabled:Z
7089 + if-nez v0, :cond_12
7091 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
7093 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
7095 + move-result-object v0
7097 + const-string v1, "com.privacy.pdroid"
7099 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
7101 + move-result v0
7103 + if-eqz v0, :cond_1a
7105 + :cond_12
7106 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
7108 + const/4 v1, 0x0
7110 + invoke-virtual {v0, p1, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->getSettings(Ljava/lang/String;Z)Landroid/privacy/PrivacySettings;
7112 + move-result-object v0
7114 + :goto_19
7115 + return-object v0
7117 + :cond_1a
7118 + const/4 v0, 0x0
7120 + goto :goto_19
7121 +.end method
7123 +.method public getVersion()D
7124 + .registers 3
7126 + const-wide v0, 0x3ff51eb851eb851fL
7128 + return-wide v0
7129 +.end method
7131 +.method public notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
7132 + .registers 8
7134 + iget-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->bootCompleted:Z
7136 + if-eqz v1, :cond_34
7138 + iget-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->notificationsEnabled:Z
7140 + if-eqz v1, :cond_34
7142 + new-instance v0, Landroid/content/Intent;
7144 + invoke-direct {v0}, Landroid/content/Intent;-><init>()V
7146 + const-string v1, "com.privacy.pdroid.PRIVACY_NOTIFICATION"
7148 + invoke-virtual {v0, v1}, Landroid/content/Intent;->setAction(Ljava/lang/String;)Landroid/content/Intent;
7150 + const-string/jumbo v1, "packageName"
7152 + invoke-virtual {v0, v1, p1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
7154 + const-string/jumbo v1, "uid"
7156 + const/4 v2, -0x1
7158 + invoke-virtual {v0, v1, v2}, Landroid/content/Intent;->putExtra(Ljava/lang/String;I)Landroid/content/Intent;
7160 + const-string v1, "accessMode"
7162 + invoke-virtual {v0, v1, p2}, Landroid/content/Intent;->putExtra(Ljava/lang/String;B)Landroid/content/Intent;
7164 + const-string v1, "dataType"
7166 + invoke-virtual {v0, v1, p3}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
7168 + const-string/jumbo v1, "output"
7170 + invoke-virtual {v0, v1, p4}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
7172 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
7174 + invoke-virtual {v1, v0}, Landroid/content/Context;->sendBroadcast(Landroid/content/Intent;)V
7176 + :cond_34
7177 + return-void
7178 +.end method
7180 +.method public purgeSettings()Z
7181 + .registers 2
7183 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
7185 + invoke-virtual {v0}, Landroid/privacy/PrivacyPersistenceAdapter;->purgeSettings()Z
7187 + move-result v0
7189 + return v0
7190 +.end method
7192 +.method public registerObservers()V
7193 + .registers 4
7195 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
7197 + const-string v1, "android.privacy.WRITE_PRIVACY_SETTINGS"
7199 + const-string v2, "Requires WRITE_PRIVACY_SETTINGS"
7201 + invoke-virtual {v0, v1, v2}, Landroid/content/Context;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
7203 + new-instance v0, Landroid/privacy/PrivacyFileObserver;
7205 + const-string v1, "/data/system/privacy"
7207 + invoke-direct {v0, v1, p0}, Landroid/privacy/PrivacyFileObserver;-><init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
7209 + sput-object v0, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
7211 + return-void
7212 +.end method
7214 +.method public saveSettings(Landroid/privacy/PrivacySettings;)Z
7215 + .registers 6
7217 + const-string v1, "PrivacySettingsManagerService"
7219 + new-instance v2, Ljava/lang/StringBuilder;
7221 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
7223 + const-string/jumbo v3, "saveSettings - checking if caller (UID: "
7225 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7227 + move-result-object v2
7229 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
7231 + move-result v3
7233 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
7235 + move-result-object v2
7237 + const-string v3, ") has sufficient permissions"
7239 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7241 + move-result-object v2
7243 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
7245 + move-result-object v2
7247 + invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
7249 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
7251 + move-result v1
7253 + const/16 v2, 0x3e8
7255 + if-eq v1, v2, :cond_34
7257 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
7259 + const-string v2, "android.privacy.WRITE_PRIVACY_SETTINGS"
7261 + const-string v3, "Requires WRITE_PRIVACY_SETTINGS"
7263 + invoke-virtual {v1, v2, v3}, Landroid/content/Context;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
7265 + :cond_34
7266 + const-string v1, "PrivacySettingsManagerService"
7268 + new-instance v2, Ljava/lang/StringBuilder;
7270 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
7272 + const-string/jumbo v3, "saveSettings - "
7274 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7276 + move-result-object v2
7278 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
7280 + move-result-object v2
7282 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
7284 + move-result-object v2
7286 + invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
7288 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
7290 + invoke-virtual {v1, p1}, Landroid/privacy/PrivacyPersistenceAdapter;->saveSettings(Landroid/privacy/PrivacySettings;)Z
7292 + move-result v0
7294 + const/4 v1, 0x1
7296 + if-ne v0, v1, :cond_5f
7298 + sget-object v1, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
7300 + invoke-virtual {p1}, Landroid/privacy/PrivacySettings;->getPackageName()Ljava/lang/String;
7302 + move-result-object v2
7304 + invoke-virtual {v1, v2}, Landroid/privacy/PrivacyFileObserver;->addObserver(Ljava/lang/String;)V
7306 + :cond_5f
7307 + return v0
7308 +.end method
7310 +.method public setBootCompleted()V
7311 + .registers 2
7313 + const/4 v0, 0x1
7315 + iput-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->bootCompleted:Z
7317 + return-void
7318 +.end method
7320 +.method public setEnabled(Z)Z
7321 + .registers 6
7323 + const/4 v1, 0x1
7325 + if-eqz p1, :cond_12
7327 + const-string v0, "1"
7329 + :goto_5
7330 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
7332 + const-string v3, "enabled"
7334 + invoke-virtual {v2, v3, v0}, Landroid/privacy/PrivacyPersistenceAdapter;->setValue(Ljava/lang/String;Ljava/lang/String;)Z
7336 + move-result v2
7338 + if-eqz v2, :cond_15
7340 + iput-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->enabled:Z
7342 + :goto_11
7343 + return v1
7345 + :cond_12
7346 + const-string v0, "0"
7348 + goto :goto_5
7350 + :cond_15
7351 + const/4 v1, 0x0
7353 + goto :goto_11
7354 +.end method
7356 +.method public setNotificationsEnabled(Z)Z
7357 + .registers 6
7359 + const/4 v1, 0x1
7361 + if-eqz p1, :cond_15
7363 + const-string v0, "1"
7365 + :goto_5
7366 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
7368 + const-string/jumbo v3, "notifications_enabled"
7370 + invoke-virtual {v2, v3, v0}, Landroid/privacy/PrivacyPersistenceAdapter;->setValue(Ljava/lang/String;Ljava/lang/String;)Z
7372 + move-result v2
7374 + if-eqz v2, :cond_18
7376 + iput-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->notificationsEnabled:Z
7378 + iput-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->bootCompleted:Z
7380 + :goto_14
7381 + return v1
7383 + :cond_15
7384 + const-string v0, "0"
7386 + goto :goto_5
7388 + :cond_18
7389 + const/4 v1, 0x0
7391 + goto :goto_14
7392 +.end method
7393 diff -Npru stock-framework/smali/android/privacy/PrivacySettingsManager.smali pdroid-framework/smali/android/privacy/PrivacySettingsManager.smali
7394 --- stock-framework/smali/android/privacy/PrivacySettingsManager.smali 1969-12-31 18:00:00.000000000 -0600
7395 +++ pdroid-framework/smali/android/privacy/PrivacySettingsManager.smali 2012-08-06 13:25:00.027455145 -0500
7396 @@ -0,0 +1,531 @@
7397 +.class public Landroid/privacy/PrivacySettingsManager;
7398 +.super Ljava/lang/Object;
7399 +.source "PrivacySettingsManager.java"
7402 +# static fields
7403 +.field public static final ACTION_PRIVACY_NOTIFICATION:Ljava/lang/String; = "com.privacy.pdroid.PRIVACY_NOTIFICATION"
7405 +.field private static final TAG:Ljava/lang/String; = "PrivacySettingsManager"
7408 +# instance fields
7409 +.field private service:Landroid/privacy/IPrivacySettingsManager;
7412 +# direct methods
7413 +.method public constructor <init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
7414 + .registers 3
7416 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
7418 + iput-object p2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7420 + return-void
7421 +.end method
7424 +# virtual methods
7425 +.method public addObserver(Ljava/lang/String;)V
7426 + .registers 5
7428 + :try_start_0
7429 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7431 + if-eqz v1, :cond_a
7433 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7435 + invoke-interface {v1, p1}, Landroid/privacy/IPrivacySettingsManager;->addObserver(Ljava/lang/String;)V
7437 + :goto_9
7438 + return-void
7440 + :cond_a
7441 + const-string v1, "PrivacySettingsManager"
7443 + const-string v2, "deleteSettings - PrivacySettingsManagerService is null"
7445 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7446 + :try_end_11
7447 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_11} :catch_12
7449 + goto :goto_9
7451 + :catch_12
7452 + move-exception v0
7454 + const-string v1, "PrivacySettingsManager"
7456 + const-string v2, "RemoteException in addObserver: "
7458 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7460 + goto :goto_9
7461 +.end method
7463 +.method public deleteSettings(Ljava/lang/String;)Z
7464 + .registers 3
7466 + invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettingsManager;->deleteSettings(Ljava/lang/String;)Z
7468 + move-result v0
7470 + return v0
7471 +.end method
7473 +.method public deleteSettings(Ljava/lang/String;I)Z
7474 + .registers 7
7476 + const/4 v1, 0x0
7478 + :try_start_1
7479 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7481 + if-eqz v2, :cond_c
7483 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7485 + invoke-interface {v2, p1}, Landroid/privacy/IPrivacySettingsManager;->deleteSettings(Ljava/lang/String;)Z
7487 + move-result v1
7489 + :goto_b
7490 + return v1
7492 + :cond_c
7493 + const-string v2, "PrivacySettingsManager"
7495 + const-string v3, "deleteSettings - PrivacySettingsManagerService is null"
7497 + invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7498 + :try_end_13
7499 + .catch Landroid/os/RemoteException; {:try_start_1 .. :try_end_13} :catch_14
7501 + goto :goto_b
7503 + :catch_14
7504 + move-exception v0
7506 + const-string v2, "PrivacySettingsManager"
7508 + const-string v3, "RemoteException in deleteSettings: "
7510 + invoke-static {v2, v3, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7512 + goto :goto_b
7513 +.end method
7515 +.method public getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
7516 + .registers 6
7518 + const/4 v1, 0x0
7520 + :try_start_1
7521 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7523 + if-eqz v2, :cond_c
7525 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7527 + invoke-interface {v2, p1}, Landroid/privacy/IPrivacySettingsManager;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
7529 + move-result-object v1
7531 + :goto_b
7532 + return-object v1
7534 + :cond_c
7535 + const-string v2, "PrivacySettingsManager"
7537 + const-string v3, "getSettings - PrivacySettingsManagerService is null"
7539 + invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7540 + :try_end_13
7541 + .catch Landroid/os/RemoteException; {:try_start_1 .. :try_end_13} :catch_14
7543 + goto :goto_b
7545 + :catch_14
7546 + move-exception v0
7548 + invoke-virtual {v0}, Landroid/os/RemoteException;->printStackTrace()V
7550 + goto :goto_b
7551 +.end method
7553 +.method public getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
7554 + .registers 4
7556 + invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
7558 + move-result-object v0
7560 + return-object v0
7561 +.end method
7563 +.method public getVersion()D
7564 + .registers 4
7566 + :try_start_0
7567 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7569 + if-eqz v1, :cond_b
7571 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7573 + invoke-interface {v1}, Landroid/privacy/IPrivacySettingsManager;->getVersion()D
7575 + move-result-wide v1
7577 + :goto_a
7578 + return-wide v1
7580 + :cond_b
7581 + const-string v1, "PrivacySettingsManager"
7583 + const-string v2, "getVersion - PrivacySettingsManagerService is null"
7585 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7586 + :try_end_12
7587 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_12} :catch_15
7589 + :goto_12
7590 + const-wide/16 v1, 0x0
7592 + goto :goto_a
7594 + :catch_15
7595 + move-exception v0
7597 + const-string v1, "PrivacySettingsManager"
7599 + const-string v2, "RemoteException in getVersion: "
7601 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7603 + goto :goto_12
7604 +.end method
7606 +.method public isServiceAvailable()Z
7607 + .registers 2
7609 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7611 + if-eqz v0, :cond_6
7613 + const/4 v0, 0x1
7615 + :goto_5
7616 + return v0
7618 + :cond_6
7619 + const/4 v0, 0x0
7621 + goto :goto_5
7622 +.end method
7624 +.method public notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
7625 + .registers 9
7627 + :try_start_0
7628 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7630 + if-eqz v1, :cond_a
7632 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7634 + invoke-interface {v1, p1, p2, p3, p4}, Landroid/privacy/IPrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
7636 + :goto_9
7637 + return-void
7639 + :cond_a
7640 + const-string v1, "PrivacySettingsManager"
7642 + const-string v2, "deleteSettings - PrivacySettingsManagerService is null"
7644 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7645 + :try_end_11
7646 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_11} :catch_12
7648 + goto :goto_9
7650 + :catch_12
7651 + move-exception v0
7653 + const-string v1, "PrivacySettingsManager"
7655 + const-string v2, "RemoteException in notification: "
7657 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7659 + goto :goto_9
7660 +.end method
7662 +.method public notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
7663 + .registers 13
7665 + move-object v0, p0
7667 + move-object v1, p1
7669 + move v2, p3
7671 + move-object v3, p4
7673 + move-object v4, p5
7675 + move-object v5, p6
7677 + invoke-virtual/range {v0 .. v5}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
7679 + return-void
7680 +.end method
7682 +.method public purgeSettings()Z
7683 + .registers 4
7685 + :try_start_0
7686 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7688 + if-eqz v1, :cond_b
7690 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7692 + invoke-interface {v1}, Landroid/privacy/IPrivacySettingsManager;->purgeSettings()Z
7694 + move-result v1
7696 + :goto_a
7697 + return v1
7699 + :cond_b
7700 + const-string v1, "PrivacySettingsManager"
7702 + const-string v2, "deleteSettings - PrivacySettingsManagerService is null"
7704 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7705 + :try_end_12
7706 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_12} :catch_14
7708 + :goto_12
7709 + const/4 v1, 0x0
7711 + goto :goto_a
7713 + :catch_14
7714 + move-exception v0
7716 + const-string v1, "PrivacySettingsManager"
7718 + const-string v2, "RemoteException in purgeSettings: "
7720 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7722 + goto :goto_12
7723 +.end method
7725 +.method public registerObservers()V
7726 + .registers 4
7728 + :try_start_0
7729 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7731 + if-eqz v1, :cond_a
7733 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7735 + invoke-interface {v1}, Landroid/privacy/IPrivacySettingsManager;->registerObservers()V
7737 + :goto_9
7738 + return-void
7740 + :cond_a
7741 + const-string v1, "PrivacySettingsManager"
7743 + const-string v2, "deleteSettings - PrivacySettingsManagerService is null"
7745 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7746 + :try_end_11
7747 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_11} :catch_12
7749 + goto :goto_9
7751 + :catch_12
7752 + move-exception v0
7754 + const-string v1, "PrivacySettingsManager"
7756 + const-string v2, "RemoteException in registerObservers: "
7758 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7760 + goto :goto_9
7761 +.end method
7763 +.method public saveSettings(Landroid/privacy/PrivacySettings;)Z
7764 + .registers 6
7766 + const/4 v1, 0x0
7768 + :try_start_1
7769 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7771 + if-eqz v2, :cond_c
7773 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7775 + invoke-interface {v2, p1}, Landroid/privacy/IPrivacySettingsManager;->saveSettings(Landroid/privacy/PrivacySettings;)Z
7777 + move-result v1
7779 + :goto_b
7780 + return v1
7782 + :cond_c
7783 + const-string v2, "PrivacySettingsManager"
7785 + const-string/jumbo v3, "saveSettings - PrivacySettingsManagerService is null"
7787 + invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7788 + :try_end_14
7789 + .catch Landroid/os/RemoteException; {:try_start_1 .. :try_end_14} :catch_15
7791 + goto :goto_b
7793 + :catch_15
7794 + move-exception v0
7796 + const-string v2, "PrivacySettingsManager"
7798 + const-string v3, "RemoteException in saveSettings: "
7800 + invoke-static {v2, v3, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7802 + goto :goto_b
7803 +.end method
7805 +.method public setBootCompleted()V
7806 + .registers 4
7808 + :try_start_0
7809 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7811 + if-eqz v1, :cond_a
7813 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7815 + invoke-interface {v1}, Landroid/privacy/IPrivacySettingsManager;->setBootCompleted()V
7817 + :goto_9
7818 + return-void
7820 + :cond_a
7821 + const-string v1, "PrivacySettingsManager"
7823 + const-string/jumbo v2, "setBootCompleted - PrivacySettingsManagerService is null"
7825 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7826 + :try_end_12
7827 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_12} :catch_13
7829 + goto :goto_9
7831 + :catch_13
7832 + move-exception v0
7834 + const-string v1, "PrivacySettingsManager"
7836 + const-string v2, "RemoteException in setBootCompleted: "
7838 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7840 + goto :goto_9
7841 +.end method
7843 +.method public setEnabled(Z)Z
7844 + .registers 5
7846 + :try_start_0
7847 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7849 + if-eqz v1, :cond_b
7851 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7853 + invoke-interface {v1, p1}, Landroid/privacy/IPrivacySettingsManager;->setEnabled(Z)Z
7855 + move-result v1
7857 + :goto_a
7858 + return v1
7860 + :cond_b
7861 + const-string v1, "PrivacySettingsManager"
7863 + const-string/jumbo v2, "setEnabled - PrivacySettingsManagerService is null"
7865 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7866 + :try_end_13
7867 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_13} :catch_15
7869 + :goto_13
7870 + const/4 v1, 0x0
7872 + goto :goto_a
7874 + :catch_15
7875 + move-exception v0
7877 + const-string v1, "PrivacySettingsManager"
7879 + const-string v2, "RemoteException in setEnabled: "
7881 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7883 + goto :goto_13
7884 +.end method
7886 +.method public setNotificationsEnabled(Z)Z
7887 + .registers 5
7889 + :try_start_0
7890 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7892 + if-eqz v1, :cond_b
7894 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7896 + invoke-interface {v1, p1}, Landroid/privacy/IPrivacySettingsManager;->setNotificationsEnabled(Z)Z
7898 + move-result v1
7900 + :goto_a
7901 + return v1
7903 + :cond_b
7904 + const-string v1, "PrivacySettingsManager"
7906 + const-string/jumbo v2, "setNotificationsEnabled - PrivacySettingsManagerService is null"
7908 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7909 + :try_end_13
7910 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_13} :catch_15
7912 + :goto_13
7913 + const/4 v1, 0x0
7915 + goto :goto_a
7917 + :catch_15
7918 + move-exception v0
7920 + const-string v1, "PrivacySettingsManager"
7922 + const-string v2, "RemoteException in setNotificationsEnabled: "
7924 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7926 + goto :goto_13
7927 +.end method
7928 diff -Npru stock-framework/smali/android/privacy/PrivacySettings.smali pdroid-framework/smali/android/privacy/PrivacySettings.smali
7929 --- stock-framework/smali/android/privacy/PrivacySettings.smali 1969-12-31 18:00:00.000000000 -0600
7930 +++ pdroid-framework/smali/android/privacy/PrivacySettings.smali 2012-08-06 13:25:00.027455145 -0500
7931 @@ -0,0 +1,2109 @@
7932 +.class public final Landroid/privacy/PrivacySettings;
7933 +.super Ljava/lang/Object;
7934 +.source "PrivacySettings.java"
7936 +# interfaces
7937 +.implements Landroid/os/Parcelable;
7940 +# static fields
7941 +.field public static final CREATOR:Landroid/os/Parcelable$Creator; = null
7942 + .annotation system Ldalvik/annotation/Signature;
7943 + value = {
7944 + "Landroid/os/Parcelable$Creator",
7945 + "<",
7946 + "Landroid/privacy/PrivacySettings;",
7947 + ">;"
7949 + .end annotation
7950 +.end field
7952 +.field public static final CUSTOM:B = 0x2t
7954 +.field public static final DATA_ACCOUNTS_LIST:Ljava/lang/String; = "accountsList"
7956 +.field public static final DATA_AUTH_TOKENS:Ljava/lang/String; = "authTokens"
7958 +.field public static final DATA_BOOKMARKS:Ljava/lang/String; = "bookmarks"
7960 +.field public static final DATA_CALENDAR:Ljava/lang/String; = "calendar"
7962 +.field public static final DATA_CALL_LOG:Ljava/lang/String; = "callLog"
7964 +.field public static final DATA_CONTACTS:Ljava/lang/String; = "contacts"
7966 +.field public static final DATA_DEVICE_ID:Ljava/lang/String; = "deviceID"
7968 +.field public static final DATA_INCOMING_CALL:Ljava/lang/String; = "incomingCall"
7970 +.field public static final DATA_INTENT_BOOT_COMPLETED:Ljava/lang/String; = "intentBootCompleted"
7972 +.field public static final DATA_LINE_1_NUMBER:Ljava/lang/String; = "line1Number"
7974 +.field public static final DATA_LOCATION_GPS:Ljava/lang/String; = "locationGPS"
7976 +.field public static final DATA_LOCATION_NETWORK:Ljava/lang/String; = "locationNetwork"
7978 +.field public static final DATA_MMS:Ljava/lang/String; = "mms"
7980 +.field public static final DATA_MMS_SMS:Ljava/lang/String; = "mmsSms"
7982 +.field public static final DATA_NETWORK_INFO_CURRENT:Ljava/lang/String; = "networkInfoCurrent"
7984 +.field public static final DATA_NETWORK_INFO_SIM:Ljava/lang/String; = "networkInfoSIM"
7986 +.field public static final DATA_OUTGOING_CALL:Ljava/lang/String; = "outgoingCall"
7988 +.field public static final DATA_SIM_SERIAL:Ljava/lang/String; = "simSerial"
7990 +.field public static final DATA_SMS:Ljava/lang/String; = "sms"
7992 +.field public static final DATA_SUBSCRIBER_ID:Ljava/lang/String; = "subscriberID"
7994 +.field public static final DATA_SYSTEM_LOGS:Ljava/lang/String; = "systemLogs"
7996 +.field public static final EMPTY:B = 0x1t
7998 +.field public static final RANDOM:B = 0x3t
8000 +.field public static final REAL:B = 0x0t
8002 +.field public static final SETTING_NOTIFY_OFF:B = 0x0t
8004 +.field public static final SETTING_NOTIFY_ON:B = 0x1t
8007 +# instance fields
8008 +.field private final _id:Ljava/lang/Integer;
8010 +.field private accountsAuthTokensSetting:B
8012 +.field private accountsSetting:B
8014 +.field private allowedContacts:[I
8016 +.field private bookmarksSetting:B
8018 +.field private calendarSetting:B
8020 +.field private callLogSetting:B
8022 +.field private contactsSetting:B
8024 +.field private deviceId:Ljava/lang/String;
8026 +.field private deviceIdSetting:B
8028 +.field private incomingCallsSetting:B
8030 +.field private intentBootCompletedSetting:B
8032 +.field private line1Number:Ljava/lang/String;
8034 +.field private line1NumberSetting:B
8036 +.field private locationGpsLat:Ljava/lang/String;
8038 +.field private locationGpsLon:Ljava/lang/String;
8040 +.field private locationGpsSetting:B
8042 +.field private locationNetworkLat:Ljava/lang/String;
8044 +.field private locationNetworkLon:Ljava/lang/String;
8046 +.field private locationNetworkSetting:B
8048 +.field private mmsSetting:B
8050 +.field private networkInfoSetting:B
8052 +.field private notificationSetting:B
8054 +.field private outgoingCallsSetting:B
8056 +.field private packageName:Ljava/lang/String;
8058 +.field private simInfoSetting:B
8060 +.field private simSerialNumber:Ljava/lang/String;
8062 +.field private simSerialNumberSetting:B
8064 +.field private smsSetting:B
8066 +.field private subscriberId:Ljava/lang/String;
8068 +.field private subscriberIdSetting:B
8070 +.field private systemLogsSetting:B
8072 +.field private uid:I
8075 +# direct methods
8076 +.method static constructor <clinit>()V
8077 + .registers 1
8079 + new-instance v0, Landroid/privacy/PrivacySettings$1;
8081 + invoke-direct {v0}, Landroid/privacy/PrivacySettings$1;-><init>()V
8083 + sput-object v0, Landroid/privacy/PrivacySettings;->CREATOR:Landroid/os/Parcelable$Creator;
8085 + return-void
8086 +.end method
8088 +.method public constructor <init>(Landroid/os/Parcel;)V
8089 + .registers 4
8091 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
8093 + invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I
8095 + move-result v0
8097 + const/4 v1, -0x1
8099 + if-ne v0, v1, :cond_ce
8101 + const/4 v1, 0x0
8103 + :goto_b
8104 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
8106 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
8108 + move-result-object v1
8110 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
8112 + invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I
8114 + move-result v1
8116 + iput v1, p0, Landroid/privacy/PrivacySettings;->uid:I
8118 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8120 + move-result v1
8122 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
8124 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
8126 + move-result-object v1
8128 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
8130 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8132 + move-result v1
8134 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
8136 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
8138 + move-result-object v1
8140 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
8142 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8144 + move-result v1
8146 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8148 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
8150 + move-result-object v1
8152 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
8154 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
8156 + move-result-object v1
8158 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
8160 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8162 + move-result v1
8164 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8166 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
8168 + move-result-object v1
8170 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
8172 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
8174 + move-result-object v1
8176 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
8178 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8180 + move-result v1
8182 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
8184 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8186 + move-result v1
8188 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
8190 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8192 + move-result v1
8194 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
8196 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
8198 + move-result-object v1
8200 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
8202 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8204 + move-result v1
8206 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
8208 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
8210 + move-result-object v1
8212 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
8214 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8216 + move-result v1
8218 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
8220 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8222 + move-result v1
8224 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
8226 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8228 + move-result v1
8230 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
8232 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8234 + move-result v1
8236 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
8238 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8240 + move-result v1
8242 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
8244 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8246 + move-result v1
8248 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
8250 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8252 + move-result v1
8254 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
8256 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8258 + move-result v1
8260 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
8262 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8264 + move-result v1
8266 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
8268 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8270 + move-result v1
8272 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
8274 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8276 + move-result v1
8278 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
8280 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8282 + move-result v1
8284 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
8286 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8288 + move-result v1
8290 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
8292 + invoke-virtual {p1}, Landroid/os/Parcel;->createIntArray()[I
8294 + move-result-object v1
8296 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
8298 + return-void
8300 + :cond_ce
8301 + invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
8303 + move-result-object v1
8305 + goto/16 :goto_b
8306 +.end method
8308 +.method public constructor <init>(Ljava/lang/Integer;Ljava/lang/String;I)V
8309 + .registers 6
8311 + const/4 v1, 0x0
8313 + const/4 v0, 0x0
8315 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
8317 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
8319 + iput-object p2, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
8321 + iput p3, p0, Landroid/privacy/PrivacySettings;->uid:I
8323 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
8325 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
8327 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
8329 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
8331 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8333 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
8335 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
8337 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8339 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
8341 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
8343 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
8345 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
8347 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
8349 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
8351 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
8353 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
8355 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
8357 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
8359 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
8361 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
8363 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
8365 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
8367 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
8369 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
8371 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
8373 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
8375 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
8377 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
8379 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
8381 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
8383 + return-void
8384 +.end method
8386 +.method public constructor <init>(Ljava/lang/Integer;Ljava/lang/String;IBLjava/lang/String;BLjava/lang/String;BLjava/lang/String;Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;BBBLjava/lang/String;BLjava/lang/String;BBBBBBBBBBBBBBBB[I)V
8387 + .registers 38
8389 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
8391 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
8393 + iput-object p2, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
8395 + iput p3, p0, Landroid/privacy/PrivacySettings;->uid:I
8397 + iput-byte p4, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
8399 + iput-object p5, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
8401 + iput-byte p6, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
8403 + iput-object p7, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
8405 + iput-byte p8, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8407 + iput-object p9, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
8409 + iput-object p10, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
8411 + iput-byte p11, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8413 + iput-object p12, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
8415 + iput-object p13, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
8417 + iput-byte p14, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
8419 + move/from16 v0, p15
8421 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
8423 + move/from16 v0, p16
8425 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
8427 + move-object/from16 v0, p17
8429 + iput-object v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
8431 + move/from16 v0, p18
8433 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
8435 + move-object/from16 v0, p19
8437 + iput-object v0, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
8439 + move/from16 v0, p20
8441 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
8443 + move/from16 v0, p21
8445 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
8447 + move/from16 v0, p22
8449 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
8451 + move/from16 v0, p23
8453 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
8455 + move/from16 v0, p24
8457 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
8459 + move/from16 v0, p25
8461 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
8463 + move/from16 v0, p26
8465 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
8467 + move/from16 v0, p27
8469 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
8471 + move/from16 v0, p28
8473 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
8475 + move/from16 v0, p29
8477 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
8479 + move/from16 v0, p30
8481 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
8483 + move/from16 v0, p34
8485 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
8487 + move/from16 v0, p35
8489 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
8491 + move-object/from16 v0, p36
8493 + iput-object v0, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
8495 + return-void
8496 +.end method
8498 +.method private getRandomLat()Ljava/lang/String;
8499 + .registers 10
8501 + const-wide v7, 0x4056800000000000L
8503 + invoke-static {}, Ljava/lang/Math;->random()D
8505 + move-result-wide v3
8507 + const-wide v5, 0x4066800000000000L
8509 + mul-double v0, v3, v5
8511 + cmpl-double v3, v0, v7
8513 + if-lez v3, :cond_35
8515 + new-instance v2, Ljava/math/BigDecimal;
8517 + sub-double v3, v0, v7
8519 + invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;-><init>(D)V
8521 + :goto_1b
8522 + new-instance v3, Ljava/lang/StringBuilder;
8524 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
8526 + const/4 v4, 0x6
8528 + const/4 v5, 0x4
8530 + invoke-virtual {v2, v4, v5}, Ljava/math/BigDecimal;->setScale(II)Ljava/math/BigDecimal;
8532 + move-result-object v4
8534 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
8536 + move-result-object v3
8538 + const-string v4, ""
8540 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8542 + move-result-object v3
8544 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8546 + move-result-object v3
8548 + return-object v3
8550 + :cond_35
8551 + new-instance v2, Ljava/math/BigDecimal;
8553 + neg-double v3, v0
8555 + invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;-><init>(D)V
8557 + goto :goto_1b
8558 +.end method
8560 +.method private getRandomLon()Ljava/lang/String;
8561 + .registers 10
8563 + const-wide v7, 0x4066800000000000L
8565 + invoke-static {}, Ljava/lang/Math;->random()D
8567 + move-result-wide v3
8569 + const-wide v5, 0x4076800000000000L
8571 + mul-double v0, v3, v5
8573 + cmpl-double v3, v0, v7
8575 + if-lez v3, :cond_35
8577 + new-instance v2, Ljava/math/BigDecimal;
8579 + sub-double v3, v0, v7
8581 + invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;-><init>(D)V
8583 + :goto_1b
8584 + new-instance v3, Ljava/lang/StringBuilder;
8586 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
8588 + const/4 v4, 0x6
8590 + const/4 v5, 0x4
8592 + invoke-virtual {v2, v4, v5}, Ljava/math/BigDecimal;->setScale(II)Ljava/math/BigDecimal;
8594 + move-result-object v4
8596 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
8598 + move-result-object v3
8600 + const-string v4, ""
8602 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8604 + move-result-object v3
8606 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8608 + move-result-object v3
8610 + return-object v3
8612 + :cond_35
8613 + new-instance v2, Ljava/math/BigDecimal;
8615 + neg-double v3, v0
8617 + invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;-><init>(D)V
8619 + goto :goto_1b
8620 +.end method
8623 +# virtual methods
8624 +.method public describeContents()I
8625 + .registers 2
8627 + const/4 v0, 0x0
8629 + return v0
8630 +.end method
8632 +.method public getAccountsAuthTokensSetting()B
8633 + .registers 2
8635 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
8637 + return v0
8638 +.end method
8640 +.method public getAccountsSetting()B
8641 + .registers 2
8643 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
8645 + return v0
8646 +.end method
8648 +.method public getAllowedContacts()[I
8649 + .registers 2
8651 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
8653 + return-object v0
8654 +.end method
8656 +.method public getBookmarksSetting()B
8657 + .registers 2
8659 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
8661 + return v0
8662 +.end method
8664 +.method public getCalendarSetting()B
8665 + .registers 2
8667 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
8669 + return v0
8670 +.end method
8672 +.method public getCallLogSetting()B
8673 + .registers 2
8675 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
8677 + return v0
8678 +.end method
8680 +.method public getContactsSetting()B
8681 + .registers 2
8683 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
8685 + return v0
8686 +.end method
8688 +.method public getDeviceId()Ljava/lang/String;
8689 + .registers 6
8691 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
8693 + const/4 v3, 0x1
8695 + if-ne v2, v3, :cond_8
8697 + const-string v2, ""
8699 + :goto_7
8700 + return-object v2
8702 + :cond_8
8703 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
8705 + const/4 v3, 0x3
8707 + if-ne v2, v3, :cond_35
8709 + new-instance v0, Ljava/util/Random;
8711 + invoke-direct {v0}, Ljava/util/Random;-><init>()V
8713 + new-instance v2, Ljava/lang/StringBuilder;
8715 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
8717 + invoke-virtual {v0}, Ljava/util/Random;->nextLong()J
8719 + move-result-wide v3
8721 + invoke-static {v3, v4}, Ljava/lang/Math;->abs(J)J
8723 + move-result-wide v3
8725 + invoke-virtual {v2, v3, v4}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
8727 + move-result-object v2
8729 + const-string v3, ""
8731 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8733 + move-result-object v2
8735 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8737 + move-result-object v1
8739 + const/4 v2, 0x0
8741 + const/16 v3, 0xf
8743 + invoke-virtual {v1, v2, v3}, Ljava/lang/String;->substring(II)Ljava/lang/String;
8745 + move-result-object v2
8747 + goto :goto_7
8749 + :cond_35
8750 + iget-object v2, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
8752 + goto :goto_7
8753 +.end method
8755 +.method public getDeviceIdSetting()B
8756 + .registers 2
8758 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
8760 + return v0
8761 +.end method
8763 +.method public getIncomingCallsSetting()B
8764 + .registers 2
8766 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
8768 + return v0
8769 +.end method
8771 +.method public getIntentBootCompletedSetting()B
8772 + .registers 2
8774 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
8776 + return v0
8777 +.end method
8779 +.method public getLine1Number()Ljava/lang/String;
8780 + .registers 6
8782 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
8784 + const/4 v3, 0x1
8786 + if-ne v2, v3, :cond_8
8788 + const-string v2, ""
8790 + :goto_7
8791 + return-object v2
8793 + :cond_8
8794 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
8796 + const/4 v3, 0x3
8798 + if-ne v2, v3, :cond_3b
8800 + new-instance v0, Ljava/util/Random;
8802 + invoke-direct {v0}, Ljava/util/Random;-><init>()V
8804 + new-instance v2, Ljava/lang/StringBuilder;
8806 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
8808 + const-string v3, "+"
8810 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8812 + move-result-object v2
8814 + invoke-virtual {v0}, Ljava/util/Random;->nextLong()J
8816 + move-result-wide v3
8818 + invoke-static {v3, v4}, Ljava/lang/Math;->abs(J)J
8820 + move-result-wide v3
8822 + invoke-virtual {v2, v3, v4}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
8824 + move-result-object v2
8826 + const-string v3, ""
8828 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8830 + move-result-object v2
8832 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8834 + move-result-object v1
8836 + const/4 v2, 0x0
8838 + const/16 v3, 0xd
8840 + invoke-virtual {v1, v2, v3}, Ljava/lang/String;->substring(II)Ljava/lang/String;
8842 + move-result-object v2
8844 + goto :goto_7
8846 + :cond_3b
8847 + iget-object v2, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
8849 + goto :goto_7
8850 +.end method
8852 +.method public getLine1NumberSetting()B
8853 + .registers 2
8855 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
8857 + return v0
8858 +.end method
8860 +.method public getLocationGpsLat()Ljava/lang/String;
8861 + .registers 3
8863 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8865 + const/4 v1, 0x1
8867 + if-ne v0, v1, :cond_8
8869 + const-string v0, ""
8871 + :goto_7
8872 + return-object v0
8874 + :cond_8
8875 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8877 + const/4 v1, 0x3
8879 + if-ne v0, v1, :cond_12
8881 + invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLat()Ljava/lang/String;
8883 + move-result-object v0
8885 + goto :goto_7
8887 + :cond_12
8888 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
8890 + goto :goto_7
8891 +.end method
8893 +.method public getLocationGpsLon()Ljava/lang/String;
8894 + .registers 3
8896 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8898 + const/4 v1, 0x1
8900 + if-ne v0, v1, :cond_8
8902 + const-string v0, ""
8904 + :goto_7
8905 + return-object v0
8907 + :cond_8
8908 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8910 + const/4 v1, 0x3
8912 + if-ne v0, v1, :cond_12
8914 + invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLon()Ljava/lang/String;
8916 + move-result-object v0
8918 + goto :goto_7
8920 + :cond_12
8921 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
8923 + goto :goto_7
8924 +.end method
8926 +.method public getLocationGpsSetting()B
8927 + .registers 2
8929 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8931 + return v0
8932 +.end method
8934 +.method public getLocationNetworkLat()Ljava/lang/String;
8935 + .registers 3
8937 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8939 + const/4 v1, 0x1
8941 + if-ne v0, v1, :cond_8
8943 + const-string v0, ""
8945 + :goto_7
8946 + return-object v0
8948 + :cond_8
8949 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8951 + const/4 v1, 0x3
8953 + if-ne v0, v1, :cond_12
8955 + invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLat()Ljava/lang/String;
8957 + move-result-object v0
8959 + goto :goto_7
8961 + :cond_12
8962 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
8964 + goto :goto_7
8965 +.end method
8967 +.method public getLocationNetworkLon()Ljava/lang/String;
8968 + .registers 3
8970 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8972 + const/4 v1, 0x1
8974 + if-ne v0, v1, :cond_8
8976 + const-string v0, ""
8978 + :goto_7
8979 + return-object v0
8981 + :cond_8
8982 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8984 + const/4 v1, 0x3
8986 + if-ne v0, v1, :cond_12
8988 + invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLon()Ljava/lang/String;
8990 + move-result-object v0
8992 + goto :goto_7
8994 + :cond_12
8995 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
8997 + goto :goto_7
8998 +.end method
9000 +.method public getLocationNetworkSetting()B
9001 + .registers 2
9003 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
9005 + return v0
9006 +.end method
9008 +.method public getMmsSetting()B
9009 + .registers 2
9011 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
9013 + return v0
9014 +.end method
9016 +.method public getNetworkInfoSetting()B
9017 + .registers 2
9019 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
9021 + return v0
9022 +.end method
9024 +.method public getNotificationSetting()B
9025 + .registers 2
9027 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
9029 + return v0
9030 +.end method
9032 +.method public getOutgoingCallsSetting()B
9033 + .registers 2
9035 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
9037 + return v0
9038 +.end method
9040 +.method public getPackageName()Ljava/lang/String;
9041 + .registers 2
9043 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
9045 + return-object v0
9046 +.end method
9048 +.method public getSimInfoSetting()B
9049 + .registers 2
9051 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
9053 + return v0
9054 +.end method
9056 +.method public getSimSerialNumber()Ljava/lang/String;
9057 + .registers 5
9059 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
9061 + const/4 v2, 0x1
9063 + if-ne v1, v2, :cond_8
9065 + const-string v1, ""
9067 + :goto_7
9068 + return-object v1
9070 + :cond_8
9071 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
9073 + const/4 v2, 0x3
9075 + if-ne v1, v2, :cond_2e
9077 + new-instance v0, Ljava/util/Random;
9079 + invoke-direct {v0}, Ljava/util/Random;-><init>()V
9081 + new-instance v1, Ljava/lang/StringBuilder;
9083 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
9085 + invoke-virtual {v0}, Ljava/util/Random;->nextLong()J
9087 + move-result-wide v2
9089 + invoke-static {v2, v3}, Ljava/lang/Math;->abs(J)J
9091 + move-result-wide v2
9093 + invoke-virtual {v1, v2, v3}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
9095 + move-result-object v1
9097 + const-string v2, ""
9099 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9101 + move-result-object v1
9103 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
9105 + move-result-object v1
9107 + goto :goto_7
9109 + :cond_2e
9110 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
9112 + goto :goto_7
9113 +.end method
9115 +.method public getSimSerialNumberSetting()B
9116 + .registers 2
9118 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
9120 + return v0
9121 +.end method
9123 +.method public getSmsSetting()B
9124 + .registers 2
9126 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
9128 + return v0
9129 +.end method
9131 +.method public getSubscriberId()Ljava/lang/String;
9132 + .registers 6
9134 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
9136 + const/4 v3, 0x1
9138 + if-ne v2, v3, :cond_8
9140 + const-string v2, ""
9142 + :goto_7
9143 + return-object v2
9145 + :cond_8
9146 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
9148 + const/4 v3, 0x3
9150 + if-ne v2, v3, :cond_35
9152 + new-instance v0, Ljava/util/Random;
9154 + invoke-direct {v0}, Ljava/util/Random;-><init>()V
9156 + new-instance v2, Ljava/lang/StringBuilder;
9158 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
9160 + invoke-virtual {v0}, Ljava/util/Random;->nextLong()J
9162 + move-result-wide v3
9164 + invoke-static {v3, v4}, Ljava/lang/Math;->abs(J)J
9166 + move-result-wide v3
9168 + invoke-virtual {v2, v3, v4}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
9170 + move-result-object v2
9172 + const-string v3, ""
9174 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9176 + move-result-object v2
9178 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
9180 + move-result-object v1
9182 + const/4 v2, 0x0
9184 + const/16 v3, 0xf
9186 + invoke-virtual {v1, v2, v3}, Ljava/lang/String;->substring(II)Ljava/lang/String;
9188 + move-result-object v2
9190 + goto :goto_7
9192 + :cond_35
9193 + iget-object v2, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
9195 + goto :goto_7
9196 +.end method
9198 +.method public getSubscriberIdSetting()B
9199 + .registers 2
9201 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
9203 + return v0
9204 +.end method
9206 +.method public getSystemLogsSetting()B
9207 + .registers 2
9209 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
9211 + return v0
9212 +.end method
9214 +.method public getUid()I
9215 + .registers 2
9217 + iget v0, p0, Landroid/privacy/PrivacySettings;->uid:I
9219 + return v0
9220 +.end method
9222 +.method public get_id()Ljava/lang/Integer;
9223 + .registers 2
9225 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
9227 + return-object v0
9228 +.end method
9230 +.method public setAccountsAuthTokensSetting(B)V
9231 + .registers 2
9233 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
9235 + return-void
9236 +.end method
9238 +.method public setAccountsSetting(B)V
9239 + .registers 2
9241 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
9243 + return-void
9244 +.end method
9246 +.method public setAllowedContacts([I)V
9247 + .registers 2
9249 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
9251 + return-void
9252 +.end method
9254 +.method public setBookmarksSetting(B)V
9255 + .registers 2
9257 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
9259 + return-void
9260 +.end method
9262 +.method public setCalendarSetting(B)V
9263 + .registers 2
9265 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
9267 + return-void
9268 +.end method
9270 +.method public setCallLogSetting(B)V
9271 + .registers 2
9273 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
9275 + return-void
9276 +.end method
9278 +.method public setContactsSetting(B)V
9279 + .registers 2
9281 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
9283 + return-void
9284 +.end method
9286 +.method public setDeviceId(Ljava/lang/String;)V
9287 + .registers 2
9289 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
9291 + return-void
9292 +.end method
9294 +.method public setDeviceIdSetting(B)V
9295 + .registers 2
9297 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
9299 + return-void
9300 +.end method
9302 +.method public setIncomingCallsSetting(B)V
9303 + .registers 2
9305 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
9307 + return-void
9308 +.end method
9310 +.method public setIntentBootCompletedSetting(B)V
9311 + .registers 2
9313 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
9315 + return-void
9316 +.end method
9318 +.method public setLine1Number(Ljava/lang/String;)V
9319 + .registers 2
9321 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
9323 + return-void
9324 +.end method
9326 +.method public setLine1NumberSetting(B)V
9327 + .registers 2
9329 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
9331 + return-void
9332 +.end method
9334 +.method public setLocationGpsLat(Ljava/lang/String;)V
9335 + .registers 2
9337 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
9339 + return-void
9340 +.end method
9342 +.method public setLocationGpsLon(Ljava/lang/String;)V
9343 + .registers 2
9345 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
9347 + return-void
9348 +.end method
9350 +.method public setLocationGpsSetting(B)V
9351 + .registers 2
9353 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
9355 + return-void
9356 +.end method
9358 +.method public setLocationNetworkLat(Ljava/lang/String;)V
9359 + .registers 2
9361 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
9363 + return-void
9364 +.end method
9366 +.method public setLocationNetworkLon(Ljava/lang/String;)V
9367 + .registers 2
9369 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
9371 + return-void
9372 +.end method
9374 +.method public setLocationNetworkSetting(B)V
9375 + .registers 2
9377 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
9379 + return-void
9380 +.end method
9382 +.method public setMmsSetting(B)V
9383 + .registers 2
9385 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
9387 + return-void
9388 +.end method
9390 +.method public setNetworkInfoSetting(B)V
9391 + .registers 2
9393 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
9395 + return-void
9396 +.end method
9398 +.method public setNotificationSetting(B)V
9399 + .registers 2
9401 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
9403 + return-void
9404 +.end method
9406 +.method public setOutgoingCallsSetting(B)V
9407 + .registers 2
9409 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
9411 + return-void
9412 +.end method
9414 +.method public setPackageName(Ljava/lang/String;)V
9415 + .registers 2
9417 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
9419 + return-void
9420 +.end method
9422 +.method public setSimInfoSetting(B)V
9423 + .registers 2
9425 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
9427 + return-void
9428 +.end method
9430 +.method public setSimSerialNumber(Ljava/lang/String;)V
9431 + .registers 2
9433 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
9435 + return-void
9436 +.end method
9438 +.method public setSimSerialNumberSetting(B)V
9439 + .registers 2
9441 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
9443 + return-void
9444 +.end method
9446 +.method public setSmsSetting(B)V
9447 + .registers 2
9449 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
9451 + return-void
9452 +.end method
9454 +.method public setSubscriberId(Ljava/lang/String;)V
9455 + .registers 2
9457 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
9459 + return-void
9460 +.end method
9462 +.method public setSubscriberIdSetting(B)V
9463 + .registers 2
9465 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
9467 + return-void
9468 +.end method
9470 +.method public setSystemLogsSetting(B)V
9471 + .registers 2
9473 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
9475 + return-void
9476 +.end method
9478 +.method public setUid(I)V
9479 + .registers 2
9481 + iput p1, p0, Landroid/privacy/PrivacySettings;->uid:I
9483 + return-void
9484 +.end method
9486 +.method public toString()Ljava/lang/String;
9487 + .registers 3
9489 + new-instance v0, Ljava/lang/StringBuilder;
9491 + invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
9493 + const-string v1, "PrivacySettings [_id="
9495 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9497 + move-result-object v0
9499 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
9501 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
9503 + move-result-object v0
9505 + const-string v1, ", accountsAuthTokensSetting="
9507 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9509 + move-result-object v0
9511 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
9513 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9515 + move-result-object v0
9517 + const-string v1, ", accountsSetting="
9519 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9521 + move-result-object v0
9523 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
9525 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9527 + move-result-object v0
9529 + const-string v1, ", bookmarksSetting="
9531 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9533 + move-result-object v0
9535 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
9537 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9539 + move-result-object v0
9541 + const-string v1, ", calendarSetting="
9543 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9545 + move-result-object v0
9547 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
9549 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9551 + move-result-object v0
9553 + const-string v1, ", callLogSetting="
9555 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9557 + move-result-object v0
9559 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
9561 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9563 + move-result-object v0
9565 + const-string v1, ", contactsSetting="
9567 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9569 + move-result-object v0
9571 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
9573 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9575 + move-result-object v0
9577 + const-string v1, ", deviceId="
9579 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9581 + move-result-object v0
9583 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
9585 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9587 + move-result-object v0
9589 + const-string v1, ", deviceIdSetting="
9591 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9593 + move-result-object v0
9595 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
9597 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9599 + move-result-object v0
9601 + const-string v1, ", incomingCallsSetting="
9603 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9605 + move-result-object v0
9607 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
9609 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9611 + move-result-object v0
9613 + const-string v1, ", intentBootCompletedSetting="
9615 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9617 + move-result-object v0
9619 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
9621 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9623 + move-result-object v0
9625 + const-string v1, ", line1Number="
9627 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9629 + move-result-object v0
9631 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
9633 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9635 + move-result-object v0
9637 + const-string v1, ", line1NumberSetting="
9639 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9641 + move-result-object v0
9643 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
9645 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9647 + move-result-object v0
9649 + const-string v1, ", locationGpsLat="
9651 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9653 + move-result-object v0
9655 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
9657 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9659 + move-result-object v0
9661 + const-string v1, ", locationGpsLon="
9663 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9665 + move-result-object v0
9667 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
9669 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9671 + move-result-object v0
9673 + const-string v1, ", locationGpsSetting="
9675 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9677 + move-result-object v0
9679 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
9681 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9683 + move-result-object v0
9685 + const-string v1, ", locationNetworkLat="
9687 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9689 + move-result-object v0
9691 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
9693 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9695 + move-result-object v0
9697 + const-string v1, ", locationNetworkLon="
9699 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9701 + move-result-object v0
9703 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
9705 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9707 + move-result-object v0
9709 + const-string v1, ", locationNetworkSetting="
9711 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9713 + move-result-object v0
9715 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
9717 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9719 + move-result-object v0
9721 + const-string v1, ", mmsSetting="
9723 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9725 + move-result-object v0
9727 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
9729 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9731 + move-result-object v0
9733 + const-string v1, ", networkInfoSetting="
9735 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9737 + move-result-object v0
9739 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
9741 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9743 + move-result-object v0
9745 + const-string v1, ", notificationSetting="
9747 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9749 + move-result-object v0
9751 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
9753 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9755 + move-result-object v0
9757 + const-string v1, ", outgoingCallsSetting="
9759 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9761 + move-result-object v0
9763 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
9765 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9767 + move-result-object v0
9769 + const-string v1, ", packageName="
9771 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9773 + move-result-object v0
9775 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
9777 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9779 + move-result-object v0
9781 + const-string v1, ", simInfoSetting="
9783 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9785 + move-result-object v0
9787 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
9789 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9791 + move-result-object v0
9793 + const-string v1, ", simSerialNumber="
9795 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9797 + move-result-object v0
9799 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
9801 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9803 + move-result-object v0
9805 + const-string v1, ", simSerialNumberSetting="
9807 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9809 + move-result-object v0
9811 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
9813 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9815 + move-result-object v0
9817 + const-string v1, ", smsSetting="
9819 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9821 + move-result-object v0
9823 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
9825 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9827 + move-result-object v0
9829 + const-string v1, ", subscriberId="
9831 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9833 + move-result-object v0
9835 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
9837 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9839 + move-result-object v0
9841 + const-string v1, ", subscriberIdSetting="
9843 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9845 + move-result-object v0
9847 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
9849 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9851 + move-result-object v0
9853 + const-string v1, ", systemLogsSetting="
9855 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9857 + move-result-object v0
9859 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
9861 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9863 + move-result-object v0
9865 + const-string v1, ", uid="
9867 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9869 + move-result-object v0
9871 + iget v1, p0, Landroid/privacy/PrivacySettings;->uid:I
9873 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9875 + move-result-object v0
9877 + const-string v1, "]"
9879 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9881 + move-result-object v0
9883 + invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
9885 + move-result-object v0
9887 + return-object v0
9888 +.end method
9890 +.method public writeToParcel(Landroid/os/Parcel;I)V
9891 + .registers 4
9893 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
9895 + if-nez v0, :cond_a9
9897 + const/4 v0, -0x1
9899 + :goto_5
9900 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeInt(I)V
9902 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
9904 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9906 + iget v0, p0, Landroid/privacy/PrivacySettings;->uid:I
9908 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeInt(I)V
9910 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
9912 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9914 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
9916 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9918 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
9920 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9922 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
9924 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9926 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
9928 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9930 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
9932 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9934 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
9936 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9938 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
9940 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9942 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
9944 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9946 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
9948 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9950 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
9952 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9954 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
9956 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9958 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
9960 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9962 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
9964 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9966 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
9968 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9970 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
9972 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9974 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
9976 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9978 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
9980 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9982 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
9984 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9986 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
9988 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9990 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
9992 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9994 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
9996 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9998 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
10000 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
10002 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
10004 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
10006 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
10008 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
10010 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
10012 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
10014 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
10016 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
10018 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
10020 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
10022 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
10024 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
10026 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
10028 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeIntArray([I)V
10030 + return-void
10032 + :cond_a9
10033 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
10035 + invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
10037 + move-result v0
10039 + goto/16 :goto_5
10040 +.end method
10041 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali
10042 --- stock-framework/smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali 1969-12-31 18:00:00.000000000 -0600
10043 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali 2012-08-06 13:25:00.027455145 -0500
10044 @@ -0,0 +1,129 @@
10045 +.class Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10046 +.super Ljava/lang/Object;
10047 +.source "PrivacyAccountManager.java"
10049 +# interfaces
10050 +.implements Landroid/accounts/AccountManagerFuture;
10053 +# annotations
10054 +.annotation system Ldalvik/annotation/EnclosingClass;
10055 + value = Landroid/privacy/surrogate/PrivacyAccountManager;
10056 +.end annotation
10058 +.annotation system Ldalvik/annotation/InnerClass;
10059 + accessFlags = 0x2
10060 + name = "PrivacyAccountManagerFuture"
10061 +.end annotation
10063 +.annotation system Ldalvik/annotation/Signature;
10064 + value = {
10065 + "<V:",
10066 + "Ljava/lang/Object;",
10067 + ">",
10068 + "Ljava/lang/Object;",
10069 + "Landroid/accounts/AccountManagerFuture",
10070 + "<TV;>;"
10072 +.end annotation
10075 +# instance fields
10076 +.field private result:Ljava/lang/Object;
10077 + .annotation system Ldalvik/annotation/Signature;
10078 + value = {
10079 + "TV;"
10081 + .end annotation
10082 +.end field
10084 +.field final synthetic this$0:Landroid/privacy/surrogate/PrivacyAccountManager;
10087 +# direct methods
10088 +.method public constructor <init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
10089 + .registers 3
10090 + .annotation system Ldalvik/annotation/Signature;
10091 + value = {
10092 + "(TV;)V"
10094 + .end annotation
10096 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->this$0:Landroid/privacy/surrogate/PrivacyAccountManager;
10098 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
10100 + iput-object p2, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->result:Ljava/lang/Object;
10102 + return-void
10103 +.end method
10106 +# virtual methods
10107 +.method public cancel(Z)Z
10108 + .registers 3
10110 + const/4 v0, 0x0
10112 + return v0
10113 +.end method
10115 +.method public getResult()Ljava/lang/Object;
10116 + .registers 2
10117 + .annotation system Ldalvik/annotation/Signature;
10118 + value = {
10119 + "()TV;"
10121 + .end annotation
10123 + .annotation system Ldalvik/annotation/Throws;
10124 + value = {
10125 + Landroid/accounts/OperationCanceledException;,
10126 + Ljava/io/IOException;,
10127 + Landroid/accounts/AuthenticatorException;
10129 + .end annotation
10131 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->result:Ljava/lang/Object;
10133 + return-object v0
10134 +.end method
10136 +.method public getResult(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;
10137 + .registers 5
10138 + .annotation system Ldalvik/annotation/Signature;
10139 + value = {
10140 + "(J",
10141 + "Ljava/util/concurrent/TimeUnit;",
10142 + ")TV;"
10144 + .end annotation
10146 + .annotation system Ldalvik/annotation/Throws;
10147 + value = {
10148 + Landroid/accounts/OperationCanceledException;,
10149 + Ljava/io/IOException;,
10150 + Landroid/accounts/AuthenticatorException;
10152 + .end annotation
10154 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->result:Ljava/lang/Object;
10156 + return-object v0
10157 +.end method
10159 +.method public isCancelled()Z
10160 + .registers 2
10162 + const/4 v0, 0x0
10164 + return v0
10165 +.end method
10167 +.method public isDone()Z
10168 + .registers 2
10170 + const/4 v0, 0x1
10172 + return v0
10173 +.end method
10174 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyAccountManager.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyAccountManager.smali
10175 --- stock-framework/smali/android/privacy/surrogate/PrivacyAccountManager.smali 1969-12-31 18:00:00.000000000 -0600
10176 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyAccountManager.smali 2012-08-06 13:25:00.031455168 -0500
10177 @@ -0,0 +1,701 @@
10178 +.class public final Landroid/privacy/surrogate/PrivacyAccountManager;
10179 +.super Landroid/accounts/AccountManager;
10180 +.source "PrivacyAccountManager.java"
10183 +# annotations
10184 +.annotation system Ldalvik/annotation/MemberClasses;
10185 + value = {
10186 + Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10188 +.end annotation
10191 +# static fields
10192 +.field private static final TAG:Ljava/lang/String; = "PrivacyAccountManager"
10195 +# instance fields
10196 +.field private context:Landroid/content/Context;
10198 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
10201 +# direct methods
10202 +.method public constructor <init>(Landroid/content/Context;Landroid/accounts/IAccountManager;)V
10203 + .registers 5
10205 + invoke-direct {p0, p1, p2}, Landroid/accounts/AccountManager;-><init>(Landroid/content/Context;Landroid/accounts/IAccountManager;)V
10207 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10209 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
10211 + const-string/jumbo v1, "privacy"
10213 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
10215 + move-result-object v1
10217 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
10219 + move-result-object v1
10221 + invoke-direct {v0, p1, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
10223 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10225 + return-void
10226 +.end method
10228 +.method public constructor <init>(Landroid/content/Context;Landroid/accounts/IAccountManager;Landroid/os/Handler;)V
10229 + .registers 6
10231 + invoke-direct {p0, p1, p2, p3}, Landroid/accounts/AccountManager;-><init>(Landroid/content/Context;Landroid/accounts/IAccountManager;Landroid/os/Handler;)V
10233 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10235 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
10237 + const-string/jumbo v1, "privacy"
10239 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
10241 + move-result-object v1
10243 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
10245 + move-result-object v1
10247 + invoke-direct {v0, p1, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
10249 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10251 + return-void
10252 +.end method
10255 +# virtual methods
10256 +.method public blockingGetAuthToken(Landroid/accounts/Account;Ljava/lang/String;Z)Ljava/lang/String;
10257 + .registers 12
10258 + .annotation system Ldalvik/annotation/Throws;
10259 + value = {
10260 + Landroid/accounts/OperationCanceledException;,
10261 + Ljava/io/IOException;,
10262 + Landroid/accounts/AuthenticatorException;
10264 + .end annotation
10266 + const/4 v5, 0x0
10268 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10270 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10272 + move-result-object v1
10274 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10276 + move-result v2
10278 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10280 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10282 + move-result-object v6
10284 + if-eqz v6, :cond_23
10286 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
10288 + move-result v0
10290 + if-eqz v0, :cond_23
10292 + const/4 v7, 0x0
10294 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10296 + const/4 v3, 0x1
10298 + const-string v4, "authTokens"
10300 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10302 + :goto_22
10303 + return-object v7
10305 + :cond_23
10306 + invoke-super {p0, p1, p2, p3}, Landroid/accounts/AccountManager;->blockingGetAuthToken(Landroid/accounts/Account;Ljava/lang/String;Z)Ljava/lang/String;
10308 + move-result-object v7
10310 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10312 + const/4 v3, 0x0
10314 + const-string v4, "authTokens"
10316 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10318 + goto :goto_22
10319 +.end method
10321 +.method public getAccounts()[Landroid/accounts/Account;
10322 + .registers 10
10324 + const/4 v5, 0x0
10326 + const/4 v3, 0x0
10328 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10330 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10332 + move-result-object v1
10334 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10336 + move-result v2
10338 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10340 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10342 + move-result-object v6
10344 + if-eqz v6, :cond_27
10346 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
10348 + move-result v0
10350 + if-eqz v0, :cond_27
10352 + const-string v8, "[empty accounts list]"
10354 + new-array v7, v3, [Landroid/accounts/Account;
10356 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10358 + const/4 v3, 0x1
10360 + const-string v4, "accountsList"
10362 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10364 + :goto_26
10365 + return-object v7
10367 + :cond_27
10368 + const-string v8, "[real value]"
10370 + invoke-super {p0}, Landroid/accounts/AccountManager;->getAccounts()[Landroid/accounts/Account;
10372 + move-result-object v7
10374 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10376 + const-string v4, "accountsList"
10378 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10380 + goto :goto_26
10381 +.end method
10383 +.method public getAccountsByType(Ljava/lang/String;)[Landroid/accounts/Account;
10384 + .registers 11
10386 + const/4 v5, 0x0
10388 + const/4 v3, 0x0
10390 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10392 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10394 + move-result-object v1
10396 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10398 + move-result v2
10400 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10402 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10404 + move-result-object v6
10406 + if-eqz v6, :cond_27
10408 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
10410 + move-result v0
10412 + if-eqz v0, :cond_27
10414 + const-string v8, "[empty accounts list]"
10416 + new-array v7, v3, [Landroid/accounts/Account;
10418 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10420 + const/4 v3, 0x1
10422 + const-string v4, "accountsList"
10424 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10426 + :goto_26
10427 + return-object v7
10429 + :cond_27
10430 + const-string v8, "[real value]"
10432 + invoke-super {p0, p1}, Landroid/accounts/AccountManager;->getAccountsByType(Ljava/lang/String;)[Landroid/accounts/Account;
10434 + move-result-object v7
10436 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10438 + const-string v4, "accountsList"
10440 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10442 + goto :goto_26
10443 +.end method
10445 +.method public getAccountsByTypeAndFeatures(Ljava/lang/String;[Ljava/lang/String;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
10446 + .registers 14
10447 + .annotation system Ldalvik/annotation/Signature;
10448 + value = {
10449 + "(",
10450 + "Ljava/lang/String;",
10451 + "[",
10452 + "Ljava/lang/String;",
10453 + "Landroid/accounts/AccountManagerCallback",
10454 + "<[",
10455 + "Landroid/accounts/Account;",
10456 + ">;",
10457 + "Landroid/os/Handler;",
10458 + ")",
10459 + "Landroid/accounts/AccountManagerFuture",
10460 + "<[",
10461 + "Landroid/accounts/Account;",
10462 + ">;"
10464 + .end annotation
10466 + const/4 v5, 0x0
10468 + const/4 v3, 0x0
10470 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10472 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10474 + move-result-object v1
10476 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10478 + move-result v2
10480 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10482 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10484 + move-result-object v6
10486 + if-eqz v6, :cond_2c
10488 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
10490 + move-result v0
10492 + if-eqz v0, :cond_2c
10494 + const-string v8, "[false]"
10496 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10498 + new-array v0, v3, [Landroid/accounts/Account;
10500 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
10502 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10504 + const/4 v3, 0x1
10506 + const-string v4, "accountsList"
10508 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10510 + :goto_2b
10511 + return-object v7
10513 + :cond_2c
10514 + const-string v8, "[real value]"
10516 + invoke-super {p0, p1, p2, p3, p4}, Landroid/accounts/AccountManager;->getAccountsByTypeAndFeatures(Ljava/lang/String;[Ljava/lang/String;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
10518 + move-result-object v7
10520 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10522 + const-string v4, "accountsList"
10524 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10526 + goto :goto_2b
10527 +.end method
10529 +.method public getAuthToken(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;Landroid/app/Activity;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
10530 + .registers 16
10531 + .annotation system Ldalvik/annotation/Signature;
10532 + value = {
10533 + "(",
10534 + "Landroid/accounts/Account;",
10535 + "Ljava/lang/String;",
10536 + "Landroid/os/Bundle;",
10537 + "Landroid/app/Activity;",
10538 + "Landroid/accounts/AccountManagerCallback",
10539 + "<",
10540 + "Landroid/os/Bundle;",
10541 + ">;",
10542 + "Landroid/os/Handler;",
10543 + ")",
10544 + "Landroid/accounts/AccountManagerFuture",
10545 + "<",
10546 + "Landroid/os/Bundle;",
10547 + ">;"
10549 + .end annotation
10551 + const/4 v5, 0x0
10553 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10555 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10557 + move-result-object v1
10559 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10561 + move-result v2
10563 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10565 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10567 + move-result-object v6
10569 + if-eqz v6, :cond_2e
10571 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
10573 + move-result v0
10575 + if-eqz v0, :cond_2e
10577 + const-string v8, "[empty]"
10579 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10581 + new-instance v0, Landroid/os/Bundle;
10583 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
10585 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
10587 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10589 + const/4 v3, 0x1
10591 + const-string v4, "authTokens"
10593 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10595 + :goto_2d
10596 + return-object v7
10598 + :cond_2e
10599 + const-string v8, "[real value]"
10601 + invoke-super/range {p0 .. p6}, Landroid/accounts/AccountManager;->getAuthToken(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;Landroid/app/Activity;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
10603 + move-result-object v7
10605 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10607 + const/4 v3, 0x0
10609 + const-string v4, "authTokens"
10611 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10613 + goto :goto_2d
10614 +.end method
10616 +.method public getAuthToken(Landroid/accounts/Account;Ljava/lang/String;ZLandroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
10617 + .registers 15
10618 + .annotation system Ldalvik/annotation/Signature;
10619 + value = {
10620 + "(",
10621 + "Landroid/accounts/Account;",
10622 + "Ljava/lang/String;",
10623 + "Z",
10624 + "Landroid/accounts/AccountManagerCallback",
10625 + "<",
10626 + "Landroid/os/Bundle;",
10627 + ">;",
10628 + "Landroid/os/Handler;",
10629 + ")",
10630 + "Landroid/accounts/AccountManagerFuture",
10631 + "<",
10632 + "Landroid/os/Bundle;",
10633 + ">;"
10635 + .end annotation
10637 + const/4 v5, 0x0
10639 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10641 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10643 + move-result-object v1
10645 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10647 + move-result v2
10649 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10651 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10653 + move-result-object v6
10655 + if-eqz v6, :cond_2e
10657 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
10659 + move-result v0
10661 + if-eqz v0, :cond_2e
10663 + const-string v8, "[empty]"
10665 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10667 + new-instance v0, Landroid/os/Bundle;
10669 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
10671 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
10673 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10675 + const/4 v3, 0x1
10677 + const-string v4, "authTokens"
10679 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10681 + :goto_2d
10682 + return-object v7
10684 + :cond_2e
10685 + const-string v8, "[real value]"
10687 + invoke-super/range {p0 .. p5}, Landroid/accounts/AccountManager;->getAuthToken(Landroid/accounts/Account;Ljava/lang/String;ZLandroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
10689 + move-result-object v7
10691 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10693 + const/4 v3, 0x0
10695 + const-string v4, "authTokens"
10697 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10699 + goto :goto_2d
10700 +.end method
10702 +.method public getAuthTokenByFeatures(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Landroid/app/Activity;Landroid/os/Bundle;Landroid/os/Bundle;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
10703 + .registers 18
10704 + .annotation system Ldalvik/annotation/Signature;
10705 + value = {
10706 + "(",
10707 + "Ljava/lang/String;",
10708 + "Ljava/lang/String;",
10709 + "[",
10710 + "Ljava/lang/String;",
10711 + "Landroid/app/Activity;",
10712 + "Landroid/os/Bundle;",
10713 + "Landroid/os/Bundle;",
10714 + "Landroid/accounts/AccountManagerCallback",
10715 + "<",
10716 + "Landroid/os/Bundle;",
10717 + ">;",
10718 + "Landroid/os/Handler;",
10719 + ")",
10720 + "Landroid/accounts/AccountManagerFuture",
10721 + "<",
10722 + "Landroid/os/Bundle;",
10723 + ">;"
10725 + .end annotation
10727 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10729 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10731 + move-result-object v1
10733 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10735 + move-result v2
10737 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10739 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10741 + move-result-object v6
10743 + if-eqz v6, :cond_2e
10745 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
10747 + move-result v0
10749 + if-eqz v0, :cond_2e
10751 + const-string v8, "[empty]"
10753 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10755 + new-instance v0, Landroid/os/Bundle;
10757 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
10759 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
10761 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10763 + const/4 v3, 0x1
10765 + const-string v4, "authTokens"
10767 + const/4 v5, 0x0
10769 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10771 + :goto_2d
10772 + return-object v7
10774 + :cond_2e
10775 + const-string v8, "[real value]"
10777 + invoke-super/range {p0 .. p8}, Landroid/accounts/AccountManager;->getAuthTokenByFeatures(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Landroid/app/Activity;Landroid/os/Bundle;Landroid/os/Bundle;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
10779 + move-result-object v7
10781 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10783 + const/4 v3, 0x0
10785 + const-string v4, "authTokens"
10787 + const/4 v5, 0x0
10789 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10791 + goto :goto_2d
10792 +.end method
10794 +.method public hasFeatures(Landroid/accounts/Account;[Ljava/lang/String;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
10795 + .registers 14
10796 + .annotation system Ldalvik/annotation/Signature;
10797 + value = {
10798 + "(",
10799 + "Landroid/accounts/Account;",
10800 + "[",
10801 + "Ljava/lang/String;",
10802 + "Landroid/accounts/AccountManagerCallback",
10803 + "<",
10804 + "Ljava/lang/Boolean;",
10805 + ">;",
10806 + "Landroid/os/Handler;",
10807 + ")",
10808 + "Landroid/accounts/AccountManagerFuture",
10809 + "<",
10810 + "Ljava/lang/Boolean;",
10811 + ">;"
10813 + .end annotation
10815 + const/4 v5, 0x0
10817 + const/4 v3, 0x0
10819 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10821 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10823 + move-result-object v1
10825 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10827 + move-result v2
10829 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10831 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10833 + move-result-object v6
10835 + if-eqz v6, :cond_2e
10837 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
10839 + move-result v0
10841 + if-eqz v0, :cond_2e
10843 + const-string v8, "[false]"
10845 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10847 + invoke-static {v3}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
10849 + move-result-object v0
10851 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
10853 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10855 + const/4 v3, 0x1
10857 + const-string v4, "accountsList"
10859 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10861 + :goto_2d
10862 + return-object v7
10864 + :cond_2e
10865 + const-string v8, "[real value]"
10867 + invoke-super {p0, p1, p2, p3, p4}, Landroid/accounts/AccountManager;->hasFeatures(Landroid/accounts/Account;[Ljava/lang/String;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
10869 + move-result-object v7
10871 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10873 + const-string v4, "accountsList"
10875 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10877 + goto :goto_2d
10878 +.end method
10879 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyActivityManagerService.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyActivityManagerService.smali
10880 --- stock-framework/smali/android/privacy/surrogate/PrivacyActivityManagerService.smali 1969-12-31 18:00:00.000000000 -0600
10881 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyActivityManagerService.smali 2012-08-06 13:25:00.031455168 -0500
10882 @@ -0,0 +1,1087 @@
10883 +.class public final Landroid/privacy/surrogate/PrivacyActivityManagerService;
10884 +.super Ljava/lang/Object;
10885 +.source "PrivacyActivityManagerService.java"
10888 +# static fields
10889 +.field private static final TAG:Ljava/lang/String; = "PrivacyActivityManagerService"
10891 +.field private static pSetMan:Landroid/privacy/PrivacySettingsManager;
10893 +.field private static tmpIn:Landroid/content/Intent;
10895 +.field private static tmpInHash:J
10897 +.field private static tmpInReceivers:I
10899 +.field private static tmpMms:Landroid/content/Intent;
10901 +.field private static tmpMmsHash:J
10903 +.field private static tmpMmsReceivers:I
10905 +.field private static tmpOut:Landroid/content/Intent;
10907 +.field private static tmpOutHash:J
10909 +.field private static tmpOutReceivers:I
10911 +.field private static tmpPackageAddedHash:J
10913 +.field private static tmpSms:Landroid/content/Intent;
10915 +.field private static tmpSmsHash:J
10917 +.field private static tmpSmsReceivers:I
10920 +# direct methods
10921 +.method static constructor <clinit>()V
10922 + .registers 3
10924 + const/4 v2, 0x0
10926 + const-wide/16 v0, 0x0
10928 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInHash:J
10930 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
10932 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutHash:J
10934 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
10936 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsHash:J
10938 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
10940 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsHash:J
10942 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
10944 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpPackageAddedHash:J
10946 + return-void
10947 +.end method
10949 +.method public constructor <init>()V
10950 + .registers 1
10952 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
10954 + return-void
10955 +.end method
10957 +.method public static enforcePrivacyPermission(Ljava/lang/String;ILandroid/content/Intent;Landroid/content/Context;I)V
10958 + .registers 22
10960 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10962 + if-nez v2, :cond_11
10964 + const-string/jumbo v2, "privacy"
10966 + move-object/from16 v0, p3
10968 + invoke-virtual {v0, v2}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
10970 + move-result-object v2
10972 + check-cast v2, Landroid/privacy/PrivacySettingsManager;
10974 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10976 + :cond_11
10977 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->getAction()Ljava/lang/String;
10979 + move-result-object v9
10981 + const-string v2, "android.intent.action.NEW_OUTGOING_CALL"
10983 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
10985 + move-result v2
10987 + if-eqz v2, :cond_ad
10989 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10991 + move-object/from16 v0, p0
10993 + move/from16 v1, p1
10995 + invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10997 + move-result-object v8
10999 + const-string v2, "android.intent.extra.PHONE_NUMBER"
11001 + move-object/from16 v0, p2
11003 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
11005 + move-result-object v16
11007 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutHash:J
11009 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11011 + move-result-wide v4
11013 + cmp-long v2, v2, v4
11015 + if-eqz v2, :cond_49
11017 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->clone()Ljava/lang/Object;
11019 + move-result-object v2
11021 + check-cast v2, Landroid/content/Intent;
11023 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOut:Landroid/content/Intent;
11025 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11027 + move-result-wide v2
11029 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutHash:J
11031 + sput p4, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
11033 + :cond_49
11034 + if-eqz v8, :cond_76
11036 + :try_start_4b
11037 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getOutgoingCallsSetting()B
11039 + move-result v2
11041 + if-eqz v2, :cond_76
11043 + const-string v16, ""
11045 + const-string v2, "android.intent.extra.PHONE_NUMBER"
11047 + move-object/from16 v0, p2
11049 + move-object/from16 v1, v16
11051 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
11053 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11055 + const/4 v5, 0x1
11057 + const-string/jumbo v6, "outgoingCall"
11059 + const/4 v7, 0x0
11061 + move-object/from16 v3, p0
11063 + move/from16 v4, p1
11065 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11066 + :try_end_6a
11067 + .catch Ljava/lang/Exception; {:try_start_4b .. :try_end_6a} :catch_a0
11069 + :cond_6a
11070 + :goto_6a
11071 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
11073 + const/4 v3, 0x1
11075 + if-le v2, v3, :cond_a9
11077 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
11079 + add-int/lit8 v2, v2, -0x1
11081 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
11083 + :cond_75
11084 + :goto_75
11085 + return-void
11087 + :cond_76
11088 + :try_start_76
11089 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutHash:J
11091 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11093 + move-result-wide v4
11095 + cmp-long v2, v2, v4
11097 + if-nez v2, :cond_6a
11099 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOut:Landroid/content/Intent;
11101 + const-string v3, "android.intent.extra.PHONE_NUMBER"
11103 + invoke-virtual {v2, v3}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
11105 + move-result-object v16
11107 + const-string v2, "android.intent.extra.PHONE_NUMBER"
11109 + move-object/from16 v0, p2
11111 + move-object/from16 v1, v16
11113 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
11115 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11117 + const/4 v5, 0x0
11119 + const-string/jumbo v6, "outgoingCall"
11121 + const/4 v7, 0x0
11123 + move-object/from16 v3, p0
11125 + move/from16 v4, p1
11127 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11128 + :try_end_9f
11129 + .catch Ljava/lang/Exception; {:try_start_76 .. :try_end_9f} :catch_a0
11131 + goto :goto_6a
11133 + :catch_a0
11134 + move-exception v13
11136 + const-string v2, "PrivacyActivityManagerService"
11138 + const-string v3, "failed to enforce intent broadcast permission"
11140 + invoke-static {v2, v3, v13}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
11142 + goto :goto_6a
11144 + :cond_a9
11145 + const/4 v2, 0x0
11147 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOut:Landroid/content/Intent;
11149 + goto :goto_75
11151 + :cond_ad
11152 + const-string v2, "android.intent.action.PHONE_STATE"
11154 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11156 + move-result v2
11158 + if-eqz v2, :cond_14d
11160 + const-string v2, "incoming_number"
11162 + move-object/from16 v0, p2
11164 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
11166 + move-result-object v16
11168 + if-eqz v16, :cond_75
11170 + invoke-virtual/range {v16 .. v16}, Ljava/lang/String;->isEmpty()Z
11172 + move-result v2
11174 + if-nez v2, :cond_75
11176 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11178 + move-object/from16 v0, p0
11180 + move/from16 v1, p1
11182 + invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
11184 + move-result-object v8
11186 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInHash:J
11188 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11190 + move-result-wide v4
11192 + cmp-long v2, v2, v4
11194 + if-eqz v2, :cond_e9
11196 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->clone()Ljava/lang/Object;
11198 + move-result-object v2
11200 + check-cast v2, Landroid/content/Intent;
11202 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpIn:Landroid/content/Intent;
11204 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11206 + move-result-wide v2
11208 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInHash:J
11210 + sput p4, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
11212 + :cond_e9
11213 + if-eqz v8, :cond_116
11215 + :try_start_eb
11216 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getIncomingCallsSetting()B
11218 + move-result v2
11220 + if-eqz v2, :cond_116
11222 + const-string v16, ""
11224 + const-string v2, "incoming_number"
11226 + move-object/from16 v0, p2
11228 + move-object/from16 v1, v16
11230 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
11232 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11234 + const/4 v5, 0x1
11236 + const-string v6, "incomingCall"
11238 + const/4 v7, 0x0
11240 + move-object/from16 v3, p0
11242 + move/from16 v4, p1
11244 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11245 + :try_end_109
11246 + .catch Ljava/lang/Exception; {:try_start_eb .. :try_end_109} :catch_13f
11248 + :cond_109
11249 + :goto_109
11250 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
11252 + const/4 v3, 0x1
11254 + if-le v2, v3, :cond_148
11256 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
11258 + add-int/lit8 v2, v2, -0x1
11260 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
11262 + goto/16 :goto_75
11264 + :cond_116
11265 + :try_start_116
11266 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInHash:J
11268 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11270 + move-result-wide v4
11272 + cmp-long v2, v2, v4
11274 + if-nez v2, :cond_109
11276 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpIn:Landroid/content/Intent;
11278 + const-string v3, "incoming_number"
11280 + invoke-virtual {v2, v3}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
11282 + move-result-object v16
11284 + const-string v2, "incoming_number"
11286 + move-object/from16 v0, p2
11288 + move-object/from16 v1, v16
11290 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
11292 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11294 + const/4 v5, 0x0
11296 + const-string v6, "incomingCall"
11298 + const/4 v7, 0x0
11300 + move-object/from16 v3, p0
11302 + move/from16 v4, p1
11304 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11305 + :try_end_13e
11306 + .catch Ljava/lang/Exception; {:try_start_116 .. :try_end_13e} :catch_13f
11308 + goto :goto_109
11310 + :catch_13f
11311 + move-exception v13
11313 + const-string v2, "PrivacyActivityManagerService"
11315 + const-string v3, "failed to enforce intent broadcast permission"
11317 + invoke-static {v2, v3, v13}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
11319 + goto :goto_109
11321 + :cond_148
11322 + const/4 v2, 0x0
11324 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpIn:Landroid/content/Intent;
11326 + goto/16 :goto_75
11328 + :cond_14d
11329 + const-string v2, "android.provider.Telephony.SMS_RECEIVED"
11331 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11333 + move-result v2
11335 + if-eqz v2, :cond_222
11337 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11339 + move-object/from16 v0, p0
11341 + move/from16 v1, p1
11343 + invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
11345 + move-result-object v8
11347 + const-string v16, "[real]"
11349 + const-string/jumbo v2, "pdus"
11351 + move-object/from16 v0, p2
11353 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
11355 + move-result-object v2
11357 + check-cast v2, [Ljava/lang/Object;
11359 + move-object v15, v2
11361 + check-cast v15, [Ljava/lang/Object;
11363 + if-eqz v15, :cond_1cd
11365 + const/4 v2, 0x0
11367 + aget-object v2, v15, v2
11369 + check-cast v2, [B
11371 + check-cast v2, [B
11373 + move-object v12, v2
11375 + :goto_179
11376 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsHash:J
11378 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11380 + move-result-wide v4
11382 + cmp-long v2, v2, v4
11384 + if-eqz v2, :cond_193
11386 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->clone()Ljava/lang/Object;
11388 + move-result-object v2
11390 + check-cast v2, Landroid/content/Intent;
11392 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSms:Landroid/content/Intent;
11394 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11396 + move-result-wide v2
11398 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsHash:J
11400 + sput p4, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
11402 + :cond_193
11403 + if-eqz v8, :cond_1cf
11405 + :try_start_195
11406 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getSmsSetting()B
11408 + move-result v2
11410 + if-eqz v2, :cond_1cf
11412 + const-string v16, "[empty]"
11414 + const/4 v2, 0x1
11416 + new-array v14, v2, [Ljava/lang/Object;
11418 + const/4 v2, 0x0
11420 + const/16 v3, 0x10
11422 + new-array v3, v3, [B
11424 + fill-array-data v3, :array_350
11426 + aput-object v3, v14, v2
11428 + const-string/jumbo v2, "pdus"
11430 + move-object/from16 v0, p2
11432 + invoke-virtual {v0, v2, v14}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent;
11434 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11436 + const/4 v5, 0x1
11438 + const-string/jumbo v6, "sms"
11440 + const/4 v7, 0x0
11442 + move-object/from16 v3, p0
11444 + move/from16 v4, p1
11446 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11447 + :try_end_1c0
11448 + .catch Ljava/lang/Exception; {:try_start_195 .. :try_end_1c0} :catch_212
11450 + :cond_1c0
11451 + :goto_1c0
11452 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
11454 + const/4 v3, 0x1
11456 + if-le v2, v3, :cond_21d
11458 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
11460 + add-int/lit8 v2, v2, -0x1
11462 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
11464 + goto/16 :goto_75
11466 + :cond_1cd
11467 + const/4 v12, 0x0
11469 + goto :goto_179
11471 + :cond_1cf
11472 + :try_start_1cf
11473 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsHash:J
11475 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11477 + move-result-wide v4
11479 + cmp-long v2, v2, v4
11481 + if-nez v2, :cond_1c0
11483 + const-string/jumbo v2, "pdus"
11485 + sget-object v3, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSms:Landroid/content/Intent;
11487 + const-string/jumbo v4, "pdus"
11489 + invoke-virtual {v3, v4}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
11491 + move-result-object v3
11493 + move-object/from16 v0, p2
11495 + invoke-virtual {v0, v2, v3}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent;
11497 + const-string/jumbo v2, "pdus"
11499 + move-object/from16 v0, p2
11501 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
11503 + move-result-object v2
11505 + check-cast v2, [Ljava/lang/Object;
11507 + move-object v0, v2
11509 + check-cast v0, [Ljava/lang/Object;
11511 + move-object v15, v0
11513 + if-eqz v15, :cond_21b
11515 + const/4 v2, 0x0
11517 + aget-object v2, v15, v2
11519 + check-cast v2, [B
11521 + check-cast v2, [B
11523 + move-object v12, v2
11525 + :goto_203
11526 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11528 + const/4 v5, 0x0
11530 + const-string/jumbo v6, "sms"
11532 + const/4 v7, 0x0
11534 + move-object/from16 v3, p0
11536 + move/from16 v4, p1
11538 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11539 + :try_end_211
11540 + .catch Ljava/lang/Exception; {:try_start_1cf .. :try_end_211} :catch_212
11542 + goto :goto_1c0
11544 + :catch_212
11545 + move-exception v13
11547 + const-string v2, "PrivacyActivityManagerService"
11549 + const-string v3, "failed to enforce intent broadcast permission"
11551 + invoke-static {v2, v3, v13}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
11553 + goto :goto_1c0
11555 + :cond_21b
11556 + const/4 v12, 0x0
11558 + goto :goto_203
11560 + :cond_21d
11561 + const/4 v2, 0x0
11563 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSms:Landroid/content/Intent;
11565 + goto/16 :goto_75
11567 + :cond_222
11568 + const-string v2, "android.provider.Telephony.WAP_PUSH_RECEIVED"
11570 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11572 + move-result v2
11574 + if-nez v2, :cond_232
11576 + const-string v2, "android.intent.action.DATA_SMS_RECEIVED"
11578 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11580 + move-result v2
11582 + if-eqz v2, :cond_2ff
11584 + :cond_232
11585 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11587 + move-object/from16 v0, p0
11589 + move/from16 v1, p1
11591 + invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
11593 + move-result-object v8
11595 + const-string v16, "[real]"
11597 + const-string/jumbo v2, "pdus"
11599 + move-object/from16 v0, p2
11601 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
11603 + move-result-object v2
11605 + check-cast v2, [Ljava/lang/Object;
11607 + move-object v15, v2
11609 + check-cast v15, [Ljava/lang/Object;
11611 + if-eqz v15, :cond_2aa
11613 + const/4 v2, 0x0
11615 + aget-object v2, v15, v2
11617 + check-cast v2, [B
11619 + check-cast v2, [B
11621 + move-object v12, v2
11623 + :goto_256
11624 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsHash:J
11626 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11628 + move-result-wide v4
11630 + cmp-long v2, v2, v4
11632 + if-eqz v2, :cond_270
11634 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->clone()Ljava/lang/Object;
11636 + move-result-object v2
11638 + check-cast v2, Landroid/content/Intent;
11640 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMms:Landroid/content/Intent;
11642 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11644 + move-result-wide v2
11646 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsHash:J
11648 + sput p4, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
11650 + :cond_270
11651 + if-eqz v8, :cond_2ac
11653 + :try_start_272
11654 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getMmsSetting()B
11656 + move-result v2
11658 + if-eqz v2, :cond_2ac
11660 + const-string v16, "[empty]"
11662 + const/4 v2, 0x1
11664 + new-array v14, v2, [Ljava/lang/Object;
11666 + const/4 v2, 0x0
11668 + const/16 v3, 0x10
11670 + new-array v3, v3, [B
11672 + fill-array-data v3, :array_35c
11674 + aput-object v3, v14, v2
11676 + const-string/jumbo v2, "pdus"
11678 + move-object/from16 v0, p2
11680 + invoke-virtual {v0, v2, v14}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent;
11682 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11684 + const/4 v5, 0x1
11686 + const-string/jumbo v6, "mms"
11688 + const/4 v7, 0x0
11690 + move-object/from16 v3, p0
11692 + move/from16 v4, p1
11694 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11695 + :try_end_29d
11696 + .catch Ljava/lang/Exception; {:try_start_272 .. :try_end_29d} :catch_2ef
11698 + :cond_29d
11699 + :goto_29d
11700 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
11702 + const/4 v3, 0x1
11704 + if-le v2, v3, :cond_2fa
11706 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
11708 + add-int/lit8 v2, v2, -0x1
11710 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
11712 + goto/16 :goto_75
11714 + :cond_2aa
11715 + const/4 v12, 0x0
11717 + goto :goto_256
11719 + :cond_2ac
11720 + :try_start_2ac
11721 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsHash:J
11723 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11725 + move-result-wide v4
11727 + cmp-long v2, v2, v4
11729 + if-nez v2, :cond_29d
11731 + const-string/jumbo v2, "pdus"
11733 + sget-object v3, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMms:Landroid/content/Intent;
11735 + const-string/jumbo v4, "pdus"
11737 + invoke-virtual {v3, v4}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
11739 + move-result-object v3
11741 + move-object/from16 v0, p2
11743 + invoke-virtual {v0, v2, v3}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent;
11745 + const-string/jumbo v2, "pdus"
11747 + move-object/from16 v0, p2
11749 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
11751 + move-result-object v2
11753 + check-cast v2, [Ljava/lang/Object;
11755 + move-object v0, v2
11757 + check-cast v0, [Ljava/lang/Object;
11759 + move-object v15, v0
11761 + if-eqz v15, :cond_2f8
11763 + const/4 v2, 0x0
11765 + aget-object v2, v15, v2
11767 + check-cast v2, [B
11769 + check-cast v2, [B
11771 + move-object v12, v2
11773 + :goto_2e0
11774 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11776 + const/4 v5, 0x0
11778 + const-string/jumbo v6, "mms"
11780 + const/4 v7, 0x0
11782 + move-object/from16 v3, p0
11784 + move/from16 v4, p1
11786 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11787 + :try_end_2ee
11788 + .catch Ljava/lang/Exception; {:try_start_2ac .. :try_end_2ee} :catch_2ef
11790 + goto :goto_29d
11792 + :catch_2ef
11793 + move-exception v13
11795 + const-string v2, "PrivacyActivityManagerService"
11797 + const-string v3, "failed to enforce intent broadcast permission"
11799 + invoke-static {v2, v3, v13}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
11801 + goto :goto_29d
11803 + :cond_2f8
11804 + const/4 v12, 0x0
11806 + goto :goto_2e0
11808 + :cond_2fa
11809 + const/4 v2, 0x0
11811 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMms:Landroid/content/Intent;
11813 + goto/16 :goto_75
11815 + :cond_2ff
11816 + const-string v2, "android.intent.action.BOOT_COMPLETED"
11818 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11820 + move-result v2
11822 + if-eqz v2, :cond_30e
11824 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11826 + invoke-virtual {v2}, Landroid/privacy/PrivacySettingsManager;->setBootCompleted()V
11828 + goto/16 :goto_75
11830 + :cond_30e
11831 + const-string v2, "android.intent.action.PACKAGE_ADDED"
11833 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11835 + move-result v2
11837 + if-eqz v2, :cond_75
11839 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpPackageAddedHash:J
11841 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11843 + move-result-wide v4
11845 + cmp-long v2, v2, v4
11847 + if-eqz v2, :cond_75
11849 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11851 + move-result-wide v2
11853 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpPackageAddedHash:J
11855 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->getData()Landroid/net/Uri;
11857 + move-result-object v2
11859 + invoke-virtual {v2}, Landroid/net/Uri;->getSchemeSpecificPart()Ljava/lang/String;
11861 + move-result-object v10
11863 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->getExtras()Landroid/os/Bundle;
11865 + move-result-object v2
11867 + const-string v3, "android.intent.extra.UID"
11869 + invoke-virtual {v2, v3}, Landroid/os/Bundle;->getInt(Ljava/lang/String;)I
11871 + move-result v11
11873 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11875 + invoke-virtual {v2, v10, v11}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
11877 + move-result-object v8
11879 + if-eqz v8, :cond_75
11881 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getUid()I
11883 + move-result v2
11885 + if-eq v2, v11, :cond_75
11887 + invoke-virtual {v8, v11}, Landroid/privacy/PrivacySettings;->setUid(I)V
11889 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11891 + invoke-virtual {v2, v8}, Landroid/privacy/PrivacySettingsManager;->saveSettings(Landroid/privacy/PrivacySettings;)Z
11893 + goto/16 :goto_75
11895 + :array_350
11896 + .array-data 0x1
11897 + 0x0t
11898 + 0x20t
11899 + 0x1t
11900 + 0x81t
11901 + 0xf0t
11902 + 0x0t
11903 + 0x0t
11904 + 0x11t
11905 + 0x90t
11906 + 0x1t
11907 + 0x30t
11908 + 0x22t
11909 + 0x22t
11910 + 0x80t
11911 + 0x1t
11912 + 0x20t
11913 + .end array-data
11915 + :array_35c
11916 + .array-data 0x1
11917 + 0x0t
11918 + 0x20t
11919 + 0x1t
11920 + 0x81t
11921 + 0xf0t
11922 + 0x0t
11923 + 0x0t
11924 + 0x11t
11925 + 0x90t
11926 + 0x1t
11927 + 0x30t
11928 + 0x22t
11929 + 0x22t
11930 + 0x80t
11931 + 0x1t
11932 + 0x20t
11933 + .end array-data
11934 +.end method
11936 +.method private static hashCode(Landroid/content/Intent;)J
11937 + .registers 7
11939 + const-wide/16 v3, 0x0
11941 + const-string/jumbo v2, "privacy_hash"
11943 + invoke-virtual {p0, v2, v3, v4}, Landroid/content/Intent;->getLongExtra(Ljava/lang/String;J)J
11945 + move-result-wide v0
11947 + cmp-long v2, v0, v3
11949 + if-nez v2, :cond_1e
11951 + invoke-virtual {p0}, Landroid/content/Intent;->filterHashCode()I
11953 + move-result v2
11955 + int-to-long v2, v2
11957 + invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
11959 + move-result-wide v4
11961 + add-long v0, v2, v4
11963 + const-string/jumbo v2, "privacy_hash"
11965 + invoke-virtual {p0, v2, v0, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;J)Landroid/content/Intent;
11967 + :cond_1e
11968 + return-wide v0
11969 +.end method
11970 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyContentResolver.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyContentResolver.smali
11971 --- stock-framework/smali/android/privacy/surrogate/PrivacyContentResolver.smali 1969-12-31 18:00:00.000000000 -0600
11972 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyContentResolver.smali 2012-08-06 13:25:00.031455168 -0500
11973 @@ -0,0 +1,624 @@
11974 +.class public final Landroid/privacy/surrogate/PrivacyContentResolver;
11975 +.super Ljava/lang/Object;
11976 +.source "PrivacyContentResolver.java"
11979 +# static fields
11980 +.field private static final TAG:Ljava/lang/String; = "PrivacyContentResolver"
11982 +.field private static pSetMan:Landroid/privacy/PrivacySettingsManager;
11985 +# direct methods
11986 +.method public constructor <init>()V
11987 + .registers 1
11989 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
11991 + return-void
11992 +.end method
11994 +.method private static arrayToString([Ljava/lang/String;)Ljava/lang/String;
11995 + .registers 8
11997 + new-instance v4, Ljava/lang/StringBuffer;
11999 + invoke-direct {v4}, Ljava/lang/StringBuffer;-><init>()V
12001 + if-eqz p0, :cond_2d
12003 + move-object v0, p0
12005 + array-length v3, v0
12007 + const/4 v2, 0x0
12009 + :goto_a
12010 + if-ge v2, v3, :cond_30
12012 + aget-object v1, v0, v2
12014 + new-instance v5, Ljava/lang/StringBuilder;
12016 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
12018 + const-string v6, "["
12020 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
12022 + move-result-object v5
12024 + invoke-virtual {v5, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
12026 + move-result-object v5
12028 + const-string v6, "]"
12030 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
12032 + move-result-object v5
12034 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
12036 + move-result-object v5
12038 + invoke-virtual {v4, v5}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
12040 + add-int/lit8 v2, v2, 0x1
12042 + goto :goto_a
12044 + :cond_2d
12045 + const-string v5, ""
12047 + :goto_2f
12048 + return-object v5
12050 + :cond_30
12051 + invoke-virtual {v4}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String;
12053 + move-result-object v5
12055 + goto :goto_2f
12056 +.end method
12058 +.method public static enforcePrivacyPermission(Landroid/net/Uri;[Ljava/lang/String;Landroid/content/Context;Landroid/database/Cursor;)Landroid/database/Cursor;
12059 + .registers 21
12060 + .annotation system Ldalvik/annotation/Throws;
12061 + value = {
12062 + Landroid/os/RemoteException;
12064 + .end annotation
12066 + if-eqz p0, :cond_1e4
12068 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12070 + if-nez v1, :cond_13
12072 + const-string/jumbo v1, "privacy"
12074 + move-object/from16 v0, p2
12076 + invoke-virtual {v0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
12078 + move-result-object v1
12080 + check-cast v1, Landroid/privacy/PrivacySettingsManager;
12082 + sput-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12084 + :cond_13
12085 + invoke-virtual/range {p2 .. p2}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
12087 + move-result-object v2
12089 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
12091 + move-result v3
12093 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12095 + invoke-virtual {v1, v2, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
12097 + move-result-object v7
12099 + invoke-virtual/range {p0 .. p0}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
12101 + move-result-object v9
12103 + const-string v15, "[real]"
12105 + move-object/from16 v13, p3
12107 + if-eqz v9, :cond_54
12109 + const-string v1, "contacts"
12111 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12113 + move-result v1
12115 + if-nez v1, :cond_3b
12117 + const-string v1, "com.android.contacts"
12119 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12121 + move-result v1
12123 + if-eqz v1, :cond_ab
12125 + :cond_3b
12126 + if-eqz v7, :cond_54
12128 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getContactsSetting()B
12130 + move-result v1
12132 + const/4 v4, 0x1
12134 + if-ne v1, v4, :cond_55
12136 + const-string v15, "[empty]"
12138 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12140 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12142 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12144 + const/4 v4, 0x1
12146 + const-string v5, "contacts"
12148 + const/4 v6, 0x0
12150 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12152 + :cond_54
12153 + :goto_54
12154 + return-object v13
12156 + :cond_55
12157 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getContactsSetting()B
12159 + move-result v1
12161 + const/4 v4, 0x2
12163 + if-ne v1, v4, :cond_a1
12165 + invoke-virtual/range {p0 .. p0}, Landroid/net/Uri;->toString()Ljava/lang/String;
12167 + move-result-object v1
12169 + sget-object v4, Landroid/provider/ContactsContract$Contacts;->CONTENT_URI:Landroid/net/Uri;
12171 + invoke-virtual {v4}, Landroid/net/Uri;->toString()Ljava/lang/String;
12173 + move-result-object v4
12175 + invoke-virtual {v1, v4}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
12177 + move-result v1
12179 + if-eqz v1, :cond_a1
12181 + const/4 v11, 0x0
12183 + if-eqz p1, :cond_82
12185 + move-object/from16 v8, p1
12187 + array-length v12, v8
12189 + const/4 v10, 0x0
12191 + :goto_73
12192 + if-ge v10, v12, :cond_82
12194 + aget-object v16, v8, v10
12196 + const-string v1, "_id"
12198 + move-object/from16 v0, v16
12200 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12202 + move-result v1
12204 + if-eqz v1, :cond_93
12206 + const/4 v11, 0x1
12208 + :cond_82
12209 + if-nez v11, :cond_96
12211 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12213 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12215 + :goto_89
12216 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12218 + const/4 v4, 0x2
12220 + const-string v5, "contacts"
12222 + const/4 v6, 0x0
12224 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12226 + goto :goto_54
12228 + :cond_93
12229 + add-int/lit8 v10, v10, 0x1
12231 + goto :goto_73
12233 + :cond_96
12234 + new-instance v14, Landroid/privacy/surrogate/PrivacyCursor;
12236 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getAllowedContacts()[I
12238 + move-result-object v1
12240 + invoke-direct {v14, v13, v1}, Landroid/privacy/surrogate/PrivacyCursor;-><init>(Landroid/database/Cursor;[I)V
12242 + move-object v13, v14
12244 + goto :goto_89
12246 + :cond_a1
12247 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12249 + const/4 v4, 0x0
12251 + const-string v5, "contacts"
12253 + const/4 v6, 0x0
12255 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12257 + goto :goto_54
12259 + :cond_ab
12260 + const-string v1, "com.android.calendar"
12262 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12264 + move-result v1
12266 + if-eqz v1, :cond_d8
12268 + if-eqz v7, :cond_cd
12270 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getCalendarSetting()B
12272 + move-result v1
12274 + const/4 v4, 0x1
12276 + if-ne v1, v4, :cond_cd
12278 + const-string v15, "[empty]"
12280 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12282 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12284 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12286 + const/4 v4, 0x1
12288 + const-string v5, "calendar"
12290 + const/4 v6, 0x0
12292 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12294 + goto :goto_54
12296 + :cond_cd
12297 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12299 + const/4 v4, 0x0
12301 + const-string v5, "calendar"
12303 + const/4 v6, 0x0
12305 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12307 + goto/16 :goto_54
12309 + :cond_d8
12310 + sget-object v1, Landroid/provider/Telephony$Mms;->CONTENT_URI:Landroid/net/Uri;
12312 + invoke-virtual {v1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
12314 + move-result-object v1
12316 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12318 + move-result v1
12320 + if-eqz v1, :cond_10c
12322 + if-eqz v7, :cond_100
12324 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getMmsSetting()B
12326 + move-result v1
12328 + const/4 v4, 0x1
12330 + if-ne v1, v4, :cond_100
12332 + const-string v15, "[empty]"
12334 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12336 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12338 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12340 + const/4 v4, 0x1
12342 + const-string/jumbo v5, "mms"
12344 + const/4 v6, 0x0
12346 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12348 + goto/16 :goto_54
12350 + :cond_100
12351 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12353 + const/4 v4, 0x0
12355 + const-string/jumbo v5, "mms"
12357 + const/4 v6, 0x0
12359 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12361 + goto/16 :goto_54
12363 + :cond_10c
12364 + sget-object v1, Landroid/provider/Telephony$Sms;->CONTENT_URI:Landroid/net/Uri;
12366 + invoke-virtual {v1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
12368 + move-result-object v1
12370 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12372 + move-result v1
12374 + if-eqz v1, :cond_140
12376 + if-eqz v7, :cond_134
12378 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getSmsSetting()B
12380 + move-result v1
12382 + const/4 v4, 0x1
12384 + if-ne v1, v4, :cond_134
12386 + const-string v15, "[empty]"
12388 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12390 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12392 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12394 + const/4 v4, 0x1
12396 + const-string/jumbo v5, "sms"
12398 + const/4 v6, 0x0
12400 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12402 + goto/16 :goto_54
12404 + :cond_134
12405 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12407 + const/4 v4, 0x0
12409 + const-string/jumbo v5, "sms"
12411 + const/4 v6, 0x0
12413 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12415 + goto/16 :goto_54
12417 + :cond_140
12418 + sget-object v1, Landroid/provider/Telephony$MmsSms;->CONTENT_URI:Landroid/net/Uri;
12420 + invoke-virtual {v1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
12422 + move-result-object v1
12424 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12426 + move-result v1
12428 + if-nez v1, :cond_155
12430 + const-string/jumbo v1, "mms-sms-v2"
12432 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12434 + move-result v1
12436 + if-eqz v1, :cond_184
12438 + :cond_155
12439 + if-eqz v7, :cond_178
12441 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getMmsSetting()B
12443 + move-result v1
12445 + const/4 v4, 0x1
12447 + if-eq v1, v4, :cond_165
12449 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getSmsSetting()B
12451 + move-result v1
12453 + const/4 v4, 0x1
12455 + if-ne v1, v4, :cond_178
12457 + :cond_165
12458 + const-string v15, "[empty]"
12460 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12462 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12464 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12466 + const/4 v4, 0x1
12468 + const-string/jumbo v5, "mmsSms"
12470 + const/4 v6, 0x0
12472 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12474 + goto/16 :goto_54
12476 + :cond_178
12477 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12479 + const/4 v4, 0x0
12481 + const-string/jumbo v5, "mmsSms"
12483 + const/4 v6, 0x0
12485 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12487 + goto/16 :goto_54
12489 + :cond_184
12490 + const-string v1, "call_log"
12492 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12494 + move-result v1
12496 + if-eqz v1, :cond_1b2
12498 + if-eqz v7, :cond_1a7
12500 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getCallLogSetting()B
12502 + move-result v1
12504 + const/4 v4, 0x1
12506 + if-ne v1, v4, :cond_1a7
12508 + const-string v15, "[empty]"
12510 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12512 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12514 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12516 + const/4 v4, 0x1
12518 + const-string v5, "callLog"
12520 + const/4 v6, 0x0
12522 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12524 + goto/16 :goto_54
12526 + :cond_1a7
12527 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12529 + const/4 v4, 0x0
12531 + const-string v5, "callLog"
12533 + const/4 v6, 0x0
12535 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12537 + goto/16 :goto_54
12539 + :cond_1b2
12540 + sget-object v1, Landroid/provider/Browser;->BOOKMARKS_URI:Landroid/net/Uri;
12542 + invoke-virtual {v1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
12544 + move-result-object v1
12546 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12548 + move-result v1
12550 + if-eqz v1, :cond_54
12552 + if-eqz v7, :cond_1d9
12554 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getBookmarksSetting()B
12556 + move-result v1
12558 + const/4 v4, 0x1
12560 + if-ne v1, v4, :cond_1d9
12562 + const-string v15, "[empty]"
12564 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12566 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12568 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12570 + const/4 v4, 0x1
12572 + const-string v5, "bookmarks"
12574 + const/4 v6, 0x0
12576 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12578 + goto/16 :goto_54
12580 + :cond_1d9
12581 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12583 + const/4 v4, 0x0
12585 + const-string v5, "bookmarks"
12587 + const/4 v6, 0x0
12589 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12591 + goto/16 :goto_54
12593 + :cond_1e4
12594 + move-object/from16 v13, p3
12596 + goto/16 :goto_54
12597 +.end method
12598 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyCursor.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyCursor.smali
12599 --- stock-framework/smali/android/privacy/surrogate/PrivacyCursor.smali 1969-12-31 18:00:00.000000000 -0600
12600 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyCursor.smali 2012-08-06 13:25:00.031455168 -0500
12601 @@ -0,0 +1,1225 @@
12602 +.class public Landroid/privacy/surrogate/PrivacyCursor;
12603 +.super Ljava/lang/Object;
12604 +.source "PrivacyCursor.java"
12606 +# interfaces
12607 +.implements Landroid/database/Cursor;
12610 +# static fields
12611 +.field private static final TAG:Ljava/lang/String; = "PrivacyCursor"
12614 +# instance fields
12615 +.field private allowedIdMapping:[I
12617 +.field private allowedIds:[I
12619 +.field private realCursor:Landroid/database/Cursor;
12622 +# direct methods
12623 +.method public constructor <init>()V
12624 + .registers 1
12626 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
12628 + return-void
12629 +.end method
12631 +.method public constructor <init>(Landroid/database/Cursor;[I)V
12632 + .registers 7
12634 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
12636 + if-eqz p2, :cond_8
12638 + array-length v2, p2
12640 + if-nez v2, :cond_9
12642 + :cond_8
12643 + const/4 p1, 0x0
12645 + :cond_9
12646 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12648 + iput-object p2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIds:[I
12650 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12652 + if-eqz v2, :cond_3f
12654 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12656 + invoke-interface {v2}, Landroid/database/Cursor;->getPosition()I
12658 + move-result v0
12660 + array-length v2, p2
12662 + new-array v2, v2, [I
12664 + iput-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
12666 + const/4 v1, 0x0
12668 + :cond_1d
12669 + :goto_1d
12670 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12672 + invoke-interface {v2}, Landroid/database/Cursor;->moveToNext()Z
12674 + move-result v2
12676 + if-eqz v2, :cond_3a
12678 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12680 + invoke-direct {p0, v2}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(Landroid/database/Cursor;)Z
12682 + move-result v2
12684 + if-eqz v2, :cond_1d
12686 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
12688 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12690 + invoke-interface {v3}, Landroid/database/Cursor;->getPosition()I
12692 + move-result v3
12694 + aput v3, v2, v1
12696 + add-int/lit8 v1, v1, 0x1
12698 + goto :goto_1d
12700 + :cond_3a
12701 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12703 + invoke-interface {v2, v0}, Landroid/database/Cursor;->moveToPosition(I)Z
12705 + :cond_3f
12706 + return-void
12707 +.end method
12709 +.method private getContactId(Landroid/database/Cursor;)I
12710 + .registers 5
12712 + const-string v2, "_id"
12714 + invoke-interface {p1, v2}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
12716 + move-result v0
12718 + const/4 v1, -0x1
12720 + const/4 v2, -0x1
12722 + if-eq v0, v2, :cond_e
12724 + invoke-interface {p1, v0}, Landroid/database/Cursor;->getInt(I)I
12726 + move-result v1
12728 + :cond_e
12729 + return v1
12730 +.end method
12732 +.method private getMappedPos(I)I
12733 + .registers 4
12735 + const/4 v0, 0x0
12737 + :goto_1
12738 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
12740 + array-length v1, v1
12742 + if-ge v0, v1, :cond_10
12744 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
12746 + aget v1, v1, v0
12748 + if-ne v1, p1, :cond_d
12750 + :goto_c
12751 + return v0
12753 + :cond_d
12754 + add-int/lit8 v0, v0, 0x1
12756 + goto :goto_1
12758 + :cond_10
12759 + const/4 v0, -0x1
12761 + goto :goto_c
12762 +.end method
12764 +.method private isAllowed(I)Z
12765 + .registers 7
12767 + const/4 v4, 0x0
12769 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIds:[I
12771 + array-length v3, v0
12773 + const/4 v2, 0x0
12775 + :goto_5
12776 + if-ge v2, v3, :cond_c
12778 + aget v1, v0, v2
12780 + if-ne p1, v1, :cond_d
12782 + const/4 v4, 0x1
12784 + :cond_c
12785 + return v4
12787 + :cond_d
12788 + add-int/lit8 v2, v2, 0x1
12790 + goto :goto_5
12791 +.end method
12793 +.method private isAllowed(Landroid/database/Cursor;)Z
12794 + .registers 3
12796 + invoke-direct {p0, p1}, Landroid/privacy/surrogate/PrivacyCursor;->getContactId(Landroid/database/Cursor;)I
12798 + move-result v0
12800 + invoke-direct {p0, v0}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(I)Z
12802 + move-result v0
12804 + return v0
12805 +.end method
12808 +# virtual methods
12809 +.method public close()V
12810 + .registers 2
12812 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12814 + if-eqz v0, :cond_9
12816 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12818 + invoke-interface {v0}, Landroid/database/Cursor;->close()V
12820 + :cond_9
12821 + return-void
12822 +.end method
12824 +.method public copyStringToBuffer(ILandroid/database/CharArrayBuffer;)V
12825 + .registers 4
12827 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12829 + if-eqz v0, :cond_9
12831 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12833 + invoke-interface {v0, p1, p2}, Landroid/database/Cursor;->copyStringToBuffer(ILandroid/database/CharArrayBuffer;)V
12835 + :cond_9
12836 + return-void
12837 +.end method
12839 +.method public deactivate()V
12840 + .registers 2
12842 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12844 + if-eqz v0, :cond_9
12846 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12848 + invoke-interface {v0}, Landroid/database/Cursor;->deactivate()V
12850 + :cond_9
12851 + return-void
12852 +.end method
12854 +.method public getBlob(I)[B
12855 + .registers 3
12857 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12859 + if-eqz v0, :cond_b
12861 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12863 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getBlob(I)[B
12865 + move-result-object v0
12867 + :goto_a
12868 + return-object v0
12870 + :cond_b
12871 + const/4 v0, 0x0
12873 + new-array v0, v0, [B
12875 + goto :goto_a
12876 +.end method
12878 +.method public getColumnCount()I
12879 + .registers 2
12881 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12883 + if-eqz v0, :cond_b
12885 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12887 + invoke-interface {v0}, Landroid/database/Cursor;->getColumnCount()I
12889 + move-result v0
12891 + :goto_a
12892 + return v0
12894 + :cond_b
12895 + const/4 v0, 0x0
12897 + goto :goto_a
12898 +.end method
12900 +.method public getColumnIndex(Ljava/lang/String;)I
12901 + .registers 3
12903 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12905 + if-eqz v0, :cond_b
12907 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12909 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
12911 + move-result v0
12913 + :goto_a
12914 + return v0
12916 + :cond_b
12917 + const/4 v0, -0x1
12919 + goto :goto_a
12920 +.end method
12922 +.method public getColumnIndexOrThrow(Ljava/lang/String;)I
12923 + .registers 3
12924 + .annotation system Ldalvik/annotation/Throws;
12925 + value = {
12926 + Ljava/lang/IllegalArgumentException;
12928 + .end annotation
12930 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12932 + if-eqz v0, :cond_b
12934 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12936 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getColumnIndexOrThrow(Ljava/lang/String;)I
12938 + move-result v0
12940 + :goto_a
12941 + return v0
12943 + :cond_b
12944 + const/4 v0, -0x1
12946 + goto :goto_a
12947 +.end method
12949 +.method public getColumnName(I)Ljava/lang/String;
12950 + .registers 3
12952 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12954 + if-eqz v0, :cond_b
12956 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12958 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getColumnName(I)Ljava/lang/String;
12960 + move-result-object v0
12962 + :goto_a
12963 + return-object v0
12965 + :cond_b
12966 + const-string v0, ""
12968 + goto :goto_a
12969 +.end method
12971 +.method public getColumnNames()[Ljava/lang/String;
12972 + .registers 4
12974 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12976 + if-eqz v0, :cond_b
12978 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12980 + invoke-interface {v0}, Landroid/database/Cursor;->getColumnNames()[Ljava/lang/String;
12982 + move-result-object v0
12984 + :goto_a
12985 + return-object v0
12987 + :cond_b
12988 + const/4 v0, 0x1
12990 + new-array v0, v0, [Ljava/lang/String;
12992 + const/4 v1, 0x0
12994 + const-string v2, ""
12996 + aput-object v2, v0, v1
12998 + goto :goto_a
12999 +.end method
13001 +.method public getCount()I
13002 + .registers 4
13004 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13006 + if-eqz v0, :cond_23
13008 + const-string v0, "PrivacyCursor"
13010 + new-instance v1, Ljava/lang/StringBuilder;
13012 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
13014 + const-string v2, "getCount: "
13016 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13018 + move-result-object v1
13020 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13022 + array-length v2, v2
13024 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
13026 + move-result-object v1
13028 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
13030 + move-result-object v1
13032 + invoke-static {v0, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
13034 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13036 + array-length v0, v0
13038 + :goto_22
13039 + return v0
13041 + :cond_23
13042 + const/4 v0, 0x0
13044 + goto :goto_22
13045 +.end method
13047 +.method public getDouble(I)D
13048 + .registers 4
13050 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13052 + if-eqz v0, :cond_b
13054 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13056 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getDouble(I)D
13058 + move-result-wide v0
13060 + :goto_a
13061 + return-wide v0
13063 + :cond_b
13064 + const-wide/16 v0, 0x0
13066 + goto :goto_a
13067 +.end method
13069 +.method public getExtras()Landroid/os/Bundle;
13070 + .registers 2
13072 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13074 + if-eqz v0, :cond_b
13076 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13078 + invoke-interface {v0}, Landroid/database/Cursor;->getExtras()Landroid/os/Bundle;
13080 + move-result-object v0
13082 + :goto_a
13083 + return-object v0
13085 + :cond_b
13086 + new-instance v0, Landroid/os/Bundle;
13088 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
13090 + goto :goto_a
13091 +.end method
13093 +.method public getFloat(I)F
13094 + .registers 3
13096 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13098 + if-eqz v0, :cond_b
13100 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13102 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getFloat(I)F
13104 + move-result v0
13106 + :goto_a
13107 + return v0
13109 + :cond_b
13110 + const/4 v0, 0x0
13112 + goto :goto_a
13113 +.end method
13115 +.method public getInt(I)I
13116 + .registers 4
13118 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13120 + if-eqz v1, :cond_b
13122 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13124 + invoke-interface {v1, p1}, Landroid/database/Cursor;->getInt(I)I
13126 + move-result v0
13128 + :goto_a
13129 + return v0
13131 + :cond_b
13132 + const/4 v0, 0x0
13134 + goto :goto_a
13135 +.end method
13137 +.method public getLong(I)J
13138 + .registers 4
13140 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13142 + if-eqz v0, :cond_b
13144 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13146 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getLong(I)J
13148 + move-result-wide v0
13150 + :goto_a
13151 + return-wide v0
13153 + :cond_b
13154 + const-wide/16 v0, 0x0
13156 + goto :goto_a
13157 +.end method
13159 +.method public getPosition()I
13160 + .registers 5
13162 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13164 + if-eqz v1, :cond_37
13166 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13168 + invoke-interface {v1}, Landroid/database/Cursor;->getPosition()I
13170 + move-result v1
13172 + invoke-direct {p0, v1}, Landroid/privacy/surrogate/PrivacyCursor;->getMappedPos(I)I
13174 + move-result v0
13176 + const-string v1, "PrivacyCursor"
13178 + new-instance v2, Ljava/lang/StringBuilder;
13180 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
13182 + const-string v3, "getPosition - mapped position: "
13184 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13186 + move-result-object v2
13188 + invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
13190 + move-result-object v2
13192 + const-string v3, " real position: "
13194 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13196 + move-result-object v2
13198 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13200 + invoke-interface {v3}, Landroid/database/Cursor;->getPosition()I
13202 + move-result v3
13204 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
13206 + move-result-object v2
13208 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
13210 + move-result-object v2
13212 + invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
13214 + :goto_36
13215 + return v0
13217 + :cond_37
13218 + const/4 v0, -0x1
13220 + goto :goto_36
13221 +.end method
13223 +.method public getShort(I)S
13224 + .registers 3
13226 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13228 + if-eqz v0, :cond_b
13230 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13232 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getShort(I)S
13234 + move-result v0
13236 + :goto_a
13237 + return v0
13239 + :cond_b
13240 + const/4 v0, 0x0
13242 + goto :goto_a
13243 +.end method
13245 +.method public getString(I)Ljava/lang/String;
13246 + .registers 3
13248 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13250 + if-eqz v0, :cond_b
13252 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13254 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
13256 + move-result-object v0
13258 + :goto_a
13259 + return-object v0
13261 + :cond_b
13262 + const-string v0, ""
13264 + goto :goto_a
13265 +.end method
13267 +.method public getType(I)I
13268 + .registers 3
13270 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13272 + if-eqz v0, :cond_b
13274 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13276 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getType(I)I
13278 + move-result v0
13280 + :goto_a
13281 + return v0
13283 + :cond_b
13284 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13286 + const/4 v0, 0x0
13288 + goto :goto_a
13289 +.end method
13291 +.method public getWantsAllOnMoveCalls()Z
13292 + .registers 2
13294 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13296 + if-eqz v0, :cond_b
13298 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13300 + invoke-interface {v0}, Landroid/database/Cursor;->getWantsAllOnMoveCalls()Z
13302 + move-result v0
13304 + :goto_a
13305 + return v0
13307 + :cond_b
13308 + const/4 v0, 0x0
13310 + goto :goto_a
13311 +.end method
13313 +.method public isAfterLast()Z
13314 + .registers 2
13316 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13318 + if-eqz v0, :cond_b
13320 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13322 + invoke-interface {v0}, Landroid/database/Cursor;->isAfterLast()Z
13324 + move-result v0
13326 + :goto_a
13327 + return v0
13329 + :cond_b
13330 + const/4 v0, 0x0
13332 + goto :goto_a
13333 +.end method
13335 +.method public isBeforeFirst()Z
13336 + .registers 2
13338 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13340 + if-eqz v0, :cond_b
13342 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13344 + invoke-interface {v0}, Landroid/database/Cursor;->isBeforeFirst()Z
13346 + move-result v0
13348 + :goto_a
13349 + return v0
13351 + :cond_b
13352 + const/4 v0, 0x0
13354 + goto :goto_a
13355 +.end method
13357 +.method public isClosed()Z
13358 + .registers 2
13360 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13362 + if-eqz v0, :cond_b
13364 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13366 + invoke-interface {v0}, Landroid/database/Cursor;->isClosed()Z
13368 + move-result v0
13370 + :goto_a
13371 + return v0
13373 + :cond_b
13374 + const/4 v0, 0x0
13376 + goto :goto_a
13377 +.end method
13379 +.method public isFirst()Z
13380 + .registers 4
13382 + const/4 v0, 0x0
13384 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13386 + if-eqz v1, :cond_12
13388 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13390 + invoke-interface {v1}, Landroid/database/Cursor;->getPosition()I
13392 + move-result v1
13394 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13396 + aget v2, v2, v0
13398 + if-ne v1, v2, :cond_12
13400 + const/4 v0, 0x1
13402 + :cond_12
13403 + return v0
13404 +.end method
13406 +.method public isLast()Z
13407 + .registers 4
13409 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13411 + if-eqz v0, :cond_17
13413 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13415 + invoke-interface {v0}, Landroid/database/Cursor;->getPosition()I
13417 + move-result v0
13419 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13421 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13423 + array-length v2, v2
13425 + add-int/lit8 v2, v2, -0x1
13427 + aget v1, v1, v2
13429 + if-ne v0, v1, :cond_17
13431 + const/4 v0, 0x1
13433 + :goto_16
13434 + return v0
13436 + :cond_17
13437 + const/4 v0, 0x0
13439 + goto :goto_16
13440 +.end method
13442 +.method public isNull(I)Z
13443 + .registers 3
13445 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13447 + if-eqz v0, :cond_b
13449 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13451 + invoke-interface {v0, p1}, Landroid/database/Cursor;->isNull(I)Z
13453 + move-result v0
13455 + :goto_a
13456 + return v0
13458 + :cond_b
13459 + const/4 v0, 0x0
13461 + goto :goto_a
13462 +.end method
13464 +.method public move(I)Z
13465 + .registers 8
13467 + const/4 v2, 0x0
13469 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13471 + if-eqz v3, :cond_33
13473 + const-string v3, "PrivacyCursor"
13475 + new-instance v4, Ljava/lang/StringBuilder;
13477 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
13479 + const-string/jumbo v5, "move - offset: "
13481 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13483 + move-result-object v4
13485 + invoke-virtual {v4, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
13487 + move-result-object v4
13489 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
13491 + move-result-object v4
13493 + invoke-static {v3, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
13495 + :try_start_1e
13496 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13498 + iget-object v4, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13500 + invoke-interface {v4}, Landroid/database/Cursor;->getPosition()I
13502 + move-result v4
13504 + invoke-direct {p0, v4}, Landroid/privacy/surrogate/PrivacyCursor;->getMappedPos(I)I
13506 + move-result v4
13508 + add-int/2addr v4, p1
13510 + aget v1, v3, v4
13512 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13514 + invoke-interface {v3, v1}, Landroid/database/Cursor;->moveToPosition(I)Z
13515 + :try_end_32
13516 + .catch Ljava/lang/ArrayIndexOutOfBoundsException; {:try_start_1e .. :try_end_32} :catch_34
13518 + move-result v2
13520 + :cond_33
13521 + :goto_33
13522 + return v2
13524 + :catch_34
13525 + move-exception v0
13527 + goto :goto_33
13528 +.end method
13530 +.method public moveToFirst()Z
13531 + .registers 4
13533 + const/4 v0, 0x0
13535 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13537 + if-eqz v1, :cond_f
13539 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13541 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13543 + aget v2, v2, v0
13545 + invoke-interface {v1, v2}, Landroid/database/Cursor;->moveToPosition(I)Z
13547 + move-result v0
13549 + :cond_f
13550 + return v0
13551 +.end method
13553 +.method public moveToLast()Z
13554 + .registers 5
13556 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13558 + if-eqz v1, :cond_14
13560 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13562 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13564 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13566 + array-length v3, v3
13568 + add-int/lit8 v3, v3, -0x1
13570 + aget v2, v2, v3
13572 + invoke-interface {v1, v2}, Landroid/database/Cursor;->moveToPosition(I)Z
13574 + move-result v0
13576 + :goto_13
13577 + return v0
13579 + :cond_14
13580 + const/4 v0, 0x0
13582 + goto :goto_13
13583 +.end method
13585 +.method public moveToNext()Z
13586 + .registers 3
13588 + const/4 v0, 0x0
13590 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13592 + if-eqz v1, :cond_d
13594 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13596 + invoke-interface {v1}, Landroid/database/Cursor;->moveToNext()Z
13598 + move-result v1
13600 + if-nez v1, :cond_e
13602 + :cond_d
13603 + return v0
13605 + :cond_e
13606 + const/4 v0, 0x1
13608 + :goto_f
13609 + const/4 v1, 0x1
13611 + if-ne v0, v1, :cond_d
13613 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13615 + invoke-direct {p0, v1}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(Landroid/database/Cursor;)Z
13617 + move-result v1
13619 + if-nez v1, :cond_d
13621 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13623 + invoke-interface {v1}, Landroid/database/Cursor;->moveToNext()Z
13625 + move-result v0
13627 + goto :goto_f
13628 +.end method
13630 +.method public moveToPosition(I)Z
13631 + .registers 6
13633 + const/4 v1, 0x0
13635 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13637 + if-eqz v2, :cond_f
13639 + :try_start_5
13640 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13642 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13644 + aget v3, v3, p1
13646 + invoke-interface {v2, v3}, Landroid/database/Cursor;->moveToPosition(I)Z
13647 + :try_end_e
13648 + .catch Ljava/lang/ArrayIndexOutOfBoundsException; {:try_start_5 .. :try_end_e} :catch_10
13650 + move-result v1
13652 + :cond_f
13653 + :goto_f
13654 + return v1
13656 + :catch_10
13657 + move-exception v0
13659 + goto :goto_f
13660 +.end method
13662 +.method public moveToPrevious()Z
13663 + .registers 3
13665 + const/4 v0, 0x0
13667 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13669 + if-eqz v1, :cond_d
13671 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13673 + invoke-interface {v1}, Landroid/database/Cursor;->moveToPrevious()Z
13675 + move-result v1
13677 + if-nez v1, :cond_e
13679 + :cond_d
13680 + return v0
13682 + :cond_e
13683 + const/4 v0, 0x1
13685 + :goto_f
13686 + const/4 v1, 0x1
13688 + if-ne v0, v1, :cond_d
13690 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13692 + invoke-direct {p0, v1}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(Landroid/database/Cursor;)Z
13694 + move-result v1
13696 + if-nez v1, :cond_d
13698 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13700 + invoke-interface {v1}, Landroid/database/Cursor;->moveToPrevious()Z
13702 + move-result v0
13704 + goto :goto_f
13705 +.end method
13707 +.method public registerContentObserver(Landroid/database/ContentObserver;)V
13708 + .registers 3
13710 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13712 + if-eqz v0, :cond_9
13714 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13716 + invoke-interface {v0, p1}, Landroid/database/Cursor;->registerContentObserver(Landroid/database/ContentObserver;)V
13718 + :cond_9
13719 + return-void
13720 +.end method
13722 +.method public registerDataSetObserver(Landroid/database/DataSetObserver;)V
13723 + .registers 3
13725 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13727 + if-eqz v0, :cond_9
13729 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13731 + invoke-interface {v0, p1}, Landroid/database/Cursor;->registerDataSetObserver(Landroid/database/DataSetObserver;)V
13733 + :cond_9
13734 + return-void
13735 +.end method
13737 +.method public requery()Z
13738 + .registers 2
13740 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13742 + if-eqz v0, :cond_b
13744 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13746 + invoke-interface {v0}, Landroid/database/Cursor;->requery()Z
13748 + move-result v0
13750 + :goto_a
13751 + return v0
13753 + :cond_b
13754 + const/4 v0, 0x0
13756 + goto :goto_a
13757 +.end method
13759 +.method public respond(Landroid/os/Bundle;)Landroid/os/Bundle;
13760 + .registers 3
13762 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13764 + if-eqz v0, :cond_b
13766 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13768 + invoke-interface {v0, p1}, Landroid/database/Cursor;->respond(Landroid/os/Bundle;)Landroid/os/Bundle;
13770 + move-result-object v0
13772 + :goto_a
13773 + return-object v0
13775 + :cond_b
13776 + new-instance v0, Landroid/os/Bundle;
13778 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
13780 + goto :goto_a
13781 +.end method
13783 +.method public setNotificationUri(Landroid/content/ContentResolver;Landroid/net/Uri;)V
13784 + .registers 4
13786 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13788 + if-eqz v0, :cond_9
13790 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13792 + invoke-interface {v0, p1, p2}, Landroid/database/Cursor;->setNotificationUri(Landroid/content/ContentResolver;Landroid/net/Uri;)V
13794 + :cond_9
13795 + return-void
13796 +.end method
13798 +.method public unregisterContentObserver(Landroid/database/ContentObserver;)V
13799 + .registers 3
13801 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13803 + if-eqz v0, :cond_9
13805 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13807 + invoke-interface {v0, p1}, Landroid/database/Cursor;->unregisterContentObserver(Landroid/database/ContentObserver;)V
13809 + :cond_9
13810 + return-void
13811 +.end method
13813 +.method public unregisterDataSetObserver(Landroid/database/DataSetObserver;)V
13814 + .registers 3
13816 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13818 + if-eqz v0, :cond_9
13820 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13822 + invoke-interface {v0, p1}, Landroid/database/Cursor;->unregisterDataSetObserver(Landroid/database/DataSetObserver;)V
13824 + :cond_9
13825 + return-void
13826 +.end method
13827 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali
13828 --- stock-framework/smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali 1969-12-31 18:00:00.000000000 -0600
13829 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali 2012-08-06 13:25:00.035455182 -0500
13830 @@ -0,0 +1,134 @@
13831 +.class Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
13832 +.super Ljava/lang/Thread;
13833 +.source "PrivacyLocationManager.java"
13836 +# annotations
13837 +.annotation system Ldalvik/annotation/EnclosingClass;
13838 + value = Landroid/privacy/surrogate/PrivacyLocationManager;
13839 +.end annotation
13841 +.annotation system Ldalvik/annotation/InnerClass;
13842 + accessFlags = 0x2
13843 + name = "PrivacyLocationUpdater"
13844 +.end annotation
13847 +# instance fields
13848 +.field private intent:Landroid/app/PendingIntent;
13850 +.field private latitude:D
13852 +.field private listener:Landroid/location/LocationListener;
13854 +.field private longitude:D
13856 +.field private provider:Ljava/lang/String;
13858 +.field final synthetic this$0:Landroid/privacy/surrogate/PrivacyLocationManager;
13861 +# direct methods
13862 +.method public constructor <init>(Landroid/privacy/surrogate/PrivacyLocationManager;Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;DD)V
13863 + .registers 9
13865 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->this$0:Landroid/privacy/surrogate/PrivacyLocationManager;
13867 + invoke-direct {p0}, Ljava/lang/Thread;-><init>()V
13869 + iput-object p2, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->provider:Ljava/lang/String;
13871 + iput-object p3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->listener:Landroid/location/LocationListener;
13873 + iput-object p4, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->intent:Landroid/app/PendingIntent;
13875 + iput-wide p5, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->latitude:D
13877 + iput-wide p7, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->longitude:D
13879 + return-void
13880 +.end method
13883 +# virtual methods
13884 +.method public run()V
13885 + .registers 8
13887 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->provider:Ljava/lang/String;
13889 + if-eqz v3, :cond_43
13891 + new-instance v2, Landroid/location/Location;
13893 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->provider:Ljava/lang/String;
13895 + invoke-direct {v2, v3}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
13897 + iget-wide v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->latitude:D
13899 + invoke-virtual {v2, v3, v4}, Landroid/location/Location;->setLatitude(D)V
13901 + iget-wide v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->longitude:D
13903 + invoke-virtual {v2, v3, v4}, Landroid/location/Location;->setLongitude(D)V
13905 + const/4 v1, 0x0
13907 + :goto_16
13908 + const/4 v3, 0x5
13910 + if-ge v1, v3, :cond_43
13912 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->listener:Landroid/location/LocationListener;
13914 + if-eqz v3, :cond_34
13916 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->listener:Landroid/location/LocationListener;
13918 + invoke-interface {v3, v2}, Landroid/location/LocationListener;->onLocationChanged(Landroid/location/Location;)V
13920 + :cond_22
13921 + :goto_22
13922 + :try_start_22
13923 + invoke-static {}, Ljava/lang/Math;->random()D
13925 + move-result-wide v3
13927 + const-wide v5, 0x408f400000000000L
13929 + mul-double/2addr v3, v5
13931 + double-to-int v3, v3
13933 + int-to-long v3, v3
13935 + invoke-static {v3, v4}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->sleep(J)V
13936 + :try_end_31
13937 + .catch Ljava/lang/InterruptedException; {:try_start_22 .. :try_end_31} :catch_3e
13939 + :goto_31
13940 + add-int/lit8 v1, v1, 0x1
13942 + goto :goto_16
13944 + :cond_34
13945 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->intent:Landroid/app/PendingIntent;
13947 + if-eqz v3, :cond_22
13949 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->intent:Landroid/app/PendingIntent;
13951 + invoke-virtual {v3}, Landroid/app/PendingIntent;->cancel()V
13953 + goto :goto_22
13955 + :catch_3e
13956 + move-exception v0
13958 + invoke-virtual {v0}, Ljava/lang/InterruptedException;->printStackTrace()V
13960 + goto :goto_31
13962 + :cond_43
13963 + return-void
13964 +.end method
13965 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyLocationManager.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyLocationManager.smali
13966 --- stock-framework/smali/android/privacy/surrogate/PrivacyLocationManager.smali 1969-12-31 18:00:00.000000000 -0600
13967 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyLocationManager.smali 2012-08-06 13:25:00.035455182 -0500
13968 @@ -0,0 +1,2091 @@
13969 +.class public final Landroid/privacy/surrogate/PrivacyLocationManager;
13970 +.super Landroid/location/LocationManager;
13971 +.source "PrivacyLocationManager.java"
13974 +# annotations
13975 +.annotation system Ldalvik/annotation/MemberClasses;
13976 + value = {
13977 + Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
13979 +.end annotation
13982 +# static fields
13983 +.field private static final CUSTOM_LOCATION_UPDATE_COUNT:I = 0x5
13985 +.field private static final TAG:Ljava/lang/String; = "PrivacyLocationManager"
13988 +# instance fields
13989 +.field private context:Landroid/content/Context;
13991 +.field private lock:Ljava/lang/Object;
13993 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
13996 +# direct methods
13997 +.method public constructor <init>(Landroid/location/ILocationManager;Landroid/content/Context;)V
13998 + .registers 5
14000 + invoke-direct {p0, p1}, Landroid/location/LocationManager;-><init>(Landroid/location/ILocationManager;)V
14002 + new-instance v0, Ljava/lang/Object;
14004 + invoke-direct {v0}, Ljava/lang/Object;-><init>()V
14006 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->lock:Ljava/lang/Object;
14008 + iput-object p2, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
14010 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
14012 + const-string/jumbo v1, "privacy"
14014 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
14016 + move-result-object v1
14018 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
14020 + move-result-object v1
14022 + invoke-direct {v0, p2, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
14024 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14026 + return-void
14027 +.end method
14029 +.method private requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
14030 + .registers 7
14032 + const/4 v2, 0x3
14034 + if-nez p1, :cond_5
14036 + const/4 v0, 0x0
14038 + :goto_4
14039 + return v0
14041 + :cond_5
14042 + invoke-virtual {p1}, Landroid/location/Criteria;->getAccuracy()I
14044 + move-result v0
14046 + const/4 v1, 0x1
14048 + if-eq v0, v1, :cond_24
14050 + invoke-virtual {p1}, Landroid/location/Criteria;->getBearingAccuracy()I
14052 + move-result v0
14054 + if-eq v0, v2, :cond_24
14056 + invoke-virtual {p1}, Landroid/location/Criteria;->getHorizontalAccuracy()I
14058 + move-result v0
14060 + if-eq v0, v2, :cond_24
14062 + invoke-virtual {p1}, Landroid/location/Criteria;->getVerticalAccuracy()I
14064 + move-result v0
14066 + if-eq v0, v2, :cond_24
14068 + invoke-virtual {p1}, Landroid/location/Criteria;->getSpeedAccuracy()I
14070 + move-result v0
14072 + if-ne v0, v2, :cond_2b
14074 + :cond_24
14075 + const-string v0, "gps"
14077 + invoke-direct {p0, v0, p2, p3}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
14079 + move-result v0
14081 + goto :goto_4
14083 + :cond_2b
14084 + const-string/jumbo v0, "network"
14086 + invoke-direct {p0, v0, p2, p3}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
14088 + move-result v0
14090 + goto :goto_4
14091 +.end method
14093 +.method private requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
14094 + .registers 24
14096 + move-object/from16 v0, p0
14098 + iget-object v0, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->lock:Ljava/lang/Object;
14100 + move-object/from16 v19, v0
14102 + monitor-enter v19
14104 + :try_start_7
14105 + move-object/from16 v0, p0
14107 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
14109 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
14111 + move-result-object v2
14113 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
14115 + move-result v3
14117 + move-object/from16 v0, p0
14119 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14121 + invoke-virtual {v1, v2, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
14123 + move-result-object v7
14125 + const/16 v18, 0x0
14127 + if-eqz v7, :cond_239
14129 + const-string v1, "gps"
14131 + move-object/from16 v0, p1
14133 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
14135 + move-result v1
14137 + if-eqz v1, :cond_111
14139 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
14141 + move-result v1
14143 + packed-switch v1, :pswitch_data_25e
14145 + :cond_30
14146 + :goto_30
14147 + monitor-exit v19
14149 + return v18
14151 + :pswitch_32
14152 + move-object/from16 v0, p0
14154 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14156 + const/4 v4, 0x0
14158 + const-string v5, "locationGPS"
14160 + const/4 v6, 0x0
14162 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14164 + goto :goto_30
14166 + :catchall_3e
14167 + move-exception v1
14169 + monitor-exit v19
14170 + :try_end_40
14171 + .catchall {:try_start_7 .. :try_end_40} :catchall_3e
14173 + throw v1
14175 + :pswitch_41
14176 + if-eqz p3, :cond_46
14178 + :try_start_43
14179 + invoke-virtual/range {p3 .. p3}, Landroid/app/PendingIntent;->cancel()V
14181 + :cond_46
14182 + const/16 v18, 0x1
14184 + move-object/from16 v0, p0
14186 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14188 + const/4 v4, 0x1
14190 + const-string v5, "locationGPS"
14192 + const/4 v6, 0x0
14194 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14195 + :try_end_53
14196 + .catchall {:try_start_43 .. :try_end_53} :catchall_3e
14198 + goto :goto_30
14200 + :pswitch_54
14201 + :try_start_54
14202 + new-instance v8, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
14204 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
14206 + move-result-object v1
14208 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14210 + move-result-wide v13
14212 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
14214 + move-result-object v1
14216 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14218 + move-result-wide v15
14220 + move-object/from16 v9, p0
14222 + move-object/from16 v10, p1
14224 + move-object/from16 v11, p2
14226 + move-object/from16 v12, p3
14228 + invoke-direct/range {v8 .. v16}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;-><init>(Landroid/privacy/surrogate/PrivacyLocationManager;Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;DD)V
14230 + invoke-virtual {v8}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->start()V
14231 + :try_end_74
14232 + .catchall {:try_start_54 .. :try_end_74} :catchall_3e
14233 + .catch Ljava/lang/NumberFormatException; {:try_start_54 .. :try_end_74} :catch_a6
14235 + const/16 v18, 0x1
14237 + :goto_76
14238 + :try_start_76
14239 + move-object/from16 v0, p0
14241 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14243 + const/4 v4, 0x2
14245 + const-string v5, "locationGPS"
14247 + new-instance v6, Ljava/lang/StringBuilder;
14249 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
14251 + const-string v8, "Lat: "
14253 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14255 + move-result-object v6
14257 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
14259 + move-result-object v8
14261 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14263 + move-result-object v6
14265 + const-string v8, " Lon: "
14267 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14269 + move-result-object v6
14271 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
14273 + move-result-object v8
14275 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14277 + move-result-object v6
14279 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14281 + move-result-object v6
14283 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14285 + goto :goto_30
14287 + :catch_a6
14288 + move-exception v17
14290 + const-string v1, "PrivacyLocationManager"
14292 + const-string/jumbo v4, "requestLocationUpdates: invalid coordinates"
14294 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
14295 + :try_end_af
14296 + .catchall {:try_start_76 .. :try_end_af} :catchall_3e
14298 + const/16 v18, 0x1
14300 + goto :goto_76
14302 + :pswitch_b2
14303 + :try_start_b2
14304 + new-instance v8, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
14306 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
14308 + move-result-object v1
14310 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14312 + move-result-wide v13
14314 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
14316 + move-result-object v1
14318 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14320 + move-result-wide v15
14322 + move-object/from16 v9, p0
14324 + move-object/from16 v10, p1
14326 + move-object/from16 v11, p2
14328 + move-object/from16 v12, p3
14330 + invoke-direct/range {v8 .. v16}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;-><init>(Landroid/privacy/surrogate/PrivacyLocationManager;Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;DD)V
14332 + invoke-virtual {v8}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->start()V
14333 + :try_end_d2
14334 + .catchall {:try_start_b2 .. :try_end_d2} :catchall_3e
14335 + .catch Ljava/lang/NumberFormatException; {:try_start_b2 .. :try_end_d2} :catch_105
14337 + const/16 v18, 0x1
14339 + :goto_d4
14340 + :try_start_d4
14341 + move-object/from16 v0, p0
14343 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14345 + const/4 v4, 0x3
14347 + const-string v5, "locationGPS"
14349 + new-instance v6, Ljava/lang/StringBuilder;
14351 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
14353 + const-string v8, "Lat: "
14355 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14357 + move-result-object v6
14359 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
14361 + move-result-object v8
14363 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14365 + move-result-object v6
14367 + const-string v8, " Lon: "
14369 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14371 + move-result-object v6
14373 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
14375 + move-result-object v8
14377 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14379 + move-result-object v6
14381 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14383 + move-result-object v6
14385 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14387 + goto/16 :goto_30
14389 + :catch_105
14390 + move-exception v17
14392 + const-string v1, "PrivacyLocationManager"
14394 + const-string/jumbo v4, "requestLocationUpdates: invalid coordinates"
14396 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
14398 + const/16 v18, 0x1
14400 + goto :goto_d4
14402 + :cond_111
14403 + const-string/jumbo v1, "network"
14405 + move-object/from16 v0, p1
14407 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
14409 + move-result v1
14411 + if-eqz v1, :cond_204
14413 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
14415 + move-result v1
14417 + packed-switch v1, :pswitch_data_26a
14419 + goto/16 :goto_30
14421 + :pswitch_125
14422 + move-object/from16 v0, p0
14424 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14426 + const/4 v4, 0x0
14428 + const-string v5, "locationNetwork"
14430 + const/4 v6, 0x0
14432 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14434 + goto/16 :goto_30
14436 + :pswitch_132
14437 + if-eqz p3, :cond_137
14439 + invoke-virtual/range {p3 .. p3}, Landroid/app/PendingIntent;->cancel()V
14441 + :cond_137
14442 + const/16 v18, 0x1
14444 + move-object/from16 v0, p0
14446 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14448 + const/4 v4, 0x1
14450 + const-string v5, "locationNetwork"
14452 + const/4 v6, 0x0
14454 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14455 + :try_end_144
14456 + .catchall {:try_start_d4 .. :try_end_144} :catchall_3e
14458 + goto/16 :goto_30
14460 + :pswitch_146
14461 + :try_start_146
14462 + new-instance v8, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
14464 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
14466 + move-result-object v1
14468 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14470 + move-result-wide v13
14472 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
14474 + move-result-object v1
14476 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14478 + move-result-wide v15
14480 + move-object/from16 v9, p0
14482 + move-object/from16 v10, p1
14484 + move-object/from16 v11, p2
14486 + move-object/from16 v12, p3
14488 + invoke-direct/range {v8 .. v16}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;-><init>(Landroid/privacy/surrogate/PrivacyLocationManager;Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;DD)V
14490 + invoke-virtual {v8}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->start()V
14491 + :try_end_166
14492 + .catchall {:try_start_146 .. :try_end_166} :catchall_3e
14493 + .catch Ljava/lang/NumberFormatException; {:try_start_146 .. :try_end_166} :catch_199
14495 + const/16 v18, 0x1
14497 + :goto_168
14498 + :try_start_168
14499 + move-object/from16 v0, p0
14501 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14503 + const/4 v4, 0x2
14505 + const-string v5, "locationNetwork"
14507 + new-instance v6, Ljava/lang/StringBuilder;
14509 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
14511 + const-string v8, "Lat: "
14513 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14515 + move-result-object v6
14517 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
14519 + move-result-object v8
14521 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14523 + move-result-object v6
14525 + const-string v8, " Lon: "
14527 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14529 + move-result-object v6
14531 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
14533 + move-result-object v8
14535 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14537 + move-result-object v6
14539 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14541 + move-result-object v6
14543 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14545 + goto/16 :goto_30
14547 + :catch_199
14548 + move-exception v17
14550 + const-string v1, "PrivacyLocationManager"
14552 + const-string/jumbo v4, "requestLocationUpdates: invalid coordinates"
14554 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
14555 + :try_end_1a2
14556 + .catchall {:try_start_168 .. :try_end_1a2} :catchall_3e
14558 + const/16 v18, 0x1
14560 + goto :goto_168
14562 + :pswitch_1a5
14563 + :try_start_1a5
14564 + new-instance v8, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
14566 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
14568 + move-result-object v1
14570 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14572 + move-result-wide v13
14574 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
14576 + move-result-object v1
14578 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14580 + move-result-wide v15
14582 + move-object/from16 v9, p0
14584 + move-object/from16 v10, p1
14586 + move-object/from16 v11, p2
14588 + move-object/from16 v12, p3
14590 + invoke-direct/range {v8 .. v16}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;-><init>(Landroid/privacy/surrogate/PrivacyLocationManager;Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;DD)V
14592 + invoke-virtual {v8}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->start()V
14593 + :try_end_1c5
14594 + .catchall {:try_start_1a5 .. :try_end_1c5} :catchall_3e
14595 + .catch Ljava/lang/NumberFormatException; {:try_start_1a5 .. :try_end_1c5} :catch_1f8
14597 + const/16 v18, 0x1
14599 + :goto_1c7
14600 + :try_start_1c7
14601 + move-object/from16 v0, p0
14603 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14605 + const/4 v4, 0x3
14607 + const-string v5, "locationNetwork"
14609 + new-instance v6, Ljava/lang/StringBuilder;
14611 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
14613 + const-string v8, "Lat: "
14615 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14617 + move-result-object v6
14619 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
14621 + move-result-object v8
14623 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14625 + move-result-object v6
14627 + const-string v8, " Lon: "
14629 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14631 + move-result-object v6
14633 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
14635 + move-result-object v8
14637 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14639 + move-result-object v6
14641 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14643 + move-result-object v6
14645 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14647 + goto/16 :goto_30
14649 + :catch_1f8
14650 + move-exception v17
14652 + const-string v1, "PrivacyLocationManager"
14654 + const-string/jumbo v4, "requestLocationUpdates: invalid coordinates"
14656 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
14658 + const/16 v18, 0x1
14660 + goto :goto_1c7
14662 + :cond_204
14663 + const-string/jumbo v1, "passive"
14665 + move-object/from16 v0, p1
14667 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
14669 + move-result v1
14671 + if-eqz v1, :cond_30
14673 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
14675 + move-result v1
14677 + if-nez v1, :cond_22a
14679 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
14681 + move-result v1
14683 + if-nez v1, :cond_22a
14685 + const/16 v18, 0x0
14687 + move-object/from16 v0, p0
14689 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14691 + const/4 v4, 0x0
14693 + const-string v5, "locationGPS"
14695 + const/4 v6, 0x0
14697 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14699 + goto/16 :goto_30
14701 + :cond_22a
14702 + const/16 v18, 0x1
14704 + move-object/from16 v0, p0
14706 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14708 + const/4 v4, 0x1
14710 + const-string v5, "locationGPS"
14712 + const/4 v6, 0x0
14714 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14716 + goto/16 :goto_30
14718 + :cond_239
14719 + const-string/jumbo v1, "network"
14721 + move-object/from16 v0, p1
14723 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
14725 + move-result v1
14727 + if-eqz v1, :cond_251
14729 + move-object/from16 v0, p0
14731 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14733 + const/4 v4, 0x0
14735 + const-string v5, "locationNetwork"
14737 + const/4 v6, 0x0
14739 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14741 + goto/16 :goto_30
14743 + :cond_251
14744 + move-object/from16 v0, p0
14746 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14748 + const/4 v4, 0x0
14750 + const-string v5, "locationGPS"
14752 + const/4 v6, 0x0
14754 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14755 + :try_end_25c
14756 + .catchall {:try_start_1c7 .. :try_end_25c} :catchall_3e
14758 + goto/16 :goto_30
14760 + :pswitch_data_25e
14761 + .packed-switch 0x0
14762 + :pswitch_32
14763 + :pswitch_41
14764 + :pswitch_54
14765 + :pswitch_b2
14766 + .end packed-switch
14768 + :pswitch_data_26a
14769 + .packed-switch 0x0
14770 + :pswitch_125
14771 + :pswitch_132
14772 + :pswitch_146
14773 + :pswitch_1a5
14774 + .end packed-switch
14775 +.end method
14778 +# virtual methods
14779 +.method public addNmeaListener(Landroid/location/GpsStatus$NmeaListener;)Z
14780 + .registers 10
14782 + const/4 v5, 0x0
14784 + const/4 v7, 0x0
14786 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
14788 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
14790 + move-result-object v1
14792 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
14794 + move-result v2
14796 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14798 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
14800 + move-result-object v6
14802 + if-eqz v6, :cond_24
14804 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
14806 + move-result v0
14808 + if-eqz v0, :cond_24
14810 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14812 + const/4 v3, 0x1
14814 + const-string v4, "locationGPS"
14816 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14818 + move v0, v7
14820 + :goto_23
14821 + return v0
14823 + :cond_24
14824 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14826 + const-string v4, "locationGPS"
14828 + move v3, v7
14830 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14832 + invoke-super {p0, p1}, Landroid/location/LocationManager;->addNmeaListener(Landroid/location/GpsStatus$NmeaListener;)Z
14834 + move-result v0
14836 + goto :goto_23
14837 +.end method
14839 +.method public getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
14840 + .registers 14
14842 + const/4 v11, 0x3
14844 + const/4 v10, 0x2
14846 + const/4 v8, 0x1
14848 + const/4 v3, 0x0
14850 + const/4 v5, 0x0
14852 + if-nez p1, :cond_c
14854 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
14856 + move-result-object v7
14858 + :cond_b
14859 + :goto_b
14860 + return-object v7
14862 + :cond_c
14863 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
14865 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
14867 + move-result-object v1
14869 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
14871 + move-result v2
14873 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14875 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
14877 + move-result-object v6
14879 + const/4 v7, 0x0
14881 + if-eqz v6, :cond_22c
14883 + const-string v0, "gps"
14885 + invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
14887 + move-result v0
14889 + if-eqz v0, :cond_ff
14891 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
14893 + move-result v0
14895 + packed-switch v0, :pswitch_data_29a
14897 + goto :goto_b
14899 + :pswitch_2f
14900 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
14902 + move-result-object v7
14904 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14906 + const-string v4, "locationGPS"
14908 + if-eqz v7, :cond_5e
14910 + new-instance v5, Ljava/lang/StringBuilder;
14912 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
14914 + const-string v8, "Lat: "
14916 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14918 + move-result-object v5
14920 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
14922 + move-result-wide v8
14924 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
14926 + move-result-object v5
14928 + const-string v8, " Lon: "
14930 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14932 + move-result-object v5
14934 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
14936 + move-result-wide v8
14938 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
14940 + move-result-object v5
14942 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14944 + move-result-object v5
14946 + :cond_5e
14947 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14949 + goto :goto_b
14951 + :pswitch_62
14952 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14954 + const-string v4, "locationGPS"
14956 + move v3, v8
14958 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14960 + goto :goto_b
14962 + :pswitch_6b
14963 + new-instance v7, Landroid/location/Location;
14965 + invoke-direct {v7, p1}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
14967 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
14969 + move-result-object v0
14971 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14973 + move-result-wide v3
14975 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLatitude(D)V
14977 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
14979 + move-result-object v0
14981 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14983 + move-result-wide v3
14985 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLongitude(D)V
14987 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14989 + const-string v4, "locationGPS"
14991 + new-instance v3, Ljava/lang/StringBuilder;
14993 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
14995 + const-string v5, "Lat: "
14997 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14999 + move-result-object v3
15001 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15003 + move-result-wide v8
15005 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15007 + move-result-object v3
15009 + const-string v5, " Lon: "
15011 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15013 + move-result-object v3
15015 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15017 + move-result-wide v8
15019 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15021 + move-result-object v3
15023 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15025 + move-result-object v5
15027 + move v3, v10
15029 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15031 + goto/16 :goto_b
15033 + :pswitch_b5
15034 + new-instance v7, Landroid/location/Location;
15036 + invoke-direct {v7, p1}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
15038 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
15040 + move-result-object v0
15042 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
15044 + move-result-wide v3
15046 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLatitude(D)V
15048 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
15050 + move-result-object v0
15052 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
15054 + move-result-wide v3
15056 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLongitude(D)V
15058 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15060 + const-string v4, "locationGPS"
15062 + new-instance v3, Ljava/lang/StringBuilder;
15064 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
15066 + const-string v5, "Lat: "
15068 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15070 + move-result-object v3
15072 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15074 + move-result-wide v8
15076 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15078 + move-result-object v3
15080 + const-string v5, " Lon: "
15082 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15084 + move-result-object v3
15086 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15088 + move-result-wide v8
15090 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15092 + move-result-object v3
15094 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15096 + move-result-object v5
15098 + move v3, v11
15100 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15102 + goto/16 :goto_b
15104 + :cond_ff
15105 + const-string/jumbo v0, "network"
15107 + invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15109 + move-result v0
15111 + if-eqz v0, :cond_1e3
15113 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15115 + move-result v0
15117 + packed-switch v0, :pswitch_data_2a6
15119 + goto/16 :goto_b
15121 + :pswitch_111
15122 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
15124 + move-result-object v7
15126 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15128 + const-string v4, "locationNetwork"
15130 + if-eqz v7, :cond_140
15132 + new-instance v5, Ljava/lang/StringBuilder;
15134 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
15136 + const-string v8, "Lat: "
15138 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15140 + move-result-object v5
15142 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15144 + move-result-wide v8
15146 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15148 + move-result-object v5
15150 + const-string v8, " Lon: "
15152 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15154 + move-result-object v5
15156 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15158 + move-result-wide v8
15160 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15162 + move-result-object v5
15164 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15166 + move-result-object v5
15168 + :cond_140
15169 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15171 + goto/16 :goto_b
15173 + :pswitch_145
15174 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15176 + const-string v4, "locationNetwork"
15178 + move v3, v8
15180 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15182 + goto/16 :goto_b
15184 + :pswitch_14f
15185 + new-instance v7, Landroid/location/Location;
15187 + invoke-direct {v7, p1}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
15189 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
15191 + move-result-object v0
15193 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
15195 + move-result-wide v3
15197 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLatitude(D)V
15199 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
15201 + move-result-object v0
15203 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
15205 + move-result-wide v3
15207 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLongitude(D)V
15209 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15211 + const-string v4, "locationNetwork"
15213 + new-instance v3, Ljava/lang/StringBuilder;
15215 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
15217 + const-string v5, "Lat: "
15219 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15221 + move-result-object v3
15223 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15225 + move-result-wide v8
15227 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15229 + move-result-object v3
15231 + const-string v5, " Lon: "
15233 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15235 + move-result-object v3
15237 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15239 + move-result-wide v8
15241 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15243 + move-result-object v3
15245 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15247 + move-result-object v5
15249 + move v3, v10
15251 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15253 + goto/16 :goto_b
15255 + :pswitch_199
15256 + new-instance v7, Landroid/location/Location;
15258 + invoke-direct {v7, p1}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
15260 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
15262 + move-result-object v0
15264 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
15266 + move-result-wide v3
15268 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLatitude(D)V
15270 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
15272 + move-result-object v0
15274 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
15276 + move-result-wide v3
15278 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLongitude(D)V
15280 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15282 + const-string v4, "locationNetwork"
15284 + new-instance v3, Ljava/lang/StringBuilder;
15286 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
15288 + const-string v5, "Lat: "
15290 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15292 + move-result-object v3
15294 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15296 + move-result-wide v8
15298 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15300 + move-result-object v3
15302 + const-string v5, " Lon: "
15304 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15306 + move-result-object v3
15308 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15310 + move-result-wide v8
15312 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15314 + move-result-object v3
15316 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15318 + move-result-object v5
15320 + move v3, v11
15322 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15324 + goto/16 :goto_b
15326 + :cond_1e3
15327 + const-string/jumbo v0, "passive"
15329 + invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15331 + move-result v0
15333 + if-eqz v0, :cond_b
15335 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
15337 + move-result v0
15339 + if-nez v0, :cond_b
15341 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15343 + move-result v0
15345 + if-nez v0, :cond_b
15347 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
15349 + move-result-object v7
15351 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15353 + const-string v4, "locationGPS"
15355 + if-eqz v7, :cond_227
15357 + new-instance v5, Ljava/lang/StringBuilder;
15359 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
15361 + const-string v8, "Lat: "
15363 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15365 + move-result-object v5
15367 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15369 + move-result-wide v8
15371 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15373 + move-result-object v5
15375 + const-string v8, " Lon: "
15377 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15379 + move-result-object v5
15381 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15383 + move-result-wide v8
15385 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15387 + move-result-object v5
15389 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15391 + move-result-object v5
15393 + :cond_227
15394 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15396 + goto/16 :goto_b
15398 + :cond_22c
15399 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
15401 + move-result-object v7
15403 + const-string/jumbo v0, "network"
15405 + invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15407 + move-result v0
15409 + if-eqz v0, :cond_269
15411 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15413 + const-string v4, "locationNetwork"
15415 + if-eqz v7, :cond_264
15417 + new-instance v5, Ljava/lang/StringBuilder;
15419 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
15421 + const-string v8, "Lat: "
15423 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15425 + move-result-object v5
15427 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15429 + move-result-wide v8
15431 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15433 + move-result-object v5
15435 + const-string v8, " Lon: "
15437 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15439 + move-result-object v5
15441 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15443 + move-result-wide v8
15445 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15447 + move-result-object v5
15449 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15451 + move-result-object v5
15453 + :cond_264
15454 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15456 + goto/16 :goto_b
15458 + :cond_269
15459 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15461 + const-string v4, "locationGPS"
15463 + if-eqz v7, :cond_294
15465 + new-instance v5, Ljava/lang/StringBuilder;
15467 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
15469 + const-string v8, "Lat: "
15471 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15473 + move-result-object v5
15475 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15477 + move-result-wide v8
15479 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15481 + move-result-object v5
15483 + const-string v8, " Lon: "
15485 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15487 + move-result-object v5
15489 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15491 + move-result-wide v8
15493 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15495 + move-result-object v5
15497 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15499 + move-result-object v5
15501 + :cond_294
15502 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15504 + goto/16 :goto_b
15506 + nop
15508 + :pswitch_data_29a
15509 + .packed-switch 0x0
15510 + :pswitch_2f
15511 + :pswitch_62
15512 + :pswitch_6b
15513 + :pswitch_b5
15514 + .end packed-switch
15516 + :pswitch_data_2a6
15517 + .packed-switch 0x0
15518 + :pswitch_111
15519 + :pswitch_145
15520 + :pswitch_14f
15521 + :pswitch_199
15522 + .end packed-switch
15523 +.end method
15525 +.method public getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15526 + .registers 7
15528 + if-nez p1, :cond_7
15530 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15532 + move-result-object v0
15534 + :cond_6
15535 + :goto_6
15536 + return-object v0
15538 + :cond_7
15539 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15541 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
15543 + invoke-virtual {v3}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
15545 + move-result-object v3
15547 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
15549 + move-result v4
15551 + invoke-virtual {v2, v3, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
15553 + move-result-object v1
15555 + const/4 v0, 0x0
15557 + if-eqz v1, :cond_5f
15559 + const-string v2, "gps"
15561 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15563 + move-result v2
15565 + if-eqz v2, :cond_2f
15567 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
15569 + move-result v2
15571 + packed-switch v2, :pswitch_data_64
15573 + :pswitch_29
15574 + goto :goto_6
15576 + :pswitch_2a
15577 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15579 + move-result-object v0
15581 + goto :goto_6
15583 + :cond_2f
15584 + const-string/jumbo v2, "network"
15586 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15588 + move-result v2
15590 + if-eqz v2, :cond_45
15592 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15594 + move-result v2
15596 + packed-switch v2, :pswitch_data_70
15598 + :pswitch_3f
15599 + goto :goto_6
15601 + :pswitch_40
15602 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15604 + move-result-object v0
15606 + goto :goto_6
15608 + :cond_45
15609 + const-string/jumbo v2, "passive"
15611 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15613 + move-result v2
15615 + if-eqz v2, :cond_6
15617 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
15619 + move-result v2
15621 + if-eqz v2, :cond_5a
15623 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15625 + move-result v2
15627 + if-nez v2, :cond_6
15629 + :cond_5a
15630 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15632 + move-result-object v0
15634 + goto :goto_6
15636 + :cond_5f
15637 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15639 + move-result-object v0
15641 + goto :goto_6
15643 + :pswitch_data_64
15644 + .packed-switch 0x0
15645 + :pswitch_2a
15646 + :pswitch_29
15647 + :pswitch_2a
15648 + :pswitch_2a
15649 + .end packed-switch
15651 + :pswitch_data_70
15652 + .packed-switch 0x0
15653 + :pswitch_40
15654 + :pswitch_3f
15655 + :pswitch_40
15656 + :pswitch_40
15657 + .end packed-switch
15658 +.end method
15660 +.method public isProviderEnabled(Ljava/lang/String;)Z
15661 + .registers 7
15663 + if-nez p1, :cond_7
15665 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
15667 + move-result v0
15669 + :cond_6
15670 + :goto_6
15671 + :pswitch_6
15672 + return v0
15674 + :cond_7
15675 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15677 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
15679 + invoke-virtual {v3}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
15681 + move-result-object v3
15683 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
15685 + move-result v4
15687 + invoke-virtual {v2, v3, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
15689 + move-result-object v1
15691 + const/4 v0, 0x0
15693 + if-eqz v1, :cond_65
15695 + const-string v2, "gps"
15697 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15699 + move-result v2
15701 + if-eqz v2, :cond_31
15703 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
15705 + move-result v2
15707 + packed-switch v2, :pswitch_data_6a
15709 + goto :goto_6
15711 + :pswitch_2a
15712 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
15714 + move-result v0
15716 + goto :goto_6
15718 + :pswitch_2f
15719 + const/4 v0, 0x1
15721 + goto :goto_6
15723 + :cond_31
15724 + const-string/jumbo v2, "network"
15726 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15728 + move-result v2
15730 + if-eqz v2, :cond_49
15732 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15734 + move-result v2
15736 + packed-switch v2, :pswitch_data_76
15738 + goto :goto_6
15740 + :pswitch_42
15741 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
15743 + move-result v0
15745 + goto :goto_6
15747 + :pswitch_47
15748 + const/4 v0, 0x1
15750 + goto :goto_6
15752 + :cond_49
15753 + const-string/jumbo v2, "passive"
15755 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15757 + move-result v2
15759 + if-eqz v2, :cond_6
15761 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
15763 + move-result v2
15765 + if-eqz v2, :cond_5e
15767 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15769 + move-result v2
15771 + if-nez v2, :cond_63
15773 + :cond_5e
15774 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
15776 + move-result v0
15778 + goto :goto_6
15780 + :cond_63
15781 + const/4 v0, 0x0
15783 + goto :goto_6
15785 + :cond_65
15786 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
15788 + move-result v0
15790 + goto :goto_6
15792 + :pswitch_data_6a
15793 + .packed-switch 0x0
15794 + :pswitch_2a
15795 + :pswitch_6
15796 + :pswitch_2f
15797 + :pswitch_2f
15798 + .end packed-switch
15800 + :pswitch_data_76
15801 + .packed-switch 0x0
15802 + :pswitch_42
15803 + :pswitch_6
15804 + :pswitch_47
15805 + :pswitch_47
15806 + .end packed-switch
15807 +.end method
15809 +.method public requestLocationUpdates(JFLandroid/location/Criteria;Landroid/app/PendingIntent;)V
15810 + .registers 7
15812 + if-eqz p4, :cond_4
15814 + if-nez p5, :cond_8
15816 + :cond_4
15817 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/app/PendingIntent;)V
15819 + :cond_7
15820 + :goto_7
15821 + return-void
15823 + :cond_8
15824 + const/4 v0, 0x0
15826 + invoke-direct {p0, p4, v0, p5}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15828 + move-result v0
15830 + if-nez v0, :cond_7
15832 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/app/PendingIntent;)V
15834 + goto :goto_7
15835 +.end method
15837 +.method public requestLocationUpdates(JFLandroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
15838 + .registers 8
15840 + if-eqz p4, :cond_4
15842 + if-nez p5, :cond_8
15844 + :cond_4
15845 + invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
15847 + :cond_7
15848 + :goto_7
15849 + return-void
15851 + :cond_8
15852 + const/4 v0, 0x0
15854 + invoke-direct {p0, p4, p5, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15856 + move-result v0
15858 + if-nez v0, :cond_7
15860 + invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
15862 + goto :goto_7
15863 +.end method
15865 +.method public requestLocationUpdates(Ljava/lang/String;JFLandroid/app/PendingIntent;)V
15866 + .registers 7
15868 + if-eqz p1, :cond_4
15870 + if-nez p5, :cond_8
15872 + :cond_4
15873 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/app/PendingIntent;)V
15875 + :cond_7
15876 + :goto_7
15877 + return-void
15879 + :cond_8
15880 + const/4 v0, 0x0
15882 + invoke-direct {p0, p1, v0, p5}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15884 + move-result v0
15886 + if-nez v0, :cond_7
15888 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/app/PendingIntent;)V
15890 + goto :goto_7
15891 +.end method
15893 +.method public requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;)V
15894 + .registers 7
15896 + if-eqz p1, :cond_4
15898 + if-nez p5, :cond_8
15900 + :cond_4
15901 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;)V
15903 + :cond_7
15904 + :goto_7
15905 + return-void
15907 + :cond_8
15908 + const/4 v0, 0x0
15910 + invoke-direct {p0, p1, p5, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15912 + move-result v0
15914 + if-nez v0, :cond_7
15916 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;)V
15918 + goto :goto_7
15919 +.end method
15921 +.method public requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;Landroid/os/Looper;)V
15922 + .registers 8
15924 + if-eqz p1, :cond_4
15926 + if-nez p5, :cond_8
15928 + :cond_4
15929 + invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;Landroid/os/Looper;)V
15931 + :cond_7
15932 + :goto_7
15933 + return-void
15935 + :cond_8
15936 + const/4 v0, 0x0
15938 + invoke-direct {p0, p1, p5, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15940 + move-result v0
15942 + if-nez v0, :cond_7
15944 + invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;Landroid/os/Looper;)V
15946 + goto :goto_7
15947 +.end method
15949 +.method public requestSingleUpdate(Landroid/location/Criteria;Landroid/app/PendingIntent;)V
15950 + .registers 4
15952 + if-eqz p1, :cond_4
15954 + if-nez p2, :cond_8
15956 + :cond_4
15957 + invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/app/PendingIntent;)V
15959 + :cond_7
15960 + :goto_7
15961 + return-void
15963 + :cond_8
15964 + const/4 v0, 0x0
15966 + invoke-direct {p0, p1, v0, p2}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15968 + move-result v0
15970 + if-nez v0, :cond_7
15972 + invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/app/PendingIntent;)V
15974 + goto :goto_7
15975 +.end method
15977 +.method public requestSingleUpdate(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
15978 + .registers 5
15980 + if-eqz p1, :cond_4
15982 + if-nez p2, :cond_8
15984 + :cond_4
15985 + invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
15987 + :cond_7
15988 + :goto_7
15989 + return-void
15991 + :cond_8
15992 + const/4 v0, 0x0
15994 + invoke-direct {p0, p1, p2, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15996 + move-result v0
15998 + if-nez v0, :cond_7
16000 + invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
16002 + goto :goto_7
16003 +.end method
16005 +.method public requestSingleUpdate(Ljava/lang/String;Landroid/app/PendingIntent;)V
16006 + .registers 4
16008 + if-eqz p1, :cond_4
16010 + if-nez p2, :cond_8
16012 + :cond_4
16013 + invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/app/PendingIntent;)V
16015 + :cond_7
16016 + :goto_7
16017 + return-void
16019 + :cond_8
16020 + const/4 v0, 0x0
16022 + invoke-direct {p0, p1, v0, p2}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
16024 + move-result v0
16026 + if-nez v0, :cond_7
16028 + invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/app/PendingIntent;)V
16030 + goto :goto_7
16031 +.end method
16033 +.method public requestSingleUpdate(Ljava/lang/String;Landroid/location/LocationListener;Landroid/os/Looper;)V
16034 + .registers 5
16036 + if-eqz p1, :cond_4
16038 + if-nez p2, :cond_8
16040 + :cond_4
16041 + invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/location/LocationListener;Landroid/os/Looper;)V
16043 + :cond_7
16044 + :goto_7
16045 + return-void
16047 + :cond_8
16048 + const/4 v0, 0x0
16050 + invoke-direct {p0, p1, p2, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
16052 + move-result v0
16054 + if-nez v0, :cond_7
16056 + invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/location/LocationListener;Landroid/os/Looper;)V
16058 + goto :goto_7
16059 +.end method
16060 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyTelephonyManager.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyTelephonyManager.smali
16061 --- stock-framework/smali/android/privacy/surrogate/PrivacyTelephonyManager.smali 1969-12-31 18:00:00.000000000 -0600
16062 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyTelephonyManager.smali 2012-08-06 13:25:00.039455203 -0500
16063 @@ -0,0 +1,731 @@
16064 +.class public final Landroid/privacy/surrogate/PrivacyTelephonyManager;
16065 +.super Landroid/telephony/TelephonyManager;
16066 +.source "PrivacyTelephonyManager.java"
16069 +# static fields
16070 +.field private static final TAG:Ljava/lang/String; = "PrivacyTelephonyManager"
16073 +# instance fields
16074 +.field private context:Landroid/content/Context;
16076 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
16079 +# direct methods
16080 +.method public constructor <init>(Landroid/content/Context;)V
16081 + .registers 4
16083 + invoke-direct {p0, p1}, Landroid/telephony/TelephonyManager;-><init>(Landroid/content/Context;)V
16085 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16087 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
16089 + const-string/jumbo v1, "privacy"
16091 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
16093 + move-result-object v1
16095 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
16097 + move-result-object v1
16099 + invoke-direct {v0, p1, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
16101 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16103 + return-void
16104 +.end method
16106 +.method private getNetworkInfo()Ljava/lang/String;
16107 + .registers 8
16109 + const/4 v5, 0x0
16111 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16113 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16115 + move-result-object v1
16117 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16119 + move-result v2
16121 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16123 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16125 + move-result-object v6
16127 + if-eqz v6, :cond_25
16129 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
16131 + move-result v0
16133 + if-eqz v0, :cond_25
16135 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16137 + const/4 v3, 0x1
16139 + const-string/jumbo v4, "networkInfoCurrent"
16141 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16143 + const-string v5, ""
16145 + :goto_24
16146 + return-object v5
16148 + :cond_25
16149 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16151 + const/4 v3, 0x0
16153 + const-string/jumbo v4, "networkInfoCurrent"
16155 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16157 + goto :goto_24
16158 +.end method
16160 +.method private getSimInfo()Ljava/lang/String;
16161 + .registers 8
16163 + const/4 v5, 0x0
16165 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16167 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16169 + move-result-object v1
16171 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16173 + move-result v2
16175 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16177 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16179 + move-result-object v6
16181 + if-eqz v6, :cond_25
16183 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSimInfoSetting()B
16185 + move-result v0
16187 + if-eqz v0, :cond_25
16189 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16191 + const/4 v3, 0x1
16193 + const-string/jumbo v4, "networkInfoSIM"
16195 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16197 + const-string v5, ""
16199 + :goto_24
16200 + return-object v5
16202 + :cond_25
16203 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16205 + const/4 v3, 0x0
16207 + const-string/jumbo v4, "networkInfoSIM"
16209 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16211 + goto :goto_24
16212 +.end method
16215 +# virtual methods
16216 +.method public getDeviceId()Ljava/lang/String;
16217 + .registers 8
16219 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16221 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16223 + move-result-object v1
16225 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16227 + move-result v2
16229 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16231 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16233 + move-result-object v6
16235 + if-eqz v6, :cond_28
16237 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
16239 + move-result v0
16241 + if-eqz v0, :cond_28
16243 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceId()Ljava/lang/String;
16245 + move-result-object v5
16247 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16249 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
16251 + move-result v3
16253 + const-string v4, "deviceID"
16255 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16257 + :goto_27
16258 + return-object v5
16260 + :cond_28
16261 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getDeviceId()Ljava/lang/String;
16263 + move-result-object v5
16265 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16267 + const/4 v3, 0x0
16269 + const-string v4, "deviceID"
16271 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16273 + goto :goto_27
16274 +.end method
16276 +.method public getLine1Number()Ljava/lang/String;
16277 + .registers 8
16279 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16281 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16283 + move-result-object v1
16285 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16287 + move-result v2
16289 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16291 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16293 + move-result-object v6
16295 + if-eqz v6, :cond_28
16297 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
16299 + move-result v0
16301 + if-eqz v0, :cond_28
16303 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1Number()Ljava/lang/String;
16305 + move-result-object v5
16307 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16309 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
16311 + move-result v3
16313 + const-string v4, "line1Number"
16315 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16317 + :goto_27
16318 + return-object v5
16320 + :cond_28
16321 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getLine1Number()Ljava/lang/String;
16323 + move-result-object v5
16325 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16327 + const/4 v3, 0x0
16329 + const-string v4, "line1Number"
16331 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16333 + goto :goto_27
16334 +.end method
16336 +.method public getNeighboringCellInfo()Ljava/util/List;
16337 + .registers 10
16338 + .annotation system Ldalvik/annotation/Signature;
16339 + value = {
16340 + "()",
16341 + "Ljava/util/List",
16342 + "<",
16343 + "Landroid/telephony/NeighboringCellInfo;",
16344 + ">;"
16346 + .end annotation
16348 + iget-object v6, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16350 + iget-object v7, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16352 + invoke-virtual {v7}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16354 + move-result-object v7
16356 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16358 + move-result v8
16360 + invoke-virtual {v6, v7, v8}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16362 + move-result-object v5
16364 + const/4 v3, 0x0
16366 + const-string v4, "[null]"
16368 + if-eqz v5, :cond_1c
16370 + invoke-virtual {v5}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
16372 + move-result v6
16374 + const/4 v7, 0x1
16376 + if-ne v6, v7, :cond_1d
16378 + :cond_1c
16379 + :goto_1c
16380 + return-object v3
16382 + :cond_1d
16383 + invoke-virtual {v5}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
16385 + move-result v6
16387 + if-eqz v6, :cond_2b
16389 + new-instance v3, Ljava/util/ArrayList;
16391 + invoke-direct {v3}, Ljava/util/ArrayList;-><init>()V
16393 + const-string v4, "[empty list of cells]"
16395 + goto :goto_1c
16397 + :cond_2b
16398 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNeighboringCellInfo()Ljava/util/List;
16400 + move-result-object v3
16402 + const-string v0, ""
16404 + invoke-interface {v3}, Ljava/util/List;->iterator()Ljava/util/Iterator;
16406 + move-result-object v2
16408 + :goto_35
16409 + invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z
16411 + move-result v6
16413 + if-eqz v6, :cond_5f
16415 + invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
16417 + move-result-object v1
16419 + check-cast v1, Landroid/telephony/NeighboringCellInfo;
16421 + new-instance v6, Ljava/lang/StringBuilder;
16423 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
16425 + invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16427 + move-result-object v6
16429 + const-string v7, "\t"
16431 + invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16433 + move-result-object v6
16435 + invoke-virtual {v6, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
16437 + move-result-object v6
16439 + const-string v7, "\n"
16441 + invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16443 + move-result-object v6
16445 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
16447 + move-result-object v0
16449 + goto :goto_35
16451 + :cond_5f
16452 + new-instance v6, Ljava/lang/StringBuilder;
16454 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
16456 + const-string v7, "[real value]:\n"
16458 + invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16460 + move-result-object v6
16462 + invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16464 + move-result-object v6
16466 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
16468 + move-result-object v4
16470 + goto :goto_1c
16471 +.end method
16473 +.method public getNetworkCountryIso()Ljava/lang/String;
16474 + .registers 2
16476 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getNetworkInfo()Ljava/lang/String;
16478 + move-result-object v0
16480 + if-nez v0, :cond_a
16482 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNetworkCountryIso()Ljava/lang/String;
16484 + move-result-object v0
16486 + :cond_a
16487 + return-object v0
16488 +.end method
16490 +.method public getNetworkOperator()Ljava/lang/String;
16491 + .registers 2
16493 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getNetworkInfo()Ljava/lang/String;
16495 + move-result-object v0
16497 + if-nez v0, :cond_a
16499 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNetworkOperator()Ljava/lang/String;
16501 + move-result-object v0
16503 + :cond_a
16504 + return-object v0
16505 +.end method
16507 +.method public getNetworkOperatorName()Ljava/lang/String;
16508 + .registers 2
16510 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getNetworkInfo()Ljava/lang/String;
16512 + move-result-object v0
16514 + if-nez v0, :cond_a
16516 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNetworkOperatorName()Ljava/lang/String;
16518 + move-result-object v0
16520 + :cond_a
16521 + return-object v0
16522 +.end method
16524 +.method public getSimCountryIso()Ljava/lang/String;
16525 + .registers 2
16527 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getSimInfo()Ljava/lang/String;
16529 + move-result-object v0
16531 + if-nez v0, :cond_a
16533 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSimCountryIso()Ljava/lang/String;
16535 + move-result-object v0
16537 + :cond_a
16538 + return-object v0
16539 +.end method
16541 +.method public getSimOperator()Ljava/lang/String;
16542 + .registers 2
16544 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getSimInfo()Ljava/lang/String;
16546 + move-result-object v0
16548 + if-nez v0, :cond_a
16550 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSimOperator()Ljava/lang/String;
16552 + move-result-object v0
16554 + :cond_a
16555 + return-object v0
16556 +.end method
16558 +.method public getSimOperatorName()Ljava/lang/String;
16559 + .registers 2
16561 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getSimInfo()Ljava/lang/String;
16563 + move-result-object v0
16565 + if-nez v0, :cond_a
16567 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSimOperatorName()Ljava/lang/String;
16569 + move-result-object v0
16571 + :cond_a
16572 + return-object v0
16573 +.end method
16575 +.method public getSimSerialNumber()Ljava/lang/String;
16576 + .registers 8
16578 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16580 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16582 + move-result-object v1
16584 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16586 + move-result v2
16588 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16590 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16592 + move-result-object v6
16594 + if-eqz v6, :cond_29
16596 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSimSerialNumberSetting()B
16598 + move-result v0
16600 + if-eqz v0, :cond_29
16602 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSimSerialNumber()Ljava/lang/String;
16604 + move-result-object v5
16606 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16608 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSimSerialNumberSetting()B
16610 + move-result v3
16612 + const-string/jumbo v4, "simSerial"
16614 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16616 + :goto_28
16617 + return-object v5
16619 + :cond_29
16620 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSimSerialNumber()Ljava/lang/String;
16622 + move-result-object v5
16624 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16626 + const/4 v3, 0x0
16628 + const-string/jumbo v4, "simSerial"
16630 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16632 + goto :goto_28
16633 +.end method
16635 +.method public getSubscriberId()Ljava/lang/String;
16636 + .registers 8
16638 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16640 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16642 + move-result-object v1
16644 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16646 + move-result v2
16648 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16650 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16652 + move-result-object v6
16654 + if-eqz v6, :cond_29
16656 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberIdSetting()B
16658 + move-result v0
16660 + if-eqz v0, :cond_29
16662 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberId()Ljava/lang/String;
16664 + move-result-object v5
16666 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16668 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberIdSetting()B
16670 + move-result v3
16672 + const-string/jumbo v4, "subscriberID"
16674 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16676 + :goto_28
16677 + return-object v5
16679 + :cond_29
16680 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSubscriberId()Ljava/lang/String;
16682 + move-result-object v5
16684 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16686 + const/4 v3, 0x0
16688 + const-string/jumbo v4, "subscriberID"
16690 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16692 + goto :goto_28
16693 +.end method
16695 +.method public getVoiceMailNumber()Ljava/lang/String;
16696 + .registers 8
16698 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16700 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16702 + move-result-object v1
16704 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16706 + move-result v2
16708 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16710 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16712 + move-result-object v6
16714 + if-eqz v6, :cond_28
16716 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
16718 + move-result v0
16720 + if-eqz v0, :cond_28
16722 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1Number()Ljava/lang/String;
16724 + move-result-object v5
16726 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16728 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
16730 + move-result v3
16732 + const-string v4, "line1Number"
16734 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16736 + :goto_27
16737 + return-object v5
16739 + :cond_28
16740 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getVoiceMailNumber()Ljava/lang/String;
16742 + move-result-object v5
16744 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16746 + const/4 v3, 0x0
16748 + const-string v4, "line1Number"
16750 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16752 + goto :goto_27
16753 +.end method
16755 +.method public listen(Landroid/telephony/PhoneStateListener;I)V
16756 + .registers 4
16758 + and-int/lit8 v0, p2, 0x10
16760 + if-nez v0, :cond_8
16762 + and-int/lit8 v0, p2, 0x20
16764 + if-eqz v0, :cond_21
16766 + :cond_8
16767 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16769 + invoke-virtual {p1, v0}, Landroid/telephony/PhoneStateListener;->setContext(Landroid/content/Context;)V
16771 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16773 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16775 + move-result-object v0
16777 + invoke-virtual {p1, v0}, Landroid/telephony/PhoneStateListener;->setPackageName(Ljava/lang/String;)V
16779 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16781 + move-result v0
16783 + invoke-virtual {p1, v0}, Landroid/telephony/PhoneStateListener;->setUid(I)V
16785 + invoke-super {p0, p1, p2}, Landroid/telephony/TelephonyManager;->listen(Landroid/telephony/PhoneStateListener;I)V
16787 + :goto_20
16788 + return-void
16790 + :cond_21
16791 + invoke-super {p0, p1, p2}, Landroid/telephony/TelephonyManager;->listen(Landroid/telephony/PhoneStateListener;I)V
16793 + goto :goto_20
16794 +.end method
16795 diff -Npru stock-framework/smali/android/telephony/PhoneStateListener$1.smali pdroid-framework/smali/android/telephony/PhoneStateListener$1.smali
16796 --- stock-framework/smali/android/telephony/PhoneStateListener$1.smali 2012-08-06 13:25:44.999678148 -0500
16797 +++ pdroid-framework/smali/android/telephony/PhoneStateListener$1.smali 2012-08-06 13:25:00.307456537 -0500
16798 @@ -64,23 +64,196 @@
16799 .end method
16801 .method public onCallStateChanged(ILjava/lang/String;)V
16802 - .registers 6
16803 + .registers 19
16805 - iget-object v0, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16806 + move-object/from16 v0, p0
16808 - iget-object v0, v0, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
16809 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16811 - const/16 v1, 0x20
16812 + #getter for: Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
16813 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
16815 - const/4 v2, 0x0
16816 + move-result-object v3
16818 - invoke-static {v0, v1, p1, v2, p2}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
16819 + if-eqz v3, :cond_99
16821 - move-result-object v0
16822 + if-eqz p2, :cond_99
16824 - invoke-virtual {v0}, Landroid/os/Message;->sendToTarget()V
16825 + invoke-virtual/range {p2 .. p2}, Ljava/lang/String;->isEmpty()Z
16827 + move-result v3
16829 + if-nez v3, :cond_99
16831 + move-object/from16 v0, p0
16833 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16835 + #getter for: Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
16836 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
16838 + move-result-object v3
16840 + const-string/jumbo v4, "privacy"
16842 + invoke-virtual {v3, v4}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
16844 + move-result-object v2
16846 + check-cast v2, Landroid/privacy/PrivacySettingsManager;
16848 + move-object/from16 v0, p0
16850 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16852 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
16853 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
16855 + move-result-object v3
16857 + move-object/from16 v0, p0
16859 + iget-object v4, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16861 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
16862 + invoke-static {v4}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
16864 + move-result v4
16866 + invoke-virtual {v2, v3, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16868 + move-result-object v8
16870 + if-eqz v8, :cond_6a
16872 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getIncomingCallsSetting()B
16874 + move-result v3
16876 + if-eqz v3, :cond_6a
16878 + const-string v7, ""
16880 + move-object/from16 v0, p0
16882 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16884 + iget-object v3, v3, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
16886 + const/16 v4, 0x20
16888 + const/4 v5, 0x0
16890 + move/from16 v0, p1
16892 + invoke-static {v3, v4, v0, v5, v7}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
16894 + move-result-object v3
16896 + invoke-virtual {v3}, Landroid/os/Message;->sendToTarget()V
16898 + move-object/from16 v0, p0
16900 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16902 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
16903 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
16905 + move-result-object v3
16907 + move-object/from16 v0, p0
16909 + iget-object v4, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16911 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
16912 + invoke-static {v4}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
16914 + move-result v4
16916 + const/4 v5, 0x1
16918 + const-string v6, "incomingCall"
16920 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16922 + :goto_69
16923 return-void
16925 + :cond_6a
16926 + move-object/from16 v0, p0
16928 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16930 + iget-object v3, v3, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
16932 + const/16 v4, 0x20
16934 + const/4 v5, 0x0
16936 + move/from16 v0, p1
16938 + move-object/from16 v1, p2
16940 + invoke-static {v3, v4, v0, v5, v1}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
16942 + move-result-object v3
16944 + invoke-virtual {v3}, Landroid/os/Message;->sendToTarget()V
16946 + move-object/from16 v0, p0
16948 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16950 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
16951 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
16953 + move-result-object v10
16955 + move-object/from16 v0, p0
16957 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16959 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
16960 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
16962 + move-result v11
16964 + const/4 v12, 0x0
16966 + const-string v13, "incomingCall"
16968 + move-object v9, v2
16970 + move-object/from16 v14, p2
16972 + move-object v15, v8
16974 + invoke-virtual/range {v9 .. v15}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16976 + goto :goto_69
16978 + :cond_99
16979 + move-object/from16 v0, p0
16981 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16983 + iget-object v3, v3, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
16985 + const/16 v4, 0x20
16987 + const/4 v5, 0x0
16989 + move/from16 v0, p1
16991 + move-object/from16 v1, p2
16993 + invoke-static {v3, v4, v0, v5, v1}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
16995 + move-result-object v3
16997 + invoke-virtual {v3}, Landroid/os/Message;->sendToTarget()V
16999 + goto :goto_69
17000 .end method
17002 .method public onCellInfoChanged(Landroid/telephony/CellInfo;)V
17003 @@ -104,27 +277,124 @@
17004 .end method
17006 .method public onCellLocationChanged(Landroid/os/Bundle;)V
17007 - .registers 6
17008 + .registers 10
17010 + const/4 v5, 0x0
17012 const/4 v3, 0x0
17014 invoke-static {p1}, Landroid/telephony/CellLocation;->newFromBundle(Landroid/os/Bundle;)Landroid/telephony/CellLocation;
17016 + move-result-object v7
17018 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
17020 + #getter for: Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
17021 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
17023 + move-result-object v1
17025 + if-eqz v1, :cond_4a
17027 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
17029 + #getter for: Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
17030 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
17032 + move-result-object v1
17034 + const-string/jumbo v2, "privacy"
17036 + invoke-virtual {v1, v2}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
17038 move-result-object v0
17040 + check-cast v0, Landroid/privacy/PrivacySettingsManager;
17042 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
17044 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
17045 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
17047 + move-result-object v1
17049 + iget-object v2, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
17051 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
17052 + invoke-static {v2}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
17054 + move-result v2
17056 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
17058 + move-result-object v6
17060 + if-eqz v6, :cond_4b
17062 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
17064 + move-result v1
17066 + if-eqz v1, :cond_4b
17068 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
17070 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
17071 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
17073 + move-result-object v1
17075 + iget-object v2, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
17077 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
17078 + invoke-static {v2}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
17080 + move-result v2
17082 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
17084 + move-result v3
17086 + const-string v4, "locationNetwork"
17088 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
17090 + :cond_4a
17091 + :goto_4a
17092 + return-void
17094 + :cond_4b
17095 iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
17097 iget-object v1, v1, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
17099 const/16 v2, 0x10
17101 - invoke-static {v1, v2, v3, v3, v0}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
17102 + invoke-static {v1, v2, v3, v3, v7}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
17104 move-result-object v1
17106 invoke-virtual {v1}, Landroid/os/Message;->sendToTarget()V
17108 - return-void
17109 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
17111 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
17112 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
17114 + move-result-object v1
17116 + iget-object v2, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
17118 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
17119 + invoke-static {v2}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
17121 + move-result v2
17123 + const-string v4, "locationNetwork"
17125 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
17127 + goto :goto_4a
17128 .end method
17130 .method public onDataActivity(I)V
17131 diff -Npru stock-framework/smali/android/telephony/PhoneStateListener.smali pdroid-framework/smali/android/telephony/PhoneStateListener.smali
17132 --- stock-framework/smali/android/telephony/PhoneStateListener.smali 2012-08-06 13:25:44.043673412 -0500
17133 +++ pdroid-framework/smali/android/telephony/PhoneStateListener.smali 2012-08-06 13:24:59.327451671 -0500
17134 @@ -31,12 +31,20 @@
17136 .field public static final LISTEN_SIGNAL_STRENGTHS:I = 0x100
17138 +.field private static final TAG:Ljava/lang/String; = "PhoneStateListener"
17141 # instance fields
17142 .field callback:Lcom/android/internal/telephony/IPhoneStateListener;
17144 +.field private context:Landroid/content/Context;
17146 .field mHandler:Landroid/os/Handler;
17148 +.field private packageName:Ljava/lang/String;
17150 +.field private uid:I
17153 # direct methods
17154 .method public constructor <init>()V
17155 @@ -59,6 +67,30 @@
17156 return-void
17157 .end method
17159 +.method static synthetic access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
17160 + .registers 2
17162 + iget-object v0, p0, Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
17164 + return-object v0
17165 +.end method
17167 +.method static synthetic access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
17168 + .registers 2
17170 + iget-object v0, p0, Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
17172 + return-object v0
17173 +.end method
17175 +.method static synthetic access$200(Landroid/telephony/PhoneStateListener;)I
17176 + .registers 2
17178 + iget v0, p0, Landroid/telephony/PhoneStateListener;->uid:I
17180 + return v0
17181 +.end method
17184 # virtual methods
17185 .method public onCallForwardingIndicatorChanged(Z)V
17186 @@ -134,3 +166,27 @@
17188 return-void
17189 .end method
17191 +.method public setContext(Landroid/content/Context;)V
17192 + .registers 2
17194 + iput-object p1, p0, Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
17196 + return-void
17197 +.end method
17199 +.method public setPackageName(Ljava/lang/String;)V
17200 + .registers 2
17202 + iput-object p1, p0, Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
17204 + return-void
17205 +.end method
17207 +.method public setUid(I)V
17208 + .registers 2
17210 + iput p1, p0, Landroid/telephony/PhoneStateListener;->uid:I
17212 + return-void
17213 +.end method
17214 diff -Npru stock-framework/smali/android/widget/AppSecurityPermissions.smali pdroid-framework/smali/android/widget/AppSecurityPermissions.smali
17215 --- stock-framework/smali/android/widget/AppSecurityPermissions.smali 2012-08-06 13:25:45.591681088 -0500
17216 +++ pdroid-framework/smali/android/widget/AppSecurityPermissions.smali 2012-08-06 13:25:00.907459512 -0500
17217 @@ -1883,7 +1883,7 @@
17219 iget-boolean v0, p0, Landroid/widget/AppSecurityPermissions;->localLOGV:Z
17221 - if-eqz v0, :cond_1e
17222 + if-eqz v0, :cond_1f
17224 const-string v0, "AppSecurityPermissions"
17226 @@ -1891,7 +1891,7 @@
17228 invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
17230 - const-string v2, "mExpanded="
17231 + const-string/jumbo v2, "mExpanded="
17233 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17235 @@ -1909,22 +1909,22 @@
17237 invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
17239 - :cond_1e
17240 + :cond_1f
17241 iget-boolean v0, p0, Landroid/widget/AppSecurityPermissions;->mExpanded:Z
17243 - if-nez v0, :cond_29
17244 + if-nez v0, :cond_2a
17246 const/4 v0, 0x1
17248 - :goto_23
17249 + :goto_24
17250 iput-boolean v0, p0, Landroid/widget/AppSecurityPermissions;->mExpanded:Z
17252 invoke-direct {p0}, Landroid/widget/AppSecurityPermissions;->showPermissions()V
17254 return-void
17256 - :cond_29
17257 + :cond_2a
17258 const/4 v0, 0x0
17260 - goto :goto_23
17261 + goto :goto_24
17262 .end method