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
6 iget v4, p0, Landroid/app/BackStackRecord;->mExitAnim:I
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
21 invoke-virtual {p3, v4}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
25 iget v4, p0, Landroid/app/BackStackRecord;->mPopEnterAnim:I
30 iget v4, p0, Landroid/app/BackStackRecord;->mPopExitAnim:I
37 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
39 const-string/jumbo v4, "mPopEnterAnim=#"
42 invoke-virtual {p3, v4}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
46 iget v4, p0, Landroid/app/BackStackRecord;->mBreadCrumbTitleRes:I
51 iget-object v4, p0, Landroid/app/BackStackRecord;->mBreadCrumbTitleText:Ljava/lang/CharSequence;
58 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
60 const-string v4, "mBreadCrumbTitleRes=#"
63 invoke-virtual {p3, v4}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
67 iget v4, p0, Landroid/app/BackStackRecord;->mBreadCrumbShortTitleRes:I
72 iget-object v4, p0, Landroid/app/BackStackRecord;->mBreadCrumbShortTitleText:Ljava/lang/CharSequence;
79 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
81 const-string v4, "mBreadCrumbShortTitleRes=#"
84 invoke-virtual {p3, v4}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
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
100 - if-eqz v3, :cond_1c1
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
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
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
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
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 @@
161 - if-lez v4, :cond_1bd
162 + if-lez v4, :cond_1be
168 iget-object v4, v3, Landroid/app/BackStackRecord$Op;->removed:Ljava/util/ArrayList;
170 invoke-virtual {v4}, Ljava/util/ArrayList;->size()I
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 @@
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
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
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
216 iget-object v3, v3, Landroid/app/BackStackRecord$Op;->next:Landroid/app/BackStackRecord$Op;
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
232 .method public createStaticService()Ljava/lang/Object;
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
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
267 .method public createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
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
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
286 +.class final Landroid/app/ContextImpl$39;
287 +.super Landroid/app/ContextImpl$StaticServiceFetcher;
288 +.source "ContextImpl.java"
292 +.annotation system Ldalvik/annotation/EnclosingClass;
293 + value = Landroid/app/ContextImpl;
296 +.annotation system Ldalvik/annotation/InnerClass;
303 +.method constructor <init>()V
306 + invoke-direct {p0}, Landroid/app/ContextImpl$StaticServiceFetcher;-><init>()V
313 +.method public createStaticService()Ljava/lang/Object;
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
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
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
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
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;
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
380 iput-object p0, p0, Landroid/app/ContextImpl;->mOuterContext:Landroid/content/Context;
382 + sput-object p0, Landroid/app/ContextImpl;->sOuterContext:Landroid/content/Context;
389 iput-object p0, p0, Landroid/app/ContextImpl;->mOuterContext:Landroid/content/Context;
391 + sput-object p0, Landroid/app/ContextImpl;->sOuterContext:Landroid/content/Context;
396 @@ -991,6 +1005,14 @@
400 +.method static final getStaticOuterContext()Landroid/content/Context;
403 + sget-object v0, Landroid/app/ContextImpl;->sOuterContext:Landroid/content/Context;
408 .method private getWallpaperManager()Landroid/app/WallpaperManager;
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;
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
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
433 move-object/from16 v4, p1
434 @@ -3523,64 +3523,82 @@
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;
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
448 - if-nez v19, :cond_67
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;
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
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
484 move-object/from16 v0, p0
486 invoke-virtual {v0, v10}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
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;
502 - .catchall {:try_start_3f .. :try_end_47} :catchall_a8
503 - .catch Landroid/os/RemoteException; {:try_start_3f .. :try_end_47} :catch_9b
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
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
531 move-object/from16 v11, p1
533 move-object/from16 v12, p2
534 @@ -3593,14 +3611,14 @@
536 move-object/from16 v16, v9
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
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
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
570 - .catchall {:try_start_62 .. :try_end_8b} :catchall_a8
571 - .catch Landroid/os/RemoteException; {:try_start_62 .. :try_end_8b} :catch_9b
573 + .catchall {:try_start_70 .. :try_end_99} :catchall_b6
574 + .catch Landroid/os/RemoteException; {:try_start_70 .. :try_end_99} :catch_a9
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
596 invoke-virtual/range {p0 .. p1}, Landroid/content/ContentResolver;->acquireProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
598 - .catchall {:try_start_96 .. :try_end_99} :catchall_a8
599 - .catch Landroid/os/RemoteException; {:try_start_96 .. :try_end_99} :catch_9b
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
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
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
641 - if-eqz v10, :cond_b7
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
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
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;
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;
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
700 +.class public interface abstract Landroid/privacy/IPrivacySettingsManager;
701 +.super Ljava/lang/Object;
702 +.source "IPrivacySettingsManager.java"
705 +.implements Landroid/os/IInterface;
709 +.annotation system Ldalvik/annotation/MemberClasses;
711 + Landroid/privacy/IPrivacySettingsManager$Stub;
717 +.method public abstract addObserver(Ljava/lang/String;)V
718 + .annotation system Ldalvik/annotation/Throws;
720 + Landroid/os/RemoteException;
725 +.method public abstract deleteSettings(Ljava/lang/String;)Z
726 + .annotation system Ldalvik/annotation/Throws;
728 + Landroid/os/RemoteException;
733 +.method public abstract getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
734 + .annotation system Ldalvik/annotation/Throws;
736 + Landroid/os/RemoteException;
741 +.method public abstract getVersion()D
742 + .annotation system Ldalvik/annotation/Throws;
744 + Landroid/os/RemoteException;
749 +.method public abstract notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
750 + .annotation system Ldalvik/annotation/Throws;
752 + Landroid/os/RemoteException;
757 +.method public abstract purgeSettings()Z
758 + .annotation system Ldalvik/annotation/Throws;
760 + Landroid/os/RemoteException;
765 +.method public abstract registerObservers()V
766 + .annotation system Ldalvik/annotation/Throws;
768 + Landroid/os/RemoteException;
773 +.method public abstract saveSettings(Landroid/privacy/PrivacySettings;)Z
774 + .annotation system Ldalvik/annotation/Throws;
776 + Landroid/os/RemoteException;
781 +.method public abstract setBootCompleted()V
782 + .annotation system Ldalvik/annotation/Throws;
784 + Landroid/os/RemoteException;
789 +.method public abstract setEnabled(Z)Z
790 + .annotation system Ldalvik/annotation/Throws;
792 + Landroid/os/RemoteException;
797 +.method public abstract setNotificationsEnabled(Z)Z
798 + .annotation system Ldalvik/annotation/Throws;
800 + Landroid/os/RemoteException;
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
808 +.class Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;
809 +.super Ljava/lang/Object;
810 +.source "IPrivacySettingsManager.java"
813 +.implements Landroid/privacy/IPrivacySettingsManager;
817 +.annotation system Ldalvik/annotation/EnclosingClass;
818 + value = Landroid/privacy/IPrivacySettingsManager$Stub;
821 +.annotation system Ldalvik/annotation/InnerClass;
828 +.field private mRemote:Landroid/os/IBinder;
832 +.method constructor <init>(Landroid/os/IBinder;)V
835 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
837 + iput-object p1, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
844 +.method public addObserver(Ljava/lang/String;)V
846 + .annotation system Ldalvik/annotation/Throws;
848 + Landroid/os/RemoteException;
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
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;
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
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
888 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
890 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
895 +.method public asBinder()Landroid/os/IBinder;
898 + iget-object v0, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
903 +.method public deleteSettings(Ljava/lang/String;)Z
905 + .annotation system Ldalvik/annotation/Throws;
907 + Landroid/os/RemoteException;
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
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;
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
940 + .catchall {:try_start_9 .. :try_end_1e} :catchall_29
944 + if-eqz v3, :cond_22
949 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
951 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
958 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
960 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
965 +.method public getInterfaceDescriptor()Ljava/lang/String;
968 + const-string v0, "android.privacy.IPrivacySettingsManager"
973 +.method public getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
975 + .annotation system Ldalvik/annotation/Throws;
977 + Landroid/os/RemoteException;
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
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;
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
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;
1020 + .catchall {:try_start_8 .. :try_end_28} :catchall_31
1023 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1025 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1037 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1039 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1044 +.method public getVersion()D
1046 + .annotation system Ldalvik/annotation/Throws;
1048 + Landroid/os/RemoteException;
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
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;
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
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
1090 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1092 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1097 +.method public notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
1099 + .annotation system Ldalvik/annotation/Throws;
1101 + Landroid/os/RemoteException;
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
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;
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
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
1147 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1149 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1154 +.method public purgeSettings()Z
1156 + .annotation system Ldalvik/annotation/Throws;
1158 + Landroid/os/RemoteException;
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
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;
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
1189 + .catchall {:try_start_9 .. :try_end_1b} :catchall_26
1193 + if-eqz v3, :cond_1f
1198 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1200 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1207 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1209 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1214 +.method public registerObservers()V
1216 + .annotation system Ldalvik/annotation/Throws;
1218 + Landroid/os/RemoteException;
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
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;
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
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
1256 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1258 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1263 +.method public saveSettings(Landroid/privacy/PrivacySettings;)Z
1265 + .annotation system Ldalvik/annotation/Throws;
1267 + Landroid/os/RemoteException;
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
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
1292 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInt(I)V
1296 + invoke-virtual {p1, v0, v4}, Landroid/privacy/PrivacySettings;->writeToParcel(Landroid/os/Parcel;I)V
1299 + iget-object v4, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
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
1311 + .catchall {:try_start_a .. :try_end_26} :catchall_35
1315 + if-eqz v4, :cond_3d
1318 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1320 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1328 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInt(I)V
1330 + .catchall {:try_start_31 .. :try_end_34} :catchall_35
1337 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1339 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1349 +.method public setBootCompleted()V
1351 + .annotation system Ldalvik/annotation/Throws;
1353 + Landroid/os/RemoteException;
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
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;
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
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
1391 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1393 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1398 +.method public setEnabled(Z)Z
1400 + .annotation system Ldalvik/annotation/Throws;
1402 + Landroid/os/RemoteException;
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
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
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;
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
1442 + .catchall {:try_start_a .. :try_end_23} :catchall_31
1446 + if-eqz v4, :cond_2f
1449 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1451 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1468 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1470 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1475 +.method public setNotificationsEnabled(Z)Z
1477 + .annotation system Ldalvik/annotation/Throws;
1479 + Landroid/os/RemoteException;
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
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
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;
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
1519 + .catchall {:try_start_a .. :try_end_23} :catchall_31
1523 + if-eqz v4, :cond_2f
1526 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1528 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1545 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1547 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
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
1555 +.class public abstract Landroid/privacy/IPrivacySettingsManager$Stub;
1556 +.super Landroid/os/Binder;
1557 +.source "IPrivacySettingsManager.java"
1560 +.implements Landroid/privacy/IPrivacySettingsManager;
1564 +.annotation system Ldalvik/annotation/EnclosingClass;
1565 + value = Landroid/privacy/IPrivacySettingsManager;
1568 +.annotation system Ldalvik/annotation/InnerClass;
1569 + accessFlags = 0x409
1573 +.annotation system Ldalvik/annotation/MemberClasses;
1575 + Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;
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
1607 +.method public constructor <init>()V
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
1619 +.method public static asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
1622 + if-nez p0, :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;
1647 + new-instance v0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;
1649 + invoke-direct {v0, p0}, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
1656 +.method public asBinder()Landroid/os/IBinder;
1662 +.method public onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1664 + .annotation system Ldalvik/annotation/Throws;
1666 + Landroid/os/RemoteException;
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
1684 + const-string v6, "android.privacy.IPrivacySettingsManager"
1686 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
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
1714 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
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
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;
1738 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->saveSettings(Landroid/privacy/PrivacySettings;)Z
1742 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1744 + if-eqz v4, :cond_4a
1749 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
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
1771 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1773 + if-eqz v4, :cond_63
1778 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
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
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
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
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
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
1844 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1846 + if-eqz v4, :cond_b0
1851 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
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
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
1879 + if-eqz v8, :cond_e1
1884 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->setEnabled(Z)Z
1888 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1890 + if-eqz v4, :cond_dc
1895 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
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
1913 + if-eqz v8, :cond_fe
1918 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->setNotificationsEnabled(Z)Z
1922 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1924 + if-eqz v4, :cond_f9
1929 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
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
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
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
1971 +.class public Landroid/privacy/PrivacyFileObserver;
1972 +.super Landroid/os/FileObserver;
1973 +.source "PrivacyFileObserver.java"
1977 +.field public static final PACKAGE_PATH_INDEX:I = 0x3
1979 +.field public static final TAG:Ljava/lang/String; = "PrivacyFileObserver"
1983 +.field public absolutePath:Ljava/lang/String;
1985 +.field public children:Ljava/util/HashMap;
1986 + .annotation system Ldalvik/annotation/Signature;
1988 + "Ljava/util/HashMap",
1990 + "Ljava/lang/String;",
1991 + "Landroid/privacy/PrivacyFileObserver;",
1997 +.field private pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
2001 +.method public constructor <init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
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
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
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
2061 + if-eqz v8, :cond_3f
2063 + invoke-virtual {v1}, Landroid/privacy/PrivacyFileObserver;->startWatching()V
2066 + add-int/lit8 v3, v3, 0x1
2076 +.method public addObserver(Ljava/lang/String;)V
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;
2120 +.method public onEvent(ILjava/lang/String;)V
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
2140 + if-ge v0, v4, :cond_1d
2142 + invoke-virtual {v3}, Ljava/util/StringTokenizer;->hasMoreElements()Z
2146 + if-eqz v4, :cond_1d
2148 + invoke-virtual {v3}, Ljava/util/StringTokenizer;->nextToken()Ljava/lang/String;
2150 + add-int/lit8 v0, v0, 0x1
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
2171 + const-string/jumbo v6, "systemLogs"
2175 + invoke-virtual {v4, v2, v5, v6, v7}, Landroid/privacy/PrivacySettingsManagerService;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
2181 +.method public startWatching()V
2184 + invoke-super {p0}, Landroid/os/FileObserver;->startWatching()V
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
2192 +.class public Landroid/privacy/PrivacyPersistenceAdapter;
2193 +.super Ljava/lang/Object;
2194 +.source "PrivacyPersistenceAdapter.java"
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;
2246 +.field private context:Landroid/content/Context;
2248 +.field private db:Landroid/database/sqlite/SQLiteDatabase;
2252 +.method static constructor <clinit>()V
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;
2265 + new-array v0, v0, [Ljava/lang/String;
2267 + const-string v1, "_id"
2269 + aput-object v1, v0, v2
2273 + const-string/jumbo v2, "packageName"
2275 + aput-object v2, v0, v1
2279 + const-string/jumbo v2, "uid"
2281 + aput-object v2, v0, v1
2285 + const-string v2, "deviceIdSetting"
2287 + aput-object v2, v0, v1
2291 + const-string v2, "deviceId"
2293 + aput-object v2, v0, v1
2297 + const-string v2, "line1NumberSetting"
2299 + aput-object v2, v0, v1
2303 + const-string v2, "line1Number"
2305 + aput-object v2, v0, v1
2309 + const-string v2, "locationGpsSetting"
2311 + aput-object v2, v0, v1
2315 + const-string v2, "locationGpsLat"
2317 + aput-object v2, v0, v1
2321 + const-string v2, "locationGpsLon"
2323 + aput-object v2, v0, v1
2327 + const-string v2, "locationNetworkSetting"
2329 + aput-object v2, v0, v1
2333 + const-string v2, "locationNetworkLat"
2335 + aput-object v2, v0, v1
2339 + const-string v2, "locationNetworkLon"
2341 + aput-object v2, v0, v1
2345 + const-string/jumbo v2, "networkInfoSetting"
2347 + aput-object v2, v0, v1
2351 + const-string/jumbo v2, "simInfoSetting"
2353 + aput-object v2, v0, v1
2357 + const-string/jumbo v2, "simSerialNumberSetting"
2359 + aput-object v2, v0, v1
2363 + const-string/jumbo v2, "simSerialNumber"
2365 + aput-object v2, v0, v1
2369 + const-string/jumbo v2, "subscriberIdSetting"
2371 + aput-object v2, v0, v1
2375 + const-string/jumbo v2, "subscriberId"
2377 + aput-object v2, v0, v1
2381 + const-string v2, "accountsSetting"
2383 + aput-object v2, v0, v1
2387 + const-string v2, "accountsAuthTokensSetting"
2389 + aput-object v2, v0, v1
2393 + const-string/jumbo v2, "outgoingCallsSetting"
2395 + aput-object v2, v0, v1
2399 + const-string v2, "incomingCallsSetting"
2401 + aput-object v2, v0, v1
2405 + const-string v2, "contactsSetting"
2407 + aput-object v2, v0, v1
2411 + const-string v2, "calendarSetting"
2413 + aput-object v2, v0, v1
2417 + const-string/jumbo v2, "mmsSetting"
2419 + aput-object v2, v0, v1
2423 + const-string/jumbo v2, "smsSetting"
2425 + aput-object v2, v0, v1
2429 + const-string v2, "callLogSetting"
2431 + aput-object v2, v0, v1
2435 + const-string v2, "bookmarksSetting"
2437 + aput-object v2, v0, v1
2441 + const-string/jumbo v2, "systemLogsSetting"
2443 + aput-object v2, v0, v1
2447 + const-string v2, "externalStorageSetting"
2449 + aput-object v2, v0, v1
2453 + const-string v2, "cameraSetting"
2455 + aput-object v2, v0, v1
2459 + const-string/jumbo v2, "recordAudioSetting"
2461 + aput-object v2, v0, v1
2465 + const-string/jumbo v2, "notificationSetting"
2467 + aput-object v2, v0, v1
2471 + const-string v2, "intentBootCompletedSetting"
2473 + aput-object v2, v0, v1
2475 + sput-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->DATABASE_FIELDS:[Ljava/lang/String;
2480 +.method public constructor <init>(Landroid/content/Context;)V
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
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
2509 + if-nez v2, :cond_22
2511 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->createDatabase()V
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
2524 + if-nez v2, :cond_32
2526 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->createSettingsDir()V
2529 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getDbVersion()I
2535 + if-ge v1, v2, :cond_3c
2537 + invoke-direct {p0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->upgradeDatabase(I)V
2543 +.method private declared-synchronized createDatabase()V
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
2555 + .catchall {:try_start_1 .. :try_end_8} :catchall_4c
2558 + const-string v2, "/data/system/privacy.db"
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
2604 + if-eqz v2, :cond_41
2606 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
2608 + .catchall {:try_start_8 .. :try_end_41} :catchall_4c
2609 + .catch Landroid/database/SQLException; {:try_start_8 .. :try_end_41} :catch_43
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
2627 + .catchall {:try_start_44 .. :try_end_4b} :catchall_4c
2639 +.method private declared-synchronized createSettingsDir()V
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
2657 + invoke-virtual {v0, v1, v2}, Ljava/io/File;->setReadable(ZZ)Z
2663 + invoke-virtual {v0, v1, v2}, Ljava/io/File;->setExecutable(ZZ)Z
2665 + .catchall {:try_start_1 .. :try_end_15} :catchall_17
2679 +.method private deleteRecursive(Ljava/io/File;)V
2682 + invoke-virtual {p1}, Ljava/io/File;->isDirectory()Z
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
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
2708 + invoke-virtual {p1}, Ljava/io/File;->delete()Z
2713 +.method private getDbVersion()I
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
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
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
2753 + if-nez v6, :cond_25
2758 + invoke-interface {v0}, Landroid/database/Cursor;->close()V
2760 + sget-object v7, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2764 + .catch Ljava/lang/Exception; {:try_start_16 .. :try_end_2b} :catch_55
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
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
2789 + if-nez v6, :cond_4e
2791 + if-eqz v1, :cond_4e
2793 + invoke-virtual {v1}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
2797 + if-eqz v6, :cond_4e
2799 + invoke-virtual {v1}, Landroid/database/sqlite/SQLiteDatabase;->close()V
2805 + if-ne v3, v4, :cond_66
2815 + .catchall {:try_start_2b .. :try_end_54} :catchall_52
2820 + .catch Ljava/lang/Exception; {:try_start_54 .. :try_end_55} :catch_55
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
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
2841 + .catch Ljava/lang/Exception; {:try_start_5e .. :try_end_65} :catch_55
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
2860 + invoke-static {v5}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
2862 + .catch Ljava/lang/Exception; {:try_start_70 .. :try_end_73} :catch_76
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
2884 +.method private declared-synchronized getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
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
2900 + if-eqz v0, :cond_11
2902 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2904 + .catchall {:try_start_1 .. :try_end_f} :catchall_1e
2913 + const-string v0, "/data/system/privacy.db"
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;
2927 + .catchall {:try_start_11 .. :try_end_1d} :catchall_1e
2939 +.method private declared-synchronized getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
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
2955 + if-nez v0, :cond_11
2957 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->createDatabase()V
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
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
2978 + if-nez v0, :cond_29
2980 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2982 + .catchall {:try_start_1 .. :try_end_27} :catchall_36
2991 + const-string v0, "/data/system/privacy.db"
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;
3005 + .catchall {:try_start_29 .. :try_end_35} :catchall_36
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;
3019 + .annotation system Ldalvik/annotation/Throws;
3021 + Ljava/lang/Exception;
3032 + if-nez v3, :cond_27
3036 + if-ge v2, v4, :cond_27
3038 + if-eqz v0, :cond_d
3041 + invoke-interface {v0}, Landroid/database/Cursor;->close()V
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;
3046 + .catch Ljava/lang/IllegalStateException; {:try_start_a .. :try_end_10} :catch_15
3048 + move-result-object v0
3053 + add-int/lit8 v2, v2, 0x1
3062 + if-eqz p1, :cond_22
3064 + invoke-virtual {p1}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3068 + if-eqz v4, :cond_22
3070 + invoke-virtual {p1}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3073 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
3075 + move-result-object p1
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
3094 +.method private rawQuery(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;)Landroid/database/Cursor;
3096 + .annotation system Ldalvik/annotation/Throws;
3098 + Ljava/lang/Exception;
3109 + if-nez v3, :cond_28
3113 + if-ge v2, v4, :cond_28
3115 + if-eqz v0, :cond_d
3118 + invoke-interface {v0}, Landroid/database/Cursor;->close()V
3123 + invoke-virtual {p1, p2, v4}, Landroid/database/sqlite/SQLiteDatabase;->rawQuery(Ljava/lang/String;[Ljava/lang/String;)Landroid/database/Cursor;
3125 + .catch Ljava/lang/IllegalStateException; {:try_start_a .. :try_end_11} :catch_16
3127 + move-result-object v0
3132 + add-int/lit8 v2, v2, 0x1
3141 + if-eqz p1, :cond_23
3143 + invoke-virtual {p1}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3147 + if-eqz v4, :cond_23
3149 + invoke-virtual {p1}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3152 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
3154 + move-result-object p1
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
3173 +.method private declared-synchronized upgradeDatabase(I)V
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
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
3233 + .catchall {:try_start_1 .. :try_end_3c} :catchall_66
3236 + invoke-virtual {v5}, Ljava/io/File;->delete()Z
3238 + .catchall {:try_start_3c .. :try_end_3f} :catchall_66
3239 + .catch Ljava/lang/SecurityException; {:try_start_3c .. :try_end_3f} :catch_5c
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
3267 + .catchall {:try_start_3f .. :try_end_5a} :catchall_66
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
3284 + .catchall {:try_start_5d .. :try_end_65} :catchall_66
3289 + move-exception v17
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
3307 + if-eqz v4, :cond_159
3309 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
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
3320 + invoke-virtual/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->purgeSettings()Z
3322 + .catchall {:try_start_69 .. :try_end_84} :catchall_66
3327 + if-eqz v4, :cond_73
3330 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
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
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
3404 + if-ge v8, v11, :cond_123
3406 + aget-object v16, v3, v8
3408 + invoke-virtual/range {v16 .. v16}, Ljava/io/File;->isDirectory()Z
3412 + if-eqz v17, :cond_120
3414 + invoke-virtual/range {v16 .. v16}, Ljava/io/File;->listFiles()[Ljava/io/File;
3416 + move-result-object v15
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
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
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
3479 + add-int/lit8 v8, v8, 0x1
3484 + add-int/lit8 v8, v9, 0x1
3491 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->setTransactionSuccessful()V
3493 + .catchall {:try_start_87 .. :try_end_12a} :catchall_66
3494 + .catch Ljava/lang/Exception; {:try_start_87 .. :try_end_12a} :catch_12c
3501 + if-eqz v4, :cond_13b
3504 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
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
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
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
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
3547 + .catchall {:try_start_12f .. :try_end_161} :catchall_66
3554 + .packed-switch 0x1
3558 + .end packed-switch
3563 +.method public declared-synchronized deleteSettings(Ljava/lang/String;)Z
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
3577 + .catchall {:try_start_2 .. :try_end_9} :catchall_107
3580 + const-string/jumbo v1, "settings"
3584 + new-array v2, v2, [Ljava/lang/String;
3588 + const-string v4, "_id"
3590 + aput-object v4, v2, v3
3592 + const-string/jumbo v3, "packageName=?"
3596 + new-array v4, v4, [Ljava/lang/String;
3600 + aput-object p1, v4, v5
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
3618 + if-lez v1, :cond_4c
3620 + invoke-interface {v8}, Landroid/database/Cursor;->moveToFirst()Z
3624 + if-eqz v1, :cond_4c
3628 + invoke-interface {v8, v1}, Landroid/database/Cursor;->getInt(I)I
3632 + const-string v1, "allowed_contacts"
3634 + const-string/jumbo v2, "settings_id=?"
3638 + new-array v3, v3, [Ljava/lang/String;
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
3653 + const-string/jumbo v1, "settings"
3655 + const-string/jumbo v2, "packageName=?"
3659 + new-array v3, v3, [Ljava/lang/String;
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
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
3699 + .catchall {:try_start_9 .. :try_end_7c} :catchall_10a
3700 + .catch Ljava/lang/Exception; {:try_start_9 .. :try_end_7c} :catch_ef
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
3713 + if-eqz v2, :cond_8b
3715 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3717 + .catchall {:try_start_7d .. :try_end_8b} :catchall_107
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
3800 + invoke-virtual {v12}, Ljava/io/File;->delete()Z
3803 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->setTransactionSuccessful()V
3805 + .catchall {:try_start_8d .. :try_end_df} :catchall_10a
3806 + .catch Ljava/lang/Exception; {:try_start_8d .. :try_end_df} :catch_ef
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
3817 + if-eqz v1, :cond_ed
3819 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3821 + .catchall {:try_start_df .. :try_end_ed} :catchall_107
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
3841 + .catchall {:try_start_f1 .. :try_end_f8} :catchall_10a
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
3852 + if-eqz v1, :cond_ed
3854 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3856 + .catchall {:try_start_f8 .. :try_end_106} :catchall_107
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
3879 + if-eqz v2, :cond_119
3881 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3886 + .catchall {:try_start_10b .. :try_end_11a} :catchall_107
3889 +.method public getSettings(Ljava/lang/String;Z)Landroid/privacy/PrivacySettings;
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
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
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;
3925 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
3927 + .catch Landroid/database/sqlite/SQLiteException; {:try_start_1e .. :try_end_21} :catch_243
3929 + move-result-object v2
3934 + const-string/jumbo v3, "settings"
3936 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->DATABASE_FIELDS:[Ljava/lang/String;
3938 + const-string/jumbo v5, "packageName=?"
3942 + new-array v6, v1, [Ljava/lang/String;
3946 + aput-object p1, v6, v1
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
3968 + if-eqz v1, :cond_2d3
3970 + new-instance v3, Landroid/privacy/PrivacySettings;
3974 + move-object/from16 v0, v41
3976 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getInt(I)I
3980 + invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
3982 + move-result-object v4
3986 + move-object/from16 v0, v41
3988 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
3990 + move-result-object v5
3994 + move-object/from16 v0, v41
3996 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getInt(I)I
4002 + move-object/from16 v0, v41
4004 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4008 + int-to-byte v7, v1
4012 + move-object/from16 v0, v41
4014 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
4016 + move-result-object v8
4020 + move-object/from16 v0, v41
4022 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4026 + int-to-byte v9, v1
4030 + move-object/from16 v0, v41
4032 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
4034 + move-result-object v10
4038 + move-object/from16 v0, v41
4040 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4044 + int-to-byte v11, v1
4048 + move-object/from16 v0, v41
4050 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
4052 + move-result-object v12
4056 + move-object/from16 v0, v41
4058 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
4060 + move-result-object v13
4064 + move-object/from16 v0, v41
4066 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4070 + int-to-byte v14, v1
4074 + move-object/from16 v0, v41
4076 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
4078 + move-result-object v15
4082 + move-object/from16 v0, v41
4084 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
4086 + move-result-object v16
4090 + move-object/from16 v0, v41
4092 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4096 + int-to-byte v0, v1
4098 + move/from16 v17, v0
4102 + move-object/from16 v0, v41
4104 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4108 + int-to-byte v0, v1
4110 + move/from16 v18, v0
4114 + move-object/from16 v0, v41
4116 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4120 + int-to-byte v0, v1
4122 + move/from16 v19, v0
4126 + move-object/from16 v0, v41
4128 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
4130 + move-result-object v20
4134 + move-object/from16 v0, v41
4136 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4140 + int-to-byte v0, v1
4142 + move/from16 v21, v0
4146 + move-object/from16 v0, v41
4148 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
4150 + move-result-object v22
4154 + move-object/from16 v0, v41
4156 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4160 + int-to-byte v0, v1
4162 + move/from16 v23, v0
4166 + move-object/from16 v0, v41
4168 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4172 + int-to-byte v0, v1
4174 + move/from16 v24, v0
4178 + move-object/from16 v0, v41
4180 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4184 + int-to-byte v0, v1
4186 + move/from16 v25, v0
4190 + move-object/from16 v0, v41
4192 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4196 + int-to-byte v0, v1
4198 + move/from16 v26, v0
4202 + move-object/from16 v0, v41
4204 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4208 + int-to-byte v0, v1
4210 + move/from16 v27, v0
4214 + move-object/from16 v0, v41
4216 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4220 + int-to-byte v0, v1
4222 + move/from16 v28, v0
4226 + move-object/from16 v0, v41
4228 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4232 + int-to-byte v0, v1
4234 + move/from16 v29, v0
4238 + move-object/from16 v0, v41
4240 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4244 + int-to-byte v0, v1
4246 + move/from16 v30, v0
4250 + move-object/from16 v0, v41
4252 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4256 + int-to-byte v0, v1
4258 + move/from16 v31, v0
4262 + move-object/from16 v0, v41
4264 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4268 + int-to-byte v0, v1
4270 + move/from16 v32, v0
4274 + move-object/from16 v0, v41
4276 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4280 + int-to-byte v0, v1
4282 + move/from16 v33, v0
4286 + move-object/from16 v0, v41
4288 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4292 + int-to-byte v0, v1
4294 + move/from16 v34, v0
4298 + move-object/from16 v0, v41
4300 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4304 + int-to-byte v0, v1
4306 + move/from16 v35, v0
4310 + move-object/from16 v0, v41
4312 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4316 + int-to-byte v0, v1
4318 + move/from16 v36, v0
4322 + move-object/from16 v0, v41
4324 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4328 + int-to-byte v0, v1
4330 + move/from16 v37, v0
4334 + move-object/from16 v0, v41
4336 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4340 + int-to-byte v0, v1
4342 + move/from16 v38, v0
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
4348 + .catchall {:try_start_24 .. :try_end_19f} :catchall_296
4349 + .catch Ljava/lang/Exception; {:try_start_24 .. :try_end_19f} :catch_2ce
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
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
4400 + if-lez v1, :cond_266
4402 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->getCount()I
4406 + new-array v0, v1, [I
4408 + move-object/from16 v40, v0
4411 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->moveToNext()Z
4415 + if-eqz v1, :cond_261
4417 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->getPosition()I
4423 + move-object/from16 v0, v41
4425 + invoke-interface {v0, v4}, Landroid/database/Cursor;->getInt(I)I
4431 + .catchall {:try_start_19f .. :try_end_1ed} :catchall_2cc
4432 + .catch Ljava/lang/Exception; {:try_start_19f .. :try_end_1ed} :catch_1ee
4437 + move-exception v42
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
4473 + .catchall {:try_start_1ef .. :try_end_213} :catchall_2cc
4476 + if-eqz v41, :cond_218
4478 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->close()V
4481 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
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
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
4508 + if-nez v1, :cond_23e
4510 + if-eqz v2, :cond_23e
4512 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
4516 + if-eqz v1, :cond_23e
4518 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
4523 + .catchall {:try_start_21b .. :try_end_23f} :catchall_2c9
4526 + move-object/from16 v43, v3
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
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
4563 + move-object/from16 v0, v40
4565 + invoke-virtual {v3, v0}, Landroid/privacy/PrivacySettings;->setAllowedContacts([I)V
4567 + .catchall {:try_start_261 .. :try_end_266} :catchall_2cc
4568 + .catch Ljava/lang/Exception; {:try_start_261 .. :try_end_266} :catch_1ee
4572 + if-eqz v41, :cond_26b
4574 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->close()V
4577 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
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
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
4604 + if-nez v1, :cond_291
4606 + if-eqz v2, :cond_291
4608 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
4612 + if-eqz v1, :cond_291
4614 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
4626 + .catchall {:try_start_26e .. :try_end_295} :catchall_293
4633 + move-object/from16 v3, v43
4636 + if-eqz v41, :cond_29e
4638 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->close()V
4641 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
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
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
4668 + if-nez v5, :cond_2c4
4670 + if-eqz v2, :cond_2c4
4672 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
4676 + if-eqz v5, :cond_2c4
4678 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
4683 + .catchall {:try_start_2a1 .. :try_end_2c5} :catchall_2c6
4693 + .catchall {:try_start_2c7 .. :try_end_2c8} :catchall_2c6
4703 + .catchall {:try_start_2ca .. :try_end_2cb} :catchall_2c9
4713 + move-exception v42
4715 + move-object/from16 v3, v43
4720 + move-object/from16 v3, v43
4725 +.method public getValue(Ljava/lang/String;)Ljava/lang/String;
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
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
4751 + const-string/jumbo v2, "map"
4755 + new-array v3, v0, [Ljava/lang/String;
4759 + const-string/jumbo v4, "value"
4761 + aput-object v4, v3, v0
4763 + const-string/jumbo v4, "name=?"
4767 + new-array v5, v0, [Ljava/lang/String;
4771 + aput-object p1, v5, v0
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
4793 + if-lez v0, :cond_77
4795 + invoke-interface {v10}, Landroid/database/Cursor;->moveToFirst()Z
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
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
4813 + .catch Ljava/lang/Exception; {:try_start_15 .. :try_end_4f} :catch_90
4816 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
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
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
4843 + if-nez v0, :cond_75
4845 + if-eqz v1, :cond_75
4847 + invoke-virtual {v1}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
4851 + if-eqz v0, :cond_75
4853 + invoke-virtual {v1}, Landroid/database/sqlite/SQLiteDatabase;->close()V
4858 + .catchall {:try_start_52 .. :try_end_76} :catchall_aa
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
4886 + .catch Ljava/lang/Exception; {:try_start_77 .. :try_end_8f} :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
4923 + .catchall {:try_start_ab .. :try_end_ac} :catchall_aa
4928 +.method public purgeSettings()Z
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
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
4958 + invoke-interface/range {v18 .. v18}, Ljava/util/Iterator;->hasNext()Z
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
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
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
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
5023 + add-int/lit8 v18, v18, 0x1
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
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
5051 + const-string/jumbo v4, "settings"
5055 + new-array v5, v2, [Ljava/lang/String;
5059 + const-string/jumbo v6, "packageName"
5061 + aput-object v6, v5, v2
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
5086 + invoke-interface/range {v16 .. v16}, Landroid/database/Cursor;->moveToNext()Z
5090 + if-eqz v2, :cond_142
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
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
5114 + .catchall {:try_start_73 .. :try_end_ac} :catchall_107
5115 + .catch Ljava/lang/Exception; {:try_start_73 .. :try_end_ac} :catch_ad
5120 + move-exception v17
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
5131 + .catchall {:try_start_ae .. :try_end_b8} :catchall_107
5135 + if-eqz v16, :cond_bf
5137 + invoke-interface/range {v16 .. v16}, Landroid/database/Cursor;->close()V
5140 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
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
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
5167 + if-nez v2, :cond_e5
5169 + if-eqz v3, :cond_e5
5171 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
5175 + if-eqz v2, :cond_e5
5177 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->close()V
5182 + .catchall {:try_start_c2 .. :try_end_e6} :catchall_13f
5189 + move-object/from16 v0, v24
5191 + invoke-interface {v14, v0}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
5195 + if-eqz v2, :cond_135
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
5219 + .catchall {:try_start_e7 .. :try_end_106} :catchall_107
5220 + .catch Ljava/lang/Exception; {:try_start_e7 .. :try_end_106} :catch_ad
5227 + if-eqz v16, :cond_10d
5229 + invoke-interface/range {v16 .. v16}, Landroid/database/Cursor;->close()V
5232 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
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
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
5259 + if-nez v5, :cond_133
5261 + if-eqz v3, :cond_133
5263 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
5267 + if-eqz v5, :cond_133
5269 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->close()V
5274 + .catchall {:try_start_110 .. :try_end_134} :catchall_13c
5280 + move-object/from16 v0, v24
5282 + invoke-interface {v14, v0}, Ljava/util/List;->add(Ljava/lang/Object;)Z
5284 + .catchall {:try_start_135 .. :try_end_13a} :catchall_107
5285 + .catch Ljava/lang/Exception; {:try_start_135 .. :try_end_13a} :catch_ad
5295 + .catchall {:try_start_13d .. :try_end_13e} :catchall_13c
5305 + .catchall {:try_start_140 .. :try_end_141} :catchall_13f
5310 + if-eqz v16, :cond_147
5312 + invoke-interface/range {v16 .. v16}, Landroid/database/Cursor;->close()V
5315 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
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
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
5342 + if-nez v2, :cond_16d
5344 + if-eqz v3, :cond_16d
5346 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
5350 + if-eqz v2, :cond_16d
5352 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->close()V
5364 + .catchall {:try_start_14a .. :try_end_172} :catchall_170
5369 +.method public declared-synchronized saveSettings(Landroid/privacy/PrivacySettings;)Z
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
5387 + if-eqz v3, :cond_1a
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
5396 + .catchall {:try_start_3 .. :try_end_17} :catchall_2c2
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"
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
5827 + .catchall {:try_start_1a .. :try_end_1eb} :catchall_2c2
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=?"
5844 + new-array v5, v5, [Ljava/lang/String;
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
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
5872 + .catchall {:try_start_1ec .. :try_end_213} :catchall_291
5873 + .catch Ljava/lang/Exception; {:try_start_1ec .. :try_end_213} :catch_213
5876 + move-exception v13
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
5888 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5892 + .catchall {:try_start_216 .. :try_end_221} :catchall_2c2
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
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
5917 + if-nez v3, :cond_244
5919 + if-eqz v2, :cond_244
5921 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
5925 + if-eqz v3, :cond_244
5927 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
5932 + .catchall {:try_start_221 .. :try_end_245} :catchall_4ca
5935 + move/from16 v3, v18
5941 + const-string v3, "allowed_contacts"
5943 + const-string/jumbo v4, "settings_id=?"
5947 + new-array v5, v5, [Ljava/lang/String;
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
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"
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"
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
6012 + .catchall {:try_start_249 .. :try_end_291} :catchall_291
6013 + .catch Ljava/lang/Exception; {:try_start_249 .. :try_end_291} :catch_213
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
6026 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6030 + .catchall {:try_start_292 .. :try_end_29d} :catchall_2c2
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
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
6055 + if-nez v5, :cond_2c0
6057 + if-eqz v2, :cond_2c0
6059 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
6063 + if-eqz v5, :cond_2c0
6065 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
6070 + .catchall {:try_start_29d .. :try_end_2c1} :catchall_4cd
6075 + .catchall {:try_start_2c1 .. :try_end_2c2} :catchall_2c2
6085 + add-int/lit8 v14, v14, 0x1
6091 + const-string/jumbo v3, "settings"
6095 + new-array v4, v4, [Ljava/lang/String;
6099 + const-string v6, "_id"
6101 + aput-object v6, v4, v5
6103 + const-string/jumbo v5, "packageName=?"
6107 + new-array v6, v6, [Ljava/lang/String;
6111 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getPackageName()Ljava/lang/String;
6113 + move-result-object v8
6115 + aput-object v8, v6, v7
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
6135 + if-ne v3, v4, :cond_36e
6137 + const-string/jumbo v3, "settings"
6139 + const-string/jumbo v4, "packageName=?"
6143 + new-array v5, v5, [Ljava/lang/String;
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
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
6172 + invoke-interface {v11}, Landroid/database/Cursor;->moveToFirst()Z
6176 + if-eqz v3, :cond_3f2
6180 + invoke-interface {v11, v3}, Landroid/database/Cursor;->getInt(I)I
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=?"
6194 + new-array v5, v5, [Ljava/lang/String;
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
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"
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"
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
6262 + add-int/lit8 v14, v14, 0x1
6267 + invoke-interface {v11}, Landroid/database/Cursor;->getCount()I
6271 + if-nez v3, :cond_3dc
6273 + const-string/jumbo v3, "settings"
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
6298 + const-string v3, "allowed_contacts"
6300 + const-string/jumbo v4, "settings_id=?"
6304 + new-array v5, v5, [Ljava/lang/String;
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
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"
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"
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
6374 + add-int/lit8 v14, v14, 0x1
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
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
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
6471 + .catchall {:try_start_2c8 .. :try_end_43c} :catchall_291
6472 + .catch Ljava/lang/Exception; {:try_start_2c8 .. :try_end_43c} :catch_213
6475 + invoke-virtual/range {v21 .. v21}, Ljava/io/File;->mkdirs()Z
6481 + move-object/from16 v0, v21
6483 + invoke-virtual {v0, v3, v4}, Ljava/io/File;->setReadable(ZZ)Z
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
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
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
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
6550 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->setTransactionSuccessful()V
6552 + .catchall {:try_start_487 .. :try_end_48a} :catchall_291
6553 + .catch Ljava/lang/Exception; {:try_start_487 .. :try_end_48a} :catch_213
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
6563 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6567 + .catchall {:try_start_48a .. :try_end_495} :catchall_2c2
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
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
6592 + if-nez v3, :cond_4b8
6594 + if-eqz v2, :cond_4b8
6596 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
6600 + if-eqz v3, :cond_4b8
6602 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
6614 + .catchall {:try_start_495 .. :try_end_4bd} :catchall_4bb
6619 + .catchall {:try_start_4bd .. :try_end_4be} :catchall_2c2
6622 + move-exception v13
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
6635 + .catchall {:try_start_4c1 .. :try_end_4ca} :catchall_291
6636 + .catch Ljava/lang/Exception; {:try_start_4c1 .. :try_end_4ca} :catch_213
6644 + .catchall {:try_start_4cb .. :try_end_4cc} :catchall_4ca
6649 + .catchall {:try_start_4cc .. :try_end_4cd} :catchall_2c2
6657 + .catchall {:try_start_4ce .. :try_end_4cf} :catchall_4cd
6662 + .catchall {:try_start_4cf .. :try_end_4d0} :catchall_2c2
6665 +.method public declared-synchronized setValue(Ljava/lang/String;Ljava/lang/String;)Z
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"
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
6736 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6738 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
6742 + if-nez v3, :cond_5b
6744 + if-eqz v0, :cond_5b
6746 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
6750 + if-eqz v3, :cond_5b
6752 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
6754 + .catchall {:try_start_1 .. :try_end_5b} :catchall_5f
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
6777 +.class final Landroid/privacy/PrivacySettings$1;
6778 +.super Ljava/lang/Object;
6779 +.source "PrivacySettings.java"
6782 +.implements Landroid/os/Parcelable$Creator;
6786 +.annotation system Ldalvik/annotation/EnclosingClass;
6787 + value = Landroid/privacy/PrivacySettings;
6790 +.annotation system Ldalvik/annotation/InnerClass;
6795 +.annotation system Ldalvik/annotation/Signature;
6797 + "Ljava/lang/Object;",
6798 + "Landroid/os/Parcelable$Creator",
6800 + "Landroid/privacy/PrivacySettings;",
6807 +.method constructor <init>()V
6810 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
6817 +.method public createFromParcel(Landroid/os/Parcel;)Landroid/privacy/PrivacySettings;
6820 + new-instance v0, Landroid/privacy/PrivacySettings;
6822 + invoke-direct {v0, p1}, Landroid/privacy/PrivacySettings;-><init>(Landroid/os/Parcel;)V
6827 +.method public bridge synthetic createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
6830 + invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettings$1;->createFromParcel(Landroid/os/Parcel;)Landroid/privacy/PrivacySettings;
6832 + move-result-object v0
6837 +.method public newArray(I)[Landroid/privacy/PrivacySettings;
6840 + new-array v0, p1, [Landroid/privacy/PrivacySettings;
6845 +.method public bridge synthetic newArray(I)[Ljava/lang/Object;
6848 + invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettings$1;->newArray(I)[Landroid/privacy/PrivacySettings;
6850 + move-result-object v0
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
6858 +.class public Landroid/privacy/PrivacySettingsManagerService;
6859 +.super Landroid/privacy/IPrivacySettingsManager$Stub;
6860 +.source "PrivacySettingsManagerService.java"
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;
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;
6886 +.method public constructor <init>(Landroid/content/Context;)V
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
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
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
6977 + iput-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->notificationsEnabled:Z
6981 + iput-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->bootCompleted:Z
6988 +.method public addObserver(Ljava/lang/String;)V
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
7006 +.method public deleteSettings(Ljava/lang/String;)Z
7011 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
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
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
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
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
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;
7084 +.method public getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
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
7103 + if-eqz v0, :cond_1a
7106 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
7110 + invoke-virtual {v0, p1, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->getSettings(Ljava/lang/String;Z)Landroid/privacy/PrivacySettings;
7112 + move-result-object v0
7123 +.method public getVersion()D
7126 + const-wide v0, 0x3ff51eb851eb851fL
7131 +.method public notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
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"
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
7180 +.method public purgeSettings()Z
7183 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
7185 + invoke-virtual {v0}, Landroid/privacy/PrivacyPersistenceAdapter;->purgeSettings()Z
7192 +.method public registerObservers()V
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;
7214 +.method public saveSettings(Landroid/privacy/PrivacySettings;)Z
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
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
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
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
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
7310 +.method public setBootCompleted()V
7315 + iput-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->bootCompleted:Z
7320 +.method public setEnabled(Z)Z
7325 + if-eqz p1, :cond_12
7327 + const-string v0, "1"
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
7338 + if-eqz v2, :cond_15
7340 + iput-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->enabled:Z
7346 + const-string v0, "0"
7356 +.method public setNotificationsEnabled(Z)Z
7361 + if-eqz p1, :cond_15
7363 + const-string v0, "1"
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
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
7384 + const-string v0, "0"
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
7397 +.class public Landroid/privacy/PrivacySettingsManager;
7398 +.super Ljava/lang/Object;
7399 +.source "PrivacySettingsManager.java"
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"
7409 +.field private service:Landroid/privacy/IPrivacySettingsManager;
7413 +.method public constructor <init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
7416 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
7418 + iput-object p2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7425 +.method public addObserver(Ljava/lang/String;)V
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
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
7447 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_11} :catch_12
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
7463 +.method public deleteSettings(Ljava/lang/String;)Z
7466 + invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettingsManager;->deleteSettings(Ljava/lang/String;)Z
7473 +.method public deleteSettings(Ljava/lang/String;I)Z
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
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
7499 + .catch Landroid/os/RemoteException; {:try_start_1 .. :try_end_13} :catch_14
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
7515 +.method public getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
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
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
7541 + .catch Landroid/os/RemoteException; {:try_start_1 .. :try_end_13} :catch_14
7548 + invoke-virtual {v0}, Landroid/os/RemoteException;->printStackTrace()V
7553 +.method public getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
7556 + invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
7558 + move-result-object v0
7563 +.method public getVersion()D
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
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
7587 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_12} :catch_15
7590 + const-wide/16 v1, 0x0
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
7606 +.method public isServiceAvailable()Z
7609 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7611 + if-eqz v0, :cond_6
7624 +.method public notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
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
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
7646 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_11} :catch_12
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
7662 +.method public notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
7665 + move-object v0, p0
7667 + move-object v1, p1
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
7682 +.method public purgeSettings()Z
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
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
7706 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_12} :catch_14
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
7725 +.method public registerObservers()V
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
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
7747 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_11} :catch_12
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
7763 +.method public saveSettings(Landroid/privacy/PrivacySettings;)Z
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
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
7789 + .catch Landroid/os/RemoteException; {:try_start_1 .. :try_end_14} :catch_15
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
7805 +.method public setBootCompleted()V
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
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
7827 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_12} :catch_13
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
7843 +.method public setEnabled(Z)Z
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
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
7867 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_13} :catch_15
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
7886 +.method public setNotificationsEnabled(Z)Z
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
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
7910 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_13} :catch_15
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
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
7932 +.class public final Landroid/privacy/PrivacySettings;
7933 +.super Ljava/lang/Object;
7934 +.source "PrivacySettings.java"
7937 +.implements Landroid/os/Parcelable;
7941 +.field public static final CREATOR:Landroid/os/Parcelable$Creator; = null
7942 + .annotation system Ldalvik/annotation/Signature;
7944 + "Landroid/os/Parcelable$Creator",
7946 + "Landroid/privacy/PrivacySettings;",
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
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
8076 +.method static constructor <clinit>()V
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;
8088 +.method public constructor <init>(Landroid/os/Parcel;)V
8091 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
8093 + invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I
8099 + if-ne v0, v1, :cond_ce
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
8116 + iput v1, p0, Landroid/privacy/PrivacySettings;->uid:I
8118 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
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
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
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
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
8182 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
8184 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8188 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
8190 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
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
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
8218 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
8220 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8224 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
8226 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8230 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
8232 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8236 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
8238 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8242 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
8244 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8248 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
8250 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8254 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
8256 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8260 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
8262 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8266 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
8268 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8272 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
8274 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8278 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
8280 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8284 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
8286 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
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
8301 + invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
8303 + move-result-object v1
8308 +.method public constructor <init>(Ljava/lang/Integer;Ljava/lang/String;I)V
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
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
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
8498 +.method private getRandomLat()Ljava/lang/String;
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
8522 + new-instance v3, Ljava/lang/StringBuilder;
8524 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
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
8551 + new-instance v2, Ljava/math/BigDecimal;
8555 + invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;-><init>(D)V
8560 +.method private getRandomLon()Ljava/lang/String;
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
8584 + new-instance v3, Ljava/lang/StringBuilder;
8586 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
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
8613 + new-instance v2, Ljava/math/BigDecimal;
8617 + invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;-><init>(D)V
8624 +.method public describeContents()I
8632 +.method public getAccountsAuthTokensSetting()B
8635 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
8640 +.method public getAccountsSetting()B
8643 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
8648 +.method public getAllowedContacts()[I
8651 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
8656 +.method public getBookmarksSetting()B
8659 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
8664 +.method public getCalendarSetting()B
8667 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
8672 +.method public getCallLogSetting()B
8675 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
8680 +.method public getContactsSetting()B
8683 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
8688 +.method public getDeviceId()Ljava/lang/String;
8691 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
8695 + if-ne v2, v3, :cond_8
8697 + const-string v2, ""
8703 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
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
8743 + invoke-virtual {v1, v2, v3}, Ljava/lang/String;->substring(II)Ljava/lang/String;
8745 + move-result-object v2
8750 + iget-object v2, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
8755 +.method public getDeviceIdSetting()B
8758 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
8763 +.method public getIncomingCallsSetting()B
8766 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
8771 +.method public getIntentBootCompletedSetting()B
8774 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
8779 +.method public getLine1Number()Ljava/lang/String;
8782 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
8786 + if-ne v2, v3, :cond_8
8788 + const-string v2, ""
8794 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
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
8840 + invoke-virtual {v1, v2, v3}, Ljava/lang/String;->substring(II)Ljava/lang/String;
8842 + move-result-object v2
8847 + iget-object v2, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
8852 +.method public getLine1NumberSetting()B
8855 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
8860 +.method public getLocationGpsLat()Ljava/lang/String;
8863 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8867 + if-ne v0, v1, :cond_8
8869 + const-string v0, ""
8875 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8879 + if-ne v0, v1, :cond_12
8881 + invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLat()Ljava/lang/String;
8883 + move-result-object v0
8888 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
8893 +.method public getLocationGpsLon()Ljava/lang/String;
8896 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8900 + if-ne v0, v1, :cond_8
8902 + const-string v0, ""
8908 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8912 + if-ne v0, v1, :cond_12
8914 + invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLon()Ljava/lang/String;
8916 + move-result-object v0
8921 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
8926 +.method public getLocationGpsSetting()B
8929 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8934 +.method public getLocationNetworkLat()Ljava/lang/String;
8937 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8941 + if-ne v0, v1, :cond_8
8943 + const-string v0, ""
8949 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8953 + if-ne v0, v1, :cond_12
8955 + invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLat()Ljava/lang/String;
8957 + move-result-object v0
8962 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
8967 +.method public getLocationNetworkLon()Ljava/lang/String;
8970 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8974 + if-ne v0, v1, :cond_8
8976 + const-string v0, ""
8982 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8986 + if-ne v0, v1, :cond_12
8988 + invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLon()Ljava/lang/String;
8990 + move-result-object v0
8995 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
9000 +.method public getLocationNetworkSetting()B
9003 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
9008 +.method public getMmsSetting()B
9011 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
9016 +.method public getNetworkInfoSetting()B
9019 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
9024 +.method public getNotificationSetting()B
9027 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
9032 +.method public getOutgoingCallsSetting()B
9035 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
9040 +.method public getPackageName()Ljava/lang/String;
9043 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
9048 +.method public getSimInfoSetting()B
9051 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
9056 +.method public getSimSerialNumber()Ljava/lang/String;
9059 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
9063 + if-ne v1, v2, :cond_8
9065 + const-string v1, ""
9071 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
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
9110 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
9115 +.method public getSimSerialNumberSetting()B
9118 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
9123 +.method public getSmsSetting()B
9126 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
9131 +.method public getSubscriberId()Ljava/lang/String;
9134 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
9138 + if-ne v2, v3, :cond_8
9140 + const-string v2, ""
9146 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
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
9186 + invoke-virtual {v1, v2, v3}, Ljava/lang/String;->substring(II)Ljava/lang/String;
9188 + move-result-object v2
9193 + iget-object v2, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
9198 +.method public getSubscriberIdSetting()B
9201 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
9206 +.method public getSystemLogsSetting()B
9209 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
9214 +.method public getUid()I
9217 + iget v0, p0, Landroid/privacy/PrivacySettings;->uid:I
9222 +.method public get_id()Ljava/lang/Integer;
9225 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
9230 +.method public setAccountsAuthTokensSetting(B)V
9233 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
9238 +.method public setAccountsSetting(B)V
9241 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
9246 +.method public setAllowedContacts([I)V
9249 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
9254 +.method public setBookmarksSetting(B)V
9257 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
9262 +.method public setCalendarSetting(B)V
9265 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
9270 +.method public setCallLogSetting(B)V
9273 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
9278 +.method public setContactsSetting(B)V
9281 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
9286 +.method public setDeviceId(Ljava/lang/String;)V
9289 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
9294 +.method public setDeviceIdSetting(B)V
9297 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
9302 +.method public setIncomingCallsSetting(B)V
9305 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
9310 +.method public setIntentBootCompletedSetting(B)V
9313 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
9318 +.method public setLine1Number(Ljava/lang/String;)V
9321 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
9326 +.method public setLine1NumberSetting(B)V
9329 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
9334 +.method public setLocationGpsLat(Ljava/lang/String;)V
9337 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
9342 +.method public setLocationGpsLon(Ljava/lang/String;)V
9345 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
9350 +.method public setLocationGpsSetting(B)V
9353 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
9358 +.method public setLocationNetworkLat(Ljava/lang/String;)V
9361 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
9366 +.method public setLocationNetworkLon(Ljava/lang/String;)V
9369 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
9374 +.method public setLocationNetworkSetting(B)V
9377 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
9382 +.method public setMmsSetting(B)V
9385 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
9390 +.method public setNetworkInfoSetting(B)V
9393 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
9398 +.method public setNotificationSetting(B)V
9401 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
9406 +.method public setOutgoingCallsSetting(B)V
9409 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
9414 +.method public setPackageName(Ljava/lang/String;)V
9417 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
9422 +.method public setSimInfoSetting(B)V
9425 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
9430 +.method public setSimSerialNumber(Ljava/lang/String;)V
9433 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
9438 +.method public setSimSerialNumberSetting(B)V
9441 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
9446 +.method public setSmsSetting(B)V
9449 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
9454 +.method public setSubscriberId(Ljava/lang/String;)V
9457 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
9462 +.method public setSubscriberIdSetting(B)V
9465 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
9470 +.method public setSystemLogsSetting(B)V
9473 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
9478 +.method public setUid(I)V
9481 + iput p1, p0, Landroid/privacy/PrivacySettings;->uid:I
9486 +.method public toString()Ljava/lang/String;
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
9890 +.method public writeToParcel(Landroid/os/Parcel;I)V
9893 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
9895 + if-nez v0, :cond_a9
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
10033 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
10035 + invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
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
10045 +.class Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10046 +.super Ljava/lang/Object;
10047 +.source "PrivacyAccountManager.java"
10050 +.implements Landroid/accounts/AccountManagerFuture;
10054 +.annotation system Ldalvik/annotation/EnclosingClass;
10055 + value = Landroid/privacy/surrogate/PrivacyAccountManager;
10058 +.annotation system Ldalvik/annotation/InnerClass;
10059 + accessFlags = 0x2
10060 + name = "PrivacyAccountManagerFuture"
10063 +.annotation system Ldalvik/annotation/Signature;
10066 + "Ljava/lang/Object;",
10068 + "Ljava/lang/Object;",
10069 + "Landroid/accounts/AccountManagerFuture",
10076 +.field private result:Ljava/lang/Object;
10077 + .annotation system Ldalvik/annotation/Signature;
10084 +.field final synthetic this$0:Landroid/privacy/surrogate/PrivacyAccountManager;
10088 +.method public constructor <init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
10090 + .annotation system Ldalvik/annotation/Signature;
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;
10107 +.method public cancel(Z)Z
10115 +.method public getResult()Ljava/lang/Object;
10117 + .annotation system Ldalvik/annotation/Signature;
10123 + .annotation system Ldalvik/annotation/Throws;
10125 + Landroid/accounts/OperationCanceledException;,
10126 + Ljava/io/IOException;,
10127 + Landroid/accounts/AuthenticatorException;
10131 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->result:Ljava/lang/Object;
10136 +.method public getResult(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;
10138 + .annotation system Ldalvik/annotation/Signature;
10141 + "Ljava/util/concurrent/TimeUnit;",
10146 + .annotation system Ldalvik/annotation/Throws;
10148 + Landroid/accounts/OperationCanceledException;,
10149 + Ljava/io/IOException;,
10150 + Landroid/accounts/AuthenticatorException;
10154 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->result:Ljava/lang/Object;
10159 +.method public isCancelled()Z
10167 +.method public isDone()Z
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
10178 +.class public final Landroid/privacy/surrogate/PrivacyAccountManager;
10179 +.super Landroid/accounts/AccountManager;
10180 +.source "PrivacyAccountManager.java"
10184 +.annotation system Ldalvik/annotation/MemberClasses;
10186 + Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10192 +.field private static final TAG:Ljava/lang/String; = "PrivacyAccountManager"
10196 +.field private context:Landroid/content/Context;
10198 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
10202 +.method public constructor <init>(Landroid/content/Context;Landroid/accounts/IAccountManager;)V
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;
10228 +.method public constructor <init>(Landroid/content/Context;Landroid/accounts/IAccountManager;Landroid/os/Handler;)V
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;
10256 +.method public blockingGetAuthToken(Landroid/accounts/Account;Ljava/lang/String;Z)Ljava/lang/String;
10258 + .annotation system Ldalvik/annotation/Throws;
10260 + Landroid/accounts/OperationCanceledException;,
10261 + Ljava/io/IOException;,
10262 + Landroid/accounts/AuthenticatorException;
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
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
10290 + if-eqz v0, :cond_23
10294 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
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
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;
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
10321 +.method public getAccounts()[Landroid/accounts/Account;
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
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
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;
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
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
10383 +.method public getAccountsByType(Ljava/lang/String;)[Landroid/accounts/Account;
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
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
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;
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
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
10445 +.method public getAccountsByTypeAndFeatures(Ljava/lang/String;[Ljava/lang/String;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
10447 + .annotation system Ldalvik/annotation/Signature;
10450 + "Ljava/lang/String;",
10452 + "Ljava/lang/String;",
10453 + "Landroid/accounts/AccountManagerCallback",
10455 + "Landroid/accounts/Account;",
10457 + "Landroid/os/Handler;",
10459 + "Landroid/accounts/AccountManagerFuture",
10461 + "Landroid/accounts/Account;",
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
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
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;
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
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
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;
10531 + .annotation system Ldalvik/annotation/Signature;
10534 + "Landroid/accounts/Account;",
10535 + "Ljava/lang/String;",
10536 + "Landroid/os/Bundle;",
10537 + "Landroid/app/Activity;",
10538 + "Landroid/accounts/AccountManagerCallback",
10540 + "Landroid/os/Bundle;",
10542 + "Landroid/os/Handler;",
10544 + "Landroid/accounts/AccountManagerFuture",
10546 + "Landroid/os/Bundle;",
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
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
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;
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
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;
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
10616 +.method public getAuthToken(Landroid/accounts/Account;Ljava/lang/String;ZLandroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
10618 + .annotation system Ldalvik/annotation/Signature;
10621 + "Landroid/accounts/Account;",
10622 + "Ljava/lang/String;",
10624 + "Landroid/accounts/AccountManagerCallback",
10626 + "Landroid/os/Bundle;",
10628 + "Landroid/os/Handler;",
10630 + "Landroid/accounts/AccountManagerFuture",
10632 + "Landroid/os/Bundle;",
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
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
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;
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
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;
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
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;
10704 + .annotation system Ldalvik/annotation/Signature;
10707 + "Ljava/lang/String;",
10708 + "Ljava/lang/String;",
10710 + "Ljava/lang/String;",
10711 + "Landroid/app/Activity;",
10712 + "Landroid/os/Bundle;",
10713 + "Landroid/os/Bundle;",
10714 + "Landroid/accounts/AccountManagerCallback",
10716 + "Landroid/os/Bundle;",
10718 + "Landroid/os/Handler;",
10720 + "Landroid/accounts/AccountManagerFuture",
10722 + "Landroid/os/Bundle;",
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
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
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;
10765 + const-string v4, "authTokens"
10769 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
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;
10785 + const-string v4, "authTokens"
10789 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10794 +.method public hasFeatures(Landroid/accounts/Account;[Ljava/lang/String;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
10796 + .annotation system Ldalvik/annotation/Signature;
10799 + "Landroid/accounts/Account;",
10801 + "Ljava/lang/String;",
10802 + "Landroid/accounts/AccountManagerCallback",
10804 + "Ljava/lang/Boolean;",
10806 + "Landroid/os/Handler;",
10808 + "Landroid/accounts/AccountManagerFuture",
10810 + "Ljava/lang/Boolean;",
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
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
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;
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
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
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
10883 +.class public final Landroid/privacy/surrogate/PrivacyActivityManagerService;
10884 +.super Ljava/lang/Object;
10885 +.source "PrivacyActivityManagerService.java"
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
10921 +.method static constructor <clinit>()V
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
10949 +.method public constructor <init>()V
10952 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
10957 +.method public static enforcePrivacyPermission(Ljava/lang/String;ILandroid/content/Intent;Landroid/content/Context;I)V
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;
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
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
11034 + if-eqz v8, :cond_76
11037 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getOutgoingCallsSetting()B
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;
11057 + const-string/jumbo v6, "outgoingCall"
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
11067 + .catch Ljava/lang/Exception; {:try_start_4b .. :try_end_6a} :catch_a0
11071 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
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
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;
11119 + const-string/jumbo v6, "outgoingCall"
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
11129 + .catch Ljava/lang/Exception; {:try_start_76 .. :try_end_9f} :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
11147 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOut:Landroid/content/Intent;
11152 + const-string v2, "android.intent.action.PHONE_STATE"
11154 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
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
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
11213 + if-eqz v8, :cond_116
11216 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getIncomingCallsSetting()B
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;
11236 + const-string v6, "incomingCall"
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
11246 + .catch Ljava/lang/Exception; {:try_start_eb .. :try_end_109} :catch_13f
11250 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
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
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;
11296 + const-string v6, "incomingCall"
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
11306 + .catch Ljava/lang/Exception; {:try_start_116 .. :try_end_13e} :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
11324 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpIn:Landroid/content/Intent;
11329 + const-string v2, "android.provider.Telephony.SMS_RECEIVED"
11331 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
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
11367 + aget-object v2, v15, v2
11369 + check-cast v2, [B
11371 + check-cast v2, [B
11373 + move-object v12, v2
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
11403 + if-eqz v8, :cond_1cf
11406 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getSmsSetting()B
11410 + if-eqz v2, :cond_1cf
11412 + const-string v16, "[empty]"
11416 + new-array v14, v2, [Ljava/lang/Object;
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;
11438 + const-string/jumbo v6, "sms"
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
11448 + .catch Ljava/lang/Exception; {:try_start_195 .. :try_end_1c0} :catch_212
11452 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
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
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
11517 + aget-object v2, v15, v2
11519 + check-cast v2, [B
11521 + check-cast v2, [B
11523 + move-object v12, v2
11526 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11530 + const-string/jumbo v6, "sms"
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
11540 + .catch Ljava/lang/Exception; {:try_start_1cf .. :try_end_211} :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
11563 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSms:Landroid/content/Intent;
11568 + const-string v2, "android.provider.Telephony.WAP_PUSH_RECEIVED"
11570 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
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
11582 + if-eqz v2, :cond_2ff
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
11615 + aget-object v2, v15, v2
11617 + check-cast v2, [B
11619 + check-cast v2, [B
11621 + move-object v12, v2
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
11651 + if-eqz v8, :cond_2ac
11654 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getMmsSetting()B
11658 + if-eqz v2, :cond_2ac
11660 + const-string v16, "[empty]"
11664 + new-array v14, v2, [Ljava/lang/Object;
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;
11686 + const-string/jumbo v6, "mms"
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
11696 + .catch Ljava/lang/Exception; {:try_start_272 .. :try_end_29d} :catch_2ef
11700 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
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
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
11765 + aget-object v2, v15, v2
11767 + check-cast v2, [B
11769 + check-cast v2, [B
11771 + move-object v12, v2
11774 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11778 + const-string/jumbo v6, "mms"
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
11788 + .catch Ljava/lang/Exception; {:try_start_2ac .. :try_end_2ee} :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
11811 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMms:Landroid/content/Intent;
11816 + const-string v2, "android.intent.action.BOOT_COMPLETED"
11818 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
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
11831 + const-string v2, "android.intent.action.PACKAGE_ADDED"
11833 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
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
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
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
11936 +.method private static hashCode(Landroid/content/Intent;)J
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
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;
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
11974 +.class public final Landroid/privacy/surrogate/PrivacyContentResolver;
11975 +.super Ljava/lang/Object;
11976 +.source "PrivacyContentResolver.java"
11980 +.field private static final TAG:Ljava/lang/String; = "PrivacyContentResolver"
11982 +.field private static pSetMan:Landroid/privacy/PrivacySettingsManager;
11986 +.method public constructor <init>()V
11989 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
11994 +.method private static arrayToString([Ljava/lang/String;)Ljava/lang/String;
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
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
12045 + const-string v5, ""
12051 + invoke-virtual {v4}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String;
12053 + move-result-object v5
12058 +.method public static enforcePrivacyPermission(Landroid/net/Uri;[Ljava/lang/String;Landroid/content/Context;Landroid/database/Cursor;)Landroid/database/Cursor;
12060 + .annotation system Ldalvik/annotation/Throws;
12062 + Landroid/os/RemoteException;
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;
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
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
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
12123 + if-eqz v1, :cond_ab
12126 + if-eqz v7, :cond_54
12128 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getContactsSetting()B
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;
12146 + const-string v5, "contacts"
12150 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12154 + return-object v13
12157 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getContactsSetting()B
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
12179 + if-eqz v1, :cond_a1
12183 + if-eqz p1, :cond_82
12185 + move-object/from16 v8, p1
12187 + array-length v12, v8
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
12204 + if-eqz v1, :cond_93
12209 + if-nez v11, :cond_96
12211 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12213 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12216 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12220 + const-string v5, "contacts"
12224 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12229 + add-int/lit8 v10, v10, 0x1
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
12247 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12251 + const-string v5, "contacts"
12255 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12260 + const-string v1, "com.android.calendar"
12262 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12266 + if-eqz v1, :cond_d8
12268 + if-eqz v7, :cond_cd
12270 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getCalendarSetting()B
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;
12288 + const-string v5, "calendar"
12292 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12297 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12301 + const-string v5, "calendar"
12305 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
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
12320 + if-eqz v1, :cond_10c
12322 + if-eqz v7, :cond_100
12324 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getMmsSetting()B
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;
12342 + const-string/jumbo v5, "mms"
12346 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12351 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12355 + const-string/jumbo v5, "mms"
12359 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
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
12374 + if-eqz v1, :cond_140
12376 + if-eqz v7, :cond_134
12378 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getSmsSetting()B
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;
12396 + const-string/jumbo v5, "sms"
12400 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12405 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12409 + const-string/jumbo v5, "sms"
12413 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
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
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
12436 + if-eqz v1, :cond_184
12439 + if-eqz v7, :cond_178
12441 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getMmsSetting()B
12447 + if-eq v1, v4, :cond_165
12449 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getSmsSetting()B
12455 + if-ne v1, v4, :cond_178
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;
12468 + const-string/jumbo v5, "mmsSms"
12472 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12477 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12481 + const-string/jumbo v5, "mmsSms"
12485 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12490 + const-string v1, "call_log"
12492 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12496 + if-eqz v1, :cond_1b2
12498 + if-eqz v7, :cond_1a7
12500 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getCallLogSetting()B
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;
12518 + const-string v5, "callLog"
12522 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12527 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12531 + const-string v5, "callLog"
12535 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
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
12550 + if-eqz v1, :cond_54
12552 + if-eqz v7, :cond_1d9
12554 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getBookmarksSetting()B
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;
12572 + const-string v5, "bookmarks"
12576 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12581 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12585 + const-string v5, "bookmarks"
12589 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12594 + move-object/from16 v13, p3
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
12602 +.class public Landroid/privacy/surrogate/PrivacyCursor;
12603 +.super Ljava/lang/Object;
12604 +.source "PrivacyCursor.java"
12607 +.implements Landroid/database/Cursor;
12611 +.field private static final TAG:Ljava/lang/String; = "PrivacyCursor"
12615 +.field private allowedIdMapping:[I
12617 +.field private allowedIds:[I
12619 +.field private realCursor:Landroid/database/Cursor;
12623 +.method public constructor <init>()V
12626 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
12631 +.method public constructor <init>(Landroid/database/Cursor;[I)V
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
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
12660 + array-length v2, p2
12662 + new-array v2, v2, [I
12664 + iput-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
12670 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12672 + invoke-interface {v2}, Landroid/database/Cursor;->moveToNext()Z
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
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
12696 + add-int/lit8 v1, v1, 0x1
12701 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12703 + invoke-interface {v2, v0}, Landroid/database/Cursor;->moveToPosition(I)Z
12709 +.method private getContactId(Landroid/database/Cursor;)I
12712 + const-string v2, "_id"
12714 + invoke-interface {p1, v2}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
12722 + if-eq v0, v2, :cond_e
12724 + invoke-interface {p1, v0}, Landroid/database/Cursor;->getInt(I)I
12732 +.method private getMappedPos(I)I
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
12748 + if-ne v1, p1, :cond_d
12754 + add-int/lit8 v0, v0, 0x1
12764 +.method private isAllowed(I)Z
12769 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIds:[I
12771 + array-length v3, v0
12776 + if-ge v2, v3, :cond_c
12780 + if-ne p1, v1, :cond_d
12788 + add-int/lit8 v2, v2, 0x1
12793 +.method private isAllowed(Landroid/database/Cursor;)Z
12796 + invoke-direct {p0, p1}, Landroid/privacy/surrogate/PrivacyCursor;->getContactId(Landroid/database/Cursor;)I
12800 + invoke-direct {p0, v0}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(I)Z
12809 +.method public close()V
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
12824 +.method public copyStringToBuffer(ILandroid/database/CharArrayBuffer;)V
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
12839 +.method public deactivate()V
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
12854 +.method public getBlob(I)[B
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
12873 + new-array v0, v0, [B
12878 +.method public getColumnCount()I
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
12900 +.method public getColumnIndex(Ljava/lang/String;)I
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
12922 +.method public getColumnIndexOrThrow(Ljava/lang/String;)I
12924 + .annotation system Ldalvik/annotation/Throws;
12926 + Ljava/lang/IllegalArgumentException;
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
12949 +.method public getColumnName(I)Ljava/lang/String;
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
12966 + const-string v0, ""
12971 +.method public getColumnNames()[Ljava/lang/String;
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
12990 + new-array v0, v0, [Ljava/lang/String;
12994 + const-string v2, ""
12996 + aput-object v2, v0, v1
13001 +.method public getCount()I
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
13047 +.method public getDouble(I)D
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
13064 + const-wide/16 v0, 0x0
13069 +.method public getExtras()Landroid/os/Bundle;
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
13086 + new-instance v0, Landroid/os/Bundle;
13088 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
13093 +.method public getFloat(I)F
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
13115 +.method public getInt(I)I
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
13137 +.method public getLong(I)J
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
13154 + const-wide/16 v0, 0x0
13159 +.method public getPosition()I
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
13172 + invoke-direct {p0, v1}, Landroid/privacy/surrogate/PrivacyCursor;->getMappedPos(I)I
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
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
13223 +.method public getShort(I)S
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
13245 +.method public getString(I)Ljava/lang/String;
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
13262 + const-string v0, ""
13267 +.method public getType(I)I
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
13284 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13291 +.method public getWantsAllOnMoveCalls()Z
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
13313 +.method public isAfterLast()Z
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
13335 +.method public isBeforeFirst()Z
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
13357 +.method public isClosed()Z
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
13379 +.method public isFirst()Z
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
13394 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13398 + if-ne v1, v2, :cond_12
13406 +.method public isLast()Z
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
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
13429 + if-ne v0, v1, :cond_17
13442 +.method public isNull(I)Z
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
13464 +.method public move(I)Z
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
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
13504 + invoke-direct {p0, v4}, Landroid/privacy/surrogate/PrivacyCursor;->getMappedPos(I)I
13508 + add-int/2addr v4, p1
13512 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13514 + invoke-interface {v3, v1}, Landroid/database/Cursor;->moveToPosition(I)Z
13516 + .catch Ljava/lang/ArrayIndexOutOfBoundsException; {:try_start_1e .. :try_end_32} :catch_34
13525 + move-exception v0
13530 +.method public moveToFirst()Z
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
13545 + invoke-interface {v1, v2}, Landroid/database/Cursor;->moveToPosition(I)Z
13553 +.method public moveToLast()Z
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
13572 + invoke-interface {v1, v2}, Landroid/database/Cursor;->moveToPosition(I)Z
13585 +.method public moveToNext()Z
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
13600 + if-nez v1, :cond_e
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
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
13630 +.method public moveToPosition(I)Z
13635 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13637 + if-eqz v2, :cond_f
13640 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13642 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13646 + invoke-interface {v2, v3}, Landroid/database/Cursor;->moveToPosition(I)Z
13648 + .catch Ljava/lang/ArrayIndexOutOfBoundsException; {:try_start_5 .. :try_end_e} :catch_10
13657 + move-exception v0
13662 +.method public moveToPrevious()Z
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
13677 + if-nez v1, :cond_e
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
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
13707 +.method public registerContentObserver(Landroid/database/ContentObserver;)V
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
13722 +.method public registerDataSetObserver(Landroid/database/DataSetObserver;)V
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
13737 +.method public requery()Z
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
13759 +.method public respond(Landroid/os/Bundle;)Landroid/os/Bundle;
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
13776 + new-instance v0, Landroid/os/Bundle;
13778 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
13783 +.method public setNotificationUri(Landroid/content/ContentResolver;Landroid/net/Uri;)V
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
13798 +.method public unregisterContentObserver(Landroid/database/ContentObserver;)V
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
13813 +.method public unregisterDataSetObserver(Landroid/database/DataSetObserver;)V
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
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
13831 +.class Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
13832 +.super Ljava/lang/Thread;
13833 +.source "PrivacyLocationManager.java"
13837 +.annotation system Ldalvik/annotation/EnclosingClass;
13838 + value = Landroid/privacy/surrogate/PrivacyLocationManager;
13841 +.annotation system Ldalvik/annotation/InnerClass;
13842 + accessFlags = 0x2
13843 + name = "PrivacyLocationUpdater"
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;
13862 +.method public constructor <init>(Landroid/privacy/surrogate/PrivacyLocationManager;Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;DD)V
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
13884 +.method public run()V
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
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
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
13937 + .catch Ljava/lang/InterruptedException; {:try_start_22 .. :try_end_31} :catch_3e
13940 + add-int/lit8 v1, v1, 0x1
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
13956 + move-exception v0
13958 + invoke-virtual {v0}, Ljava/lang/InterruptedException;->printStackTrace()V
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
13969 +.class public final Landroid/privacy/surrogate/PrivacyLocationManager;
13970 +.super Landroid/location/LocationManager;
13971 +.source "PrivacyLocationManager.java"
13975 +.annotation system Ldalvik/annotation/MemberClasses;
13977 + Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
13983 +.field private static final CUSTOM_LOCATION_UPDATE_COUNT:I = 0x5
13985 +.field private static final TAG:Ljava/lang/String; = "PrivacyLocationManager"
13989 +.field private context:Landroid/content/Context;
13991 +.field private lock:Ljava/lang/Object;
13993 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
13997 +.method public constructor <init>(Landroid/location/ILocationManager;Landroid/content/Context;)V
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;
14029 +.method private requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
14034 + if-nez p1, :cond_5
14042 + invoke-virtual {p1}, Landroid/location/Criteria;->getAccuracy()I
14048 + if-eq v0, v1, :cond_24
14050 + invoke-virtual {p1}, Landroid/location/Criteria;->getBearingAccuracy()I
14054 + if-eq v0, v2, :cond_24
14056 + invoke-virtual {p1}, Landroid/location/Criteria;->getHorizontalAccuracy()I
14060 + if-eq v0, v2, :cond_24
14062 + invoke-virtual {p1}, Landroid/location/Criteria;->getVerticalAccuracy()I
14066 + if-eq v0, v2, :cond_24
14068 + invoke-virtual {p1}, Landroid/location/Criteria;->getSpeedAccuracy()I
14072 + if-ne v0, v2, :cond_2b
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
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
14093 +.method private requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
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
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
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
14137 + if-eqz v1, :cond_111
14139 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
14143 + packed-switch v1, :pswitch_data_25e
14152 + move-object/from16 v0, p0
14154 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14158 + const-string v5, "locationGPS"
14162 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14167 + move-exception v1
14171 + .catchall {:try_start_7 .. :try_end_40} :catchall_3e
14176 + if-eqz p3, :cond_46
14179 + invoke-virtual/range {p3 .. p3}, Landroid/app/PendingIntent;->cancel()V
14182 + const/16 v18, 0x1
14184 + move-object/from16 v0, p0
14186 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14190 + const-string v5, "locationGPS"
14194 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14196 + .catchall {:try_start_43 .. :try_end_53} :catchall_3e
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
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
14239 + move-object/from16 v0, p0
14241 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
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
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
14296 + .catchall {:try_start_76 .. :try_end_af} :catchall_3e
14298 + const/16 v18, 0x1
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
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
14341 + move-object/from16 v0, p0
14343 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
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
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
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
14411 + if-eqz v1, :cond_204
14413 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
14417 + packed-switch v1, :pswitch_data_26a
14422 + move-object/from16 v0, p0
14424 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14428 + const-string v5, "locationNetwork"
14432 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14437 + if-eqz p3, :cond_137
14439 + invoke-virtual/range {p3 .. p3}, Landroid/app/PendingIntent;->cancel()V
14442 + const/16 v18, 0x1
14444 + move-object/from16 v0, p0
14446 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14450 + const-string v5, "locationNetwork"
14454 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14456 + .catchall {:try_start_d4 .. :try_end_144} :catchall_3e
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
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
14499 + move-object/from16 v0, p0
14501 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
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
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
14556 + .catchall {:try_start_168 .. :try_end_1a2} :catchall_3e
14558 + const/16 v18, 0x1
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
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
14601 + move-object/from16 v0, p0
14603 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
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
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
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
14671 + if-eqz v1, :cond_30
14673 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
14677 + if-nez v1, :cond_22a
14679 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
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;
14693 + const-string v5, "locationGPS"
14697 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14702 + const/16 v18, 0x1
14704 + move-object/from16 v0, p0
14706 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14710 + const-string v5, "locationGPS"
14714 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
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
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;
14735 + const-string v5, "locationNetwork"
14739 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14744 + move-object/from16 v0, p0
14746 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14750 + const-string v5, "locationGPS"
14754 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14756 + .catchall {:try_start_1c7 .. :try_end_25c} :catchall_3e
14760 + :pswitch_data_25e
14761 + .packed-switch 0x0
14766 + .end packed-switch
14768 + :pswitch_data_26a
14769 + .packed-switch 0x0
14774 + .end packed-switch
14779 +.method public addNmeaListener(Landroid/location/GpsStatus$NmeaListener;)Z
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
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
14808 + if-eqz v0, :cond_24
14810 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
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
14824 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14826 + const-string v4, "locationGPS"
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
14839 +.method public getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
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
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
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
14881 + if-eqz v6, :cond_22c
14883 + const-string v0, "gps"
14885 + invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
14889 + if-eqz v0, :cond_ff
14891 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
14895 + packed-switch v0, :pswitch_data_29a
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
14947 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14952 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14954 + const-string v4, "locationGPS"
14958 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
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
15029 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
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
15100 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15105 + const-string/jumbo v0, "network"
15107 + invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15111 + if-eqz v0, :cond_1e3
15113 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15117 + packed-switch v0, :pswitch_data_2a6
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
15169 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15174 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15176 + const-string v4, "locationNetwork"
15180 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
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
15251 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
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
15322 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15327 + const-string/jumbo v0, "passive"
15329 + invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15333 + if-eqz v0, :cond_b
15335 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
15339 + if-nez v0, :cond_b
15341 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
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
15394 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
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
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
15454 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
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
15502 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15508 + :pswitch_data_29a
15509 + .packed-switch 0x0
15514 + .end packed-switch
15516 + :pswitch_data_2a6
15517 + .packed-switch 0x0
15522 + .end packed-switch
15525 +.method public getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
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
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
15551 + invoke-virtual {v2, v3, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
15553 + move-result-object v1
15557 + if-eqz v1, :cond_5f
15559 + const-string v2, "gps"
15561 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15565 + if-eqz v2, :cond_2f
15567 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
15571 + packed-switch v2, :pswitch_data_64
15577 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15579 + move-result-object v0
15584 + const-string/jumbo v2, "network"
15586 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15590 + if-eqz v2, :cond_45
15592 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15596 + packed-switch v2, :pswitch_data_70
15602 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15604 + move-result-object v0
15609 + const-string/jumbo v2, "passive"
15611 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15615 + if-eqz v2, :cond_6
15617 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
15621 + if-eqz v2, :cond_5a
15623 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15627 + if-nez v2, :cond_6
15630 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15632 + move-result-object v0
15637 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15639 + move-result-object v0
15644 + .packed-switch 0x0
15649 + .end packed-switch
15652 + .packed-switch 0x0
15657 + .end packed-switch
15660 +.method public isProviderEnabled(Ljava/lang/String;)Z
15663 + if-nez p1, :cond_7
15665 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
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
15687 + invoke-virtual {v2, v3, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
15689 + move-result-object v1
15693 + if-eqz v1, :cond_65
15695 + const-string v2, "gps"
15697 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15701 + if-eqz v2, :cond_31
15703 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
15707 + packed-switch v2, :pswitch_data_6a
15712 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
15724 + const-string/jumbo v2, "network"
15726 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15730 + if-eqz v2, :cond_49
15732 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15736 + packed-switch v2, :pswitch_data_76
15741 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
15753 + const-string/jumbo v2, "passive"
15755 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15759 + if-eqz v2, :cond_6
15761 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
15765 + if-eqz v2, :cond_5e
15767 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15771 + if-nez v2, :cond_63
15774 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
15786 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
15793 + .packed-switch 0x0
15798 + .end packed-switch
15801 + .packed-switch 0x0
15806 + .end packed-switch
15809 +.method public requestLocationUpdates(JFLandroid/location/Criteria;Landroid/app/PendingIntent;)V
15812 + if-eqz p4, :cond_4
15814 + if-nez p5, :cond_8
15817 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/app/PendingIntent;)V
15826 + invoke-direct {p0, p4, v0, p5}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15830 + if-nez v0, :cond_7
15832 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/app/PendingIntent;)V
15837 +.method public requestLocationUpdates(JFLandroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
15840 + if-eqz p4, :cond_4
15842 + if-nez p5, :cond_8
15845 + invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
15854 + invoke-direct {p0, p4, p5, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
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
15865 +.method public requestLocationUpdates(Ljava/lang/String;JFLandroid/app/PendingIntent;)V
15868 + if-eqz p1, :cond_4
15870 + if-nez p5, :cond_8
15873 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/app/PendingIntent;)V
15882 + invoke-direct {p0, p1, v0, p5}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15886 + if-nez v0, :cond_7
15888 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/app/PendingIntent;)V
15893 +.method public requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;)V
15896 + if-eqz p1, :cond_4
15898 + if-nez p5, :cond_8
15901 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;)V
15910 + invoke-direct {p0, p1, p5, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15914 + if-nez v0, :cond_7
15916 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;)V
15921 +.method public requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;Landroid/os/Looper;)V
15924 + if-eqz p1, :cond_4
15926 + if-nez p5, :cond_8
15929 + invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;Landroid/os/Looper;)V
15938 + invoke-direct {p0, p1, p5, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
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
15949 +.method public requestSingleUpdate(Landroid/location/Criteria;Landroid/app/PendingIntent;)V
15952 + if-eqz p1, :cond_4
15954 + if-nez p2, :cond_8
15957 + invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/app/PendingIntent;)V
15966 + invoke-direct {p0, p1, v0, p2}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15970 + if-nez v0, :cond_7
15972 + invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/app/PendingIntent;)V
15977 +.method public requestSingleUpdate(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
15980 + if-eqz p1, :cond_4
15982 + if-nez p2, :cond_8
15985 + invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
15994 + invoke-direct {p0, p1, p2, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
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
16005 +.method public requestSingleUpdate(Ljava/lang/String;Landroid/app/PendingIntent;)V
16008 + if-eqz p1, :cond_4
16010 + if-nez p2, :cond_8
16013 + invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/app/PendingIntent;)V
16022 + invoke-direct {p0, p1, v0, p2}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
16026 + if-nez v0, :cond_7
16028 + invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/app/PendingIntent;)V
16033 +.method public requestSingleUpdate(Ljava/lang/String;Landroid/location/LocationListener;Landroid/os/Looper;)V
16036 + if-eqz p1, :cond_4
16038 + if-nez p2, :cond_8
16041 + invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/location/LocationListener;Landroid/os/Looper;)V
16050 + invoke-direct {p0, p1, p2, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
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
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
16064 +.class public final Landroid/privacy/surrogate/PrivacyTelephonyManager;
16065 +.super Landroid/telephony/TelephonyManager;
16066 +.source "PrivacyTelephonyManager.java"
16070 +.field private static final TAG:Ljava/lang/String; = "PrivacyTelephonyManager"
16074 +.field private context:Landroid/content/Context;
16076 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
16080 +.method public constructor <init>(Landroid/content/Context;)V
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;
16106 +.method private getNetworkInfo()Ljava/lang/String;
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
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
16133 + if-eqz v0, :cond_25
16135 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
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, ""
16149 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
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
16160 +.method private getSimInfo()Ljava/lang/String;
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
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
16187 + if-eqz v0, :cond_25
16189 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
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, ""
16203 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
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
16216 +.method public getDeviceId()Ljava/lang/String;
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
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
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
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
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;
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
16276 +.method public getLine1Number()Ljava/lang/String;
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
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
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
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
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;
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
16336 +.method public getNeighboringCellInfo()Ljava/util/List;
16338 + .annotation system Ldalvik/annotation/Signature;
16341 + "Ljava/util/List",
16343 + "Landroid/telephony/NeighboringCellInfo;",
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
16360 + invoke-virtual {v6, v7, v8}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16362 + move-result-object v5
16366 + const-string v4, "[null]"
16368 + if-eqz v5, :cond_1c
16370 + invoke-virtual {v5}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
16376 + if-ne v6, v7, :cond_1d
16383 + invoke-virtual {v5}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
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]"
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
16409 + invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z
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
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
16473 +.method public getNetworkCountryIso()Ljava/lang/String;
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
16490 +.method public getNetworkOperator()Ljava/lang/String;
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
16507 +.method public getNetworkOperatorName()Ljava/lang/String;
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
16524 +.method public getSimCountryIso()Ljava/lang/String;
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
16541 +.method public getSimOperator()Ljava/lang/String;
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
16558 +.method public getSimOperatorName()Ljava/lang/String;
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
16575 +.method public getSimSerialNumber()Ljava/lang/String;
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
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
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
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
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;
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
16635 +.method public getSubscriberId()Ljava/lang/String;
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
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
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
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
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;
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
16695 +.method public getVoiceMailNumber()Ljava/lang/String;
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
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
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
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
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;
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
16755 +.method public listen(Landroid/telephony/PhoneStateListener;I)V
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
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
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
16791 + invoke-super {p0, p1, p2}, Landroid/telephony/TelephonyManager;->listen(Landroid/telephony/PhoneStateListener;I)V
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 @@
16801 .method public onCallStateChanged(ILjava/lang/String;)V
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;
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
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
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
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
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
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
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
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
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
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
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
17002 .method public onCellInfoChanged(Landroid/telephony/CellInfo;)V
17003 @@ -104,27 +277,124 @@
17006 .method public onCellLocationChanged(Landroid/os/Bundle;)V
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
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
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
17082 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
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
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;
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
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
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
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"
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
17154 .method public constructor <init>()V
17159 +.method static synthetic access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
17162 + iget-object v0, p0, Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
17167 +.method static synthetic access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
17170 + iget-object v0, p0, Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
17175 +.method static synthetic access$200(Landroid/telephony/PhoneStateListener;)I
17178 + iget v0, p0, Landroid/telephony/PhoneStateListener;->uid:I
17185 .method public onCallForwardingIndicatorChanged(Z)V
17186 @@ -134,3 +166,27 @@
17191 +.method public setContext(Landroid/content/Context;)V
17194 + iput-object p1, p0, Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
17199 +.method public setPackageName(Ljava/lang/String;)V
17202 + iput-object p1, p0, Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
17207 +.method public setUid(I)V
17210 + iput p1, p0, Landroid/telephony/PhoneStateListener;->uid:I
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
17241 iget-boolean v0, p0, Landroid/widget/AppSecurityPermissions;->mExpanded:Z
17243 - if-nez v0, :cond_29
17244 + if-nez v0, :cond_2a
17250 iput-boolean v0, p0, Landroid/widget/AppSecurityPermissions;->mExpanded:Z
17252 invoke-direct {p0}, Landroid/widget/AppSecurityPermissions;->showPermissions()V