1 diff -NpruEbB stock_framework/smali/android/app/BackStackRecord.smali moded_framework/smali/android/app/BackStackRecord.smali
2 --- stock_framework/smali/android/app/BackStackRecord.smali 2012-09-13 08:57:57.808837653 -0700
3 +++ moded_framework/smali/android/app/BackStackRecord.smali 2012-09-13 08:58:48.081849390 -0700
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 -NpruEbB stock_framework/smali/android/app/ContextImpl$20.smali moded_framework/smali/android/app/ContextImpl$20.smali
227 --- stock_framework/smali/android/app/ContextImpl$20.smali 2012-09-13 08:57:57.838844823 -0700
228 +++ moded_framework/smali/android/app/ContextImpl$20.smali 2012-09-13 08:58:48.111856559 -0700
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 -NpruEbB stock_framework/smali/android/app/ContextImpl$29.smali moded_framework/smali/android/app/ContextImpl$29.smali
264 --- stock_framework/smali/android/app/ContextImpl$29.smali 2012-09-13 08:57:57.869852231 -0700
265 +++ moded_framework/smali/android/app/ContextImpl$29.smali 2012-09-13 08:58:48.141863729 -0700
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 -NpruEbB stock_framework/smali/android/app/ContextImpl$3.smali moded_framework/smali/android/app/ContextImpl$3.smali
283 --- stock_framework/smali/android/app/ContextImpl$3.smali 2012-09-13 08:57:57.873853187 -0700
284 +++ moded_framework/smali/android/app/ContextImpl$3.smali 2012-09-13 08:58:48.144864446 -0700
287 move-result-object v1
289 - new-instance v2, Landroid/accounts/AccountManager;
290 + new-instance v2, Landroid/privacy/surrogate/PrivacyAccountManager;
292 - invoke-direct {v2, p1, v1}, Landroid/accounts/AccountManager;-><init>(Landroid/content/Context;Landroid/accounts/IAccountManager;)V
293 + invoke-direct {v2, p1, v1}, Landroid/privacy/surrogate/PrivacyAccountManager;-><init>(Landroid/content/Context;Landroid/accounts/IAccountManager;)V
297 diff -NpruEbB stock_framework/smali/android/app/ContextImpl$40.smali moded_framework/smali/android/app/ContextImpl$40.smali
298 --- stock_framework/smali/android/app/ContextImpl$40.smali 1969-12-31 16:00:00.000000000 -0800
299 +++ moded_framework/smali/android/app/ContextImpl$40.smali 2012-09-13 08:58:48.144864446 -0700
301 +.class final Landroid/app/ContextImpl$40;
302 +.super Landroid/app/ContextImpl$StaticServiceFetcher;
303 +.source "ContextImpl.java"
307 +.annotation system Ldalvik/annotation/EnclosingClass;
308 + value = Landroid/app/ContextImpl;
311 +.annotation system Ldalvik/annotation/InnerClass;
318 +.method constructor <init>()V
321 + invoke-direct {p0}, Landroid/app/ContextImpl$StaticServiceFetcher;-><init>()V
328 +.method public createStaticService()Ljava/lang/Object;
331 + const-string/jumbo v2, "privacy"
333 + invoke-static {v2}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
335 + move-result-object v0
337 + invoke-static {v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
339 + move-result-object v1
341 + new-instance v2, Landroid/privacy/PrivacySettingsManager;
343 + invoke-static {}, Landroid/app/ContextImpl;->getStaticOuterContext()Landroid/content/Context;
345 + move-result-object v3
347 + invoke-direct {v2, v3, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
351 diff -NpruEbB stock_framework/smali/android/app/ContextImpl.smali moded_framework/smali/android/app/ContextImpl.smali
352 --- stock_framework/smali/android/app/ContextImpl.smali 2012-09-13 08:57:57.973877086 -0700
353 +++ moded_framework/smali/android/app/ContextImpl.smali 2012-09-13 08:58:48.245888584 -0700
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$40;
371 + invoke-direct {v1}, Landroid/app/ContextImpl$40;-><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 @@ -999,6 +1013,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 @@ -4272,6 +4294,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 -NpruEbB stock_framework/smali/android/content/ContentResolver.smali moded_framework/smali/android/content/ContentResolver.smali
421 --- stock_framework/smali/android/content/ContentResolver.smali 2012-09-13 08:57:57.924865376 -0700
422 +++ moded_framework/smali/android/content/ContentResolver.smali 2012-09-13 08:58:48.208879741 -0700
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 -NpruEbB stock_framework/smali/android/content/pm/ContainerEncryptionParams.smali moded_framework/smali/android/content/pm/ContainerEncryptionParams.smali
655 --- stock_framework/smali/android/content/pm/ContainerEncryptionParams.smali 2012-09-13 08:58:00.408458781 -0700
656 +++ moded_framework/smali/android/content/pm/ContainerEncryptionParams.smali 2012-09-13 08:58:50.121336686 -0700
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 -NpruEbB stock_framework/smali/android/location/Location.smali moded_framework/smali/android/location/Location.smali
685 --- stock_framework/smali/android/location/Location.smali 2012-09-13 08:58:03.485193908 -0700
686 +++ moded_framework/smali/android/location/Location.smali 2012-09-13 08:58:51.974779529 -0700
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 -NpruEbB stock_framework/smali/android/privacy/IPrivacySettingsManager.smali moded_framework/smali/android/privacy/IPrivacySettingsManager.smali
697 --- stock_framework/smali/android/privacy/IPrivacySettingsManager.smali 1969-12-31 16:00:00.000000000 -0800
698 +++ moded_framework/smali/android/privacy/IPrivacySettingsManager.smali 2012-09-13 08:58:54.520387753 -0700
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 -NpruEbB stock_framework/smali/android/privacy/IPrivacySettingsManager$Stub$Proxy.smali moded_framework/smali/android/privacy/IPrivacySettingsManager$Stub$Proxy.smali
805 --- stock_framework/smali/android/privacy/IPrivacySettingsManager$Stub$Proxy.smali 1969-12-31 16:00:00.000000000 -0800
806 +++ moded_framework/smali/android/privacy/IPrivacySettingsManager$Stub$Proxy.smali 2012-09-13 08:58:54.540392532 -0700
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 -NpruEbB stock_framework/smali/android/privacy/IPrivacySettingsManager$Stub.smali moded_framework/smali/android/privacy/IPrivacySettingsManager$Stub.smali
1552 --- stock_framework/smali/android/privacy/IPrivacySettingsManager$Stub.smali 1969-12-31 16:00:00.000000000 -0800
1553 +++ moded_framework/smali/android/privacy/IPrivacySettingsManager$Stub.smali 2012-09-13 08:58:54.540392532 -0700
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 -NpruEbB stock_framework/smali/android/privacy/PrivacyFileObserver.smali moded_framework/smali/android/privacy/PrivacyFileObserver.smali
1968 --- stock_framework/smali/android/privacy/PrivacyFileObserver.smali 1969-12-31 16:00:00.000000000 -0800
1969 +++ moded_framework/smali/android/privacy/PrivacyFileObserver.smali 2012-09-13 08:58:54.541392771 -0700
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 -NpruEbB stock_framework/smali/android/privacy/PrivacyPersistenceAdapter.smali moded_framework/smali/android/privacy/PrivacyPersistenceAdapter.smali
2189 --- stock_framework/smali/android/privacy/PrivacyPersistenceAdapter.smali 1969-12-31 16:00:00.000000000 -0800
2190 +++ moded_framework/smali/android/privacy/PrivacyPersistenceAdapter.smali 2012-09-13 08:58:54.561397549 -0700
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 declared-synchronized getSettings(Ljava/lang/String;Z)Landroid/privacy/PrivacySettings;
3896 + if-nez p1, :cond_10
3899 + const-string v1, "PrivacyPersistenceAdapter"
3901 + const-string v4, "getSettings - insufficient application identifier - package name is required"
3903 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
3905 + .catchall {:try_start_5 .. :try_end_c} :catchall_2d8
3907 + move-object/from16 v3, v43
3916 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
3918 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
3920 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
3924 + add-int/lit8 v1, v1, 0x1
3926 + invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
3928 + move-result-object v1
3930 + sput-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
3932 + .catchall {:try_start_10 .. :try_end_20} :catchall_2d8
3935 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
3937 + .catchall {:try_start_20 .. :try_end_23} :catchall_2d8
3938 + .catch Landroid/database/sqlite/SQLiteException; {:try_start_20 .. :try_end_23} :catch_245
3940 + move-result-object v2
3945 + const-string/jumbo v3, "settings"
3947 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->DATABASE_FIELDS:[Ljava/lang/String;
3949 + const-string/jumbo v5, "packageName=?"
3953 + new-array v6, v1, [Ljava/lang/String;
3957 + aput-object p1, v6, v1
3967 + move-object/from16 v1, p0
3969 + 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;
3971 + move-result-object v41
3973 + if-eqz v41, :cond_2dc
3975 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->moveToFirst()Z
3979 + if-eqz v1, :cond_2dc
3981 + new-instance v3, Landroid/privacy/PrivacySettings;
3985 + move-object/from16 v0, v41
3987 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getInt(I)I
3991 + invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
3993 + move-result-object v4
3997 + move-object/from16 v0, v41
3999 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
4001 + move-result-object v5
4005 + move-object/from16 v0, v41
4007 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getInt(I)I
4013 + move-object/from16 v0, v41
4015 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4019 + int-to-byte v7, v1
4023 + move-object/from16 v0, v41
4025 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
4027 + move-result-object v8
4031 + move-object/from16 v0, v41
4033 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4037 + int-to-byte v9, v1
4041 + move-object/from16 v0, v41
4043 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
4045 + move-result-object v10
4049 + move-object/from16 v0, v41
4051 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4055 + int-to-byte v11, v1
4059 + move-object/from16 v0, v41
4061 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
4063 + move-result-object v12
4067 + move-object/from16 v0, v41
4069 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
4071 + move-result-object v13
4075 + move-object/from16 v0, v41
4077 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4081 + int-to-byte v14, v1
4085 + move-object/from16 v0, v41
4087 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
4089 + move-result-object v15
4093 + move-object/from16 v0, v41
4095 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
4097 + move-result-object v16
4101 + move-object/from16 v0, v41
4103 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4107 + int-to-byte v0, v1
4109 + move/from16 v17, v0
4113 + move-object/from16 v0, v41
4115 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4119 + int-to-byte v0, v1
4121 + move/from16 v18, v0
4125 + move-object/from16 v0, v41
4127 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4131 + int-to-byte v0, v1
4133 + move/from16 v19, v0
4137 + move-object/from16 v0, v41
4139 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
4141 + move-result-object v20
4145 + move-object/from16 v0, v41
4147 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4151 + int-to-byte v0, v1
4153 + move/from16 v21, v0
4157 + move-object/from16 v0, v41
4159 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
4161 + move-result-object v22
4165 + move-object/from16 v0, v41
4167 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4171 + int-to-byte v0, v1
4173 + move/from16 v23, v0
4177 + move-object/from16 v0, v41
4179 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4183 + int-to-byte v0, v1
4185 + move/from16 v24, v0
4189 + move-object/from16 v0, v41
4191 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4195 + int-to-byte v0, v1
4197 + move/from16 v25, v0
4201 + move-object/from16 v0, v41
4203 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4207 + int-to-byte v0, v1
4209 + move/from16 v26, v0
4213 + move-object/from16 v0, v41
4215 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4219 + int-to-byte v0, v1
4221 + move/from16 v27, v0
4225 + move-object/from16 v0, v41
4227 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4231 + int-to-byte v0, v1
4233 + move/from16 v28, v0
4237 + move-object/from16 v0, v41
4239 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4243 + int-to-byte v0, v1
4245 + move/from16 v29, v0
4249 + move-object/from16 v0, v41
4251 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4255 + int-to-byte v0, v1
4257 + move/from16 v30, v0
4261 + move-object/from16 v0, v41
4263 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4267 + int-to-byte v0, v1
4269 + move/from16 v31, v0
4273 + move-object/from16 v0, v41
4275 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4279 + int-to-byte v0, v1
4281 + move/from16 v32, v0
4285 + move-object/from16 v0, v41
4287 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4291 + int-to-byte v0, v1
4293 + move/from16 v33, v0
4297 + move-object/from16 v0, v41
4299 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4303 + int-to-byte v0, v1
4305 + move/from16 v34, v0
4309 + move-object/from16 v0, v41
4311 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4315 + int-to-byte v0, v1
4317 + move/from16 v35, v0
4321 + move-object/from16 v0, v41
4323 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4327 + int-to-byte v0, v1
4329 + move/from16 v36, v0
4333 + move-object/from16 v0, v41
4335 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4339 + int-to-byte v0, v1
4341 + move/from16 v37, v0
4345 + move-object/from16 v0, v41
4347 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4351 + int-to-byte v0, v1
4353 + move/from16 v38, v0
4357 + 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
4359 + .catchall {:try_start_26 .. :try_end_1a1} :catchall_29b
4360 + .catch Ljava/lang/Exception; {:try_start_26 .. :try_end_1a1} :catch_2d3
4363 + new-instance v1, Ljava/lang/StringBuilder;
4365 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
4367 + const-string v4, "SELECT * FROM allowed_contacts WHERE settings_id="
4369 + invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4371 + move-result-object v1
4373 + invoke-virtual {v3}, Landroid/privacy/PrivacySettings;->get_id()Ljava/lang/Integer;
4375 + move-result-object v4
4377 + invoke-virtual {v4}, Ljava/lang/Integer;->intValue()I
4381 + invoke-static {v4}, Ljava/lang/Integer;->toString(I)Ljava/lang/String;
4383 + move-result-object v4
4385 + invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4387 + move-result-object v1
4389 + const-string v4, ";"
4391 + invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4393 + move-result-object v1
4395 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4397 + move-result-object v1
4399 + move-object/from16 v0, p0
4401 + invoke-direct {v0, v2, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->rawQuery(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;)Landroid/database/Cursor;
4403 + move-result-object v41
4405 + if-eqz v41, :cond_268
4407 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->getCount()I
4411 + if-lez v1, :cond_268
4413 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->getCount()I
4417 + new-array v0, v1, [I
4419 + move-object/from16 v40, v0
4422 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->moveToNext()Z
4426 + if-eqz v1, :cond_263
4428 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->getPosition()I
4434 + move-object/from16 v0, v41
4436 + invoke-interface {v0, v4}, Landroid/database/Cursor;->getInt(I)I
4442 + .catchall {:try_start_1a1 .. :try_end_1ef} :catchall_2d1
4443 + .catch Ljava/lang/Exception; {:try_start_1a1 .. :try_end_1ef} :catch_1f0
4448 + move-exception v42
4452 + const-string v1, "PrivacyPersistenceAdapter"
4454 + new-instance v4, Ljava/lang/StringBuilder;
4456 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
4458 + const-string v5, "getSettings - failed to get settings for package: "
4460 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4462 + move-result-object v4
4464 + move-object/from16 v0, p1
4466 + invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4468 + move-result-object v4
4470 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4472 + move-result-object v4
4474 + move-object/from16 v0, v42
4476 + invoke-static {v1, v4, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
4478 + invoke-virtual/range {v42 .. v42}, Ljava/lang/Exception;->printStackTrace()V
4480 + if-eqz v41, :cond_215
4482 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->close()V
4484 + .catchall {:try_start_1f1 .. :try_end_215} :catchall_2d1
4487 + if-eqz v41, :cond_21a
4490 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->close()V
4493 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4497 + .catchall {:try_start_217 .. :try_end_21d} :catchall_298
4500 + sget-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 + add-int/lit8 v1, v1, -0x1
4510 + invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4512 + move-result-object v1
4514 + sput-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4516 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4518 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
4522 + if-nez v1, :cond_240
4524 + if-eqz v2, :cond_240
4526 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
4530 + if-eqz v1, :cond_240
4532 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
4537 + .catchall {:try_start_21d .. :try_end_241} :catchall_2ce
4540 + move-object/from16 v43, v3
4545 + move-exception v42
4548 + const-string v1, "PrivacyPersistenceAdapter"
4550 + const-string v4, "getSettings - database could not be opened"
4552 + move-object/from16 v0, v42
4554 + invoke-static {v1, v4, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
4556 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4558 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4560 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
4564 + add-int/lit8 v1, v1, -0x1
4566 + invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4568 + move-result-object v1
4570 + sput-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4572 + .catchall {:try_start_246 .. :try_end_25f} :catchall_2d8
4574 + move-object/from16 v3, v43
4580 + move-object/from16 v0, v40
4582 + invoke-virtual {v3, v0}, Landroid/privacy/PrivacySettings;->setAllowedContacts([I)V
4584 + .catchall {:try_start_263 .. :try_end_268} :catchall_2d1
4585 + .catch Ljava/lang/Exception; {:try_start_263 .. :try_end_268} :catch_1f0
4589 + if-eqz v41, :cond_26d
4592 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->close()V
4595 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4599 + .catchall {:try_start_26a .. :try_end_270} :catchall_298
4602 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4604 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4606 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
4610 + add-int/lit8 v1, v1, -0x1
4612 + invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4614 + move-result-object v1
4616 + sput-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4618 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4620 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
4624 + if-nez v1, :cond_293
4626 + if-eqz v2, :cond_293
4628 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
4632 + if-eqz v1, :cond_293
4634 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
4646 + .catchall {:try_start_270 .. :try_end_297} :catchall_295
4651 + .catchall {:try_start_297 .. :try_end_298} :catchall_298
4664 + move-object/from16 v3, v43
4667 + if-eqz v41, :cond_2a3
4670 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->close()V
4673 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4677 + .catchall {:try_start_2a0 .. :try_end_2a6} :catchall_298
4680 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4682 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4684 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
4688 + add-int/lit8 v5, v5, -0x1
4690 + invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4692 + move-result-object v5
4694 + sput-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4696 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4698 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
4702 + if-nez v5, :cond_2c9
4704 + if-eqz v2, :cond_2c9
4706 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
4710 + if-eqz v5, :cond_2c9
4712 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
4717 + .catchall {:try_start_2a6 .. :try_end_2ca} :catchall_2cb
4722 + .catchall {:try_start_2ca .. :try_end_2cb} :catchall_298
4730 + .catchall {:try_start_2cc .. :try_end_2cd} :catchall_2cb
4735 + .catchall {:try_start_2cd .. :try_end_2ce} :catchall_298
4743 + .catchall {:try_start_2cf .. :try_end_2d0} :catchall_2ce
4748 + .catchall {:try_start_2d0 .. :try_end_2d1} :catchall_298
4756 + move-exception v42
4758 + move-object/from16 v3, v43
4765 + move-object/from16 v3, v43
4770 + move-object/from16 v3, v43
4775 +.method public getValue(Ljava/lang/String;)Ljava/lang/String;
4778 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4780 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4782 + invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
4786 + add-int/lit8 v0, v0, 0x1
4788 + invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4790 + move-result-object v0
4792 + sput-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4794 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
4796 + move-result-object v1
4801 + const-string/jumbo v2, "map"
4805 + new-array v3, v0, [Ljava/lang/String;
4809 + const-string/jumbo v4, "value"
4811 + aput-object v4, v3, v0
4813 + const-string/jumbo v4, "name=?"
4817 + new-array v5, v0, [Ljava/lang/String;
4821 + aput-object p1, v5, v0
4831 + move-object v0, p0
4833 + 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;
4835 + move-result-object v10
4837 + if-eqz v10, :cond_77
4839 + invoke-interface {v10}, Landroid/database/Cursor;->getCount()I
4843 + if-lez v0, :cond_77
4845 + invoke-interface {v10}, Landroid/database/Cursor;->moveToFirst()Z
4849 + if-eqz v0, :cond_77
4851 + const-string/jumbo v0, "value"
4853 + invoke-interface {v10, v0}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
4857 + invoke-interface {v10, v0}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
4859 + move-result-object v12
4861 + invoke-interface {v10}, Landroid/database/Cursor;->close()V
4863 + .catch Ljava/lang/Exception; {:try_start_15 .. :try_end_4f} :catch_90
4866 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4871 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4873 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4875 + invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
4879 + add-int/lit8 v0, v0, -0x1
4881 + invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4883 + move-result-object v0
4885 + sput-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4887 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4889 + invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
4893 + if-nez v0, :cond_75
4895 + if-eqz v1, :cond_75
4897 + invoke-virtual {v1}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
4901 + if-eqz v0, :cond_75
4903 + invoke-virtual {v1}, Landroid/database/sqlite/SQLiteDatabase;->close()V
4908 + .catchall {:try_start_52 .. :try_end_76} :catchall_aa
4914 + const-string v0, "PrivacyPersistenceAdapter"
4916 + new-instance v2, Ljava/lang/StringBuilder;
4918 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
4920 + const-string v3, "getValue - could not get value for name: "
4922 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4924 + move-result-object v2
4926 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4928 + move-result-object v2
4930 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4932 + move-result-object v2
4934 + invoke-static {v0, v2}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
4936 + .catch Ljava/lang/Exception; {:try_start_77 .. :try_end_8f} :catch_90
4941 + move-exception v11
4943 + const-string v0, "PrivacyPersistenceAdapter"
4945 + new-instance v2, Ljava/lang/StringBuilder;
4947 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
4949 + const-string v3, "getValue - could not get value for name: "
4951 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4953 + move-result-object v2
4955 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4957 + move-result-object v2
4959 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4961 + move-result-object v2
4963 + invoke-static {v0, v2, v11}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
4973 + .catchall {:try_start_ab .. :try_end_ac} :catchall_aa
4978 +.method public purgeSettings()Z
4983 + new-instance v13, Ljava/util/ArrayList;
4985 + invoke-direct {v13}, Ljava/util/ArrayList;-><init>()V
4987 + move-object/from16 v0, p0
4989 + iget-object v2, v0, Landroid/privacy/PrivacyPersistenceAdapter;->context:Landroid/content/Context;
4991 + invoke-virtual {v2}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
4993 + move-result-object v21
4997 + move-object/from16 v0, v21
4999 + invoke-virtual {v0, v2}, Landroid/content/pm/PackageManager;->getInstalledApplications(I)Ljava/util/List;
5001 + move-result-object v19
5003 + invoke-interface/range {v19 .. v19}, Ljava/util/List;->iterator()Ljava/util/Iterator;
5005 + move-result-object v18
5008 + invoke-interface/range {v18 .. v18}, Ljava/util/Iterator;->hasNext()Z
5012 + if-eqz v2, :cond_2d
5014 + invoke-interface/range {v18 .. v18}, Ljava/util/Iterator;->next()Ljava/lang/Object;
5016 + move-result-object v12
5018 + check-cast v12, Landroid/content/pm/ApplicationInfo;
5020 + iget-object v2, v12, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
5022 + invoke-interface {v13, v2}, Ljava/util/List;->add(Ljava/lang/Object;)Z
5027 + new-instance v26, Ljava/io/File;
5029 + const-string v2, "/data/system/privacy"
5031 + move-object/from16 v0, v26
5033 + invoke-direct {v0, v2}, Ljava/io/File;-><init>(Ljava/lang/String;)V
5035 + invoke-virtual/range {v26 .. v26}, Ljava/io/File;->listFiles()[Ljava/io/File;
5037 + move-result-object v15
5039 + array-length v0, v15
5041 + move/from16 v20, v0
5046 + move/from16 v0, v18
5048 + move/from16 v1, v20
5050 + if-ge v0, v1, :cond_5d
5052 + aget-object v23, v15, v18
5054 + invoke-virtual/range {v23 .. v23}, Ljava/io/File;->getName()Ljava/lang/String;
5056 + move-result-object v24
5058 + move-object/from16 v0, v24
5060 + invoke-interface {v13, v0}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
5064 + if-nez v2, :cond_5a
5066 + move-object/from16 v0, p0
5068 + move-object/from16 v1, v23
5070 + invoke-direct {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteRecursive(Ljava/io/File;)V
5073 + add-int/lit8 v18, v18, 0x1
5078 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5080 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5082 + invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
5086 + add-int/lit8 v2, v2, 0x1
5088 + invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5090 + move-result-object v2
5092 + sput-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5094 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
5096 + move-result-object v3
5101 + const-string/jumbo v4, "settings"
5105 + new-array v5, v2, [Ljava/lang/String;
5109 + const-string/jumbo v6, "packageName"
5111 + aput-object v6, v5, v2
5125 + move-object/from16 v2, p0
5127 + 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;
5129 + move-result-object v16
5131 + new-instance v14, Ljava/util/ArrayList;
5133 + invoke-direct {v14}, Ljava/util/ArrayList;-><init>()V
5136 + invoke-interface/range {v16 .. v16}, Landroid/database/Cursor;->moveToNext()Z
5140 + if-eqz v2, :cond_142
5144 + move-object/from16 v0, v16
5146 + invoke-interface {v0, v2}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
5148 + move-result-object v24
5150 + move-object/from16 v0, v24
5152 + invoke-interface {v13, v0}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
5156 + if-nez v2, :cond_e7
5158 + move-object/from16 v0, p0
5160 + move-object/from16 v1, v24
5162 + invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteSettings(Ljava/lang/String;)Z
5164 + .catchall {:try_start_73 .. :try_end_ac} :catchall_107
5165 + .catch Ljava/lang/Exception; {:try_start_73 .. :try_end_ac} :catch_ad
5170 + move-exception v17
5173 + const-string v2, "PrivacyPersistenceAdapter"
5175 + const-string/jumbo v4, "purgeSettings - purging DB failed"
5177 + move-object/from16 v0, v17
5179 + invoke-static {v2, v4, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
5181 + .catchall {:try_start_ae .. :try_end_b8} :catchall_107
5185 + if-eqz v16, :cond_bf
5187 + invoke-interface/range {v16 .. v16}, Landroid/database/Cursor;->close()V
5190 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5195 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5197 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5199 + invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
5203 + add-int/lit8 v2, v2, -0x1
5205 + invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5207 + move-result-object v2
5209 + sput-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5211 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5213 + invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
5217 + if-nez v2, :cond_e5
5219 + if-eqz v3, :cond_e5
5221 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
5225 + if-eqz v2, :cond_e5
5227 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->close()V
5232 + .catchall {:try_start_c2 .. :try_end_e6} :catchall_13f
5239 + move-object/from16 v0, v24
5241 + invoke-interface {v14, v0}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
5245 + if-eqz v2, :cond_135
5249 + move-object/from16 v0, p0
5251 + move-object/from16 v1, v24
5253 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacyPersistenceAdapter;->getSettings(Ljava/lang/String;Z)Landroid/privacy/PrivacySettings;
5255 + move-result-object v22
5257 + move-object/from16 v0, p0
5259 + move-object/from16 v1, v24
5261 + invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteSettings(Ljava/lang/String;)Z
5263 + move-object/from16 v0, p0
5265 + move-object/from16 v1, v22
5267 + invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->saveSettings(Landroid/privacy/PrivacySettings;)Z
5269 + .catchall {:try_start_e7 .. :try_end_106} :catchall_107
5270 + .catch Ljava/lang/Exception; {:try_start_e7 .. :try_end_106} :catch_ad
5277 + if-eqz v16, :cond_10d
5279 + invoke-interface/range {v16 .. v16}, Landroid/database/Cursor;->close()V
5282 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5287 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5289 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5291 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
5295 + add-int/lit8 v5, v5, -0x1
5297 + invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5299 + move-result-object v5
5301 + sput-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5303 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5305 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
5309 + if-nez v5, :cond_133
5311 + if-eqz v3, :cond_133
5313 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
5317 + if-eqz v5, :cond_133
5319 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->close()V
5324 + .catchall {:try_start_110 .. :try_end_134} :catchall_13c
5330 + move-object/from16 v0, v24
5332 + invoke-interface {v14, v0}, Ljava/util/List;->add(Ljava/lang/Object;)Z
5334 + .catchall {:try_start_135 .. :try_end_13a} :catchall_107
5335 + .catch Ljava/lang/Exception; {:try_start_135 .. :try_end_13a} :catch_ad
5345 + .catchall {:try_start_13d .. :try_end_13e} :catchall_13c
5355 + .catchall {:try_start_140 .. :try_end_141} :catchall_13f
5360 + if-eqz v16, :cond_147
5362 + invoke-interface/range {v16 .. v16}, Landroid/database/Cursor;->close()V
5365 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5370 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5372 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5374 + invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
5378 + add-int/lit8 v2, v2, -0x1
5380 + invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5382 + move-result-object v2
5384 + sput-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5386 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5388 + invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
5392 + if-nez v2, :cond_16d
5394 + if-eqz v3, :cond_16d
5396 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
5400 + if-eqz v2, :cond_16d
5402 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->close()V
5414 + .catchall {:try_start_14a .. :try_end_172} :catchall_170
5419 +.method public declared-synchronized saveSettings(Landroid/privacy/PrivacySettings;)Z
5427 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getPackageName()Ljava/lang/String;
5429 + move-result-object v17
5431 + if-eqz v17, :cond_f
5433 + invoke-virtual/range {v17 .. v17}, Ljava/lang/String;->isEmpty()Z
5437 + if-eqz v3, :cond_1a
5440 + const-string v3, "PrivacyPersistenceAdapter"
5442 + const-string/jumbo v4, "saveSettings - either package name, UID or both is missing"
5444 + invoke-static {v3, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
5446 + .catchall {:try_start_3 .. :try_end_17} :catchall_2c2
5457 + new-instance v23, Landroid/content/ContentValues;
5459 + invoke-direct/range {v23 .. v23}, Landroid/content/ContentValues;-><init>()V
5461 + const-string/jumbo v3, "packageName"
5463 + move-object/from16 v0, v23
5465 + move-object/from16 v1, v17
5467 + invoke-virtual {v0, v3, v1}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5469 + const-string/jumbo v3, "uid"
5473 + invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5475 + move-result-object v4
5477 + move-object/from16 v0, v23
5479 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
5481 + const-string v3, "deviceIdSetting"
5483 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
5487 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5489 + move-result-object v4
5491 + move-object/from16 v0, v23
5493 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5495 + const-string v3, "deviceId"
5497 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getDeviceId()Ljava/lang/String;
5499 + move-result-object v4
5501 + move-object/from16 v0, v23
5503 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5505 + const-string v3, "line1NumberSetting"
5507 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
5511 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5513 + move-result-object v4
5515 + move-object/from16 v0, v23
5517 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5519 + const-string v3, "line1Number"
5521 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLine1Number()Ljava/lang/String;
5523 + move-result-object v4
5525 + move-object/from16 v0, v23
5527 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5529 + const-string v3, "locationGpsSetting"
5531 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
5535 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5537 + move-result-object v4
5539 + move-object/from16 v0, v23
5541 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5543 + const-string v3, "locationGpsLat"
5545 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
5547 + move-result-object v4
5549 + move-object/from16 v0, v23
5551 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5553 + const-string v3, "locationGpsLon"
5555 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
5557 + move-result-object v4
5559 + move-object/from16 v0, v23
5561 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5563 + const-string v3, "locationNetworkSetting"
5565 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
5569 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5571 + move-result-object v4
5573 + move-object/from16 v0, v23
5575 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5577 + const-string v3, "locationNetworkLat"
5579 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
5581 + move-result-object v4
5583 + move-object/from16 v0, v23
5585 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5587 + const-string v3, "locationNetworkLon"
5589 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
5591 + move-result-object v4
5593 + move-object/from16 v0, v23
5595 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5597 + const-string/jumbo v3, "networkInfoSetting"
5599 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
5603 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5605 + move-result-object v4
5607 + move-object/from16 v0, v23
5609 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5611 + const-string/jumbo v3, "simInfoSetting"
5613 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSimInfoSetting()B
5617 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5619 + move-result-object v4
5621 + move-object/from16 v0, v23
5623 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5625 + const-string/jumbo v3, "simSerialNumberSetting"
5627 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSimSerialNumberSetting()B
5631 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5633 + move-result-object v4
5635 + move-object/from16 v0, v23
5637 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5639 + const-string/jumbo v3, "simSerialNumber"
5641 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSimSerialNumber()Ljava/lang/String;
5643 + move-result-object v4
5645 + move-object/from16 v0, v23
5647 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5649 + const-string/jumbo v3, "subscriberIdSetting"
5651 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSubscriberIdSetting()B
5655 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5657 + move-result-object v4
5659 + move-object/from16 v0, v23
5661 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5663 + const-string/jumbo v3, "subscriberId"
5665 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSubscriberId()Ljava/lang/String;
5667 + move-result-object v4
5669 + move-object/from16 v0, v23
5671 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5673 + const-string v3, "accountsSetting"
5675 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
5679 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5681 + move-result-object v4
5683 + move-object/from16 v0, v23
5685 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5687 + const-string v3, "accountsAuthTokensSetting"
5689 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
5693 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5695 + move-result-object v4
5697 + move-object/from16 v0, v23
5699 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5701 + const-string/jumbo v3, "outgoingCallsSetting"
5703 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getOutgoingCallsSetting()B
5707 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5709 + move-result-object v4
5711 + move-object/from16 v0, v23
5713 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5715 + const-string v3, "incomingCallsSetting"
5717 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getIncomingCallsSetting()B
5721 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5723 + move-result-object v4
5725 + move-object/from16 v0, v23
5727 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5729 + const-string v3, "contactsSetting"
5731 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getContactsSetting()B
5735 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5737 + move-result-object v4
5739 + move-object/from16 v0, v23
5741 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5743 + const-string v3, "calendarSetting"
5745 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getCalendarSetting()B
5749 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5751 + move-result-object v4
5753 + move-object/from16 v0, v23
5755 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5757 + const-string/jumbo v3, "mmsSetting"
5759 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getMmsSetting()B
5763 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5765 + move-result-object v4
5767 + move-object/from16 v0, v23
5769 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5771 + const-string/jumbo v3, "smsSetting"
5773 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSmsSetting()B
5777 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5779 + move-result-object v4
5781 + move-object/from16 v0, v23
5783 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5785 + const-string v3, "callLogSetting"
5787 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getCallLogSetting()B
5791 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5793 + move-result-object v4
5795 + move-object/from16 v0, v23
5797 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5799 + const-string v3, "bookmarksSetting"
5801 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getBookmarksSetting()B
5805 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5807 + move-result-object v4
5809 + move-object/from16 v0, v23
5811 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5813 + const-string/jumbo v3, "systemLogsSetting"
5815 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSystemLogsSetting()B
5819 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5821 + move-result-object v4
5823 + move-object/from16 v0, v23
5825 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5827 + const-string/jumbo v3, "notificationSetting"
5829 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getNotificationSetting()B
5833 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5835 + move-result-object v4
5837 + move-object/from16 v0, v23
5839 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5841 + const-string v3, "intentBootCompletedSetting"
5843 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getIntentBootCompletedSetting()B
5847 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5849 + move-result-object v4
5851 + move-object/from16 v0, v23
5853 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5855 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5857 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5859 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
5863 + add-int/lit8 v3, v3, 0x1
5865 + invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5867 + move-result-object v3
5869 + sput-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5871 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
5873 + move-result-object v2
5875 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->beginTransaction()V
5877 + .catchall {:try_start_1a .. :try_end_1eb} :catchall_2c2
5882 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->get_id()Ljava/lang/Integer;
5884 + move-result-object v15
5886 + if-eqz v15, :cond_2c8
5888 + const-string/jumbo v3, "settings"
5890 + const-string v4, "_id=?"
5894 + new-array v5, v5, [Ljava/lang/String;
5898 + invoke-virtual {v15}, Ljava/lang/Integer;->toString()Ljava/lang/String;
5900 + move-result-object v7
5902 + aput-object v7, v5, v6
5904 + move-object/from16 v0, v23
5906 + 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
5912 + if-ge v3, v4, :cond_249
5914 + new-instance v3, Ljava/lang/Exception;
5916 + const-string/jumbo v4, "saveSettings - failed to update database entry"
5918 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
5922 + .catchall {:try_start_1ec .. :try_end_213} :catchall_291
5923 + .catch Ljava/lang/Exception; {:try_start_1ec .. :try_end_213} :catch_213
5926 + move-exception v13
5931 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
5933 + if-eqz v11, :cond_21e
5935 + invoke-interface {v11}, Landroid/database/Cursor;->close()V
5938 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5942 + .catchall {:try_start_216 .. :try_end_221} :catchall_2c2
5945 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5947 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5949 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
5953 + add-int/lit8 v3, v3, -0x1
5955 + invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5957 + move-result-object v3
5959 + sput-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5961 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5963 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
5967 + if-nez v3, :cond_244
5969 + if-eqz v2, :cond_244
5971 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
5975 + if-eqz v3, :cond_244
5977 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
5982 + .catchall {:try_start_221 .. :try_end_245} :catchall_4ca
5985 + move/from16 v3, v18
5991 + const-string v3, "allowed_contacts"
5993 + const-string/jumbo v4, "settings_id=?"
5997 + new-array v5, v5, [Ljava/lang/String;
6001 + invoke-virtual {v15}, Ljava/lang/Integer;->toString()Ljava/lang/String;
6003 + move-result-object v7
6005 + aput-object v7, v5, v6
6007 + invoke-virtual {v2, v3, v4, v5}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
6009 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAllowedContacts()[I
6011 + move-result-object v10
6013 + if-eqz v10, :cond_3f2
6015 + new-instance v12, Landroid/content/ContentValues;
6017 + invoke-direct {v12}, Landroid/content/ContentValues;-><init>()V
6022 + array-length v3, v10
6024 + if-ge v14, v3, :cond_3f2
6026 + const-string/jumbo v3, "settings_id"
6028 + invoke-virtual {v12, v3, v15}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
6030 + const-string v3, "contact_id"
6034 + invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
6036 + move-result-object v4
6038 + invoke-virtual {v12, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
6040 + const-string v3, "allowed_contacts"
6044 + invoke-virtual {v2, v3, v4, v12}, Landroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
6046 + move-result-wide v3
6048 + const-wide/16 v5, -0x1
6050 + cmp-long v3, v3, v5
6052 + if-nez v3, :cond_2c5
6054 + new-instance v3, Ljava/lang/Exception;
6056 + const-string/jumbo v4, "saveSettings - failed to update database entry (contacts)"
6058 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
6062 + .catchall {:try_start_249 .. :try_end_291} :catchall_291
6063 + .catch Ljava/lang/Exception; {:try_start_249 .. :try_end_291} :catch_213
6069 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
6071 + if-eqz v11, :cond_29a
6073 + invoke-interface {v11}, Landroid/database/Cursor;->close()V
6076 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6080 + .catchall {:try_start_292 .. :try_end_29d} :catchall_2c2
6083 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6085 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6087 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
6091 + add-int/lit8 v5, v5, -0x1
6093 + invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
6095 + move-result-object v5
6097 + sput-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6099 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6101 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
6105 + if-nez v5, :cond_2c0
6107 + if-eqz v2, :cond_2c0
6109 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
6113 + if-eqz v5, :cond_2c0
6115 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
6120 + .catchall {:try_start_29d .. :try_end_2c1} :catchall_4cd
6125 + .catchall {:try_start_2c1 .. :try_end_2c2} :catchall_2c2
6135 + add-int/lit8 v14, v14, 0x1
6141 + const-string/jumbo v3, "settings"
6145 + new-array v4, v4, [Ljava/lang/String;
6149 + const-string v6, "_id"
6151 + aput-object v6, v4, v5
6153 + const-string/jumbo v5, "packageName=?"
6157 + new-array v6, v6, [Ljava/lang/String;
6161 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getPackageName()Ljava/lang/String;
6163 + move-result-object v8
6165 + aput-object v8, v6, v7
6173 + 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;
6175 + move-result-object v11
6177 + if-eqz v11, :cond_3e7
6179 + invoke-interface {v11}, Landroid/database/Cursor;->getCount()I
6185 + if-ne v3, v4, :cond_36e
6187 + const-string/jumbo v3, "settings"
6189 + const-string/jumbo v4, "packageName=?"
6193 + new-array v5, v5, [Ljava/lang/String;
6197 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getPackageName()Ljava/lang/String;
6199 + move-result-object v7
6201 + aput-object v7, v5, v6
6203 + move-object/from16 v0, v23
6205 + 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
6211 + if-ge v3, v4, :cond_312
6213 + new-instance v3, Ljava/lang/Exception;
6215 + const-string/jumbo v4, "saveSettings - failed to update database entry"
6217 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
6222 + invoke-interface {v11}, Landroid/database/Cursor;->moveToFirst()Z
6226 + if-eqz v3, :cond_3f2
6230 + invoke-interface {v11, v3}, Landroid/database/Cursor;->getInt(I)I
6234 + invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
6236 + move-result-object v16
6238 + const-string v3, "allowed_contacts"
6240 + const-string/jumbo v4, "settings_id=?"
6244 + new-array v5, v5, [Ljava/lang/String;
6248 + invoke-virtual/range {v16 .. v16}, Ljava/lang/Integer;->toString()Ljava/lang/String;
6250 + move-result-object v7
6252 + aput-object v7, v5, v6
6254 + invoke-virtual {v2, v3, v4, v5}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
6256 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAllowedContacts()[I
6258 + move-result-object v10
6260 + if-eqz v10, :cond_3f2
6262 + new-instance v12, Landroid/content/ContentValues;
6264 + invoke-direct {v12}, Landroid/content/ContentValues;-><init>()V
6269 + array-length v3, v10
6271 + if-ge v14, v3, :cond_3f2
6273 + const-string/jumbo v3, "settings_id"
6275 + move-object/from16 v0, v16
6277 + invoke-virtual {v12, v3, v0}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
6279 + const-string v3, "contact_id"
6283 + invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
6285 + move-result-object v4
6287 + invoke-virtual {v12, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
6289 + const-string v3, "allowed_contacts"
6293 + invoke-virtual {v2, v3, v4, v12}, Landroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
6295 + move-result-wide v3
6297 + const-wide/16 v5, -0x1
6299 + cmp-long v3, v3, v5
6301 + if-nez v3, :cond_36b
6303 + new-instance v3, Ljava/lang/Exception;
6305 + const-string/jumbo v4, "saveSettings - failed to update database entry (contacts)"
6307 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
6312 + add-int/lit8 v14, v14, 0x1
6317 + invoke-interface {v11}, Landroid/database/Cursor;->getCount()I
6321 + if-nez v3, :cond_3dc
6323 + const-string/jumbo v3, "settings"
6327 + move-object/from16 v0, v23
6329 + invoke-virtual {v2, v3, v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
6331 + move-result-wide v19
6333 + const-wide/16 v3, -0x1
6335 + cmp-long v3, v19, v3
6337 + if-nez v3, :cond_38d
6339 + new-instance v3, Ljava/lang/Exception;
6341 + const-string/jumbo v4, "saveSettings - failed to insert new record into DB"
6343 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
6348 + const-string v3, "allowed_contacts"
6350 + const-string/jumbo v4, "settings_id=?"
6354 + new-array v5, v5, [Ljava/lang/String;
6358 + invoke-static/range {v19 .. v20}, Ljava/lang/Long;->toString(J)Ljava/lang/String;
6360 + move-result-object v7
6362 + aput-object v7, v5, v6
6364 + invoke-virtual {v2, v3, v4, v5}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
6366 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAllowedContacts()[I
6368 + move-result-object v10
6370 + if-eqz v10, :cond_3f2
6372 + new-instance v12, Landroid/content/ContentValues;
6374 + invoke-direct {v12}, Landroid/content/ContentValues;-><init>()V
6379 + array-length v3, v10
6381 + if-ge v14, v3, :cond_3f2
6383 + const-string/jumbo v3, "settings_id"
6385 + invoke-static/range {v19 .. v20}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
6387 + move-result-object v4
6389 + invoke-virtual {v12, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Long;)V
6391 + const-string v3, "contact_id"
6395 + invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
6397 + move-result-object v4
6399 + invoke-virtual {v12, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
6401 + const-string v3, "allowed_contacts"
6405 + invoke-virtual {v2, v3, v4, v12}, Landroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
6407 + move-result-wide v3
6409 + const-wide/16 v5, -0x1
6411 + cmp-long v3, v3, v5
6413 + if-nez v3, :cond_3d9
6415 + new-instance v3, Ljava/lang/Exception;
6417 + const-string/jumbo v4, "saveSettings - failed to update database entry (contacts)"
6419 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
6424 + add-int/lit8 v14, v14, 0x1
6431 + new-instance v3, Ljava/lang/Exception;
6433 + const-string/jumbo v4, "saveSettings - duplicate entries in the privacy.db"
6435 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
6442 + new-instance v3, Ljava/lang/Exception;
6444 + const-string/jumbo v4, "saveSettings - cursor is null, database access failed"
6446 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
6451 + new-instance v21, Ljava/io/File;
6453 + new-instance v3, Ljava/lang/StringBuilder;
6455 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
6457 + const-string v4, "/data/system/privacy/"
6459 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6461 + move-result-object v3
6463 + move-object/from16 v0, v17
6465 + invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6467 + move-result-object v3
6469 + const-string v4, "/"
6471 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6473 + move-result-object v3
6475 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6477 + move-result-object v3
6479 + move-object/from16 v0, v21
6481 + invoke-direct {v0, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
6483 + new-instance v22, Ljava/io/File;
6485 + new-instance v3, Ljava/lang/StringBuilder;
6487 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
6489 + const-string v4, "/data/system/privacy/"
6491 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6493 + move-result-object v3
6495 + move-object/from16 v0, v17
6497 + invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6499 + move-result-object v3
6501 + const-string v4, "/"
6503 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6505 + move-result-object v3
6507 + const-string v4, "/systemLogsSetting"
6509 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6511 + move-result-object v3
6513 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6515 + move-result-object v3
6517 + move-object/from16 v0, v22
6519 + invoke-direct {v0, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
6521 + .catchall {:try_start_2c8 .. :try_end_43c} :catchall_291
6522 + .catch Ljava/lang/Exception; {:try_start_2c8 .. :try_end_43c} :catch_213
6525 + invoke-virtual/range {v21 .. v21}, Ljava/io/File;->mkdirs()Z
6531 + move-object/from16 v0, v21
6533 + invoke-virtual {v0, v3, v4}, Ljava/io/File;->setReadable(ZZ)Z
6539 + move-object/from16 v0, v21
6541 + invoke-virtual {v0, v3, v4}, Ljava/io/File;->setExecutable(ZZ)Z
6543 + invoke-virtual/range {v22 .. v22}, Ljava/io/File;->createNewFile()Z
6549 + move-object/from16 v0, v22
6551 + invoke-virtual {v0, v3, v4}, Ljava/io/File;->setReadable(ZZ)Z
6553 + new-instance v24, Ljava/io/OutputStreamWriter;
6555 + new-instance v3, Ljava/io/FileOutputStream;
6557 + move-object/from16 v0, v22
6559 + invoke-direct {v3, v0}, Ljava/io/FileOutputStream;-><init>(Ljava/io/File;)V
6561 + move-object/from16 v0, v24
6563 + invoke-direct {v0, v3}, Ljava/io/OutputStreamWriter;-><init>(Ljava/io/OutputStream;)V
6565 + new-instance v3, Ljava/lang/StringBuilder;
6567 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
6569 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSystemLogsSetting()B
6573 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
6575 + move-result-object v3
6577 + const-string v4, ""
6579 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6581 + move-result-object v3
6583 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6585 + move-result-object v3
6587 + move-object/from16 v0, v24
6589 + invoke-virtual {v0, v3}, Ljava/io/OutputStreamWriter;->append(Ljava/lang/CharSequence;)Ljava/io/Writer;
6591 + invoke-virtual/range {v24 .. v24}, Ljava/io/OutputStreamWriter;->flush()V
6593 + invoke-virtual/range {v24 .. v24}, Ljava/io/OutputStreamWriter;->close()V
6595 + .catchall {:try_start_43c .. :try_end_487} :catchall_291
6596 + .catch Ljava/io/IOException; {:try_start_43c .. :try_end_487} :catch_4be
6597 + .catch Ljava/lang/Exception; {:try_start_43c .. :try_end_487} :catch_213
6600 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->setTransactionSuccessful()V
6602 + .catchall {:try_start_487 .. :try_end_48a} :catchall_291
6603 + .catch Ljava/lang/Exception; {:try_start_487 .. :try_end_48a} :catch_213
6606 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
6608 + if-eqz v11, :cond_492
6610 + invoke-interface {v11}, Landroid/database/Cursor;->close()V
6613 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6617 + .catchall {:try_start_48a .. :try_end_495} :catchall_2c2
6620 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6622 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6624 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
6628 + add-int/lit8 v3, v3, -0x1
6630 + invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
6632 + move-result-object v3
6634 + sput-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6636 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6638 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
6642 + if-nez v3, :cond_4b8
6644 + if-eqz v2, :cond_4b8
6646 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
6650 + if-eqz v3, :cond_4b8
6652 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
6664 + .catchall {:try_start_495 .. :try_end_4bd} :catchall_4bb
6669 + .catchall {:try_start_4bd .. :try_end_4be} :catchall_2c2
6672 + move-exception v13
6677 + new-instance v3, Ljava/lang/Exception;
6679 + const-string/jumbo v4, "saveSettings - could not write settings to file"
6681 + invoke-direct {v3, v4, v13}, Ljava/lang/Exception;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
6685 + .catchall {:try_start_4c1 .. :try_end_4ca} :catchall_291
6686 + .catch Ljava/lang/Exception; {:try_start_4c1 .. :try_end_4ca} :catch_213
6694 + .catchall {:try_start_4cb .. :try_end_4cc} :catchall_4ca
6699 + .catchall {:try_start_4cc .. :try_end_4cd} :catchall_2c2
6707 + .catchall {:try_start_4ce .. :try_end_4cf} :catchall_4cd
6712 + .catchall {:try_start_4cf .. :try_end_4d0} :catchall_2c2
6715 +.method public declared-synchronized setValue(Ljava/lang/String;Ljava/lang/String;)Z
6721 + const-string v3, "PrivacyPersistenceAdapter"
6723 + new-instance v4, Ljava/lang/StringBuilder;
6725 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
6727 + const-string/jumbo v5, "setValue - name "
6729 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6731 + move-result-object v4
6733 + invoke-virtual {v4, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6735 + move-result-object v4
6737 + const-string v5, " value "
6739 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6741 + move-result-object v4
6743 + invoke-virtual {v4, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6745 + move-result-object v4
6747 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6749 + move-result-object v4
6751 + invoke-static {v3, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
6753 + new-instance v2, Landroid/content/ContentValues;
6755 + invoke-direct {v2}, Landroid/content/ContentValues;-><init>()V
6757 + const-string/jumbo v3, "name"
6759 + invoke-virtual {v2, v3, p1}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
6761 + const-string/jumbo v3, "value"
6763 + invoke-virtual {v2, v3, p2}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
6765 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
6767 + move-result-object v0
6769 + const-string/jumbo v3, "map"
6773 + invoke-virtual {v0, v3, v4, v2}, Landroid/database/sqlite/SQLiteDatabase;->replace(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
6775 + move-result-wide v3
6777 + const-wide/16 v5, -0x1
6779 + cmp-long v3, v3, v5
6781 + if-eqz v3, :cond_5d
6786 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6788 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
6792 + if-nez v3, :cond_5b
6794 + if-eqz v0, :cond_5b
6796 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
6800 + if-eqz v3, :cond_5b
6802 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
6804 + .catchall {:try_start_1 .. :try_end_5b} :catchall_5f
6823 diff -NpruEbB stock_framework/smali/android/privacy/PrivacySettings$1.smali moded_framework/smali/android/privacy/PrivacySettings$1.smali
6824 --- stock_framework/smali/android/privacy/PrivacySettings$1.smali 1969-12-31 16:00:00.000000000 -0800
6825 +++ moded_framework/smali/android/privacy/PrivacySettings$1.smali 2012-09-13 08:58:54.561397549 -0700
6827 +.class final Landroid/privacy/PrivacySettings$1;
6828 +.super Ljava/lang/Object;
6829 +.source "PrivacySettings.java"
6832 +.implements Landroid/os/Parcelable$Creator;
6836 +.annotation system Ldalvik/annotation/EnclosingClass;
6837 + value = Landroid/privacy/PrivacySettings;
6840 +.annotation system Ldalvik/annotation/InnerClass;
6845 +.annotation system Ldalvik/annotation/Signature;
6847 + "Ljava/lang/Object;",
6848 + "Landroid/os/Parcelable$Creator",
6850 + "Landroid/privacy/PrivacySettings;",
6857 +.method constructor <init>()V
6860 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
6867 +.method public createFromParcel(Landroid/os/Parcel;)Landroid/privacy/PrivacySettings;
6870 + new-instance v0, Landroid/privacy/PrivacySettings;
6872 + invoke-direct {v0, p1}, Landroid/privacy/PrivacySettings;-><init>(Landroid/os/Parcel;)V
6877 +.method public bridge synthetic createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
6880 + invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettings$1;->createFromParcel(Landroid/os/Parcel;)Landroid/privacy/PrivacySettings;
6882 + move-result-object v0
6887 +.method public newArray(I)[Landroid/privacy/PrivacySettings;
6890 + new-array v0, p1, [Landroid/privacy/PrivacySettings;
6895 +.method public bridge synthetic newArray(I)[Ljava/lang/Object;
6898 + invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettings$1;->newArray(I)[Landroid/privacy/PrivacySettings;
6900 + move-result-object v0
6904 diff -NpruEbB stock_framework/smali/android/privacy/PrivacySettingsManagerService.smali moded_framework/smali/android/privacy/PrivacySettingsManagerService.smali
6905 --- stock_framework/smali/android/privacy/PrivacySettingsManagerService.smali 1969-12-31 16:00:00.000000000 -0800
6906 +++ moded_framework/smali/android/privacy/PrivacySettingsManagerService.smali 2012-09-13 08:58:54.564398267 -0700
6908 +.class public Landroid/privacy/PrivacySettingsManagerService;
6909 +.super Landroid/privacy/IPrivacySettingsManager$Stub;
6910 +.source "PrivacySettingsManagerService.java"
6914 +.field private static final TAG:Ljava/lang/String; = "PrivacySettingsManagerService"
6916 +.field private static final VERSION:D = 1.32
6918 +.field private static final WRITE_PRIVACY_SETTINGS:Ljava/lang/String; = "android.privacy.WRITE_PRIVACY_SETTINGS"
6920 +.field public static obs:Landroid/privacy/PrivacyFileObserver;
6924 +.field private bootCompleted:Z
6926 +.field private context:Landroid/content/Context;
6928 +.field private enabled:Z
6930 +.field private notificationsEnabled:Z
6932 +.field private persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
6936 +.method public constructor <init>(Landroid/content/Context;)V
6939 + invoke-direct {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;-><init>()V
6941 + const-string v0, "PrivacySettingsManagerService"
6943 + new-instance v1, Ljava/lang/StringBuilder;
6945 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
6947 + const-string v2, "PrivacySettingsManagerService - initializing for package: "
6949 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6951 + move-result-object v1
6953 + invoke-virtual {p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
6955 + move-result-object v2
6957 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6959 + move-result-object v1
6961 + const-string v2, " UID: "
6963 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6965 + move-result-object v1
6967 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
6971 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
6973 + move-result-object v1
6975 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6977 + move-result-object v1
6979 + invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
6981 + iput-object p1, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
6983 + new-instance v0, Landroid/privacy/PrivacyPersistenceAdapter;
6985 + invoke-direct {v0, p1}, Landroid/privacy/PrivacyPersistenceAdapter;-><init>(Landroid/content/Context;)V
6987 + iput-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
6989 + new-instance v0, Landroid/privacy/PrivacyFileObserver;
6991 + const-string v1, "/data/system/privacy"
6993 + invoke-direct {v0, v1, p0}, Landroid/privacy/PrivacyFileObserver;-><init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
6995 + sput-object v0, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
6997 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
6999 + const-string v1, "enabled"
7001 + invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->getValue(Ljava/lang/String;)Ljava/lang/String;
7003 + move-result-object v0
7005 + const-string v1, "1"
7007 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
7011 + iput-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->enabled:Z
7013 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
7015 + const-string/jumbo v1, "notifications_enabled"
7017 + invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->getValue(Ljava/lang/String;)Ljava/lang/String;
7019 + move-result-object v0
7021 + const-string v1, "1"
7023 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
7027 + iput-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->notificationsEnabled:Z
7031 + iput-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->bootCompleted:Z
7038 +.method public addObserver(Ljava/lang/String;)V
7041 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
7043 + const-string v1, "android.privacy.WRITE_PRIVACY_SETTINGS"
7045 + const-string v2, "Requires WRITE_PRIVACY_SETTINGS"
7047 + invoke-virtual {v0, v1, v2}, Landroid/content/Context;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
7049 + sget-object v0, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
7051 + invoke-virtual {v0, p1}, Landroid/privacy/PrivacyFileObserver;->addObserver(Ljava/lang/String;)V
7056 +.method public deleteSettings(Ljava/lang/String;)Z
7061 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
7065 + const/16 v3, 0x3e8
7067 + if-eq v2, v3, :cond_12
7069 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
7071 + const-string v3, "android.privacy.WRITE_PRIVACY_SETTINGS"
7073 + const-string v4, "Requires WRITE_PRIVACY_SETTINGS"
7075 + invoke-virtual {v2, v3, v4}, Landroid/content/Context;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
7078 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
7080 + invoke-virtual {v2, p1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteSettings(Ljava/lang/String;)Z
7084 + new-instance v2, Ljava/lang/StringBuilder;
7086 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
7088 + const-string v3, "/data/system/privacy/"
7090 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7092 + move-result-object v2
7094 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7096 + move-result-object v2
7098 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
7100 + move-result-object v0
7102 + new-instance v2, Ljava/io/File;
7104 + invoke-direct {v2, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
7106 + invoke-virtual {v2}, Ljava/io/File;->exists()Z
7110 + if-eqz v2, :cond_3e
7112 + if-ne v1, v5, :cond_3e
7114 + sget-object v2, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
7116 + invoke-virtual {v2, v0}, Landroid/privacy/PrivacyFileObserver;->addObserver(Ljava/lang/String;)V
7123 + if-ne v1, v5, :cond_3d
7125 + sget-object v2, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
7127 + iget-object v2, v2, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap;
7129 + invoke-virtual {v2, v0}, Ljava/util/HashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
7134 +.method public getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
7137 + iget-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->enabled:Z
7139 + if-nez v0, :cond_12
7141 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
7143 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
7145 + move-result-object v0
7147 + const-string v1, "com.privacy.pdroid"
7149 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
7153 + if-eqz v0, :cond_1a
7156 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
7160 + invoke-virtual {v0, p1, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->getSettings(Ljava/lang/String;Z)Landroid/privacy/PrivacySettings;
7162 + move-result-object v0
7173 +.method public getVersion()D
7176 + const-wide v0, 0x3ff51eb851eb851fL
7181 +.method public notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
7184 + iget-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->bootCompleted:Z
7186 + if-eqz v1, :cond_34
7188 + iget-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->notificationsEnabled:Z
7190 + if-eqz v1, :cond_34
7192 + new-instance v0, Landroid/content/Intent;
7194 + invoke-direct {v0}, Landroid/content/Intent;-><init>()V
7196 + const-string v1, "com.privacy.pdroid.PRIVACY_NOTIFICATION"
7198 + invoke-virtual {v0, v1}, Landroid/content/Intent;->setAction(Ljava/lang/String;)Landroid/content/Intent;
7200 + const-string/jumbo v1, "packageName"
7202 + invoke-virtual {v0, v1, p1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
7204 + const-string/jumbo v1, "uid"
7208 + invoke-virtual {v0, v1, v2}, Landroid/content/Intent;->putExtra(Ljava/lang/String;I)Landroid/content/Intent;
7210 + const-string v1, "accessMode"
7212 + invoke-virtual {v0, v1, p2}, Landroid/content/Intent;->putExtra(Ljava/lang/String;B)Landroid/content/Intent;
7214 + const-string v1, "dataType"
7216 + invoke-virtual {v0, v1, p3}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
7218 + const-string/jumbo v1, "output"
7220 + invoke-virtual {v0, v1, p4}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
7222 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
7224 + invoke-virtual {v1, v0}, Landroid/content/Context;->sendBroadcast(Landroid/content/Intent;)V
7230 +.method public purgeSettings()Z
7233 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
7235 + invoke-virtual {v0}, Landroid/privacy/PrivacyPersistenceAdapter;->purgeSettings()Z
7242 +.method public registerObservers()V
7245 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
7247 + const-string v1, "android.privacy.WRITE_PRIVACY_SETTINGS"
7249 + const-string v2, "Requires WRITE_PRIVACY_SETTINGS"
7251 + invoke-virtual {v0, v1, v2}, Landroid/content/Context;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
7253 + new-instance v0, Landroid/privacy/PrivacyFileObserver;
7255 + const-string v1, "/data/system/privacy"
7257 + invoke-direct {v0, v1, p0}, Landroid/privacy/PrivacyFileObserver;-><init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
7259 + sput-object v0, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
7264 +.method public saveSettings(Landroid/privacy/PrivacySettings;)Z
7267 + const-string v1, "PrivacySettingsManagerService"
7269 + new-instance v2, Ljava/lang/StringBuilder;
7271 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
7273 + const-string/jumbo v3, "saveSettings - checking if caller (UID: "
7275 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7277 + move-result-object v2
7279 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
7283 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
7285 + move-result-object v2
7287 + const-string v3, ") has sufficient permissions"
7289 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7291 + move-result-object v2
7293 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
7295 + move-result-object v2
7297 + invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
7299 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
7303 + const/16 v2, 0x3e8
7305 + if-eq v1, v2, :cond_34
7307 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
7309 + const-string v2, "android.privacy.WRITE_PRIVACY_SETTINGS"
7311 + const-string v3, "Requires WRITE_PRIVACY_SETTINGS"
7313 + invoke-virtual {v1, v2, v3}, Landroid/content/Context;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
7316 + const-string v1, "PrivacySettingsManagerService"
7318 + new-instance v2, Ljava/lang/StringBuilder;
7320 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
7322 + const-string/jumbo v3, "saveSettings - "
7324 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7326 + move-result-object v2
7328 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
7330 + move-result-object v2
7332 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
7334 + move-result-object v2
7336 + invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
7338 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
7340 + invoke-virtual {v1, p1}, Landroid/privacy/PrivacyPersistenceAdapter;->saveSettings(Landroid/privacy/PrivacySettings;)Z
7346 + if-ne v0, v1, :cond_5f
7348 + sget-object v1, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
7350 + invoke-virtual {p1}, Landroid/privacy/PrivacySettings;->getPackageName()Ljava/lang/String;
7352 + move-result-object v2
7354 + invoke-virtual {v1, v2}, Landroid/privacy/PrivacyFileObserver;->addObserver(Ljava/lang/String;)V
7360 +.method public setBootCompleted()V
7365 + iput-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->bootCompleted:Z
7370 +.method public setEnabled(Z)Z
7375 + if-eqz p1, :cond_12
7377 + const-string v0, "1"
7380 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
7382 + const-string v3, "enabled"
7384 + invoke-virtual {v2, v3, v0}, Landroid/privacy/PrivacyPersistenceAdapter;->setValue(Ljava/lang/String;Ljava/lang/String;)Z
7388 + if-eqz v2, :cond_15
7390 + iput-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->enabled:Z
7396 + const-string v0, "0"
7406 +.method public setNotificationsEnabled(Z)Z
7411 + if-eqz p1, :cond_15
7413 + const-string v0, "1"
7416 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
7418 + const-string/jumbo v3, "notifications_enabled"
7420 + invoke-virtual {v2, v3, v0}, Landroid/privacy/PrivacyPersistenceAdapter;->setValue(Ljava/lang/String;Ljava/lang/String;)Z
7424 + if-eqz v2, :cond_18
7426 + iput-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->notificationsEnabled:Z
7428 + iput-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->bootCompleted:Z
7434 + const-string v0, "0"
7443 diff -NpruEbB stock_framework/smali/android/privacy/PrivacySettingsManager.smali moded_framework/smali/android/privacy/PrivacySettingsManager.smali
7444 --- stock_framework/smali/android/privacy/PrivacySettingsManager.smali 1969-12-31 16:00:00.000000000 -0800
7445 +++ moded_framework/smali/android/privacy/PrivacySettingsManager.smali 2012-09-13 08:58:54.564398267 -0700
7447 +.class public Landroid/privacy/PrivacySettingsManager;
7448 +.super Ljava/lang/Object;
7449 +.source "PrivacySettingsManager.java"
7453 +.field public static final ACTION_PRIVACY_NOTIFICATION:Ljava/lang/String; = "com.privacy.pdroid.PRIVACY_NOTIFICATION"
7455 +.field private static final TAG:Ljava/lang/String; = "PrivacySettingsManager"
7459 +.field private service:Landroid/privacy/IPrivacySettingsManager;
7463 +.method public constructor <init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
7466 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
7468 + iput-object p2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7475 +.method public addObserver(Ljava/lang/String;)V
7479 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7481 + if-eqz v1, :cond_a
7483 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7485 + invoke-interface {v1, p1}, Landroid/privacy/IPrivacySettingsManager;->addObserver(Ljava/lang/String;)V
7491 + const-string v1, "PrivacySettingsManager"
7493 + const-string v2, "deleteSettings - PrivacySettingsManagerService is null"
7495 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7497 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_11} :catch_12
7504 + const-string v1, "PrivacySettingsManager"
7506 + const-string v2, "RemoteException in addObserver: "
7508 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7513 +.method public deleteSettings(Ljava/lang/String;)Z
7516 + invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettingsManager;->deleteSettings(Ljava/lang/String;)Z
7523 +.method public deleteSettings(Ljava/lang/String;I)Z
7529 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7531 + if-eqz v2, :cond_c
7533 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7535 + invoke-interface {v2, p1}, Landroid/privacy/IPrivacySettingsManager;->deleteSettings(Ljava/lang/String;)Z
7543 + const-string v2, "PrivacySettingsManager"
7545 + const-string v3, "deleteSettings - PrivacySettingsManagerService is null"
7547 + invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7549 + .catch Landroid/os/RemoteException; {:try_start_1 .. :try_end_13} :catch_14
7556 + const-string v2, "PrivacySettingsManager"
7558 + const-string v3, "RemoteException in deleteSettings: "
7560 + invoke-static {v2, v3, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7565 +.method public getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
7571 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7573 + if-eqz v2, :cond_c
7575 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7577 + invoke-interface {v2, p1}, Landroid/privacy/IPrivacySettingsManager;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
7579 + move-result-object v1
7585 + const-string v2, "PrivacySettingsManager"
7587 + const-string v3, "getSettings - PrivacySettingsManagerService is null"
7589 + invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7591 + .catch Landroid/os/RemoteException; {:try_start_1 .. :try_end_13} :catch_14
7598 + invoke-virtual {v0}, Landroid/os/RemoteException;->printStackTrace()V
7603 +.method public getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
7606 + invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
7608 + move-result-object v0
7613 +.method public getVersion()D
7617 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7619 + if-eqz v1, :cond_b
7621 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7623 + invoke-interface {v1}, Landroid/privacy/IPrivacySettingsManager;->getVersion()D
7625 + move-result-wide v1
7631 + const-string v1, "PrivacySettingsManager"
7633 + const-string v2, "getVersion - PrivacySettingsManagerService is null"
7635 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7637 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_12} :catch_15
7640 + const-wide/16 v1, 0x0
7647 + const-string v1, "PrivacySettingsManager"
7649 + const-string v2, "RemoteException in getVersion: "
7651 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7656 +.method public isServiceAvailable()Z
7659 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7661 + if-eqz v0, :cond_6
7674 +.method public notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
7678 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7680 + if-eqz v1, :cond_a
7682 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7684 + invoke-interface {v1, p1, p2, p3, p4}, Landroid/privacy/IPrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
7690 + const-string v1, "PrivacySettingsManager"
7692 + const-string v2, "deleteSettings - PrivacySettingsManagerService is null"
7694 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7696 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_11} :catch_12
7703 + const-string v1, "PrivacySettingsManager"
7705 + const-string v2, "RemoteException in notification: "
7707 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7712 +.method public notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
7715 + move-object v0, p0
7717 + move-object v1, p1
7721 + move-object v3, p4
7723 + move-object v4, p5
7725 + move-object v5, p6
7727 + invoke-virtual/range {v0 .. v5}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
7732 +.method public purgeSettings()Z
7736 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7738 + if-eqz v1, :cond_b
7740 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7742 + invoke-interface {v1}, Landroid/privacy/IPrivacySettingsManager;->purgeSettings()Z
7750 + const-string v1, "PrivacySettingsManager"
7752 + const-string v2, "deleteSettings - PrivacySettingsManagerService is null"
7754 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7756 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_12} :catch_14
7766 + const-string v1, "PrivacySettingsManager"
7768 + const-string v2, "RemoteException in purgeSettings: "
7770 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7775 +.method public registerObservers()V
7779 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7781 + if-eqz v1, :cond_a
7783 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7785 + invoke-interface {v1}, Landroid/privacy/IPrivacySettingsManager;->registerObservers()V
7791 + const-string v1, "PrivacySettingsManager"
7793 + const-string v2, "deleteSettings - PrivacySettingsManagerService is null"
7795 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7797 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_11} :catch_12
7804 + const-string v1, "PrivacySettingsManager"
7806 + const-string v2, "RemoteException in registerObservers: "
7808 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7813 +.method public saveSettings(Landroid/privacy/PrivacySettings;)Z
7819 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7821 + if-eqz v2, :cond_c
7823 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7825 + invoke-interface {v2, p1}, Landroid/privacy/IPrivacySettingsManager;->saveSettings(Landroid/privacy/PrivacySettings;)Z
7833 + const-string v2, "PrivacySettingsManager"
7835 + const-string/jumbo v3, "saveSettings - PrivacySettingsManagerService is null"
7837 + invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7839 + .catch Landroid/os/RemoteException; {:try_start_1 .. :try_end_14} :catch_15
7846 + const-string v2, "PrivacySettingsManager"
7848 + const-string v3, "RemoteException in saveSettings: "
7850 + invoke-static {v2, v3, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7855 +.method public setBootCompleted()V
7859 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7861 + if-eqz v1, :cond_a
7863 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7865 + invoke-interface {v1}, Landroid/privacy/IPrivacySettingsManager;->setBootCompleted()V
7871 + const-string v1, "PrivacySettingsManager"
7873 + const-string/jumbo v2, "setBootCompleted - PrivacySettingsManagerService is null"
7875 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7877 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_12} :catch_13
7884 + const-string v1, "PrivacySettingsManager"
7886 + const-string v2, "RemoteException in setBootCompleted: "
7888 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7893 +.method public setEnabled(Z)Z
7897 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7899 + if-eqz v1, :cond_b
7901 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7903 + invoke-interface {v1, p1}, Landroid/privacy/IPrivacySettingsManager;->setEnabled(Z)Z
7911 + const-string v1, "PrivacySettingsManager"
7913 + const-string/jumbo v2, "setEnabled - PrivacySettingsManagerService is null"
7915 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7917 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_13} :catch_15
7927 + const-string v1, "PrivacySettingsManager"
7929 + const-string v2, "RemoteException in setEnabled: "
7931 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7936 +.method public setNotificationsEnabled(Z)Z
7940 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7942 + if-eqz v1, :cond_b
7944 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7946 + invoke-interface {v1, p1}, Landroid/privacy/IPrivacySettingsManager;->setNotificationsEnabled(Z)Z
7954 + const-string v1, "PrivacySettingsManager"
7956 + const-string/jumbo v2, "setNotificationsEnabled - PrivacySettingsManagerService is null"
7958 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7960 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_13} :catch_15
7970 + const-string v1, "PrivacySettingsManager"
7972 + const-string v2, "RemoteException in setNotificationsEnabled: "
7974 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7978 diff -NpruEbB stock_framework/smali/android/privacy/PrivacySettings.smali moded_framework/smali/android/privacy/PrivacySettings.smali
7979 --- stock_framework/smali/android/privacy/PrivacySettings.smali 1969-12-31 16:00:00.000000000 -0800
7980 +++ moded_framework/smali/android/privacy/PrivacySettings.smali 2012-09-13 08:58:54.563398026 -0700
7982 +.class public final Landroid/privacy/PrivacySettings;
7983 +.super Ljava/lang/Object;
7984 +.source "PrivacySettings.java"
7987 +.implements Landroid/os/Parcelable;
7991 +.field public static final CREATOR:Landroid/os/Parcelable$Creator; = null
7992 + .annotation system Ldalvik/annotation/Signature;
7994 + "Landroid/os/Parcelable$Creator",
7996 + "Landroid/privacy/PrivacySettings;",
8002 +.field public static final CUSTOM:B = 0x2t
8004 +.field public static final DATA_ACCOUNTS_LIST:Ljava/lang/String; = "accountsList"
8006 +.field public static final DATA_AUTH_TOKENS:Ljava/lang/String; = "authTokens"
8008 +.field public static final DATA_BOOKMARKS:Ljava/lang/String; = "bookmarks"
8010 +.field public static final DATA_CALENDAR:Ljava/lang/String; = "calendar"
8012 +.field public static final DATA_CALL_LOG:Ljava/lang/String; = "callLog"
8014 +.field public static final DATA_CONTACTS:Ljava/lang/String; = "contacts"
8016 +.field public static final DATA_DEVICE_ID:Ljava/lang/String; = "deviceID"
8018 +.field public static final DATA_INCOMING_CALL:Ljava/lang/String; = "incomingCall"
8020 +.field public static final DATA_INTENT_BOOT_COMPLETED:Ljava/lang/String; = "intentBootCompleted"
8022 +.field public static final DATA_LINE_1_NUMBER:Ljava/lang/String; = "line1Number"
8024 +.field public static final DATA_LOCATION_GPS:Ljava/lang/String; = "locationGPS"
8026 +.field public static final DATA_LOCATION_NETWORK:Ljava/lang/String; = "locationNetwork"
8028 +.field public static final DATA_MMS:Ljava/lang/String; = "mms"
8030 +.field public static final DATA_MMS_SMS:Ljava/lang/String; = "mmsSms"
8032 +.field public static final DATA_NETWORK_INFO_CURRENT:Ljava/lang/String; = "networkInfoCurrent"
8034 +.field public static final DATA_NETWORK_INFO_SIM:Ljava/lang/String; = "networkInfoSIM"
8036 +.field public static final DATA_OUTGOING_CALL:Ljava/lang/String; = "outgoingCall"
8038 +.field public static final DATA_SIM_SERIAL:Ljava/lang/String; = "simSerial"
8040 +.field public static final DATA_SMS:Ljava/lang/String; = "sms"
8042 +.field public static final DATA_SUBSCRIBER_ID:Ljava/lang/String; = "subscriberID"
8044 +.field public static final DATA_SYSTEM_LOGS:Ljava/lang/String; = "systemLogs"
8046 +.field public static final EMPTY:B = 0x1t
8048 +.field public static final RANDOM:B = 0x3t
8050 +.field public static final REAL:B = 0x0t
8052 +.field public static final SETTING_NOTIFY_OFF:B = 0x0t
8054 +.field public static final SETTING_NOTIFY_ON:B = 0x1t
8058 +.field private final _id:Ljava/lang/Integer;
8060 +.field private accountsAuthTokensSetting:B
8062 +.field private accountsSetting:B
8064 +.field private allowedContacts:[I
8066 +.field private bookmarksSetting:B
8068 +.field private calendarSetting:B
8070 +.field private callLogSetting:B
8072 +.field private contactsSetting:B
8074 +.field private deviceId:Ljava/lang/String;
8076 +.field private deviceIdSetting:B
8078 +.field private incomingCallsSetting:B
8080 +.field private intentBootCompletedSetting:B
8082 +.field private line1Number:Ljava/lang/String;
8084 +.field private line1NumberSetting:B
8086 +.field private locationGpsLat:Ljava/lang/String;
8088 +.field private locationGpsLon:Ljava/lang/String;
8090 +.field private locationGpsSetting:B
8092 +.field private locationNetworkLat:Ljava/lang/String;
8094 +.field private locationNetworkLon:Ljava/lang/String;
8096 +.field private locationNetworkSetting:B
8098 +.field private mmsSetting:B
8100 +.field private networkInfoSetting:B
8102 +.field private notificationSetting:B
8104 +.field private outgoingCallsSetting:B
8106 +.field private packageName:Ljava/lang/String;
8108 +.field private simInfoSetting:B
8110 +.field private simSerialNumber:Ljava/lang/String;
8112 +.field private simSerialNumberSetting:B
8114 +.field private smsSetting:B
8116 +.field private subscriberId:Ljava/lang/String;
8118 +.field private subscriberIdSetting:B
8120 +.field private systemLogsSetting:B
8122 +.field private uid:I
8126 +.method static constructor <clinit>()V
8129 + new-instance v0, Landroid/privacy/PrivacySettings$1;
8131 + invoke-direct {v0}, Landroid/privacy/PrivacySettings$1;-><init>()V
8133 + sput-object v0, Landroid/privacy/PrivacySettings;->CREATOR:Landroid/os/Parcelable$Creator;
8138 +.method public constructor <init>(Landroid/os/Parcel;)V
8141 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
8143 + invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I
8149 + if-ne v0, v1, :cond_ce
8154 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
8156 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
8158 + move-result-object v1
8160 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
8162 + invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I
8166 + iput v1, p0, Landroid/privacy/PrivacySettings;->uid:I
8168 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8172 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
8174 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
8176 + move-result-object v1
8178 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
8180 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8184 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
8186 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
8188 + move-result-object v1
8190 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
8192 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8196 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8198 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
8200 + move-result-object v1
8202 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
8204 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
8206 + move-result-object v1
8208 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
8210 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8214 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8216 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
8218 + move-result-object v1
8220 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
8222 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
8224 + move-result-object v1
8226 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
8228 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8232 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
8234 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8238 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
8240 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8244 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
8246 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
8248 + move-result-object v1
8250 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
8252 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8256 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
8258 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
8260 + move-result-object v1
8262 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
8264 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8268 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
8270 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8274 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
8276 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8280 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
8282 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8286 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
8288 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8292 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
8294 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8298 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
8300 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8304 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
8306 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8310 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
8312 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8316 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
8318 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8322 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
8324 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8328 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
8330 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8334 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
8336 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8340 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
8342 + invoke-virtual {p1}, Landroid/os/Parcel;->createIntArray()[I
8344 + move-result-object v1
8346 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
8351 + invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
8353 + move-result-object v1
8358 +.method public constructor <init>(Ljava/lang/Integer;Ljava/lang/String;I)V
8365 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
8367 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
8369 + iput-object p2, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
8371 + iput p3, p0, Landroid/privacy/PrivacySettings;->uid:I
8373 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
8375 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
8377 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
8379 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
8381 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8383 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
8385 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
8387 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8389 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
8391 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
8393 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
8395 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
8397 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
8399 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
8401 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
8403 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
8405 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
8407 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
8409 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
8411 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
8413 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
8415 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
8417 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
8419 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
8421 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
8423 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
8425 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
8427 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
8429 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
8431 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
8436 +.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
8439 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
8441 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
8443 + iput-object p2, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
8445 + iput p3, p0, Landroid/privacy/PrivacySettings;->uid:I
8447 + iput-byte p4, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
8449 + iput-object p5, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
8451 + iput-byte p6, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
8453 + iput-object p7, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
8455 + iput-byte p8, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8457 + iput-object p9, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
8459 + iput-object p10, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
8461 + iput-byte p11, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8463 + iput-object p12, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
8465 + iput-object p13, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
8467 + iput-byte p14, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
8469 + move/from16 v0, p15
8471 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
8473 + move/from16 v0, p16
8475 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
8477 + move-object/from16 v0, p17
8479 + iput-object v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
8481 + move/from16 v0, p18
8483 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
8485 + move-object/from16 v0, p19
8487 + iput-object v0, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
8489 + move/from16 v0, p20
8491 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
8493 + move/from16 v0, p21
8495 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
8497 + move/from16 v0, p22
8499 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
8501 + move/from16 v0, p23
8503 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
8505 + move/from16 v0, p24
8507 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
8509 + move/from16 v0, p25
8511 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
8513 + move/from16 v0, p26
8515 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
8517 + move/from16 v0, p27
8519 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
8521 + move/from16 v0, p28
8523 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
8525 + move/from16 v0, p29
8527 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
8529 + move/from16 v0, p30
8531 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
8533 + move/from16 v0, p34
8535 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
8537 + move/from16 v0, p35
8539 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
8541 + move-object/from16 v0, p36
8543 + iput-object v0, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
8548 +.method private getRandomLat()Ljava/lang/String;
8551 + const-wide v7, 0x4056800000000000L
8553 + invoke-static {}, Ljava/lang/Math;->random()D
8555 + move-result-wide v3
8557 + const-wide v5, 0x4066800000000000L
8559 + mul-double v0, v3, v5
8561 + cmpl-double v3, v0, v7
8563 + if-lez v3, :cond_35
8565 + new-instance v2, Ljava/math/BigDecimal;
8567 + sub-double v3, v0, v7
8569 + invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;-><init>(D)V
8572 + new-instance v3, Ljava/lang/StringBuilder;
8574 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
8580 + invoke-virtual {v2, v4, v5}, Ljava/math/BigDecimal;->setScale(II)Ljava/math/BigDecimal;
8582 + move-result-object v4
8584 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
8586 + move-result-object v3
8588 + const-string v4, ""
8590 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8592 + move-result-object v3
8594 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8596 + move-result-object v3
8601 + new-instance v2, Ljava/math/BigDecimal;
8605 + invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;-><init>(D)V
8610 +.method private getRandomLon()Ljava/lang/String;
8613 + const-wide v7, 0x4066800000000000L
8615 + invoke-static {}, Ljava/lang/Math;->random()D
8617 + move-result-wide v3
8619 + const-wide v5, 0x4076800000000000L
8621 + mul-double v0, v3, v5
8623 + cmpl-double v3, v0, v7
8625 + if-lez v3, :cond_35
8627 + new-instance v2, Ljava/math/BigDecimal;
8629 + sub-double v3, v0, v7
8631 + invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;-><init>(D)V
8634 + new-instance v3, Ljava/lang/StringBuilder;
8636 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
8642 + invoke-virtual {v2, v4, v5}, Ljava/math/BigDecimal;->setScale(II)Ljava/math/BigDecimal;
8644 + move-result-object v4
8646 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
8648 + move-result-object v3
8650 + const-string v4, ""
8652 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8654 + move-result-object v3
8656 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8658 + move-result-object v3
8663 + new-instance v2, Ljava/math/BigDecimal;
8667 + invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;-><init>(D)V
8674 +.method public describeContents()I
8682 +.method public getAccountsAuthTokensSetting()B
8685 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
8690 +.method public getAccountsSetting()B
8693 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
8698 +.method public getAllowedContacts()[I
8701 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
8706 +.method public getBookmarksSetting()B
8709 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
8714 +.method public getCalendarSetting()B
8717 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
8722 +.method public getCallLogSetting()B
8725 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
8730 +.method public getContactsSetting()B
8733 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
8738 +.method public getDeviceId()Ljava/lang/String;
8741 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
8745 + if-ne v2, v3, :cond_8
8747 + const-string v2, ""
8753 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
8757 + if-ne v2, v3, :cond_35
8759 + new-instance v0, Ljava/util/Random;
8761 + invoke-direct {v0}, Ljava/util/Random;-><init>()V
8763 + new-instance v2, Ljava/lang/StringBuilder;
8765 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
8767 + invoke-virtual {v0}, Ljava/util/Random;->nextLong()J
8769 + move-result-wide v3
8771 + invoke-static {v3, v4}, Ljava/lang/Math;->abs(J)J
8773 + move-result-wide v3
8775 + invoke-virtual {v2, v3, v4}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
8777 + move-result-object v2
8779 + const-string v3, ""
8781 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8783 + move-result-object v2
8785 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8787 + move-result-object v1
8793 + invoke-virtual {v1, v2, v3}, Ljava/lang/String;->substring(II)Ljava/lang/String;
8795 + move-result-object v2
8800 + iget-object v2, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
8805 +.method public getDeviceIdSetting()B
8808 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
8813 +.method public getIncomingCallsSetting()B
8816 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
8821 +.method public getIntentBootCompletedSetting()B
8824 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
8829 +.method public getLine1Number()Ljava/lang/String;
8832 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
8836 + if-ne v2, v3, :cond_8
8838 + const-string v2, ""
8844 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
8848 + if-ne v2, v3, :cond_3b
8850 + new-instance v0, Ljava/util/Random;
8852 + invoke-direct {v0}, Ljava/util/Random;-><init>()V
8854 + new-instance v2, Ljava/lang/StringBuilder;
8856 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
8858 + const-string v3, "+"
8860 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8862 + move-result-object v2
8864 + invoke-virtual {v0}, Ljava/util/Random;->nextLong()J
8866 + move-result-wide v3
8868 + invoke-static {v3, v4}, Ljava/lang/Math;->abs(J)J
8870 + move-result-wide v3
8872 + invoke-virtual {v2, v3, v4}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
8874 + move-result-object v2
8876 + const-string v3, ""
8878 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8880 + move-result-object v2
8882 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8884 + move-result-object v1
8890 + invoke-virtual {v1, v2, v3}, Ljava/lang/String;->substring(II)Ljava/lang/String;
8892 + move-result-object v2
8897 + iget-object v2, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
8902 +.method public getLine1NumberSetting()B
8905 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
8910 +.method public getLocationGpsLat()Ljava/lang/String;
8913 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8917 + if-ne v0, v1, :cond_8
8919 + const-string v0, ""
8925 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8929 + if-ne v0, v1, :cond_12
8931 + invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLat()Ljava/lang/String;
8933 + move-result-object v0
8938 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
8943 +.method public getLocationGpsLon()Ljava/lang/String;
8946 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8950 + if-ne v0, v1, :cond_8
8952 + const-string v0, ""
8958 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8962 + if-ne v0, v1, :cond_12
8964 + invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLon()Ljava/lang/String;
8966 + move-result-object v0
8971 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
8976 +.method public getLocationGpsSetting()B
8979 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8984 +.method public getLocationNetworkLat()Ljava/lang/String;
8987 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8991 + if-ne v0, v1, :cond_8
8993 + const-string v0, ""
8999 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
9003 + if-ne v0, v1, :cond_12
9005 + invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLat()Ljava/lang/String;
9007 + move-result-object v0
9012 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
9017 +.method public getLocationNetworkLon()Ljava/lang/String;
9020 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
9024 + if-ne v0, v1, :cond_8
9026 + const-string v0, ""
9032 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
9036 + if-ne v0, v1, :cond_12
9038 + invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLon()Ljava/lang/String;
9040 + move-result-object v0
9045 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
9050 +.method public getLocationNetworkSetting()B
9053 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
9058 +.method public getMmsSetting()B
9061 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
9066 +.method public getNetworkInfoSetting()B
9069 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
9074 +.method public getNotificationSetting()B
9077 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
9082 +.method public getOutgoingCallsSetting()B
9085 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
9090 +.method public getPackageName()Ljava/lang/String;
9093 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
9098 +.method public getSimInfoSetting()B
9101 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
9106 +.method public getSimSerialNumber()Ljava/lang/String;
9109 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
9113 + if-ne v1, v2, :cond_8
9115 + const-string v1, ""
9121 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
9125 + if-ne v1, v2, :cond_2e
9127 + new-instance v0, Ljava/util/Random;
9129 + invoke-direct {v0}, Ljava/util/Random;-><init>()V
9131 + new-instance v1, Ljava/lang/StringBuilder;
9133 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
9135 + invoke-virtual {v0}, Ljava/util/Random;->nextLong()J
9137 + move-result-wide v2
9139 + invoke-static {v2, v3}, Ljava/lang/Math;->abs(J)J
9141 + move-result-wide v2
9143 + invoke-virtual {v1, v2, v3}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
9145 + move-result-object v1
9147 + const-string v2, ""
9149 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9151 + move-result-object v1
9153 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
9155 + move-result-object v1
9160 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
9165 +.method public getSimSerialNumberSetting()B
9168 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
9173 +.method public getSmsSetting()B
9176 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
9181 +.method public getSubscriberId()Ljava/lang/String;
9184 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
9188 + if-ne v2, v3, :cond_8
9190 + const-string v2, ""
9196 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
9200 + if-ne v2, v3, :cond_35
9202 + new-instance v0, Ljava/util/Random;
9204 + invoke-direct {v0}, Ljava/util/Random;-><init>()V
9206 + new-instance v2, Ljava/lang/StringBuilder;
9208 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
9210 + invoke-virtual {v0}, Ljava/util/Random;->nextLong()J
9212 + move-result-wide v3
9214 + invoke-static {v3, v4}, Ljava/lang/Math;->abs(J)J
9216 + move-result-wide v3
9218 + invoke-virtual {v2, v3, v4}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
9220 + move-result-object v2
9222 + const-string v3, ""
9224 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9226 + move-result-object v2
9228 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
9230 + move-result-object v1
9236 + invoke-virtual {v1, v2, v3}, Ljava/lang/String;->substring(II)Ljava/lang/String;
9238 + move-result-object v2
9243 + iget-object v2, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
9248 +.method public getSubscriberIdSetting()B
9251 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
9256 +.method public getSystemLogsSetting()B
9259 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
9264 +.method public getUid()I
9267 + iget v0, p0, Landroid/privacy/PrivacySettings;->uid:I
9272 +.method public get_id()Ljava/lang/Integer;
9275 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
9280 +.method public setAccountsAuthTokensSetting(B)V
9283 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
9288 +.method public setAccountsSetting(B)V
9291 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
9296 +.method public setAllowedContacts([I)V
9299 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
9304 +.method public setBookmarksSetting(B)V
9307 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
9312 +.method public setCalendarSetting(B)V
9315 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
9320 +.method public setCallLogSetting(B)V
9323 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
9328 +.method public setContactsSetting(B)V
9331 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
9336 +.method public setDeviceId(Ljava/lang/String;)V
9339 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
9344 +.method public setDeviceIdSetting(B)V
9347 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
9352 +.method public setIncomingCallsSetting(B)V
9355 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
9360 +.method public setIntentBootCompletedSetting(B)V
9363 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
9368 +.method public setLine1Number(Ljava/lang/String;)V
9371 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
9376 +.method public setLine1NumberSetting(B)V
9379 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
9384 +.method public setLocationGpsLat(Ljava/lang/String;)V
9387 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
9392 +.method public setLocationGpsLon(Ljava/lang/String;)V
9395 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
9400 +.method public setLocationGpsSetting(B)V
9403 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
9408 +.method public setLocationNetworkLat(Ljava/lang/String;)V
9411 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
9416 +.method public setLocationNetworkLon(Ljava/lang/String;)V
9419 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
9424 +.method public setLocationNetworkSetting(B)V
9427 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
9432 +.method public setMmsSetting(B)V
9435 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
9440 +.method public setNetworkInfoSetting(B)V
9443 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
9448 +.method public setNotificationSetting(B)V
9451 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
9456 +.method public setOutgoingCallsSetting(B)V
9459 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
9464 +.method public setPackageName(Ljava/lang/String;)V
9467 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
9472 +.method public setSimInfoSetting(B)V
9475 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
9480 +.method public setSimSerialNumber(Ljava/lang/String;)V
9483 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
9488 +.method public setSimSerialNumberSetting(B)V
9491 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
9496 +.method public setSmsSetting(B)V
9499 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
9504 +.method public setSubscriberId(Ljava/lang/String;)V
9507 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
9512 +.method public setSubscriberIdSetting(B)V
9515 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
9520 +.method public setSystemLogsSetting(B)V
9523 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
9528 +.method public setUid(I)V
9531 + iput p1, p0, Landroid/privacy/PrivacySettings;->uid:I
9536 +.method public toString()Ljava/lang/String;
9539 + new-instance v0, Ljava/lang/StringBuilder;
9541 + invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
9543 + const-string v1, "PrivacySettings [_id="
9545 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9547 + move-result-object v0
9549 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
9551 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
9553 + move-result-object v0
9555 + const-string v1, ", accountsAuthTokensSetting="
9557 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9559 + move-result-object v0
9561 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
9563 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9565 + move-result-object v0
9567 + const-string v1, ", accountsSetting="
9569 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9571 + move-result-object v0
9573 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
9575 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9577 + move-result-object v0
9579 + const-string v1, ", bookmarksSetting="
9581 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9583 + move-result-object v0
9585 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
9587 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9589 + move-result-object v0
9591 + const-string v1, ", calendarSetting="
9593 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9595 + move-result-object v0
9597 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
9599 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9601 + move-result-object v0
9603 + const-string v1, ", callLogSetting="
9605 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9607 + move-result-object v0
9609 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
9611 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9613 + move-result-object v0
9615 + const-string v1, ", contactsSetting="
9617 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9619 + move-result-object v0
9621 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
9623 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9625 + move-result-object v0
9627 + const-string v1, ", deviceId="
9629 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9631 + move-result-object v0
9633 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
9635 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9637 + move-result-object v0
9639 + const-string v1, ", deviceIdSetting="
9641 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9643 + move-result-object v0
9645 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
9647 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9649 + move-result-object v0
9651 + const-string v1, ", incomingCallsSetting="
9653 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9655 + move-result-object v0
9657 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
9659 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9661 + move-result-object v0
9663 + const-string v1, ", intentBootCompletedSetting="
9665 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9667 + move-result-object v0
9669 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
9671 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9673 + move-result-object v0
9675 + const-string v1, ", line1Number="
9677 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9679 + move-result-object v0
9681 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
9683 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9685 + move-result-object v0
9687 + const-string v1, ", line1NumberSetting="
9689 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9691 + move-result-object v0
9693 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
9695 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9697 + move-result-object v0
9699 + const-string v1, ", locationGpsLat="
9701 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9703 + move-result-object v0
9705 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
9707 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9709 + move-result-object v0
9711 + const-string v1, ", locationGpsLon="
9713 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9715 + move-result-object v0
9717 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
9719 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9721 + move-result-object v0
9723 + const-string v1, ", locationGpsSetting="
9725 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9727 + move-result-object v0
9729 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
9731 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9733 + move-result-object v0
9735 + const-string v1, ", locationNetworkLat="
9737 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9739 + move-result-object v0
9741 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
9743 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9745 + move-result-object v0
9747 + const-string v1, ", locationNetworkLon="
9749 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9751 + move-result-object v0
9753 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
9755 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9757 + move-result-object v0
9759 + const-string v1, ", locationNetworkSetting="
9761 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9763 + move-result-object v0
9765 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
9767 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9769 + move-result-object v0
9771 + const-string v1, ", mmsSetting="
9773 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9775 + move-result-object v0
9777 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
9779 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9781 + move-result-object v0
9783 + const-string v1, ", networkInfoSetting="
9785 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9787 + move-result-object v0
9789 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
9791 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9793 + move-result-object v0
9795 + const-string v1, ", notificationSetting="
9797 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9799 + move-result-object v0
9801 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
9803 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9805 + move-result-object v0
9807 + const-string v1, ", outgoingCallsSetting="
9809 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9811 + move-result-object v0
9813 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
9815 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9817 + move-result-object v0
9819 + const-string v1, ", packageName="
9821 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9823 + move-result-object v0
9825 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
9827 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9829 + move-result-object v0
9831 + const-string v1, ", simInfoSetting="
9833 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9835 + move-result-object v0
9837 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
9839 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9841 + move-result-object v0
9843 + const-string v1, ", simSerialNumber="
9845 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9847 + move-result-object v0
9849 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
9851 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9853 + move-result-object v0
9855 + const-string v1, ", simSerialNumberSetting="
9857 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9859 + move-result-object v0
9861 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
9863 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9865 + move-result-object v0
9867 + const-string v1, ", smsSetting="
9869 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9871 + move-result-object v0
9873 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
9875 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9877 + move-result-object v0
9879 + const-string v1, ", subscriberId="
9881 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9883 + move-result-object v0
9885 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
9887 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9889 + move-result-object v0
9891 + const-string v1, ", subscriberIdSetting="
9893 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9895 + move-result-object v0
9897 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
9899 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9901 + move-result-object v0
9903 + const-string v1, ", systemLogsSetting="
9905 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9907 + move-result-object v0
9909 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
9911 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9913 + move-result-object v0
9915 + const-string v1, ", uid="
9917 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9919 + move-result-object v0
9921 + iget v1, p0, Landroid/privacy/PrivacySettings;->uid:I
9923 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9925 + move-result-object v0
9927 + const-string v1, "]"
9929 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9931 + move-result-object v0
9933 + invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
9935 + move-result-object v0
9940 +.method public writeToParcel(Landroid/os/Parcel;I)V
9943 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
9945 + if-nez v0, :cond_a9
9950 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeInt(I)V
9952 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
9954 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9956 + iget v0, p0, Landroid/privacy/PrivacySettings;->uid:I
9958 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeInt(I)V
9960 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
9962 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9964 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
9966 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9968 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
9970 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9972 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
9974 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9976 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
9978 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9980 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
9982 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9984 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
9986 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9988 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
9990 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9992 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
9994 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9996 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
9998 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
10000 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
10002 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
10004 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
10006 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
10008 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
10010 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
10012 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
10014 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
10016 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
10018 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
10020 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
10022 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
10024 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
10026 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
10028 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
10030 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
10032 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
10034 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
10036 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
10038 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
10040 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
10042 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
10044 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
10046 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
10048 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
10050 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
10052 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
10054 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
10056 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
10058 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
10060 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
10062 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
10064 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
10066 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
10068 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
10070 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
10072 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
10074 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
10076 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
10078 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeIntArray([I)V
10083 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
10085 + invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
10091 diff -NpruEbB stock_framework/smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali moded_framework/smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali
10092 --- stock_framework/smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali 1969-12-31 16:00:00.000000000 -0800
10093 +++ moded_framework/smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali 2012-09-13 08:58:54.565398507 -0700
10095 +.class Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10096 +.super Ljava/lang/Object;
10097 +.source "PrivacyAccountManager.java"
10100 +.implements Landroid/accounts/AccountManagerFuture;
10104 +.annotation system Ldalvik/annotation/EnclosingClass;
10105 + value = Landroid/privacy/surrogate/PrivacyAccountManager;
10108 +.annotation system Ldalvik/annotation/InnerClass;
10109 + accessFlags = 0x2
10110 + name = "PrivacyAccountManagerFuture"
10113 +.annotation system Ldalvik/annotation/Signature;
10116 + "Ljava/lang/Object;",
10118 + "Ljava/lang/Object;",
10119 + "Landroid/accounts/AccountManagerFuture",
10126 +.field private result:Ljava/lang/Object;
10127 + .annotation system Ldalvik/annotation/Signature;
10134 +.field final synthetic this$0:Landroid/privacy/surrogate/PrivacyAccountManager;
10138 +.method public constructor <init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
10140 + .annotation system Ldalvik/annotation/Signature;
10146 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->this$0:Landroid/privacy/surrogate/PrivacyAccountManager;
10148 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
10150 + iput-object p2, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->result:Ljava/lang/Object;
10157 +.method public cancel(Z)Z
10165 +.method public getResult()Ljava/lang/Object;
10167 + .annotation system Ldalvik/annotation/Signature;
10173 + .annotation system Ldalvik/annotation/Throws;
10175 + Landroid/accounts/OperationCanceledException;,
10176 + Ljava/io/IOException;,
10177 + Landroid/accounts/AuthenticatorException;
10181 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->result:Ljava/lang/Object;
10186 +.method public getResult(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;
10188 + .annotation system Ldalvik/annotation/Signature;
10191 + "Ljava/util/concurrent/TimeUnit;",
10196 + .annotation system Ldalvik/annotation/Throws;
10198 + Landroid/accounts/OperationCanceledException;,
10199 + Ljava/io/IOException;,
10200 + Landroid/accounts/AuthenticatorException;
10204 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->result:Ljava/lang/Object;
10209 +.method public isCancelled()Z
10217 +.method public isDone()Z
10224 diff -NpruEbB stock_framework/smali/android/privacy/surrogate/PrivacyAccountManager.smali moded_framework/smali/android/privacy/surrogate/PrivacyAccountManager.smali
10225 --- stock_framework/smali/android/privacy/surrogate/PrivacyAccountManager.smali 1969-12-31 16:00:00.000000000 -0800
10226 +++ moded_framework/smali/android/privacy/surrogate/PrivacyAccountManager.smali 2012-09-13 08:58:54.565398507 -0700
10228 +.class public final Landroid/privacy/surrogate/PrivacyAccountManager;
10229 +.super Landroid/accounts/AccountManager;
10230 +.source "PrivacyAccountManager.java"
10234 +.annotation system Ldalvik/annotation/MemberClasses;
10236 + Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10242 +.field private static final TAG:Ljava/lang/String; = "PrivacyAccountManager"
10246 +.field private context:Landroid/content/Context;
10248 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
10252 +.method public constructor <init>(Landroid/content/Context;Landroid/accounts/IAccountManager;)V
10255 + invoke-direct {p0, p1, p2}, Landroid/accounts/AccountManager;-><init>(Landroid/content/Context;Landroid/accounts/IAccountManager;)V
10257 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10259 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
10261 + const-string/jumbo v1, "privacy"
10263 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
10265 + move-result-object v1
10267 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
10269 + move-result-object v1
10271 + invoke-direct {v0, p1, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
10273 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10278 +.method public constructor <init>(Landroid/content/Context;Landroid/accounts/IAccountManager;Landroid/os/Handler;)V
10281 + invoke-direct {p0, p1, p2, p3}, Landroid/accounts/AccountManager;-><init>(Landroid/content/Context;Landroid/accounts/IAccountManager;Landroid/os/Handler;)V
10283 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10285 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
10287 + const-string/jumbo v1, "privacy"
10289 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
10291 + move-result-object v1
10293 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
10295 + move-result-object v1
10297 + invoke-direct {v0, p1, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
10299 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10306 +.method public blockingGetAuthToken(Landroid/accounts/Account;Ljava/lang/String;Z)Ljava/lang/String;
10308 + .annotation system Ldalvik/annotation/Throws;
10310 + Landroid/accounts/OperationCanceledException;,
10311 + Ljava/io/IOException;,
10312 + Landroid/accounts/AuthenticatorException;
10318 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10320 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10322 + move-result-object v1
10324 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10328 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10330 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10332 + move-result-object v6
10334 + if-eqz v6, :cond_23
10336 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
10340 + if-eqz v0, :cond_23
10344 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10348 + const-string v4, "authTokens"
10350 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10356 + invoke-super {p0, p1, p2, p3}, Landroid/accounts/AccountManager;->blockingGetAuthToken(Landroid/accounts/Account;Ljava/lang/String;Z)Ljava/lang/String;
10358 + move-result-object v7
10360 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10364 + const-string v4, "authTokens"
10366 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10371 +.method public getAccounts()[Landroid/accounts/Account;
10378 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10380 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10382 + move-result-object v1
10384 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10388 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10390 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10392 + move-result-object v6
10394 + if-eqz v6, :cond_27
10396 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
10400 + if-eqz v0, :cond_27
10402 + const-string v8, "[empty accounts list]"
10404 + new-array v7, v3, [Landroid/accounts/Account;
10406 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10410 + const-string v4, "accountsList"
10412 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10418 + const-string v8, "[real value]"
10420 + invoke-super {p0}, Landroid/accounts/AccountManager;->getAccounts()[Landroid/accounts/Account;
10422 + move-result-object v7
10424 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10426 + const-string v4, "accountsList"
10428 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10433 +.method public getAccountsByType(Ljava/lang/String;)[Landroid/accounts/Account;
10440 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10442 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10444 + move-result-object v1
10446 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10450 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10452 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10454 + move-result-object v6
10456 + if-eqz v6, :cond_27
10458 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
10462 + if-eqz v0, :cond_27
10464 + const-string v8, "[empty accounts list]"
10466 + new-array v7, v3, [Landroid/accounts/Account;
10468 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10472 + const-string v4, "accountsList"
10474 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10480 + const-string v8, "[real value]"
10482 + invoke-super {p0, p1}, Landroid/accounts/AccountManager;->getAccountsByType(Ljava/lang/String;)[Landroid/accounts/Account;
10484 + move-result-object v7
10486 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10488 + const-string v4, "accountsList"
10490 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10495 +.method public getAccountsByTypeAndFeatures(Ljava/lang/String;[Ljava/lang/String;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
10497 + .annotation system Ldalvik/annotation/Signature;
10500 + "Ljava/lang/String;",
10502 + "Ljava/lang/String;",
10503 + "Landroid/accounts/AccountManagerCallback",
10505 + "Landroid/accounts/Account;",
10507 + "Landroid/os/Handler;",
10509 + "Landroid/accounts/AccountManagerFuture",
10511 + "Landroid/accounts/Account;",
10520 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10522 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10524 + move-result-object v1
10526 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10530 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10532 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10534 + move-result-object v6
10536 + if-eqz v6, :cond_2c
10538 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
10542 + if-eqz v0, :cond_2c
10544 + const-string v8, "[false]"
10546 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10548 + new-array v0, v3, [Landroid/accounts/Account;
10550 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
10552 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10556 + const-string v4, "accountsList"
10558 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10564 + const-string v8, "[real value]"
10566 + 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;
10568 + move-result-object v7
10570 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10572 + const-string v4, "accountsList"
10574 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10579 +.method public getAuthToken(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;Landroid/app/Activity;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
10581 + .annotation system Ldalvik/annotation/Signature;
10584 + "Landroid/accounts/Account;",
10585 + "Ljava/lang/String;",
10586 + "Landroid/os/Bundle;",
10587 + "Landroid/app/Activity;",
10588 + "Landroid/accounts/AccountManagerCallback",
10590 + "Landroid/os/Bundle;",
10592 + "Landroid/os/Handler;",
10594 + "Landroid/accounts/AccountManagerFuture",
10596 + "Landroid/os/Bundle;",
10603 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10605 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10607 + move-result-object v1
10609 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10613 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10615 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10617 + move-result-object v6
10619 + if-eqz v6, :cond_2e
10621 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
10625 + if-eqz v0, :cond_2e
10627 + const-string v8, "[empty]"
10629 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10631 + new-instance v0, Landroid/os/Bundle;
10633 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
10635 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
10637 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10641 + const-string v4, "authTokens"
10643 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10649 + const-string v8, "[real value]"
10651 + 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;
10653 + move-result-object v7
10655 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10659 + const-string v4, "authTokens"
10661 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10666 +.method public getAuthToken(Landroid/accounts/Account;Ljava/lang/String;ZLandroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
10668 + .annotation system Ldalvik/annotation/Signature;
10671 + "Landroid/accounts/Account;",
10672 + "Ljava/lang/String;",
10674 + "Landroid/accounts/AccountManagerCallback",
10676 + "Landroid/os/Bundle;",
10678 + "Landroid/os/Handler;",
10680 + "Landroid/accounts/AccountManagerFuture",
10682 + "Landroid/os/Bundle;",
10689 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10691 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10693 + move-result-object v1
10695 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10699 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10701 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10703 + move-result-object v6
10705 + if-eqz v6, :cond_2e
10707 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
10711 + if-eqz v0, :cond_2e
10713 + const-string v8, "[empty]"
10715 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10717 + new-instance v0, Landroid/os/Bundle;
10719 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
10721 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
10723 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10727 + const-string v4, "authTokens"
10729 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10735 + const-string v8, "[real value]"
10737 + invoke-super/range {p0 .. p5}, Landroid/accounts/AccountManager;->getAuthToken(Landroid/accounts/Account;Ljava/lang/String;ZLandroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
10739 + move-result-object v7
10741 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10745 + const-string v4, "authTokens"
10747 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10752 +.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;
10754 + .annotation system Ldalvik/annotation/Signature;
10757 + "Ljava/lang/String;",
10758 + "Ljava/lang/String;",
10760 + "Ljava/lang/String;",
10761 + "Landroid/app/Activity;",
10762 + "Landroid/os/Bundle;",
10763 + "Landroid/os/Bundle;",
10764 + "Landroid/accounts/AccountManagerCallback",
10766 + "Landroid/os/Bundle;",
10768 + "Landroid/os/Handler;",
10770 + "Landroid/accounts/AccountManagerFuture",
10772 + "Landroid/os/Bundle;",
10777 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10779 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10781 + move-result-object v1
10783 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10787 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10789 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10791 + move-result-object v6
10793 + if-eqz v6, :cond_2e
10795 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
10799 + if-eqz v0, :cond_2e
10801 + const-string v8, "[empty]"
10803 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10805 + new-instance v0, Landroid/os/Bundle;
10807 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
10809 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
10811 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10815 + const-string v4, "authTokens"
10819 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10825 + const-string v8, "[real value]"
10827 + 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;
10829 + move-result-object v7
10831 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10835 + const-string v4, "authTokens"
10839 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10844 +.method public hasFeatures(Landroid/accounts/Account;[Ljava/lang/String;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
10846 + .annotation system Ldalvik/annotation/Signature;
10849 + "Landroid/accounts/Account;",
10851 + "Ljava/lang/String;",
10852 + "Landroid/accounts/AccountManagerCallback",
10854 + "Ljava/lang/Boolean;",
10856 + "Landroid/os/Handler;",
10858 + "Landroid/accounts/AccountManagerFuture",
10860 + "Ljava/lang/Boolean;",
10869 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10871 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10873 + move-result-object v1
10875 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10879 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10881 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10883 + move-result-object v6
10885 + if-eqz v6, :cond_2e
10887 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
10891 + if-eqz v0, :cond_2e
10893 + const-string v8, "[false]"
10895 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10897 + invoke-static {v3}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
10899 + move-result-object v0
10901 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
10903 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10907 + const-string v4, "accountsList"
10909 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10915 + const-string v8, "[real value]"
10917 + 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;
10919 + move-result-object v7
10921 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10923 + const-string v4, "accountsList"
10925 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10929 diff -NpruEbB stock_framework/smali/android/privacy/surrogate/PrivacyActivityManagerService.smali moded_framework/smali/android/privacy/surrogate/PrivacyActivityManagerService.smali
10930 --- stock_framework/smali/android/privacy/surrogate/PrivacyActivityManagerService.smali 1969-12-31 16:00:00.000000000 -0800
10931 +++ moded_framework/smali/android/privacy/surrogate/PrivacyActivityManagerService.smali 2012-09-13 08:58:54.586403523 -0700
10933 +.class public final Landroid/privacy/surrogate/PrivacyActivityManagerService;
10934 +.super Ljava/lang/Object;
10935 +.source "PrivacyActivityManagerService.java"
10939 +.field private static final TAG:Ljava/lang/String; = "PrivacyActivityManagerService"
10941 +.field private static pSetMan:Landroid/privacy/PrivacySettingsManager;
10943 +.field private static tmpIn:Landroid/content/Intent;
10945 +.field private static tmpInHash:J
10947 +.field private static tmpInReceivers:I
10949 +.field private static tmpMms:Landroid/content/Intent;
10951 +.field private static tmpMmsHash:J
10953 +.field private static tmpMmsReceivers:I
10955 +.field private static tmpOut:Landroid/content/Intent;
10957 +.field private static tmpOutHash:J
10959 +.field private static tmpOutReceivers:I
10961 +.field private static tmpPackageAddedHash:J
10963 +.field private static tmpSms:Landroid/content/Intent;
10965 +.field private static tmpSmsHash:J
10967 +.field private static tmpSmsReceivers:I
10971 +.method static constructor <clinit>()V
10976 + const-wide/16 v0, 0x0
10978 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInHash:J
10980 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
10982 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutHash:J
10984 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
10986 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsHash:J
10988 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
10990 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsHash:J
10992 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
10994 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpPackageAddedHash:J
10999 +.method public constructor <init>()V
11002 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
11007 +.method public static enforcePrivacyPermission(Ljava/lang/String;ILandroid/content/Intent;Landroid/content/Context;I)V
11010 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11012 + if-nez v2, :cond_11
11014 + const-string/jumbo v2, "privacy"
11016 + move-object/from16 v0, p3
11018 + invoke-virtual {v0, v2}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
11020 + move-result-object v2
11022 + check-cast v2, Landroid/privacy/PrivacySettingsManager;
11024 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11027 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->getAction()Ljava/lang/String;
11029 + move-result-object v9
11031 + const-string v2, "android.intent.action.NEW_OUTGOING_CALL"
11033 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11037 + if-eqz v2, :cond_ad
11039 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11041 + move-object/from16 v0, p0
11043 + move/from16 v1, p1
11045 + invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
11047 + move-result-object v8
11049 + const-string v2, "android.intent.extra.PHONE_NUMBER"
11051 + move-object/from16 v0, p2
11053 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
11055 + move-result-object v16
11057 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutHash:J
11059 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11061 + move-result-wide v4
11063 + cmp-long v2, v2, v4
11065 + if-eqz v2, :cond_49
11067 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->clone()Ljava/lang/Object;
11069 + move-result-object v2
11071 + check-cast v2, Landroid/content/Intent;
11073 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOut:Landroid/content/Intent;
11075 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11077 + move-result-wide v2
11079 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutHash:J
11081 + sput p4, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
11084 + if-eqz v8, :cond_76
11087 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getOutgoingCallsSetting()B
11091 + if-eqz v2, :cond_76
11093 + const-string v16, ""
11095 + const-string v2, "android.intent.extra.PHONE_NUMBER"
11097 + move-object/from16 v0, p2
11099 + move-object/from16 v1, v16
11101 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
11103 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11107 + const-string/jumbo v6, "outgoingCall"
11111 + move-object/from16 v3, p0
11113 + move/from16 v4, p1
11115 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11117 + .catch Ljava/lang/Exception; {:try_start_4b .. :try_end_6a} :catch_a0
11121 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
11125 + if-le v2, v3, :cond_a9
11127 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
11129 + add-int/lit8 v2, v2, -0x1
11131 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
11139 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutHash:J
11141 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11143 + move-result-wide v4
11145 + cmp-long v2, v2, v4
11147 + if-nez v2, :cond_6a
11149 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOut:Landroid/content/Intent;
11151 + const-string v3, "android.intent.extra.PHONE_NUMBER"
11153 + invoke-virtual {v2, v3}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
11155 + move-result-object v16
11157 + const-string v2, "android.intent.extra.PHONE_NUMBER"
11159 + move-object/from16 v0, p2
11161 + move-object/from16 v1, v16
11163 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
11165 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11169 + const-string/jumbo v6, "outgoingCall"
11173 + move-object/from16 v3, p0
11175 + move/from16 v4, p1
11177 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11179 + .catch Ljava/lang/Exception; {:try_start_76 .. :try_end_9f} :catch_a0
11184 + move-exception v13
11186 + const-string v2, "PrivacyActivityManagerService"
11188 + const-string v3, "failed to enforce intent broadcast permission"
11190 + invoke-static {v2, v3, v13}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
11197 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOut:Landroid/content/Intent;
11202 + const-string v2, "android.intent.action.PHONE_STATE"
11204 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11208 + if-eqz v2, :cond_14d
11210 + const-string v2, "incoming_number"
11212 + move-object/from16 v0, p2
11214 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
11216 + move-result-object v16
11218 + if-eqz v16, :cond_75
11220 + invoke-virtual/range {v16 .. v16}, Ljava/lang/String;->isEmpty()Z
11224 + if-nez v2, :cond_75
11226 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11228 + move-object/from16 v0, p0
11230 + move/from16 v1, p1
11232 + invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
11234 + move-result-object v8
11236 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInHash:J
11238 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11240 + move-result-wide v4
11242 + cmp-long v2, v2, v4
11244 + if-eqz v2, :cond_e9
11246 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->clone()Ljava/lang/Object;
11248 + move-result-object v2
11250 + check-cast v2, Landroid/content/Intent;
11252 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpIn:Landroid/content/Intent;
11254 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11256 + move-result-wide v2
11258 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInHash:J
11260 + sput p4, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
11263 + if-eqz v8, :cond_116
11266 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getIncomingCallsSetting()B
11270 + if-eqz v2, :cond_116
11272 + const-string v16, ""
11274 + const-string v2, "incoming_number"
11276 + move-object/from16 v0, p2
11278 + move-object/from16 v1, v16
11280 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
11282 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11286 + const-string v6, "incomingCall"
11290 + move-object/from16 v3, p0
11292 + move/from16 v4, p1
11294 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11296 + .catch Ljava/lang/Exception; {:try_start_eb .. :try_end_109} :catch_13f
11300 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
11304 + if-le v2, v3, :cond_148
11306 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
11308 + add-int/lit8 v2, v2, -0x1
11310 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
11316 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInHash:J
11318 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11320 + move-result-wide v4
11322 + cmp-long v2, v2, v4
11324 + if-nez v2, :cond_109
11326 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpIn:Landroid/content/Intent;
11328 + const-string v3, "incoming_number"
11330 + invoke-virtual {v2, v3}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
11332 + move-result-object v16
11334 + const-string v2, "incoming_number"
11336 + move-object/from16 v0, p2
11338 + move-object/from16 v1, v16
11340 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
11342 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11346 + const-string v6, "incomingCall"
11350 + move-object/from16 v3, p0
11352 + move/from16 v4, p1
11354 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11356 + .catch Ljava/lang/Exception; {:try_start_116 .. :try_end_13e} :catch_13f
11361 + move-exception v13
11363 + const-string v2, "PrivacyActivityManagerService"
11365 + const-string v3, "failed to enforce intent broadcast permission"
11367 + invoke-static {v2, v3, v13}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
11374 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpIn:Landroid/content/Intent;
11379 + const-string v2, "android.provider.Telephony.SMS_RECEIVED"
11381 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11385 + if-eqz v2, :cond_222
11387 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11389 + move-object/from16 v0, p0
11391 + move/from16 v1, p1
11393 + invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
11395 + move-result-object v8
11397 + const-string v16, "[real]"
11399 + const-string/jumbo v2, "pdus"
11401 + move-object/from16 v0, p2
11403 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
11405 + move-result-object v2
11407 + check-cast v2, [Ljava/lang/Object;
11409 + move-object v15, v2
11411 + check-cast v15, [Ljava/lang/Object;
11413 + if-eqz v15, :cond_1cd
11417 + aget-object v2, v15, v2
11419 + check-cast v2, [B
11421 + check-cast v2, [B
11423 + move-object v12, v2
11426 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsHash:J
11428 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11430 + move-result-wide v4
11432 + cmp-long v2, v2, v4
11434 + if-eqz v2, :cond_193
11436 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->clone()Ljava/lang/Object;
11438 + move-result-object v2
11440 + check-cast v2, Landroid/content/Intent;
11442 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSms:Landroid/content/Intent;
11444 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11446 + move-result-wide v2
11448 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsHash:J
11450 + sput p4, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
11453 + if-eqz v8, :cond_1cf
11456 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getSmsSetting()B
11460 + if-eqz v2, :cond_1cf
11462 + const-string v16, "[empty]"
11466 + new-array v14, v2, [Ljava/lang/Object;
11470 + const/16 v3, 0x10
11472 + new-array v3, v3, [B
11474 + fill-array-data v3, :array_350
11476 + aput-object v3, v14, v2
11478 + const-string/jumbo v2, "pdus"
11480 + move-object/from16 v0, p2
11482 + invoke-virtual {v0, v2, v14}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent;
11484 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11488 + const-string/jumbo v6, "sms"
11492 + move-object/from16 v3, p0
11494 + move/from16 v4, p1
11496 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11498 + .catch Ljava/lang/Exception; {:try_start_195 .. :try_end_1c0} :catch_212
11502 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
11506 + if-le v2, v3, :cond_21d
11508 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
11510 + add-int/lit8 v2, v2, -0x1
11512 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
11523 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsHash:J
11525 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11527 + move-result-wide v4
11529 + cmp-long v2, v2, v4
11531 + if-nez v2, :cond_1c0
11533 + const-string/jumbo v2, "pdus"
11535 + sget-object v3, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSms:Landroid/content/Intent;
11537 + const-string/jumbo v4, "pdus"
11539 + invoke-virtual {v3, v4}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
11541 + move-result-object v3
11543 + move-object/from16 v0, p2
11545 + invoke-virtual {v0, v2, v3}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent;
11547 + const-string/jumbo v2, "pdus"
11549 + move-object/from16 v0, p2
11551 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
11553 + move-result-object v2
11555 + check-cast v2, [Ljava/lang/Object;
11557 + move-object v0, v2
11559 + check-cast v0, [Ljava/lang/Object;
11561 + move-object v15, v0
11563 + if-eqz v15, :cond_21b
11567 + aget-object v2, v15, v2
11569 + check-cast v2, [B
11571 + check-cast v2, [B
11573 + move-object v12, v2
11576 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11580 + const-string/jumbo v6, "sms"
11584 + move-object/from16 v3, p0
11586 + move/from16 v4, p1
11588 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11590 + .catch Ljava/lang/Exception; {:try_start_1cf .. :try_end_211} :catch_212
11595 + move-exception v13
11597 + const-string v2, "PrivacyActivityManagerService"
11599 + const-string v3, "failed to enforce intent broadcast permission"
11601 + invoke-static {v2, v3, v13}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
11613 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSms:Landroid/content/Intent;
11618 + const-string v2, "android.provider.Telephony.WAP_PUSH_RECEIVED"
11620 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11624 + if-nez v2, :cond_232
11626 + const-string v2, "android.intent.action.DATA_SMS_RECEIVED"
11628 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11632 + if-eqz v2, :cond_2ff
11635 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11637 + move-object/from16 v0, p0
11639 + move/from16 v1, p1
11641 + invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
11643 + move-result-object v8
11645 + const-string v16, "[real]"
11647 + const-string/jumbo v2, "pdus"
11649 + move-object/from16 v0, p2
11651 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
11653 + move-result-object v2
11655 + check-cast v2, [Ljava/lang/Object;
11657 + move-object v15, v2
11659 + check-cast v15, [Ljava/lang/Object;
11661 + if-eqz v15, :cond_2aa
11665 + aget-object v2, v15, v2
11667 + check-cast v2, [B
11669 + check-cast v2, [B
11671 + move-object v12, v2
11674 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsHash:J
11676 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11678 + move-result-wide v4
11680 + cmp-long v2, v2, v4
11682 + if-eqz v2, :cond_270
11684 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->clone()Ljava/lang/Object;
11686 + move-result-object v2
11688 + check-cast v2, Landroid/content/Intent;
11690 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMms:Landroid/content/Intent;
11692 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11694 + move-result-wide v2
11696 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsHash:J
11698 + sput p4, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
11701 + if-eqz v8, :cond_2ac
11704 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getMmsSetting()B
11708 + if-eqz v2, :cond_2ac
11710 + const-string v16, "[empty]"
11714 + new-array v14, v2, [Ljava/lang/Object;
11718 + const/16 v3, 0x10
11720 + new-array v3, v3, [B
11722 + fill-array-data v3, :array_35c
11724 + aput-object v3, v14, v2
11726 + const-string/jumbo v2, "pdus"
11728 + move-object/from16 v0, p2
11730 + invoke-virtual {v0, v2, v14}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent;
11732 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11736 + const-string/jumbo v6, "mms"
11740 + move-object/from16 v3, p0
11742 + move/from16 v4, p1
11744 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11746 + .catch Ljava/lang/Exception; {:try_start_272 .. :try_end_29d} :catch_2ef
11750 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
11754 + if-le v2, v3, :cond_2fa
11756 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
11758 + add-int/lit8 v2, v2, -0x1
11760 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
11771 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsHash:J
11773 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11775 + move-result-wide v4
11777 + cmp-long v2, v2, v4
11779 + if-nez v2, :cond_29d
11781 + const-string/jumbo v2, "pdus"
11783 + sget-object v3, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMms:Landroid/content/Intent;
11785 + const-string/jumbo v4, "pdus"
11787 + invoke-virtual {v3, v4}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
11789 + move-result-object v3
11791 + move-object/from16 v0, p2
11793 + invoke-virtual {v0, v2, v3}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent;
11795 + const-string/jumbo v2, "pdus"
11797 + move-object/from16 v0, p2
11799 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
11801 + move-result-object v2
11803 + check-cast v2, [Ljava/lang/Object;
11805 + move-object v0, v2
11807 + check-cast v0, [Ljava/lang/Object;
11809 + move-object v15, v0
11811 + if-eqz v15, :cond_2f8
11815 + aget-object v2, v15, v2
11817 + check-cast v2, [B
11819 + check-cast v2, [B
11821 + move-object v12, v2
11824 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11828 + const-string/jumbo v6, "mms"
11832 + move-object/from16 v3, p0
11834 + move/from16 v4, p1
11836 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11838 + .catch Ljava/lang/Exception; {:try_start_2ac .. :try_end_2ee} :catch_2ef
11843 + move-exception v13
11845 + const-string v2, "PrivacyActivityManagerService"
11847 + const-string v3, "failed to enforce intent broadcast permission"
11849 + invoke-static {v2, v3, v13}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
11861 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMms:Landroid/content/Intent;
11866 + const-string v2, "android.intent.action.BOOT_COMPLETED"
11868 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11872 + if-eqz v2, :cond_30e
11874 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11876 + invoke-virtual {v2}, Landroid/privacy/PrivacySettingsManager;->setBootCompleted()V
11881 + const-string v2, "android.intent.action.PACKAGE_ADDED"
11883 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11887 + if-eqz v2, :cond_75
11889 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpPackageAddedHash:J
11891 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11893 + move-result-wide v4
11895 + cmp-long v2, v2, v4
11897 + if-eqz v2, :cond_75
11899 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11901 + move-result-wide v2
11903 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpPackageAddedHash:J
11905 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->getData()Landroid/net/Uri;
11907 + move-result-object v2
11909 + invoke-virtual {v2}, Landroid/net/Uri;->getSchemeSpecificPart()Ljava/lang/String;
11911 + move-result-object v10
11913 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->getExtras()Landroid/os/Bundle;
11915 + move-result-object v2
11917 + const-string v3, "android.intent.extra.UID"
11919 + invoke-virtual {v2, v3}, Landroid/os/Bundle;->getInt(Ljava/lang/String;)I
11923 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11925 + invoke-virtual {v2, v10, v11}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
11927 + move-result-object v8
11929 + if-eqz v8, :cond_75
11931 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getUid()I
11935 + if-eq v2, v11, :cond_75
11937 + invoke-virtual {v8, v11}, Landroid/privacy/PrivacySettings;->setUid(I)V
11939 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11941 + invoke-virtual {v2, v8}, Landroid/privacy/PrivacySettingsManager;->saveSettings(Landroid/privacy/PrivacySettings;)Z
11986 +.method private static hashCode(Landroid/content/Intent;)J
11989 + const-wide/16 v3, 0x0
11991 + const-string/jumbo v2, "privacy_hash"
11993 + invoke-virtual {p0, v2, v3, v4}, Landroid/content/Intent;->getLongExtra(Ljava/lang/String;J)J
11995 + move-result-wide v0
11997 + cmp-long v2, v0, v3
11999 + if-nez v2, :cond_1e
12001 + invoke-virtual {p0}, Landroid/content/Intent;->filterHashCode()I
12005 + int-to-long v2, v2
12007 + invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
12009 + move-result-wide v4
12011 + add-long v0, v2, v4
12013 + const-string/jumbo v2, "privacy_hash"
12015 + invoke-virtual {p0, v2, v0, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;J)Landroid/content/Intent;
12020 diff -NpruEbB stock_framework/smali/android/privacy/surrogate/PrivacyContentResolver.smali moded_framework/smali/android/privacy/surrogate/PrivacyContentResolver.smali
12021 --- stock_framework/smali/android/privacy/surrogate/PrivacyContentResolver.smali 1969-12-31 16:00:00.000000000 -0800
12022 +++ moded_framework/smali/android/privacy/surrogate/PrivacyContentResolver.smali 2012-09-13 08:58:54.587403762 -0700
12024 +.class public final Landroid/privacy/surrogate/PrivacyContentResolver;
12025 +.super Ljava/lang/Object;
12026 +.source "PrivacyContentResolver.java"
12030 +.field private static final TAG:Ljava/lang/String; = "PrivacyContentResolver"
12032 +.field private static pSetMan:Landroid/privacy/PrivacySettingsManager;
12036 +.method public constructor <init>()V
12039 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
12044 +.method private static arrayToString([Ljava/lang/String;)Ljava/lang/String;
12047 + new-instance v4, Ljava/lang/StringBuffer;
12049 + invoke-direct {v4}, Ljava/lang/StringBuffer;-><init>()V
12051 + if-eqz p0, :cond_2d
12053 + move-object v0, p0
12055 + array-length v3, v0
12060 + if-ge v2, v3, :cond_30
12062 + aget-object v1, v0, v2
12064 + new-instance v5, Ljava/lang/StringBuilder;
12066 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
12068 + const-string v6, "["
12070 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
12072 + move-result-object v5
12074 + invoke-virtual {v5, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
12076 + move-result-object v5
12078 + const-string v6, "]"
12080 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
12082 + move-result-object v5
12084 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
12086 + move-result-object v5
12088 + invoke-virtual {v4, v5}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
12090 + add-int/lit8 v2, v2, 0x1
12095 + const-string v5, ""
12101 + invoke-virtual {v4}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String;
12103 + move-result-object v5
12108 +.method public static enforcePrivacyPermission(Landroid/net/Uri;[Ljava/lang/String;Landroid/content/Context;Landroid/database/Cursor;)Landroid/database/Cursor;
12110 + .annotation system Ldalvik/annotation/Throws;
12112 + Landroid/os/RemoteException;
12116 + if-eqz p0, :cond_1e4
12118 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12120 + if-nez v1, :cond_13
12122 + const-string/jumbo v1, "privacy"
12124 + move-object/from16 v0, p2
12126 + invoke-virtual {v0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
12128 + move-result-object v1
12130 + check-cast v1, Landroid/privacy/PrivacySettingsManager;
12132 + sput-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12135 + invoke-virtual/range {p2 .. p2}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
12137 + move-result-object v2
12139 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
12143 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12145 + invoke-virtual {v1, v2, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
12147 + move-result-object v7
12149 + invoke-virtual/range {p0 .. p0}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
12151 + move-result-object v9
12153 + const-string v15, "[real]"
12155 + move-object/from16 v13, p3
12157 + if-eqz v9, :cond_54
12159 + const-string v1, "contacts"
12161 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12165 + if-nez v1, :cond_3b
12167 + const-string v1, "com.android.contacts"
12169 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12173 + if-eqz v1, :cond_ab
12176 + if-eqz v7, :cond_54
12178 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getContactsSetting()B
12184 + if-ne v1, v4, :cond_55
12186 + const-string v15, "[empty]"
12188 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12190 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12192 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12196 + const-string v5, "contacts"
12200 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12204 + return-object v13
12207 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getContactsSetting()B
12213 + if-ne v1, v4, :cond_a1
12215 + invoke-virtual/range {p0 .. p0}, Landroid/net/Uri;->toString()Ljava/lang/String;
12217 + move-result-object v1
12219 + sget-object v4, Landroid/provider/ContactsContract$Contacts;->CONTENT_URI:Landroid/net/Uri;
12221 + invoke-virtual {v4}, Landroid/net/Uri;->toString()Ljava/lang/String;
12223 + move-result-object v4
12225 + invoke-virtual {v1, v4}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
12229 + if-eqz v1, :cond_a1
12233 + if-eqz p1, :cond_82
12235 + move-object/from16 v8, p1
12237 + array-length v12, v8
12242 + if-ge v10, v12, :cond_82
12244 + aget-object v16, v8, v10
12246 + const-string v1, "_id"
12248 + move-object/from16 v0, v16
12250 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12254 + if-eqz v1, :cond_93
12259 + if-nez v11, :cond_96
12261 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12263 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12266 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12270 + const-string v5, "contacts"
12274 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12279 + add-int/lit8 v10, v10, 0x1
12284 + new-instance v14, Landroid/privacy/surrogate/PrivacyCursor;
12286 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getAllowedContacts()[I
12288 + move-result-object v1
12290 + invoke-direct {v14, v13, v1}, Landroid/privacy/surrogate/PrivacyCursor;-><init>(Landroid/database/Cursor;[I)V
12292 + move-object v13, v14
12297 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12301 + const-string v5, "contacts"
12305 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12310 + const-string v1, "com.android.calendar"
12312 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12316 + if-eqz v1, :cond_d8
12318 + if-eqz v7, :cond_cd
12320 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getCalendarSetting()B
12326 + if-ne v1, v4, :cond_cd
12328 + const-string v15, "[empty]"
12330 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12332 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12334 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12338 + const-string v5, "calendar"
12342 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12347 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12351 + const-string v5, "calendar"
12355 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12360 + sget-object v1, Landroid/provider/Telephony$Mms;->CONTENT_URI:Landroid/net/Uri;
12362 + invoke-virtual {v1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
12364 + move-result-object v1
12366 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12370 + if-eqz v1, :cond_10c
12372 + if-eqz v7, :cond_100
12374 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getMmsSetting()B
12380 + if-ne v1, v4, :cond_100
12382 + const-string v15, "[empty]"
12384 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12386 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12388 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12392 + const-string/jumbo v5, "mms"
12396 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12401 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12405 + const-string/jumbo v5, "mms"
12409 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12414 + sget-object v1, Landroid/provider/Telephony$Sms;->CONTENT_URI:Landroid/net/Uri;
12416 + invoke-virtual {v1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
12418 + move-result-object v1
12420 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12424 + if-eqz v1, :cond_140
12426 + if-eqz v7, :cond_134
12428 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getSmsSetting()B
12434 + if-ne v1, v4, :cond_134
12436 + const-string v15, "[empty]"
12438 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12440 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12442 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12446 + const-string/jumbo v5, "sms"
12450 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12455 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12459 + const-string/jumbo v5, "sms"
12463 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12468 + sget-object v1, Landroid/provider/Telephony$MmsSms;->CONTENT_URI:Landroid/net/Uri;
12470 + invoke-virtual {v1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
12472 + move-result-object v1
12474 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12478 + if-nez v1, :cond_155
12480 + const-string/jumbo v1, "mms-sms-v2"
12482 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12486 + if-eqz v1, :cond_184
12489 + if-eqz v7, :cond_178
12491 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getMmsSetting()B
12497 + if-eq v1, v4, :cond_165
12499 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getSmsSetting()B
12505 + if-ne v1, v4, :cond_178
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/jumbo v5, "mmsSms"
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/jumbo v5, "mmsSms"
12535 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12540 + const-string v1, "call_log"
12542 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12546 + if-eqz v1, :cond_1b2
12548 + if-eqz v7, :cond_1a7
12550 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getCallLogSetting()B
12556 + if-ne v1, v4, :cond_1a7
12558 + const-string v15, "[empty]"
12560 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12562 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12564 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12568 + const-string v5, "callLog"
12572 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12577 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12581 + const-string v5, "callLog"
12585 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12590 + sget-object v1, Landroid/provider/Browser;->BOOKMARKS_URI:Landroid/net/Uri;
12592 + invoke-virtual {v1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
12594 + move-result-object v1
12596 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12600 + if-eqz v1, :cond_54
12602 + if-eqz v7, :cond_1d9
12604 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getBookmarksSetting()B
12610 + if-ne v1, v4, :cond_1d9
12612 + const-string v15, "[empty]"
12614 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12616 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12618 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12622 + const-string v5, "bookmarks"
12626 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12631 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12635 + const-string v5, "bookmarks"
12639 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12644 + move-object/from16 v13, p3
12648 diff -NpruEbB stock_framework/smali/android/privacy/surrogate/PrivacyCursor.smali moded_framework/smali/android/privacy/surrogate/PrivacyCursor.smali
12649 --- stock_framework/smali/android/privacy/surrogate/PrivacyCursor.smali 1969-12-31 16:00:00.000000000 -0800
12650 +++ moded_framework/smali/android/privacy/surrogate/PrivacyCursor.smali 2012-09-13 08:58:54.588404003 -0700
12652 +.class public Landroid/privacy/surrogate/PrivacyCursor;
12653 +.super Ljava/lang/Object;
12654 +.source "PrivacyCursor.java"
12657 +.implements Landroid/database/Cursor;
12661 +.field private static final TAG:Ljava/lang/String; = "PrivacyCursor"
12665 +.field private allowedIdMapping:[I
12667 +.field private allowedIds:[I
12669 +.field private realCursor:Landroid/database/Cursor;
12673 +.method public constructor <init>()V
12676 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
12681 +.method public constructor <init>(Landroid/database/Cursor;[I)V
12684 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
12686 + if-eqz p2, :cond_8
12688 + array-length v2, p2
12690 + if-nez v2, :cond_9
12696 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12698 + iput-object p2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIds:[I
12700 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12702 + if-eqz v2, :cond_3f
12704 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12706 + invoke-interface {v2}, Landroid/database/Cursor;->getPosition()I
12710 + array-length v2, p2
12712 + new-array v2, v2, [I
12714 + iput-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
12720 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12722 + invoke-interface {v2}, Landroid/database/Cursor;->moveToNext()Z
12726 + if-eqz v2, :cond_3a
12728 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12730 + invoke-direct {p0, v2}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(Landroid/database/Cursor;)Z
12734 + if-eqz v2, :cond_1d
12736 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
12738 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12740 + invoke-interface {v3}, Landroid/database/Cursor;->getPosition()I
12746 + add-int/lit8 v1, v1, 0x1
12751 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12753 + invoke-interface {v2, v0}, Landroid/database/Cursor;->moveToPosition(I)Z
12759 +.method private getContactId(Landroid/database/Cursor;)I
12762 + const-string v2, "_id"
12764 + invoke-interface {p1, v2}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
12772 + if-eq v0, v2, :cond_e
12774 + invoke-interface {p1, v0}, Landroid/database/Cursor;->getInt(I)I
12782 +.method private getMappedPos(I)I
12788 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
12790 + array-length v1, v1
12792 + if-ge v0, v1, :cond_10
12794 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
12798 + if-ne v1, p1, :cond_d
12804 + add-int/lit8 v0, v0, 0x1
12814 +.method private isAllowed(I)Z
12819 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIds:[I
12821 + array-length v3, v0
12826 + if-ge v2, v3, :cond_c
12830 + if-ne p1, v1, :cond_d
12838 + add-int/lit8 v2, v2, 0x1
12843 +.method private isAllowed(Landroid/database/Cursor;)Z
12846 + invoke-direct {p0, p1}, Landroid/privacy/surrogate/PrivacyCursor;->getContactId(Landroid/database/Cursor;)I
12850 + invoke-direct {p0, v0}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(I)Z
12859 +.method public close()V
12862 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12864 + if-eqz v0, :cond_9
12866 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12868 + invoke-interface {v0}, Landroid/database/Cursor;->close()V
12874 +.method public copyStringToBuffer(ILandroid/database/CharArrayBuffer;)V
12877 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12879 + if-eqz v0, :cond_9
12881 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12883 + invoke-interface {v0, p1, p2}, Landroid/database/Cursor;->copyStringToBuffer(ILandroid/database/CharArrayBuffer;)V
12889 +.method public deactivate()V
12892 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12894 + if-eqz v0, :cond_9
12896 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12898 + invoke-interface {v0}, Landroid/database/Cursor;->deactivate()V
12904 +.method public getBlob(I)[B
12907 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12909 + if-eqz v0, :cond_b
12911 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12913 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getBlob(I)[B
12915 + move-result-object v0
12923 + new-array v0, v0, [B
12928 +.method public getColumnCount()I
12931 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12933 + if-eqz v0, :cond_b
12935 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12937 + invoke-interface {v0}, Landroid/database/Cursor;->getColumnCount()I
12950 +.method public getColumnIndex(Ljava/lang/String;)I
12953 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12955 + if-eqz v0, :cond_b
12957 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12959 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
12972 +.method public getColumnIndexOrThrow(Ljava/lang/String;)I
12974 + .annotation system Ldalvik/annotation/Throws;
12976 + Ljava/lang/IllegalArgumentException;
12980 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12982 + if-eqz v0, :cond_b
12984 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12986 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getColumnIndexOrThrow(Ljava/lang/String;)I
12999 +.method public getColumnName(I)Ljava/lang/String;
13002 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13004 + if-eqz v0, :cond_b
13006 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13008 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getColumnName(I)Ljava/lang/String;
13010 + move-result-object v0
13016 + const-string v0, ""
13021 +.method public getColumnNames()[Ljava/lang/String;
13024 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13026 + if-eqz v0, :cond_b
13028 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13030 + invoke-interface {v0}, Landroid/database/Cursor;->getColumnNames()[Ljava/lang/String;
13032 + move-result-object v0
13040 + new-array v0, v0, [Ljava/lang/String;
13044 + const-string v2, ""
13046 + aput-object v2, v0, v1
13051 +.method public getCount()I
13054 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13056 + if-eqz v0, :cond_23
13058 + const-string v0, "PrivacyCursor"
13060 + new-instance v1, Ljava/lang/StringBuilder;
13062 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
13064 + const-string v2, "getCount: "
13066 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13068 + move-result-object v1
13070 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13072 + array-length v2, v2
13074 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
13076 + move-result-object v1
13078 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
13080 + move-result-object v1
13082 + invoke-static {v0, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
13084 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13086 + array-length v0, v0
13097 +.method public getDouble(I)D
13100 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13102 + if-eqz v0, :cond_b
13104 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13106 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getDouble(I)D
13108 + move-result-wide v0
13114 + const-wide/16 v0, 0x0
13119 +.method public getExtras()Landroid/os/Bundle;
13122 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13124 + if-eqz v0, :cond_b
13126 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13128 + invoke-interface {v0}, Landroid/database/Cursor;->getExtras()Landroid/os/Bundle;
13130 + move-result-object v0
13136 + new-instance v0, Landroid/os/Bundle;
13138 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
13143 +.method public getFloat(I)F
13146 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13148 + if-eqz v0, :cond_b
13150 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13152 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getFloat(I)F
13165 +.method public getInt(I)I
13168 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13170 + if-eqz v1, :cond_b
13172 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13174 + invoke-interface {v1, p1}, Landroid/database/Cursor;->getInt(I)I
13187 +.method public getLong(I)J
13190 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13192 + if-eqz v0, :cond_b
13194 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13196 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getLong(I)J
13198 + move-result-wide v0
13204 + const-wide/16 v0, 0x0
13209 +.method public getPosition()I
13212 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13214 + if-eqz v1, :cond_37
13216 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13218 + invoke-interface {v1}, Landroid/database/Cursor;->getPosition()I
13222 + invoke-direct {p0, v1}, Landroid/privacy/surrogate/PrivacyCursor;->getMappedPos(I)I
13226 + const-string v1, "PrivacyCursor"
13228 + new-instance v2, Ljava/lang/StringBuilder;
13230 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
13232 + const-string v3, "getPosition - mapped position: "
13234 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13236 + move-result-object v2
13238 + invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
13240 + move-result-object v2
13242 + const-string v3, " real position: "
13244 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13246 + move-result-object v2
13248 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13250 + invoke-interface {v3}, Landroid/database/Cursor;->getPosition()I
13254 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
13256 + move-result-object v2
13258 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
13260 + move-result-object v2
13262 + invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
13273 +.method public getShort(I)S
13276 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13278 + if-eqz v0, :cond_b
13280 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13282 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getShort(I)S
13295 +.method public getString(I)Ljava/lang/String;
13298 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13300 + if-eqz v0, :cond_b
13302 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13304 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
13306 + move-result-object v0
13312 + const-string v0, ""
13317 +.method public getType(I)I
13320 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13322 + if-eqz v0, :cond_b
13324 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13326 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getType(I)I
13334 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13341 +.method public getWantsAllOnMoveCalls()Z
13344 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13346 + if-eqz v0, :cond_b
13348 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13350 + invoke-interface {v0}, Landroid/database/Cursor;->getWantsAllOnMoveCalls()Z
13363 +.method public isAfterLast()Z
13366 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13368 + if-eqz v0, :cond_b
13370 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13372 + invoke-interface {v0}, Landroid/database/Cursor;->isAfterLast()Z
13385 +.method public isBeforeFirst()Z
13388 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13390 + if-eqz v0, :cond_b
13392 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13394 + invoke-interface {v0}, Landroid/database/Cursor;->isBeforeFirst()Z
13407 +.method public isClosed()Z
13410 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13412 + if-eqz v0, :cond_b
13414 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13416 + invoke-interface {v0}, Landroid/database/Cursor;->isClosed()Z
13429 +.method public isFirst()Z
13434 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13436 + if-eqz v1, :cond_12
13438 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13440 + invoke-interface {v1}, Landroid/database/Cursor;->getPosition()I
13444 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13448 + if-ne v1, v2, :cond_12
13456 +.method public isLast()Z
13459 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13461 + if-eqz v0, :cond_17
13463 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13465 + invoke-interface {v0}, Landroid/database/Cursor;->getPosition()I
13469 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13471 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13473 + array-length v2, v2
13475 + add-int/lit8 v2, v2, -0x1
13479 + if-ne v0, v1, :cond_17
13492 +.method public isNull(I)Z
13495 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13497 + if-eqz v0, :cond_b
13499 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13501 + invoke-interface {v0, p1}, Landroid/database/Cursor;->isNull(I)Z
13514 +.method public move(I)Z
13519 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13521 + if-eqz v3, :cond_33
13523 + const-string v3, "PrivacyCursor"
13525 + new-instance v4, Ljava/lang/StringBuilder;
13527 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
13529 + const-string/jumbo v5, "move - offset: "
13531 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13533 + move-result-object v4
13535 + invoke-virtual {v4, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
13537 + move-result-object v4
13539 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
13541 + move-result-object v4
13543 + invoke-static {v3, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
13546 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13548 + iget-object v4, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13550 + invoke-interface {v4}, Landroid/database/Cursor;->getPosition()I
13554 + invoke-direct {p0, v4}, Landroid/privacy/surrogate/PrivacyCursor;->getMappedPos(I)I
13558 + add-int/2addr v4, p1
13562 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13564 + invoke-interface {v3, v1}, Landroid/database/Cursor;->moveToPosition(I)Z
13566 + .catch Ljava/lang/ArrayIndexOutOfBoundsException; {:try_start_1e .. :try_end_32} :catch_34
13575 + move-exception v0
13580 +.method public moveToFirst()Z
13585 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13587 + if-eqz v1, :cond_f
13589 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13591 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13595 + invoke-interface {v1, v2}, Landroid/database/Cursor;->moveToPosition(I)Z
13603 +.method public moveToLast()Z
13606 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13608 + if-eqz v1, :cond_14
13610 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13612 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13614 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13616 + array-length v3, v3
13618 + add-int/lit8 v3, v3, -0x1
13622 + invoke-interface {v1, v2}, Landroid/database/Cursor;->moveToPosition(I)Z
13635 +.method public moveToNext()Z
13640 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13642 + if-eqz v1, :cond_d
13644 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13646 + invoke-interface {v1}, Landroid/database/Cursor;->moveToNext()Z
13650 + if-nez v1, :cond_e
13661 + if-ne v0, v1, :cond_d
13663 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13665 + invoke-direct {p0, v1}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(Landroid/database/Cursor;)Z
13669 + if-nez v1, :cond_d
13671 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13673 + invoke-interface {v1}, Landroid/database/Cursor;->moveToNext()Z
13680 +.method public moveToPosition(I)Z
13685 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13687 + if-eqz v2, :cond_f
13690 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13692 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13696 + invoke-interface {v2, v3}, Landroid/database/Cursor;->moveToPosition(I)Z
13698 + .catch Ljava/lang/ArrayIndexOutOfBoundsException; {:try_start_5 .. :try_end_e} :catch_10
13707 + move-exception v0
13712 +.method public moveToPrevious()Z
13717 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13719 + if-eqz v1, :cond_d
13721 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13723 + invoke-interface {v1}, Landroid/database/Cursor;->moveToPrevious()Z
13727 + if-nez v1, :cond_e
13738 + if-ne v0, v1, :cond_d
13740 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13742 + invoke-direct {p0, v1}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(Landroid/database/Cursor;)Z
13746 + if-nez v1, :cond_d
13748 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13750 + invoke-interface {v1}, Landroid/database/Cursor;->moveToPrevious()Z
13757 +.method public registerContentObserver(Landroid/database/ContentObserver;)V
13760 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13762 + if-eqz v0, :cond_9
13764 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13766 + invoke-interface {v0, p1}, Landroid/database/Cursor;->registerContentObserver(Landroid/database/ContentObserver;)V
13772 +.method public registerDataSetObserver(Landroid/database/DataSetObserver;)V
13775 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13777 + if-eqz v0, :cond_9
13779 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13781 + invoke-interface {v0, p1}, Landroid/database/Cursor;->registerDataSetObserver(Landroid/database/DataSetObserver;)V
13787 +.method public requery()Z
13790 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13792 + if-eqz v0, :cond_b
13794 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13796 + invoke-interface {v0}, Landroid/database/Cursor;->requery()Z
13809 +.method public respond(Landroid/os/Bundle;)Landroid/os/Bundle;
13812 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13814 + if-eqz v0, :cond_b
13816 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13818 + invoke-interface {v0, p1}, Landroid/database/Cursor;->respond(Landroid/os/Bundle;)Landroid/os/Bundle;
13820 + move-result-object v0
13826 + new-instance v0, Landroid/os/Bundle;
13828 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
13833 +.method public setNotificationUri(Landroid/content/ContentResolver;Landroid/net/Uri;)V
13836 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13838 + if-eqz v0, :cond_9
13840 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13842 + invoke-interface {v0, p1, p2}, Landroid/database/Cursor;->setNotificationUri(Landroid/content/ContentResolver;Landroid/net/Uri;)V
13848 +.method public unregisterContentObserver(Landroid/database/ContentObserver;)V
13851 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13853 + if-eqz v0, :cond_9
13855 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13857 + invoke-interface {v0, p1}, Landroid/database/Cursor;->unregisterContentObserver(Landroid/database/ContentObserver;)V
13863 +.method public unregisterDataSetObserver(Landroid/database/DataSetObserver;)V
13866 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13868 + if-eqz v0, :cond_9
13870 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13872 + invoke-interface {v0, p1}, Landroid/database/Cursor;->unregisterDataSetObserver(Landroid/database/DataSetObserver;)V
13877 diff -NpruEbB stock_framework/smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali moded_framework/smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali
13878 --- stock_framework/smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali 1969-12-31 16:00:00.000000000 -0800
13879 +++ moded_framework/smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali 2012-09-13 08:58:54.588404003 -0700
13881 +.class Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
13882 +.super Ljava/lang/Thread;
13883 +.source "PrivacyLocationManager.java"
13887 +.annotation system Ldalvik/annotation/EnclosingClass;
13888 + value = Landroid/privacy/surrogate/PrivacyLocationManager;
13891 +.annotation system Ldalvik/annotation/InnerClass;
13892 + accessFlags = 0x2
13893 + name = "PrivacyLocationUpdater"
13898 +.field private intent:Landroid/app/PendingIntent;
13900 +.field private latitude:D
13902 +.field private listener:Landroid/location/LocationListener;
13904 +.field private longitude:D
13906 +.field private provider:Ljava/lang/String;
13908 +.field final synthetic this$0:Landroid/privacy/surrogate/PrivacyLocationManager;
13912 +.method public constructor <init>(Landroid/privacy/surrogate/PrivacyLocationManager;Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;DD)V
13915 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->this$0:Landroid/privacy/surrogate/PrivacyLocationManager;
13917 + invoke-direct {p0}, Ljava/lang/Thread;-><init>()V
13919 + iput-object p2, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->provider:Ljava/lang/String;
13921 + iput-object p3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->listener:Landroid/location/LocationListener;
13923 + iput-object p4, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->intent:Landroid/app/PendingIntent;
13925 + iput-wide p5, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->latitude:D
13927 + iput-wide p7, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->longitude:D
13934 +.method public run()V
13937 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->provider:Ljava/lang/String;
13939 + if-eqz v3, :cond_43
13941 + new-instance v2, Landroid/location/Location;
13943 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->provider:Ljava/lang/String;
13945 + invoke-direct {v2, v3}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
13947 + iget-wide v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->latitude:D
13949 + invoke-virtual {v2, v3, v4}, Landroid/location/Location;->setLatitude(D)V
13951 + iget-wide v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->longitude:D
13953 + invoke-virtual {v2, v3, v4}, Landroid/location/Location;->setLongitude(D)V
13960 + if-ge v1, v3, :cond_43
13962 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->listener:Landroid/location/LocationListener;
13964 + if-eqz v3, :cond_34
13966 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->listener:Landroid/location/LocationListener;
13968 + invoke-interface {v3, v2}, Landroid/location/LocationListener;->onLocationChanged(Landroid/location/Location;)V
13973 + invoke-static {}, Ljava/lang/Math;->random()D
13975 + move-result-wide v3
13977 + const-wide v5, 0x408f400000000000L
13979 + mul-double/2addr v3, v5
13981 + double-to-int v3, v3
13983 + int-to-long v3, v3
13985 + invoke-static {v3, v4}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->sleep(J)V
13987 + .catch Ljava/lang/InterruptedException; {:try_start_22 .. :try_end_31} :catch_3e
13990 + add-int/lit8 v1, v1, 0x1
13995 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->intent:Landroid/app/PendingIntent;
13997 + if-eqz v3, :cond_22
13999 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->intent:Landroid/app/PendingIntent;
14001 + invoke-virtual {v3}, Landroid/app/PendingIntent;->cancel()V
14006 + move-exception v0
14008 + invoke-virtual {v0}, Ljava/lang/InterruptedException;->printStackTrace()V
14015 diff -NpruEbB stock_framework/smali/android/privacy/surrogate/PrivacyLocationManager.smali moded_framework/smali/android/privacy/surrogate/PrivacyLocationManager.smali
14016 --- stock_framework/smali/android/privacy/surrogate/PrivacyLocationManager.smali 1969-12-31 16:00:00.000000000 -0800
14017 +++ moded_framework/smali/android/privacy/surrogate/PrivacyLocationManager.smali 2012-09-13 08:58:54.590404482 -0700
14019 +.class public final Landroid/privacy/surrogate/PrivacyLocationManager;
14020 +.super Landroid/location/LocationManager;
14021 +.source "PrivacyLocationManager.java"
14025 +.annotation system Ldalvik/annotation/MemberClasses;
14027 + Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
14033 +.field private static final CUSTOM_LOCATION_UPDATE_COUNT:I = 0x5
14035 +.field private static final TAG:Ljava/lang/String; = "PrivacyLocationManager"
14039 +.field private context:Landroid/content/Context;
14041 +.field private lock:Ljava/lang/Object;
14043 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
14047 +.method public constructor <init>(Landroid/location/ILocationManager;Landroid/content/Context;)V
14050 + invoke-direct {p0, p1}, Landroid/location/LocationManager;-><init>(Landroid/location/ILocationManager;)V
14052 + new-instance v0, Ljava/lang/Object;
14054 + invoke-direct {v0}, Ljava/lang/Object;-><init>()V
14056 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->lock:Ljava/lang/Object;
14058 + iput-object p2, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
14060 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
14062 + const-string/jumbo v1, "privacy"
14064 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
14066 + move-result-object v1
14068 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
14070 + move-result-object v1
14072 + invoke-direct {v0, p2, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
14074 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14079 +.method private requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
14084 + if-nez p1, :cond_5
14092 + invoke-virtual {p1}, Landroid/location/Criteria;->getAccuracy()I
14098 + if-eq v0, v1, :cond_24
14100 + invoke-virtual {p1}, Landroid/location/Criteria;->getBearingAccuracy()I
14104 + if-eq v0, v2, :cond_24
14106 + invoke-virtual {p1}, Landroid/location/Criteria;->getHorizontalAccuracy()I
14110 + if-eq v0, v2, :cond_24
14112 + invoke-virtual {p1}, Landroid/location/Criteria;->getVerticalAccuracy()I
14116 + if-eq v0, v2, :cond_24
14118 + invoke-virtual {p1}, Landroid/location/Criteria;->getSpeedAccuracy()I
14122 + if-ne v0, v2, :cond_2b
14125 + const-string v0, "gps"
14127 + invoke-direct {p0, v0, p2, p3}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
14134 + const-string/jumbo v0, "network"
14136 + invoke-direct {p0, v0, p2, p3}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
14143 +.method private requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
14146 + move-object/from16 v0, p0
14148 + iget-object v0, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->lock:Ljava/lang/Object;
14150 + move-object/from16 v19, v0
14152 + monitor-enter v19
14155 + move-object/from16 v0, p0
14157 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
14159 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
14161 + move-result-object v2
14163 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
14167 + move-object/from16 v0, p0
14169 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14171 + invoke-virtual {v1, v2, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
14173 + move-result-object v7
14175 + const/16 v18, 0x0
14177 + if-eqz v7, :cond_239
14179 + const-string v1, "gps"
14181 + move-object/from16 v0, p1
14183 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
14187 + if-eqz v1, :cond_111
14189 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
14193 + packed-switch v1, :pswitch_data_25e
14202 + move-object/from16 v0, p0
14204 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14208 + const-string v5, "locationGPS"
14212 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14217 + move-exception v1
14221 + .catchall {:try_start_7 .. :try_end_40} :catchall_3e
14226 + if-eqz p3, :cond_46
14229 + invoke-virtual/range {p3 .. p3}, Landroid/app/PendingIntent;->cancel()V
14232 + const/16 v18, 0x1
14234 + move-object/from16 v0, p0
14236 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14240 + const-string v5, "locationGPS"
14244 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14246 + .catchall {:try_start_43 .. :try_end_53} :catchall_3e
14252 + new-instance v8, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
14254 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
14256 + move-result-object v1
14258 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14260 + move-result-wide v13
14262 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
14264 + move-result-object v1
14266 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14268 + move-result-wide v15
14270 + move-object/from16 v9, p0
14272 + move-object/from16 v10, p1
14274 + move-object/from16 v11, p2
14276 + move-object/from16 v12, p3
14278 + 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
14280 + invoke-virtual {v8}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->start()V
14282 + .catchall {:try_start_54 .. :try_end_74} :catchall_3e
14283 + .catch Ljava/lang/NumberFormatException; {:try_start_54 .. :try_end_74} :catch_a6
14285 + const/16 v18, 0x1
14289 + move-object/from16 v0, p0
14291 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14295 + const-string v5, "locationGPS"
14297 + new-instance v6, Ljava/lang/StringBuilder;
14299 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
14301 + const-string v8, "Lat: "
14303 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14305 + move-result-object v6
14307 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
14309 + move-result-object v8
14311 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14313 + move-result-object v6
14315 + const-string v8, " Lon: "
14317 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14319 + move-result-object v6
14321 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
14323 + move-result-object v8
14325 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14327 + move-result-object v6
14329 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14331 + move-result-object v6
14333 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14338 + move-exception v17
14340 + const-string v1, "PrivacyLocationManager"
14342 + const-string/jumbo v4, "requestLocationUpdates: invalid coordinates"
14344 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
14346 + .catchall {:try_start_76 .. :try_end_af} :catchall_3e
14348 + const/16 v18, 0x1
14354 + new-instance v8, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
14356 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
14358 + move-result-object v1
14360 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14362 + move-result-wide v13
14364 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
14366 + move-result-object v1
14368 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14370 + move-result-wide v15
14372 + move-object/from16 v9, p0
14374 + move-object/from16 v10, p1
14376 + move-object/from16 v11, p2
14378 + move-object/from16 v12, p3
14380 + 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
14382 + invoke-virtual {v8}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->start()V
14384 + .catchall {:try_start_b2 .. :try_end_d2} :catchall_3e
14385 + .catch Ljava/lang/NumberFormatException; {:try_start_b2 .. :try_end_d2} :catch_105
14387 + const/16 v18, 0x1
14391 + move-object/from16 v0, p0
14393 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14397 + const-string v5, "locationGPS"
14399 + new-instance v6, Ljava/lang/StringBuilder;
14401 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
14403 + const-string v8, "Lat: "
14405 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14407 + move-result-object v6
14409 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
14411 + move-result-object v8
14413 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14415 + move-result-object v6
14417 + const-string v8, " Lon: "
14419 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14421 + move-result-object v6
14423 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
14425 + move-result-object v8
14427 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14429 + move-result-object v6
14431 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14433 + move-result-object v6
14435 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14440 + move-exception v17
14442 + const-string v1, "PrivacyLocationManager"
14444 + const-string/jumbo v4, "requestLocationUpdates: invalid coordinates"
14446 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
14448 + const/16 v18, 0x1
14453 + const-string/jumbo v1, "network"
14455 + move-object/from16 v0, p1
14457 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
14461 + if-eqz v1, :cond_204
14463 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
14467 + packed-switch v1, :pswitch_data_26a
14472 + move-object/from16 v0, p0
14474 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14478 + const-string v5, "locationNetwork"
14482 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14487 + if-eqz p3, :cond_137
14489 + invoke-virtual/range {p3 .. p3}, Landroid/app/PendingIntent;->cancel()V
14492 + const/16 v18, 0x1
14494 + move-object/from16 v0, p0
14496 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14500 + const-string v5, "locationNetwork"
14504 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14506 + .catchall {:try_start_d4 .. :try_end_144} :catchall_3e
14512 + new-instance v8, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
14514 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
14516 + move-result-object v1
14518 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14520 + move-result-wide v13
14522 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
14524 + move-result-object v1
14526 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14528 + move-result-wide v15
14530 + move-object/from16 v9, p0
14532 + move-object/from16 v10, p1
14534 + move-object/from16 v11, p2
14536 + move-object/from16 v12, p3
14538 + 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
14540 + invoke-virtual {v8}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->start()V
14542 + .catchall {:try_start_146 .. :try_end_166} :catchall_3e
14543 + .catch Ljava/lang/NumberFormatException; {:try_start_146 .. :try_end_166} :catch_199
14545 + const/16 v18, 0x1
14549 + move-object/from16 v0, p0
14551 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14555 + const-string v5, "locationNetwork"
14557 + new-instance v6, Ljava/lang/StringBuilder;
14559 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
14561 + const-string v8, "Lat: "
14563 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14565 + move-result-object v6
14567 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
14569 + move-result-object v8
14571 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14573 + move-result-object v6
14575 + const-string v8, " Lon: "
14577 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14579 + move-result-object v6
14581 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
14583 + move-result-object v8
14585 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14587 + move-result-object v6
14589 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14591 + move-result-object v6
14593 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14598 + move-exception v17
14600 + const-string v1, "PrivacyLocationManager"
14602 + const-string/jumbo v4, "requestLocationUpdates: invalid coordinates"
14604 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
14606 + .catchall {:try_start_168 .. :try_end_1a2} :catchall_3e
14608 + const/16 v18, 0x1
14614 + new-instance v8, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
14616 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
14618 + move-result-object v1
14620 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14622 + move-result-wide v13
14624 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
14626 + move-result-object v1
14628 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14630 + move-result-wide v15
14632 + move-object/from16 v9, p0
14634 + move-object/from16 v10, p1
14636 + move-object/from16 v11, p2
14638 + move-object/from16 v12, p3
14640 + 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
14642 + invoke-virtual {v8}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->start()V
14644 + .catchall {:try_start_1a5 .. :try_end_1c5} :catchall_3e
14645 + .catch Ljava/lang/NumberFormatException; {:try_start_1a5 .. :try_end_1c5} :catch_1f8
14647 + const/16 v18, 0x1
14651 + move-object/from16 v0, p0
14653 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14657 + const-string v5, "locationNetwork"
14659 + new-instance v6, Ljava/lang/StringBuilder;
14661 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
14663 + const-string v8, "Lat: "
14665 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14667 + move-result-object v6
14669 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
14671 + move-result-object v8
14673 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14675 + move-result-object v6
14677 + const-string v8, " Lon: "
14679 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14681 + move-result-object v6
14683 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
14685 + move-result-object v8
14687 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14689 + move-result-object v6
14691 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14693 + move-result-object v6
14695 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14700 + move-exception v17
14702 + const-string v1, "PrivacyLocationManager"
14704 + const-string/jumbo v4, "requestLocationUpdates: invalid coordinates"
14706 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
14708 + const/16 v18, 0x1
14713 + const-string/jumbo v1, "passive"
14715 + move-object/from16 v0, p1
14717 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
14721 + if-eqz v1, :cond_30
14723 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
14727 + if-nez v1, :cond_22a
14729 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
14733 + if-nez v1, :cond_22a
14735 + const/16 v18, 0x0
14737 + move-object/from16 v0, p0
14739 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14743 + const-string v5, "locationGPS"
14747 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14752 + const/16 v18, 0x1
14754 + move-object/from16 v0, p0
14756 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14760 + const-string v5, "locationGPS"
14764 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14769 + const-string/jumbo v1, "network"
14771 + move-object/from16 v0, p1
14773 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
14777 + if-eqz v1, :cond_251
14779 + move-object/from16 v0, p0
14781 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14785 + const-string v5, "locationNetwork"
14789 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14794 + move-object/from16 v0, p0
14796 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14800 + const-string v5, "locationGPS"
14804 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14806 + .catchall {:try_start_1c7 .. :try_end_25c} :catchall_3e
14810 + :pswitch_data_25e
14811 + .packed-switch 0x0
14816 + .end packed-switch
14818 + :pswitch_data_26a
14819 + .packed-switch 0x0
14824 + .end packed-switch
14829 +.method public addNmeaListener(Landroid/location/GpsStatus$NmeaListener;)Z
14836 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
14838 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
14840 + move-result-object v1
14842 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
14846 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14848 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
14850 + move-result-object v6
14852 + if-eqz v6, :cond_24
14854 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
14858 + if-eqz v0, :cond_24
14860 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14864 + const-string v4, "locationGPS"
14866 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14874 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14876 + const-string v4, "locationGPS"
14880 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14882 + invoke-super {p0, p1}, Landroid/location/LocationManager;->addNmeaListener(Landroid/location/GpsStatus$NmeaListener;)Z
14889 +.method public getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
14902 + if-nez p1, :cond_c
14904 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
14906 + move-result-object v7
14913 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
14915 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
14917 + move-result-object v1
14919 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
14923 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14925 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
14927 + move-result-object v6
14931 + if-eqz v6, :cond_22c
14933 + const-string v0, "gps"
14935 + invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
14939 + if-eqz v0, :cond_ff
14941 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
14945 + packed-switch v0, :pswitch_data_29a
14950 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
14952 + move-result-object v7
14954 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14956 + const-string v4, "locationGPS"
14958 + if-eqz v7, :cond_5e
14960 + new-instance v5, Ljava/lang/StringBuilder;
14962 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
14964 + const-string v8, "Lat: "
14966 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14968 + move-result-object v5
14970 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
14972 + move-result-wide v8
14974 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
14976 + move-result-object v5
14978 + const-string v8, " Lon: "
14980 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14982 + move-result-object v5
14984 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
14986 + move-result-wide v8
14988 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
14990 + move-result-object v5
14992 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14994 + move-result-object v5
14997 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15002 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15004 + const-string v4, "locationGPS"
15008 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15013 + new-instance v7, Landroid/location/Location;
15015 + invoke-direct {v7, p1}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
15017 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
15019 + move-result-object v0
15021 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
15023 + move-result-wide v3
15025 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLatitude(D)V
15027 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
15029 + move-result-object v0
15031 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
15033 + move-result-wide v3
15035 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLongitude(D)V
15037 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15039 + const-string v4, "locationGPS"
15041 + new-instance v3, Ljava/lang/StringBuilder;
15043 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
15045 + const-string v5, "Lat: "
15047 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15049 + move-result-object v3
15051 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15053 + move-result-wide v8
15055 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15057 + move-result-object v3
15059 + const-string v5, " Lon: "
15061 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15063 + move-result-object v3
15065 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15067 + move-result-wide v8
15069 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15071 + move-result-object v3
15073 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15075 + move-result-object v5
15079 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15084 + new-instance v7, Landroid/location/Location;
15086 + invoke-direct {v7, p1}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
15088 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
15090 + move-result-object v0
15092 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
15094 + move-result-wide v3
15096 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLatitude(D)V
15098 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
15100 + move-result-object v0
15102 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
15104 + move-result-wide v3
15106 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLongitude(D)V
15108 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15110 + const-string v4, "locationGPS"
15112 + new-instance v3, Ljava/lang/StringBuilder;
15114 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
15116 + const-string v5, "Lat: "
15118 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15120 + move-result-object v3
15122 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15124 + move-result-wide v8
15126 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15128 + move-result-object v3
15130 + const-string v5, " Lon: "
15132 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15134 + move-result-object v3
15136 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15138 + move-result-wide v8
15140 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15142 + move-result-object v3
15144 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15146 + move-result-object v5
15150 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15155 + const-string/jumbo v0, "network"
15157 + invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15161 + if-eqz v0, :cond_1e3
15163 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15167 + packed-switch v0, :pswitch_data_2a6
15172 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
15174 + move-result-object v7
15176 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15178 + const-string v4, "locationNetwork"
15180 + if-eqz v7, :cond_140
15182 + new-instance v5, Ljava/lang/StringBuilder;
15184 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
15186 + const-string v8, "Lat: "
15188 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15190 + move-result-object v5
15192 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15194 + move-result-wide v8
15196 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15198 + move-result-object v5
15200 + const-string v8, " Lon: "
15202 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15204 + move-result-object v5
15206 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15208 + move-result-wide v8
15210 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15212 + move-result-object v5
15214 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15216 + move-result-object v5
15219 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15224 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15226 + const-string v4, "locationNetwork"
15230 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15235 + new-instance v7, Landroid/location/Location;
15237 + invoke-direct {v7, p1}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
15239 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
15241 + move-result-object v0
15243 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
15245 + move-result-wide v3
15247 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLatitude(D)V
15249 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
15251 + move-result-object v0
15253 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
15255 + move-result-wide v3
15257 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLongitude(D)V
15259 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15261 + const-string v4, "locationNetwork"
15263 + new-instance v3, Ljava/lang/StringBuilder;
15265 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
15267 + const-string v5, "Lat: "
15269 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15271 + move-result-object v3
15273 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15275 + move-result-wide v8
15277 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15279 + move-result-object v3
15281 + const-string v5, " Lon: "
15283 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15285 + move-result-object v3
15287 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15289 + move-result-wide v8
15291 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15293 + move-result-object v3
15295 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15297 + move-result-object v5
15301 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15306 + new-instance v7, Landroid/location/Location;
15308 + invoke-direct {v7, p1}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
15310 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
15312 + move-result-object v0
15314 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
15316 + move-result-wide v3
15318 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLatitude(D)V
15320 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
15322 + move-result-object v0
15324 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
15326 + move-result-wide v3
15328 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLongitude(D)V
15330 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15332 + const-string v4, "locationNetwork"
15334 + new-instance v3, Ljava/lang/StringBuilder;
15336 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
15338 + const-string v5, "Lat: "
15340 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15342 + move-result-object v3
15344 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15346 + move-result-wide v8
15348 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15350 + move-result-object v3
15352 + const-string v5, " Lon: "
15354 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15356 + move-result-object v3
15358 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15360 + move-result-wide v8
15362 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15364 + move-result-object v3
15366 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15368 + move-result-object v5
15372 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15377 + const-string/jumbo v0, "passive"
15379 + invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15383 + if-eqz v0, :cond_b
15385 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
15389 + if-nez v0, :cond_b
15391 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15395 + if-nez v0, :cond_b
15397 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
15399 + move-result-object v7
15401 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15403 + const-string v4, "locationGPS"
15405 + if-eqz v7, :cond_227
15407 + new-instance v5, Ljava/lang/StringBuilder;
15409 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
15411 + const-string v8, "Lat: "
15413 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15415 + move-result-object v5
15417 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15419 + move-result-wide v8
15421 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15423 + move-result-object v5
15425 + const-string v8, " Lon: "
15427 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15429 + move-result-object v5
15431 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15433 + move-result-wide v8
15435 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15437 + move-result-object v5
15439 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15441 + move-result-object v5
15444 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15449 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
15451 + move-result-object v7
15453 + const-string/jumbo v0, "network"
15455 + invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15459 + if-eqz v0, :cond_269
15461 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15463 + const-string v4, "locationNetwork"
15465 + if-eqz v7, :cond_264
15467 + new-instance v5, Ljava/lang/StringBuilder;
15469 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
15471 + const-string v8, "Lat: "
15473 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15475 + move-result-object v5
15477 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15479 + move-result-wide v8
15481 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15483 + move-result-object v5
15485 + const-string v8, " Lon: "
15487 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15489 + move-result-object v5
15491 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15493 + move-result-wide v8
15495 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15497 + move-result-object v5
15499 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15501 + move-result-object v5
15504 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15509 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15511 + const-string v4, "locationGPS"
15513 + if-eqz v7, :cond_294
15515 + new-instance v5, Ljava/lang/StringBuilder;
15517 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
15519 + const-string v8, "Lat: "
15521 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15523 + move-result-object v5
15525 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15527 + move-result-wide v8
15529 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15531 + move-result-object v5
15533 + const-string v8, " Lon: "
15535 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15537 + move-result-object v5
15539 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15541 + move-result-wide v8
15543 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15545 + move-result-object v5
15547 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15549 + move-result-object v5
15552 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15558 + :pswitch_data_29a
15559 + .packed-switch 0x0
15564 + .end packed-switch
15566 + :pswitch_data_2a6
15567 + .packed-switch 0x0
15572 + .end packed-switch
15575 +.method public getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15578 + if-nez p1, :cond_7
15580 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15582 + move-result-object v0
15589 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15591 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
15593 + invoke-virtual {v3}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
15595 + move-result-object v3
15597 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
15601 + invoke-virtual {v2, v3, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
15603 + move-result-object v1
15607 + if-eqz v1, :cond_5f
15609 + const-string v2, "gps"
15611 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15615 + if-eqz v2, :cond_2f
15617 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
15621 + packed-switch v2, :pswitch_data_64
15627 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15629 + move-result-object v0
15634 + const-string/jumbo v2, "network"
15636 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15640 + if-eqz v2, :cond_45
15642 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15646 + packed-switch v2, :pswitch_data_70
15652 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15654 + move-result-object v0
15659 + const-string/jumbo v2, "passive"
15661 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15665 + if-eqz v2, :cond_6
15667 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
15671 + if-eqz v2, :cond_5a
15673 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15677 + if-nez v2, :cond_6
15680 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15682 + move-result-object v0
15687 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15689 + move-result-object v0
15694 + .packed-switch 0x0
15699 + .end packed-switch
15702 + .packed-switch 0x0
15707 + .end packed-switch
15710 +.method public isProviderEnabled(Ljava/lang/String;)Z
15713 + if-nez p1, :cond_7
15715 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
15725 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15727 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
15729 + invoke-virtual {v3}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
15731 + move-result-object v3
15733 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
15737 + invoke-virtual {v2, v3, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
15739 + move-result-object v1
15743 + if-eqz v1, :cond_65
15745 + const-string v2, "gps"
15747 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15751 + if-eqz v2, :cond_31
15753 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
15757 + packed-switch v2, :pswitch_data_6a
15762 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
15774 + const-string/jumbo v2, "network"
15776 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15780 + if-eqz v2, :cond_49
15782 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15786 + packed-switch v2, :pswitch_data_76
15791 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
15803 + const-string/jumbo v2, "passive"
15805 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15809 + if-eqz v2, :cond_6
15811 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
15815 + if-eqz v2, :cond_5e
15817 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15821 + if-nez v2, :cond_63
15824 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
15836 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
15843 + .packed-switch 0x0
15848 + .end packed-switch
15851 + .packed-switch 0x0
15856 + .end packed-switch
15859 +.method public requestLocationUpdates(JFLandroid/location/Criteria;Landroid/app/PendingIntent;)V
15862 + if-eqz p4, :cond_4
15864 + if-nez p5, :cond_8
15867 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/app/PendingIntent;)V
15876 + invoke-direct {p0, p4, v0, p5}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15880 + if-nez v0, :cond_7
15882 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/app/PendingIntent;)V
15887 +.method public requestLocationUpdates(JFLandroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
15890 + if-eqz p4, :cond_4
15892 + if-nez p5, :cond_8
15895 + invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
15904 + invoke-direct {p0, p4, p5, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15908 + if-nez v0, :cond_7
15910 + invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
15915 +.method public requestLocationUpdates(Ljava/lang/String;JFLandroid/app/PendingIntent;)V
15918 + if-eqz p1, :cond_4
15920 + if-nez p5, :cond_8
15923 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/app/PendingIntent;)V
15932 + invoke-direct {p0, p1, v0, p5}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15936 + if-nez v0, :cond_7
15938 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/app/PendingIntent;)V
15943 +.method public requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;)V
15946 + if-eqz p1, :cond_4
15948 + if-nez p5, :cond_8
15951 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;)V
15960 + invoke-direct {p0, p1, p5, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15964 + if-nez v0, :cond_7
15966 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;)V
15971 +.method public requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;Landroid/os/Looper;)V
15974 + if-eqz p1, :cond_4
15976 + if-nez p5, :cond_8
15979 + invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;Landroid/os/Looper;)V
15988 + invoke-direct {p0, p1, p5, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15992 + if-nez v0, :cond_7
15994 + invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;Landroid/os/Looper;)V
15999 +.method public requestSingleUpdate(Landroid/location/Criteria;Landroid/app/PendingIntent;)V
16002 + if-eqz p1, :cond_4
16004 + if-nez p2, :cond_8
16007 + invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/app/PendingIntent;)V
16016 + invoke-direct {p0, p1, v0, p2}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
16020 + if-nez v0, :cond_7
16022 + invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/app/PendingIntent;)V
16027 +.method public requestSingleUpdate(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
16030 + if-eqz p1, :cond_4
16032 + if-nez p2, :cond_8
16035 + invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
16044 + invoke-direct {p0, p1, p2, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
16048 + if-nez v0, :cond_7
16050 + invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
16055 +.method public requestSingleUpdate(Ljava/lang/String;Landroid/app/PendingIntent;)V
16058 + if-eqz p1, :cond_4
16060 + if-nez p2, :cond_8
16063 + invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/app/PendingIntent;)V
16072 + invoke-direct {p0, p1, v0, p2}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
16076 + if-nez v0, :cond_7
16078 + invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/app/PendingIntent;)V
16083 +.method public requestSingleUpdate(Ljava/lang/String;Landroid/location/LocationListener;Landroid/os/Looper;)V
16086 + if-eqz p1, :cond_4
16088 + if-nez p2, :cond_8
16091 + invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/location/LocationListener;Landroid/os/Looper;)V
16100 + invoke-direct {p0, p1, p2, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
16104 + if-nez v0, :cond_7
16106 + invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/location/LocationListener;Landroid/os/Looper;)V
16110 diff -NpruEbB stock_framework/smali/android/privacy/surrogate/PrivacyTelephonyManager.smali moded_framework/smali/android/privacy/surrogate/PrivacyTelephonyManager.smali
16111 --- stock_framework/smali/android/privacy/surrogate/PrivacyTelephonyManager.smali 1969-12-31 16:00:00.000000000 -0800
16112 +++ moded_framework/smali/android/privacy/surrogate/PrivacyTelephonyManager.smali 2012-09-13 08:58:54.612409736 -0700
16114 +.class public final Landroid/privacy/surrogate/PrivacyTelephonyManager;
16115 +.super Landroid/telephony/TelephonyManager;
16116 +.source "PrivacyTelephonyManager.java"
16120 +.field private static final TAG:Ljava/lang/String; = "PrivacyTelephonyManager"
16124 +.field private context:Landroid/content/Context;
16126 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
16130 +.method public constructor <init>(Landroid/content/Context;)V
16133 + invoke-direct {p0, p1}, Landroid/telephony/TelephonyManager;-><init>(Landroid/content/Context;)V
16135 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16137 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
16139 + const-string/jumbo v1, "privacy"
16141 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
16143 + move-result-object v1
16145 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
16147 + move-result-object v1
16149 + invoke-direct {v0, p1, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
16151 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16156 +.method private getNetworkInfo()Ljava/lang/String;
16161 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16163 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16165 + move-result-object v1
16167 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16171 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16173 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16175 + move-result-object v6
16177 + if-eqz v6, :cond_25
16179 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
16183 + if-eqz v0, :cond_25
16185 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16189 + const-string/jumbo v4, "networkInfoCurrent"
16191 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16193 + const-string v5, ""
16199 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16203 + const-string/jumbo v4, "networkInfoCurrent"
16205 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16210 +.method private getSimInfo()Ljava/lang/String;
16215 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16217 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16219 + move-result-object v1
16221 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16225 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16227 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16229 + move-result-object v6
16231 + if-eqz v6, :cond_25
16233 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSimInfoSetting()B
16237 + if-eqz v0, :cond_25
16239 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16243 + const-string/jumbo v4, "networkInfoSIM"
16245 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16247 + const-string v5, ""
16253 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16257 + const-string/jumbo v4, "networkInfoSIM"
16259 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16266 +.method public getDeviceId()Ljava/lang/String;
16269 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16271 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16273 + move-result-object v1
16275 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16279 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16281 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16283 + move-result-object v6
16285 + if-eqz v6, :cond_28
16287 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
16291 + if-eqz v0, :cond_28
16293 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceId()Ljava/lang/String;
16295 + move-result-object v5
16297 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16299 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
16303 + const-string v4, "deviceID"
16305 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16311 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getDeviceId()Ljava/lang/String;
16313 + move-result-object v5
16315 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16319 + const-string v4, "deviceID"
16321 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16326 +.method public getLine1Number()Ljava/lang/String;
16329 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16331 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16333 + move-result-object v1
16335 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16339 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16341 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16343 + move-result-object v6
16345 + if-eqz v6, :cond_28
16347 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
16351 + if-eqz v0, :cond_28
16353 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1Number()Ljava/lang/String;
16355 + move-result-object v5
16357 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16359 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
16363 + const-string v4, "line1Number"
16365 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16371 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getLine1Number()Ljava/lang/String;
16373 + move-result-object v5
16375 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16379 + const-string v4, "line1Number"
16381 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16386 +.method public getNeighboringCellInfo()Ljava/util/List;
16388 + .annotation system Ldalvik/annotation/Signature;
16391 + "Ljava/util/List",
16393 + "Landroid/telephony/NeighboringCellInfo;",
16398 + iget-object v6, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16400 + iget-object v7, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16402 + invoke-virtual {v7}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16404 + move-result-object v7
16406 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16410 + invoke-virtual {v6, v7, v8}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16412 + move-result-object v5
16416 + const-string v4, "[null]"
16418 + if-eqz v5, :cond_1c
16420 + invoke-virtual {v5}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
16426 + if-ne v6, v7, :cond_1d
16433 + invoke-virtual {v5}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
16437 + if-eqz v6, :cond_2b
16439 + new-instance v3, Ljava/util/ArrayList;
16441 + invoke-direct {v3}, Ljava/util/ArrayList;-><init>()V
16443 + const-string v4, "[empty list of cells]"
16448 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNeighboringCellInfo()Ljava/util/List;
16450 + move-result-object v3
16452 + const-string v0, ""
16454 + invoke-interface {v3}, Ljava/util/List;->iterator()Ljava/util/Iterator;
16456 + move-result-object v2
16459 + invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z
16463 + if-eqz v6, :cond_5f
16465 + invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
16467 + move-result-object v1
16469 + check-cast v1, Landroid/telephony/NeighboringCellInfo;
16471 + new-instance v6, Ljava/lang/StringBuilder;
16473 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
16475 + invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16477 + move-result-object v6
16479 + const-string v7, "\t"
16481 + invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16483 + move-result-object v6
16485 + invoke-virtual {v6, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
16487 + move-result-object v6
16489 + const-string v7, "\n"
16491 + invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16493 + move-result-object v6
16495 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
16497 + move-result-object v0
16502 + new-instance v6, Ljava/lang/StringBuilder;
16504 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
16506 + const-string v7, "[real value]:\n"
16508 + invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16510 + move-result-object v6
16512 + invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16514 + move-result-object v6
16516 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
16518 + move-result-object v4
16523 +.method public getNetworkCountryIso()Ljava/lang/String;
16526 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getNetworkInfo()Ljava/lang/String;
16528 + move-result-object v0
16530 + if-nez v0, :cond_a
16532 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNetworkCountryIso()Ljava/lang/String;
16534 + move-result-object v0
16540 +.method public getNetworkOperator()Ljava/lang/String;
16543 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getNetworkInfo()Ljava/lang/String;
16545 + move-result-object v0
16547 + if-nez v0, :cond_a
16549 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNetworkOperator()Ljava/lang/String;
16551 + move-result-object v0
16557 +.method public getNetworkOperatorName()Ljava/lang/String;
16560 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getNetworkInfo()Ljava/lang/String;
16562 + move-result-object v0
16564 + if-nez v0, :cond_a
16566 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNetworkOperatorName()Ljava/lang/String;
16568 + move-result-object v0
16574 +.method public getSimCountryIso()Ljava/lang/String;
16577 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getSimInfo()Ljava/lang/String;
16579 + move-result-object v0
16581 + if-nez v0, :cond_a
16583 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSimCountryIso()Ljava/lang/String;
16585 + move-result-object v0
16591 +.method public getSimOperator()Ljava/lang/String;
16594 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getSimInfo()Ljava/lang/String;
16596 + move-result-object v0
16598 + if-nez v0, :cond_a
16600 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSimOperator()Ljava/lang/String;
16602 + move-result-object v0
16608 +.method public getSimOperatorName()Ljava/lang/String;
16611 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getSimInfo()Ljava/lang/String;
16613 + move-result-object v0
16615 + if-nez v0, :cond_a
16617 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSimOperatorName()Ljava/lang/String;
16619 + move-result-object v0
16625 +.method public getSimSerialNumber()Ljava/lang/String;
16628 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16630 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16632 + move-result-object v1
16634 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16638 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16640 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16642 + move-result-object v6
16644 + if-eqz v6, :cond_29
16646 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSimSerialNumberSetting()B
16650 + if-eqz v0, :cond_29
16652 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSimSerialNumber()Ljava/lang/String;
16654 + move-result-object v5
16656 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16658 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSimSerialNumberSetting()B
16662 + const-string/jumbo v4, "simSerial"
16664 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16670 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSimSerialNumber()Ljava/lang/String;
16672 + move-result-object v5
16674 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16678 + const-string/jumbo v4, "simSerial"
16680 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16685 +.method public getSubscriberId()Ljava/lang/String;
16688 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16690 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16692 + move-result-object v1
16694 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16698 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16700 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16702 + move-result-object v6
16704 + if-eqz v6, :cond_29
16706 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberIdSetting()B
16710 + if-eqz v0, :cond_29
16712 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberId()Ljava/lang/String;
16714 + move-result-object v5
16716 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16718 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberIdSetting()B
16722 + const-string/jumbo v4, "subscriberID"
16724 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16730 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSubscriberId()Ljava/lang/String;
16732 + move-result-object v5
16734 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16738 + const-string/jumbo v4, "subscriberID"
16740 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16745 +.method public getVoiceMailNumber()Ljava/lang/String;
16748 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16750 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16752 + move-result-object v1
16754 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16758 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16760 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16762 + move-result-object v6
16764 + if-eqz v6, :cond_28
16766 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
16770 + if-eqz v0, :cond_28
16772 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1Number()Ljava/lang/String;
16774 + move-result-object v5
16776 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16778 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
16782 + const-string v4, "line1Number"
16784 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16790 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getVoiceMailNumber()Ljava/lang/String;
16792 + move-result-object v5
16794 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16798 + const-string v4, "line1Number"
16800 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16805 +.method public listen(Landroid/telephony/PhoneStateListener;I)V
16808 + and-int/lit8 v0, p2, 0x10
16810 + if-nez v0, :cond_8
16812 + and-int/lit8 v0, p2, 0x20
16814 + if-eqz v0, :cond_21
16817 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16819 + invoke-virtual {p1, v0}, Landroid/telephony/PhoneStateListener;->setContext(Landroid/content/Context;)V
16821 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16823 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16825 + move-result-object v0
16827 + invoke-virtual {p1, v0}, Landroid/telephony/PhoneStateListener;->setPackageName(Ljava/lang/String;)V
16829 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16833 + invoke-virtual {p1, v0}, Landroid/telephony/PhoneStateListener;->setUid(I)V
16835 + invoke-super {p0, p1, p2}, Landroid/telephony/TelephonyManager;->listen(Landroid/telephony/PhoneStateListener;I)V
16841 + invoke-super {p0, p1, p2}, Landroid/telephony/TelephonyManager;->listen(Landroid/telephony/PhoneStateListener;I)V
16845 diff -NpruEbB stock_framework/smali/android/telephony/PhoneStateListener$1.smali moded_framework/smali/android/telephony/PhoneStateListener$1.smali
16846 --- stock_framework/smali/android/telephony/PhoneStateListener$1.smali 2012-09-13 08:58:07.174075289 -0700
16847 +++ moded_framework/smali/android/telephony/PhoneStateListener$1.smali 2012-09-13 08:58:55.580641077 -0700
16848 @@ -64,23 +64,196 @@
16851 .method public onCallStateChanged(ILjava/lang/String;)V
16855 - iget-object v0, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16856 + move-object/from16 v0, p0
16858 - iget-object v0, v0, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
16859 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16861 - const/16 v1, 0x20
16862 + #getter for: Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
16863 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
16866 + move-result-object v3
16868 - invoke-static {v0, v1, p1, v2, p2}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
16869 + if-eqz v3, :cond_99
16871 - move-result-object v0
16872 + if-eqz p2, :cond_99
16874 - invoke-virtual {v0}, Landroid/os/Message;->sendToTarget()V
16875 + invoke-virtual/range {p2 .. p2}, Ljava/lang/String;->isEmpty()Z
16879 + if-nez v3, :cond_99
16881 + move-object/from16 v0, p0
16883 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16885 + #getter for: Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
16886 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
16888 + move-result-object v3
16890 + const-string/jumbo v4, "privacy"
16892 + invoke-virtual {v3, v4}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
16894 + move-result-object v2
16896 + check-cast v2, Landroid/privacy/PrivacySettingsManager;
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
16916 + invoke-virtual {v2, v3, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16918 + move-result-object v8
16920 + if-eqz v8, :cond_6a
16922 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getIncomingCallsSetting()B
16926 + if-eqz v3, :cond_6a
16928 + const-string v7, ""
16930 + move-object/from16 v0, p0
16932 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16934 + iget-object v3, v3, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
16936 + const/16 v4, 0x20
16940 + move/from16 v0, p1
16942 + invoke-static {v3, v4, v0, v5, v7}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
16944 + move-result-object v3
16946 + invoke-virtual {v3}, Landroid/os/Message;->sendToTarget()V
16948 + move-object/from16 v0, p0
16950 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16952 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
16953 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
16955 + move-result-object v3
16957 + move-object/from16 v0, p0
16959 + iget-object v4, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16961 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
16962 + invoke-static {v4}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
16968 + const-string v6, "incomingCall"
16970 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16976 + move-object/from16 v0, p0
16978 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16980 + iget-object v3, v3, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
16982 + const/16 v4, 0x20
16986 + move/from16 v0, p1
16988 + move-object/from16 v1, p2
16990 + invoke-static {v3, v4, v0, v5, v1}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
16992 + move-result-object v3
16994 + invoke-virtual {v3}, Landroid/os/Message;->sendToTarget()V
16996 + move-object/from16 v0, p0
16998 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
17000 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
17001 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
17003 + move-result-object v10
17005 + move-object/from16 v0, p0
17007 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
17009 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
17010 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
17016 + const-string v13, "incomingCall"
17018 + move-object v9, v2
17020 + move-object/from16 v14, p2
17022 + move-object v15, v8
17024 + invoke-virtual/range {v9 .. v15}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
17029 + move-object/from16 v0, p0
17031 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
17033 + iget-object v3, v3, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
17035 + const/16 v4, 0x20
17039 + move/from16 v0, p1
17041 + move-object/from16 v1, p2
17043 + invoke-static {v3, v4, v0, v5, v1}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
17045 + move-result-object v3
17047 + invoke-virtual {v3}, Landroid/os/Message;->sendToTarget()V
17052 .method public onCellInfoChanged(Landroid/telephony/CellInfo;)V
17053 @@ -104,27 +277,124 @@
17056 .method public onCellLocationChanged(Landroid/os/Bundle;)V
17064 invoke-static {p1}, Landroid/telephony/CellLocation;->newFromBundle(Landroid/os/Bundle;)Landroid/telephony/CellLocation;
17066 + move-result-object v7
17068 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
17070 + #getter for: Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
17071 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
17073 + move-result-object v1
17075 + if-eqz v1, :cond_4a
17077 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
17079 + #getter for: Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
17080 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
17082 + move-result-object v1
17084 + const-string/jumbo v2, "privacy"
17086 + invoke-virtual {v1, v2}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
17088 move-result-object v0
17090 + check-cast v0, Landroid/privacy/PrivacySettingsManager;
17092 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
17094 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
17095 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
17097 + move-result-object v1
17099 + iget-object v2, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
17101 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
17102 + invoke-static {v2}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
17106 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
17108 + move-result-object v6
17110 + if-eqz v6, :cond_4b
17112 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
17116 + if-eqz v1, :cond_4b
17118 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
17120 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
17121 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
17123 + move-result-object v1
17125 + iget-object v2, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
17127 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
17128 + invoke-static {v2}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
17132 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
17136 + const-string v4, "locationNetwork"
17138 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
17145 iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
17147 iget-object v1, v1, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
17151 - invoke-static {v1, v2, v3, v3, v0}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
17152 + invoke-static {v1, v2, v3, v3, v7}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
17154 move-result-object v1
17156 invoke-virtual {v1}, Landroid/os/Message;->sendToTarget()V
17159 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
17161 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
17162 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
17164 + move-result-object v1
17166 + iget-object v2, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
17168 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
17169 + invoke-static {v2}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
17173 + const-string v4, "locationNetwork"
17175 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
17180 .method public onDataActivity(I)V
17181 diff -NpruEbB stock_framework/smali/android/telephony/PhoneStateListener.smali moded_framework/smali/android/telephony/PhoneStateListener.smali
17182 --- stock_framework/smali/android/telephony/PhoneStateListener.smali 2012-09-13 08:58:03.614224735 -0700
17183 +++ moded_framework/smali/android/telephony/PhoneStateListener.smali 2012-09-13 08:58:52.056799126 -0700
17184 @@ -31,12 +31,20 @@
17186 .field public static final LISTEN_SIGNAL_STRENGTHS:I = 0x100
17188 +.field private static final TAG:Ljava/lang/String; = "PhoneStateListener"
17192 .field callback:Lcom/android/internal/telephony/IPhoneStateListener;
17194 +.field private context:Landroid/content/Context;
17196 .field mHandler:Landroid/os/Handler;
17198 +.field private packageName:Ljava/lang/String;
17200 +.field private uid:I
17204 .method public constructor <init>()V
17209 +.method static synthetic access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
17212 + iget-object v0, p0, Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
17217 +.method static synthetic access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
17220 + iget-object v0, p0, Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
17225 +.method static synthetic access$200(Landroid/telephony/PhoneStateListener;)I
17228 + iget v0, p0, Landroid/telephony/PhoneStateListener;->uid:I
17235 .method public onCallForwardingIndicatorChanged(Z)V
17236 @@ -134,3 +166,27 @@
17241 +.method public setContext(Landroid/content/Context;)V
17244 + iput-object p1, p0, Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
17249 +.method public setPackageName(Ljava/lang/String;)V
17252 + iput-object p1, p0, Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
17257 +.method public setUid(I)V
17260 + iput p1, p0, Landroid/telephony/PhoneStateListener;->uid:I
17264 diff -NpruEbB stock_framework/smali/android/widget/AppSecurityPermissions.smali moded_framework/smali/android/widget/AppSecurityPermissions.smali
17265 --- stock_framework/smali/android/widget/AppSecurityPermissions.smali 2012-09-13 08:58:09.312586244 -0700
17266 +++ moded_framework/smali/android/widget/AppSecurityPermissions.smali 2012-09-13 08:58:57.565115230 -0700
17267 @@ -1883,7 +1883,7 @@
17269 iget-boolean v0, p0, Landroid/widget/AppSecurityPermissions;->localLOGV:Z
17271 - if-eqz v0, :cond_1e
17272 + if-eqz v0, :cond_1f
17274 const-string v0, "AppSecurityPermissions"
17276 @@ -1891,7 +1891,7 @@
17278 invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
17280 - const-string v2, "mExpanded="
17281 + const-string/jumbo v2, "mExpanded="
17283 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17285 @@ -1909,22 +1909,22 @@
17287 invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
17291 iget-boolean v0, p0, Landroid/widget/AppSecurityPermissions;->mExpanded:Z
17293 - if-nez v0, :cond_29
17294 + if-nez v0, :cond_2a
17300 iput-boolean v0, p0, Landroid/widget/AppSecurityPermissions;->mExpanded:Z
17302 invoke-direct {p0}, Landroid/widget/AppSecurityPermissions;->showPermissions()V