1 diff -Npru stock-framework/smali/android/app/ContextImpl$20.smali pdroid-framework/smali/android/app/ContextImpl$20.smali
2 --- stock-framework/smali/android/app/ContextImpl$20.smali 2012-08-10 00:09:33.149498478 -0500
3 +++ pdroid-framework/smali/android/app/ContextImpl$20.smali 2012-08-10 00:09:11.657391909 -0500
7 .method public createStaticService()Ljava/lang/Object;
11 - const-string v1, "location"
12 + const-string v2, "location"
14 - invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
15 + invoke-static {v2}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
19 - new-instance v1, Landroid/location/LocationManager;
21 invoke-static {v0}, Landroid/location/ILocationManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/location/ILocationManager;
23 - move-result-object v2
24 + move-result-object v1
26 + new-instance v2, Landroid/privacy/surrogate/PrivacyLocationManager;
28 + invoke-static {}, Landroid/app/ContextImpl;->getStaticOuterContext()Landroid/content/Context;
30 + move-result-object v3
32 - invoke-direct {v1, v2}, Landroid/location/LocationManager;-><init>(Landroid/location/ILocationManager;)V
33 + invoke-direct {v2, v1, v3}, Landroid/privacy/surrogate/PrivacyLocationManager;-><init>(Landroid/location/ILocationManager;Landroid/content/Context;)V
38 diff -Npru stock-framework/smali/android/app/ContextImpl$29.smali pdroid-framework/smali/android/app/ContextImpl$29.smali
39 --- stock-framework/smali/android/app/ContextImpl$29.smali 2012-08-10 00:09:33.153498502 -0500
40 +++ pdroid-framework/smali/android/app/ContextImpl$29.smali 2012-08-10 00:09:11.661391925 -0500
42 .method public createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
45 - new-instance v0, Landroid/telephony/TelephonyManager;
46 + new-instance v0, Landroid/privacy/surrogate/PrivacyTelephonyManager;
48 invoke-virtual {p1}, Landroid/app/ContextImpl;->getOuterContext()Landroid/content/Context;
52 - invoke-direct {v0, v1}, Landroid/telephony/TelephonyManager;-><init>(Landroid/content/Context;)V
53 + invoke-direct {v0, v1}, Landroid/privacy/surrogate/PrivacyTelephonyManager;-><init>(Landroid/content/Context;)V
57 diff -Npru stock-framework/smali/android/app/ContextImpl$38.smali pdroid-framework/smali/android/app/ContextImpl$38.smali
58 --- stock-framework/smali/android/app/ContextImpl$38.smali 1969-12-31 18:00:00.000000000 -0600
59 +++ pdroid-framework/smali/android/app/ContextImpl$38.smali 2012-08-10 00:09:11.665391945 -0500
61 +.class final Landroid/app/ContextImpl$38;
62 +.super Landroid/app/ContextImpl$StaticServiceFetcher;
63 +.source "ContextImpl.java"
67 +.annotation system Ldalvik/annotation/EnclosingClass;
68 + value = Landroid/app/ContextImpl;
71 +.annotation system Ldalvik/annotation/InnerClass;
78 +.method constructor <init>()V
81 + invoke-direct {p0}, Landroid/app/ContextImpl$StaticServiceFetcher;-><init>()V
88 +.method public createStaticService()Ljava/lang/Object;
91 + const-string/jumbo v2, "privacy"
93 + invoke-static {v2}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
95 + move-result-object v0
97 + invoke-static {v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
99 + move-result-object v1
101 + new-instance v2, Landroid/privacy/PrivacySettingsManager;
103 + invoke-static {}, Landroid/app/ContextImpl;->getStaticOuterContext()Landroid/content/Context;
105 + move-result-object v3
107 + invoke-direct {v2, v3, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
111 diff -Npru stock-framework/smali/android/app/ContextImpl$3.smali pdroid-framework/smali/android/app/ContextImpl$3.smali
112 --- stock-framework/smali/android/app/ContextImpl$3.smali 2012-08-10 00:09:33.157498518 -0500
113 +++ pdroid-framework/smali/android/app/ContextImpl$3.smali 2012-08-10 00:09:11.665391945 -0500
116 move-result-object v1
118 - new-instance v2, Landroid/accounts/AccountManager;
119 + new-instance v2, Landroid/privacy/surrogate/PrivacyAccountManager;
121 - invoke-direct {v2, p1, v1}, Landroid/accounts/AccountManager;-><init>(Landroid/content/Context;Landroid/accounts/IAccountManager;)V
122 + invoke-direct {v2, p1, v1}, Landroid/privacy/surrogate/PrivacyAccountManager;-><init>(Landroid/content/Context;Landroid/accounts/IAccountManager;)V
126 diff -Npru stock-framework/smali/android/app/ContextImpl.smali pdroid-framework/smali/android/app/ContextImpl.smali
127 --- stock-framework/smali/android/app/ContextImpl.smali 2012-08-10 00:09:33.189498676 -0500
128 +++ pdroid-framework/smali/android/app/ContextImpl.smali 2012-08-10 00:09:11.697392106 -0500
131 .field private static sNextPerContextServiceCacheIndex:I
133 +.field private static sOuterContext:Landroid/content/Context;
135 .field private static final sSharedPrefs:Ljava/util/HashMap;
136 .annotation system Ldalvik/annotation/Signature;
140 invoke-static {v0, v1}, Landroid/app/ContextImpl;->registerService(Ljava/lang/String;Landroid/app/ContextImpl$ServiceFetcher;)V
142 + const-string/jumbo v0, "privacy"
144 + new-instance v1, Landroid/app/ContextImpl$38;
146 + invoke-direct {v1}, Landroid/app/ContextImpl$38;-><init>()V
148 + invoke-static {v0, v1}, Landroid/app/ContextImpl;->registerService(Ljava/lang/String;Landroid/app/ContextImpl$ServiceFetcher;)V
155 iput-object p0, p0, Landroid/app/ContextImpl;->mOuterContext:Landroid/content/Context;
157 + sput-object p0, Landroid/app/ContextImpl;->sOuterContext:Landroid/content/Context;
164 iput-object p0, p0, Landroid/app/ContextImpl;->mOuterContext:Landroid/content/Context;
166 + sput-object p0, Landroid/app/ContextImpl;->sOuterContext:Landroid/content/Context;
175 +.method static final getStaticOuterContext()Landroid/content/Context;
178 + sget-object v0, Landroid/app/ContextImpl;->sOuterContext:Landroid/content/Context;
183 .method private getWallpaperManager()Landroid/app/WallpaperManager;
186 @@ -4256,6 +4278,8 @@
188 iput-object p1, p0, Landroid/app/ContextImpl;->mOuterContext:Landroid/content/Context;
190 + sput-object p1, Landroid/app/ContextImpl;->sOuterContext:Landroid/content/Context;
195 diff -Npru stock-framework/smali/android/app/Fragment.smali pdroid-framework/smali/android/app/Fragment.smali
196 --- stock-framework/smali/android/app/Fragment.smali 2012-08-10 00:09:33.201498740 -0500
197 +++ pdroid-framework/smali/android/app/Fragment.smali 2012-08-10 00:09:11.705392146 -0500
200 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
202 - const-string v0, "mHidden="
203 + const-string/jumbo v0, "mHidden="
205 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
209 iget-object v0, p0, Landroid/app/Fragment;->mFragmentManager:Landroid/app/FragmentManagerImpl;
211 - if-eqz v0, :cond_e8
212 + if-eqz v0, :cond_e9
214 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
216 @@ -541,10 +541,10 @@
218 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
222 iget-object v0, p0, Landroid/app/Fragment;->mActivity:Landroid/app/Activity;
224 - if-eqz v0, :cond_f9
225 + if-eqz v0, :cond_fa
227 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
229 @@ -556,10 +556,10 @@
231 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
235 iget-object v0, p0, Landroid/app/Fragment;->mArguments:Landroid/os/Bundle;
237 - if-eqz v0, :cond_10a
238 + if-eqz v0, :cond_10b
240 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
242 @@ -571,10 +571,10 @@
244 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
248 iget-object v0, p0, Landroid/app/Fragment;->mSavedFragmentState:Landroid/os/Bundle;
250 - if-eqz v0, :cond_11c
251 + if-eqz v0, :cond_11d
253 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
255 @@ -586,10 +586,10 @@
257 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
261 iget-object v0, p0, Landroid/app/Fragment;->mSavedViewState:Landroid/util/SparseArray;
263 - if-eqz v0, :cond_12e
264 + if-eqz v0, :cond_12f
266 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
268 @@ -601,10 +601,10 @@
270 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
274 iget-object v0, p0, Landroid/app/Fragment;->mTarget:Landroid/app/Fragment;
276 - if-eqz v0, :cond_14a
277 + if-eqz v0, :cond_14b
279 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
281 @@ -624,10 +624,10 @@
283 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(I)V
287 iget v0, p0, Landroid/app/Fragment;->mNextAnim:I
289 - if-eqz v0, :cond_15c
290 + if-eqz v0, :cond_15d
292 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
294 @@ -639,10 +639,10 @@
296 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(I)V
300 iget-object v0, p0, Landroid/app/Fragment;->mContainer:Landroid/view/ViewGroup;
302 - if-eqz v0, :cond_16d
303 + if-eqz v0, :cond_16e
305 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
307 @@ -654,10 +654,10 @@
309 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
313 iget-object v0, p0, Landroid/app/Fragment;->mView:Landroid/view/View;
315 - if-eqz v0, :cond_17f
316 + if-eqz v0, :cond_180
318 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
320 @@ -669,10 +669,10 @@
322 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
326 iget-object v0, p0, Landroid/app/Fragment;->mAnimatingAway:Landroid/animation/Animator;
328 - if-eqz v0, :cond_19e
329 + if-eqz v0, :cond_19f
331 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
333 @@ -694,10 +694,10 @@
335 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(I)V
339 iget-object v0, p0, Landroid/app/Fragment;->mLoaderManager:Landroid/app/LoaderManagerImpl;
341 - if-eqz v0, :cond_1c2
342 + if-eqz v0, :cond_1c3
344 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
348 invoke-virtual {v0, v1, p2, p3, p4}, Landroid/app/LoaderManagerImpl;->dump(Ljava/lang/String;Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
355 diff -Npru stock-framework/smali/android/app/LoaderManagerImpl$LoaderInfo.smali pdroid-framework/smali/android/app/LoaderManagerImpl$LoaderInfo.smali
356 --- stock-framework/smali/android/app/LoaderManagerImpl$LoaderInfo.smali 2012-08-10 00:09:33.605500743 -0500
357 +++ pdroid-framework/smali/android/app/LoaderManagerImpl$LoaderInfo.smali 2012-08-10 00:09:12.097394087 -0500
358 @@ -575,12 +575,12 @@
360 iget-boolean v0, p0, Landroid/app/LoaderManagerImpl$LoaderInfo;->mDeliveredData:Z
362 - if-eqz v0, :cond_7b
363 + if-eqz v0, :cond_7c
366 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
368 - const-string v0, "mHaveData="
369 + const-string/jumbo v0, "mHaveData="
371 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
375 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
379 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
381 const-string/jumbo v0, "mStarted="
384 iget-object v0, p0, Landroid/app/LoaderManagerImpl$LoaderInfo;->mPendingLoader:Landroid/app/LoaderManagerImpl$LoaderInfo;
386 - if-eqz v0, :cond_ed
387 + if-eqz v0, :cond_ee
389 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
393 invoke-virtual {v0, v1, p2, p3, p4}, Landroid/app/LoaderManagerImpl$LoaderInfo;->dump(Ljava/lang/String;Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
400 diff -Npru stock-framework/smali/android/content/ContentResolver.smali pdroid-framework/smali/android/content/ContentResolver.smali
401 --- stock-framework/smali/android/content/ContentResolver.smali 2012-08-10 00:09:33.173498601 -0500
402 +++ pdroid-framework/smali/android/content/ContentResolver.smali 2012-08-10 00:09:11.681392026 -0500
403 @@ -3506,8 +3506,8 @@
405 invoke-virtual {v0, v9}, Landroid/os/CancellationSignal;->setRemote(Landroid/os/ICancellationSignal;)V
407 - .catchall {:try_start_a .. :try_end_1d} :catchall_a8
408 - .catch Landroid/os/RemoteException; {:try_start_a .. :try_end_1d} :catch_9b
409 + .catchall {:try_start_a .. :try_end_1d} :catchall_b6
410 + .catch Landroid/os/RemoteException; {:try_start_a .. :try_end_1d} :catch_a9
413 move-object/from16 v4, p1
414 @@ -3523,64 +3523,82 @@
416 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;
418 - .catchall {:try_start_27 .. :try_end_2a} :catchall_a8
419 - .catch Landroid/os/DeadObjectException; {:try_start_27 .. :try_end_2a} :catch_3e
420 - .catch Landroid/os/RemoteException; {:try_start_27 .. :try_end_2a} :catch_9b
421 + .catchall {:try_start_27 .. :try_end_2a} :catchall_b6
422 + .catch Landroid/os/DeadObjectException; {:try_start_27 .. :try_end_2a} :catch_4c
423 + .catch Landroid/os/RemoteException; {:try_start_27 .. :try_end_2a} :catch_a9
425 move-result-object v19
428 - if-nez v19, :cond_67
430 + move-object/from16 v0, p0
432 + iget-object v4, v0, Landroid/content/ContentResolver;->mContext:Landroid/content/Context;
434 + move-object/from16 v0, p1
436 + move-object/from16 v1, p2
438 + move-object/from16 v2, v19
440 + 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;
442 + .catchall {:try_start_2b .. :try_end_38} :catchall_b6
443 + .catch Landroid/os/RemoteException; {:try_start_2b .. :try_end_38} :catch_a9
445 + move-result-object v19
447 + if-nez v19, :cond_75
451 - if-eqz v3, :cond_36
452 + if-eqz v3, :cond_44
454 move-object/from16 v0, p0
456 invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
464 move-object/from16 v0, p0
466 invoke-virtual {v0, v10}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
476 move-object/from16 v0, p0
478 invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->unstableProviderDied(Landroid/content/IContentProvider;)V
480 invoke-virtual/range {p0 .. p1}, Landroid/content/ContentResolver;->acquireProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
482 - .catchall {:try_start_3f .. :try_end_47} :catchall_a8
483 - .catch Landroid/os/RemoteException; {:try_start_3f .. :try_end_47} :catch_9b
485 + .catchall {:try_start_4d .. :try_end_55} :catchall_b6
486 + .catch Landroid/os/RemoteException; {:try_start_4d .. :try_end_55} :catch_a9
488 move-result-object v10
490 - if-nez v10, :cond_56
491 + if-nez v10, :cond_64
495 - if-eqz v3, :cond_53
496 + if-eqz v3, :cond_61
498 move-object/from16 v0, p0
500 invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
511 move-object/from16 v11, p1
513 move-object/from16 v12, p2
514 @@ -3593,14 +3611,14 @@
516 move-object/from16 v16, v9
520 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;
522 move-result-object v19
528 invoke-interface/range {v19 .. v19}, Landroid/database/Cursor;->getCount()I
530 invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
531 @@ -3623,11 +3641,11 @@
533 new-instance v22, Landroid/content/ContentResolver$CursorWrapperInner;
535 - if-eqz v10, :cond_96
536 + if-eqz v10, :cond_a4
542 move-object/from16 v0, v22
544 move-object/from16 v1, p0
545 @@ -3635,67 +3653,67 @@
546 move-object/from16 v2, v19
548 invoke-direct {v0, v1, v2, v4}, Landroid/content/ContentResolver$CursorWrapperInner;-><init>(Landroid/content/ContentResolver;Landroid/database/Cursor;Landroid/content/IContentProvider;)V
550 - .catchall {:try_start_62 .. :try_end_8b} :catchall_a8
551 - .catch Landroid/os/RemoteException; {:try_start_62 .. :try_end_8b} :catch_9b
553 + .catchall {:try_start_70 .. :try_end_99} :catchall_b6
554 + .catch Landroid/os/RemoteException; {:try_start_70 .. :try_end_99} :catch_a9
558 - if-eqz v3, :cond_93
559 + if-eqz v3, :cond_a1
561 move-object/from16 v0, p0
563 invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
576 invoke-virtual/range {p0 .. p1}, Landroid/content/ContentResolver;->acquireProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
578 - .catchall {:try_start_96 .. :try_end_99} :catchall_a8
579 - .catch Landroid/os/RemoteException; {:try_start_96 .. :try_end_99} :catch_9b
581 + .catchall {:try_start_a4 .. :try_end_a7} :catchall_b6
582 + .catch Landroid/os/RemoteException; {:try_start_a4 .. :try_end_a7} :catch_a9
584 move-result-object v4
595 - if-eqz v3, :cond_a5
596 + if-eqz v3, :cond_b3
598 move-object/from16 v0, p0
600 invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
613 - if-eqz v3, :cond_b0
614 + if-eqz v3, :cond_be
616 move-object/from16 v0, p0
618 invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
621 - if-eqz v10, :cond_b7
623 + if-eqz v10, :cond_c5
625 move-object/from16 v0, p0
627 invoke-virtual {v0, v10}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
634 diff -Npru stock-framework/smali/android/location/Location.smali pdroid-framework/smali/android/location/Location.smali
635 --- stock-framework/smali/android/location/Location.smali 2012-08-10 00:09:35.429509784 -0500
636 +++ pdroid-framework/smali/android/location/Location.smali 2012-08-10 00:09:13.881402936 -0500
637 @@ -1707,7 +1707,7 @@
639 move-result-object v0
641 - const-string v1, "mHasAltitude="
642 + const-string/jumbo v1, "mHasAltitude="
644 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
646 @@ -1745,7 +1745,7 @@
648 move-result-object v0
650 - const-string v1, "mHasSpeed="
651 + const-string/jumbo v1, "mHasSpeed="
653 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
655 @@ -1783,7 +1783,7 @@
657 move-result-object v0
659 - const-string v1, "mHasBearing="
660 + const-string/jumbo v1, "mHasBearing="
662 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
664 @@ -1821,7 +1821,7 @@
666 move-result-object v0
668 - const-string v1, "mHasAccuracy="
669 + const-string/jumbo v1, "mHasAccuracy="
671 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
673 diff -Npru stock-framework/smali/android/privacy/IPrivacySettingsManager.smali pdroid-framework/smali/android/privacy/IPrivacySettingsManager.smali
674 --- stock-framework/smali/android/privacy/IPrivacySettingsManager.smali 1969-12-31 18:00:00.000000000 -0600
675 +++ pdroid-framework/smali/android/privacy/IPrivacySettingsManager.smali 2012-08-10 00:09:14.701407003 -0500
677 +.class public interface abstract Landroid/privacy/IPrivacySettingsManager;
678 +.super Ljava/lang/Object;
679 +.source "IPrivacySettingsManager.java"
682 +.implements Landroid/os/IInterface;
686 +.annotation system Ldalvik/annotation/MemberClasses;
688 + Landroid/privacy/IPrivacySettingsManager$Stub;
694 +.method public abstract addObserver(Ljava/lang/String;)V
695 + .annotation system Ldalvik/annotation/Throws;
697 + Landroid/os/RemoteException;
702 +.method public abstract deleteSettings(Ljava/lang/String;)Z
703 + .annotation system Ldalvik/annotation/Throws;
705 + Landroid/os/RemoteException;
710 +.method public abstract getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
711 + .annotation system Ldalvik/annotation/Throws;
713 + Landroid/os/RemoteException;
718 +.method public abstract getVersion()D
719 + .annotation system Ldalvik/annotation/Throws;
721 + Landroid/os/RemoteException;
726 +.method public abstract notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
727 + .annotation system Ldalvik/annotation/Throws;
729 + Landroid/os/RemoteException;
734 +.method public abstract purgeSettings()Z
735 + .annotation system Ldalvik/annotation/Throws;
737 + Landroid/os/RemoteException;
742 +.method public abstract registerObservers()V
743 + .annotation system Ldalvik/annotation/Throws;
745 + Landroid/os/RemoteException;
750 +.method public abstract saveSettings(Landroid/privacy/PrivacySettings;)Z
751 + .annotation system Ldalvik/annotation/Throws;
753 + Landroid/os/RemoteException;
758 +.method public abstract setBootCompleted()V
759 + .annotation system Ldalvik/annotation/Throws;
761 + Landroid/os/RemoteException;
766 +.method public abstract setEnabled(Z)Z
767 + .annotation system Ldalvik/annotation/Throws;
769 + Landroid/os/RemoteException;
774 +.method public abstract setNotificationsEnabled(Z)Z
775 + .annotation system Ldalvik/annotation/Throws;
777 + Landroid/os/RemoteException;
781 diff -Npru stock-framework/smali/android/privacy/IPrivacySettingsManager$Stub$Proxy.smali pdroid-framework/smali/android/privacy/IPrivacySettingsManager$Stub$Proxy.smali
782 --- stock-framework/smali/android/privacy/IPrivacySettingsManager$Stub$Proxy.smali 1969-12-31 18:00:00.000000000 -0600
783 +++ pdroid-framework/smali/android/privacy/IPrivacySettingsManager$Stub$Proxy.smali 2012-08-10 00:09:14.701407003 -0500
785 +.class Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;
786 +.super Ljava/lang/Object;
787 +.source "IPrivacySettingsManager.java"
790 +.implements Landroid/privacy/IPrivacySettingsManager;
794 +.annotation system Ldalvik/annotation/EnclosingClass;
795 + value = Landroid/privacy/IPrivacySettingsManager$Stub;
798 +.annotation system Ldalvik/annotation/InnerClass;
805 +.field private mRemote:Landroid/os/IBinder;
809 +.method constructor <init>(Landroid/os/IBinder;)V
812 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
814 + iput-object p1, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
821 +.method public addObserver(Ljava/lang/String;)V
823 + .annotation system Ldalvik/annotation/Throws;
825 + Landroid/os/RemoteException;
829 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
831 + move-result-object v0
833 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
835 + move-result-object v1
838 + const-string v2, "android.privacy.IPrivacySettingsManager"
840 + invoke-virtual {v0, v2}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
842 + invoke-virtual {v0, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
844 + iget-object v2, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
850 + invoke-interface {v2, v3, v0, v1, v4}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
852 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
854 + .catchall {:try_start_8 .. :try_end_1a} :catchall_21
856 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
858 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
865 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
867 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
872 +.method public asBinder()Landroid/os/IBinder;
875 + iget-object v0, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
880 +.method public deleteSettings(Ljava/lang/String;)Z
882 + .annotation system Ldalvik/annotation/Throws;
884 + Landroid/os/RemoteException;
890 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
892 + move-result-object v0
894 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
896 + move-result-object v1
899 + const-string v3, "android.privacy.IPrivacySettingsManager"
901 + invoke-virtual {v0, v3}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
903 + invoke-virtual {v0, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
905 + iget-object v3, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
911 + invoke-interface {v3, v4, v0, v1, v5}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
913 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
915 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
917 + .catchall {:try_start_9 .. :try_end_1e} :catchall_29
921 + if-eqz v3, :cond_22
926 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
928 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
935 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
937 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
942 +.method public getInterfaceDescriptor()Ljava/lang/String;
945 + const-string v0, "android.privacy.IPrivacySettingsManager"
950 +.method public getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
952 + .annotation system Ldalvik/annotation/Throws;
954 + Landroid/os/RemoteException;
958 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
960 + move-result-object v0
962 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
964 + move-result-object v1
967 + const-string v3, "android.privacy.IPrivacySettingsManager"
969 + invoke-virtual {v0, v3}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
971 + invoke-virtual {v0, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
973 + iget-object v3, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
979 + invoke-interface {v3, v4, v0, v1, v5}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
981 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
983 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
987 + if-eqz v3, :cond_2f
989 + sget-object v3, Landroid/privacy/PrivacySettings;->CREATOR:Landroid/os/Parcelable$Creator;
991 + invoke-interface {v3, v1}, Landroid/os/Parcelable$Creator;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
993 + move-result-object v2
995 + check-cast v2, Landroid/privacy/PrivacySettings;
997 + .catchall {:try_start_8 .. :try_end_28} :catchall_31
1000 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1002 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1014 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1016 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1021 +.method public getVersion()D
1023 + .annotation system Ldalvik/annotation/Throws;
1025 + Landroid/os/RemoteException;
1029 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1031 + move-result-object v0
1033 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1035 + move-result-object v1
1038 + const-string v4, "android.privacy.IPrivacySettingsManager"
1040 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
1042 + iget-object v4, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
1048 + invoke-interface {v4, v5, v0, v1, v6}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1050 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
1052 + invoke-virtual {v1}, Landroid/os/Parcel;->readDouble()D
1054 + .catchall {:try_start_8 .. :try_end_1b} :catchall_23
1056 + move-result-wide v2
1058 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1060 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1067 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1069 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1074 +.method public notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
1076 + .annotation system Ldalvik/annotation/Throws;
1078 + Landroid/os/RemoteException;
1082 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1084 + move-result-object v0
1086 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1088 + move-result-object v1
1091 + const-string v2, "android.privacy.IPrivacySettingsManager"
1093 + invoke-virtual {v0, v2}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
1095 + invoke-virtual {v0, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
1097 + invoke-virtual {v0, p2}, Landroid/os/Parcel;->writeByte(B)V
1099 + invoke-virtual {v0, p3}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
1101 + invoke-virtual {v0, p4}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
1103 + iget-object v2, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
1109 + invoke-interface {v2, v3, v0, v1, v4}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1111 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
1113 + .catchall {:try_start_8 .. :try_end_23} :catchall_2a
1115 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1117 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1124 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1126 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1131 +.method public purgeSettings()Z
1133 + .annotation system Ldalvik/annotation/Throws;
1135 + Landroid/os/RemoteException;
1141 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1143 + move-result-object v0
1145 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1147 + move-result-object v1
1150 + const-string v3, "android.privacy.IPrivacySettingsManager"
1152 + invoke-virtual {v0, v3}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
1154 + iget-object v3, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
1160 + invoke-interface {v3, v4, v0, v1, v5}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1162 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
1164 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
1166 + .catchall {:try_start_9 .. :try_end_1b} :catchall_26
1170 + if-eqz v3, :cond_1f
1175 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1177 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1184 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1186 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1191 +.method public registerObservers()V
1193 + .annotation system Ldalvik/annotation/Throws;
1195 + Landroid/os/RemoteException;
1199 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1201 + move-result-object v0
1203 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1205 + move-result-object v1
1208 + const-string v2, "android.privacy.IPrivacySettingsManager"
1210 + invoke-virtual {v0, v2}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
1212 + iget-object v2, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
1218 + invoke-interface {v2, v3, v0, v1, v4}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1220 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
1222 + .catchall {:try_start_8 .. :try_end_17} :catchall_1e
1224 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1226 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1233 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1235 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1240 +.method public saveSettings(Landroid/privacy/PrivacySettings;)Z
1242 + .annotation system Ldalvik/annotation/Throws;
1244 + Landroid/os/RemoteException;
1252 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1254 + move-result-object v0
1256 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1258 + move-result-object v1
1261 + const-string v4, "android.privacy.IPrivacySettingsManager"
1263 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
1265 + if-eqz p1, :cond_30
1269 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInt(I)V
1273 + invoke-virtual {p1, v0, v4}, Landroid/privacy/PrivacySettings;->writeToParcel(Landroid/os/Parcel;I)V
1276 + iget-object v4, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
1282 + invoke-interface {v4, v5, v0, v1, v6}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1284 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
1286 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
1288 + .catchall {:try_start_a .. :try_end_26} :catchall_35
1292 + if-eqz v4, :cond_3d
1295 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1297 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1305 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInt(I)V
1307 + .catchall {:try_start_31 .. :try_end_34} :catchall_35
1314 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1316 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1326 +.method public setBootCompleted()V
1328 + .annotation system Ldalvik/annotation/Throws;
1330 + Landroid/os/RemoteException;
1334 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1336 + move-result-object v0
1338 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1340 + move-result-object v1
1343 + const-string v2, "android.privacy.IPrivacySettingsManager"
1345 + invoke-virtual {v0, v2}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
1347 + iget-object v2, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
1353 + invoke-interface {v2, v3, v0, v1, v4}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1355 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
1357 + .catchall {:try_start_8 .. :try_end_18} :catchall_1f
1359 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1361 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1368 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1370 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1375 +.method public setEnabled(Z)Z
1377 + .annotation system Ldalvik/annotation/Throws;
1379 + Landroid/os/RemoteException;
1387 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1389 + move-result-object v0
1391 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1393 + move-result-object v1
1396 + const-string v4, "android.privacy.IPrivacySettingsManager"
1398 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
1400 + if-eqz p1, :cond_2d
1405 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInt(I)V
1407 + iget-object v4, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
1413 + invoke-interface {v4, v5, v0, v1, v6}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1415 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
1417 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
1419 + .catchall {:try_start_a .. :try_end_23} :catchall_31
1423 + if-eqz v4, :cond_2f
1426 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1428 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1445 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1447 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1452 +.method public setNotificationsEnabled(Z)Z
1454 + .annotation system Ldalvik/annotation/Throws;
1456 + Landroid/os/RemoteException;
1464 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1466 + move-result-object v0
1468 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1470 + move-result-object v1
1473 + const-string v4, "android.privacy.IPrivacySettingsManager"
1475 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
1477 + if-eqz p1, :cond_2d
1482 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInt(I)V
1484 + iget-object v4, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
1490 + invoke-interface {v4, v5, v0, v1, v6}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1492 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
1494 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
1496 + .catchall {:try_start_a .. :try_end_23} :catchall_31
1500 + if-eqz v4, :cond_2f
1503 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1505 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1522 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1524 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1528 diff -Npru stock-framework/smali/android/privacy/IPrivacySettingsManager$Stub.smali pdroid-framework/smali/android/privacy/IPrivacySettingsManager$Stub.smali
1529 --- stock-framework/smali/android/privacy/IPrivacySettingsManager$Stub.smali 1969-12-31 18:00:00.000000000 -0600
1530 +++ pdroid-framework/smali/android/privacy/IPrivacySettingsManager$Stub.smali 2012-08-10 00:09:14.705407019 -0500
1532 +.class public abstract Landroid/privacy/IPrivacySettingsManager$Stub;
1533 +.super Landroid/os/Binder;
1534 +.source "IPrivacySettingsManager.java"
1537 +.implements Landroid/privacy/IPrivacySettingsManager;
1541 +.annotation system Ldalvik/annotation/EnclosingClass;
1542 + value = Landroid/privacy/IPrivacySettingsManager;
1545 +.annotation system Ldalvik/annotation/InnerClass;
1546 + accessFlags = 0x409
1550 +.annotation system Ldalvik/annotation/MemberClasses;
1552 + Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;
1558 +.field private static final DESCRIPTOR:Ljava/lang/String; = "android.privacy.IPrivacySettingsManager"
1560 +.field static final TRANSACTION_addObserver:I = 0x6
1562 +.field static final TRANSACTION_deleteSettings:I = 0x3
1564 +.field static final TRANSACTION_getSettings:I = 0x1
1566 +.field static final TRANSACTION_getVersion:I = 0x8
1568 +.field static final TRANSACTION_notification:I = 0x4
1570 +.field static final TRANSACTION_purgeSettings:I = 0x7
1572 +.field static final TRANSACTION_registerObservers:I = 0x5
1574 +.field static final TRANSACTION_saveSettings:I = 0x2
1576 +.field static final TRANSACTION_setBootCompleted:I = 0xb
1578 +.field static final TRANSACTION_setEnabled:I = 0x9
1580 +.field static final TRANSACTION_setNotificationsEnabled:I = 0xa
1584 +.method public constructor <init>()V
1587 + invoke-direct {p0}, Landroid/os/Binder;-><init>()V
1589 + const-string v0, "android.privacy.IPrivacySettingsManager"
1591 + invoke-virtual {p0, p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->attachInterface(Landroid/os/IInterface;Ljava/lang/String;)V
1596 +.method public static asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
1599 + if-nez p0, :cond_4
1607 + const-string v1, "android.privacy.IPrivacySettingsManager"
1609 + invoke-interface {p0, v1}, Landroid/os/IBinder;->queryLocalInterface(Ljava/lang/String;)Landroid/os/IInterface;
1611 + move-result-object v0
1613 + if-eqz v0, :cond_13
1615 + instance-of v1, v0, Landroid/privacy/IPrivacySettingsManager;
1617 + if-eqz v1, :cond_13
1619 + check-cast v0, Landroid/privacy/IPrivacySettingsManager;
1624 + new-instance v0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;
1626 + invoke-direct {v0, p0}, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
1633 +.method public asBinder()Landroid/os/IBinder;
1639 +.method public onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1641 + .annotation system Ldalvik/annotation/Throws;
1643 + Landroid/os/RemoteException;
1651 + sparse-switch p1, :sswitch_data_10e
1653 + invoke-super {p0, p1, p2, p3, p4}, Landroid/os/Binder;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1661 + const-string v6, "android.privacy.IPrivacySettingsManager"
1663 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
1668 + const-string v8, "android.privacy.IPrivacySettingsManager"
1670 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1672 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
1674 + move-result-object v0
1676 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
1678 + move-result-object v4
1680 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1682 + if-eqz v4, :cond_29
1684 + invoke-virtual {p3, v7}, Landroid/os/Parcel;->writeInt(I)V
1686 + invoke-virtual {v4, p3, v7}, Landroid/privacy/PrivacySettings;->writeToParcel(Landroid/os/Parcel;I)V
1691 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
1696 + const-string v8, "android.privacy.IPrivacySettingsManager"
1698 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1700 + invoke-virtual {p2}, Landroid/os/Parcel;->readInt()I
1704 + if-eqz v8, :cond_4e
1706 + sget-object v8, Landroid/privacy/PrivacySettings;->CREATOR:Landroid/os/Parcelable$Creator;
1708 + invoke-interface {v8, p2}, Landroid/os/Parcelable$Creator;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
1710 + move-result-object v0
1712 + check-cast v0, Landroid/privacy/PrivacySettings;
1715 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->saveSettings(Landroid/privacy/PrivacySettings;)Z
1719 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1721 + if-eqz v4, :cond_4a
1726 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
1736 + const-string v8, "android.privacy.IPrivacySettingsManager"
1738 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1740 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
1742 + move-result-object v0
1744 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->deleteSettings(Ljava/lang/String;)Z
1748 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1750 + if-eqz v4, :cond_63
1755 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
1760 + const-string v6, "android.privacy.IPrivacySettingsManager"
1762 + invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1764 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
1766 + move-result-object v0
1768 + invoke-virtual {p2}, Landroid/os/Parcel;->readByte()B
1772 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
1774 + move-result-object v2
1776 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
1778 + move-result-object v3
1780 + invoke-virtual {p0, v0, v1, v2, v3}, Landroid/privacy/IPrivacySettingsManager$Stub;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
1782 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1787 + const-string v6, "android.privacy.IPrivacySettingsManager"
1789 + invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1791 + invoke-virtual {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;->registerObservers()V
1793 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1798 + const-string v6, "android.privacy.IPrivacySettingsManager"
1800 + invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1802 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
1804 + move-result-object v0
1806 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->addObserver(Ljava/lang/String;)V
1808 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1813 + const-string v8, "android.privacy.IPrivacySettingsManager"
1815 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1817 + invoke-virtual {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;->purgeSettings()Z
1821 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1823 + if-eqz v4, :cond_b0
1828 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
1833 + const-string v6, "android.privacy.IPrivacySettingsManager"
1835 + invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1837 + invoke-virtual {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;->getVersion()D
1839 + move-result-wide v4
1841 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1843 + invoke-virtual {p3, v4, v5}, Landroid/os/Parcel;->writeDouble(D)V
1848 + const-string v8, "android.privacy.IPrivacySettingsManager"
1850 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1852 + invoke-virtual {p2}, Landroid/os/Parcel;->readInt()I
1856 + if-eqz v8, :cond_e1
1861 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->setEnabled(Z)Z
1865 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1867 + if-eqz v4, :cond_dc
1872 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
1882 + const-string v8, "android.privacy.IPrivacySettingsManager"
1884 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1886 + invoke-virtual {p2}, Landroid/os/Parcel;->readInt()I
1890 + if-eqz v8, :cond_fe
1895 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->setNotificationsEnabled(Z)Z
1899 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1901 + if-eqz v4, :cond_f9
1906 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
1916 + const-string v6, "android.privacy.IPrivacySettingsManager"
1918 + invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1920 + invoke-virtual {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;->setBootCompleted()V
1922 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1930 + 0x1 -> :sswitch_10
1931 + 0x2 -> :sswitch_2d
1932 + 0x3 -> :sswitch_50
1933 + 0x4 -> :sswitch_67
1934 + 0x5 -> :sswitch_83
1935 + 0x6 -> :sswitch_90
1936 + 0x7 -> :sswitch_a1
1937 + 0x8 -> :sswitch_b5
1938 + 0x9 -> :sswitch_c6
1939 + 0xa -> :sswitch_e3
1940 + 0xb -> :sswitch_100
1941 + 0x5f4e5446 -> :sswitch_a
1942 + .end sparse-switch
1944 diff -Npru stock-framework/smali/android/privacy/PrivacyFileObserver.smali pdroid-framework/smali/android/privacy/PrivacyFileObserver.smali
1945 --- stock-framework/smali/android/privacy/PrivacyFileObserver.smali 1969-12-31 18:00:00.000000000 -0600
1946 +++ pdroid-framework/smali/android/privacy/PrivacyFileObserver.smali 2012-08-10 00:09:14.705407019 -0500
1948 +.class public Landroid/privacy/PrivacyFileObserver;
1949 +.super Landroid/os/FileObserver;
1950 +.source "PrivacyFileObserver.java"
1954 +.field public static final PACKAGE_PATH_INDEX:I = 0x3
1956 +.field public static final TAG:Ljava/lang/String; = "PrivacyFileObserver"
1960 +.field public absolutePath:Ljava/lang/String;
1962 +.field public children:Ljava/util/HashMap;
1963 + .annotation system Ldalvik/annotation/Signature;
1965 + "Ljava/util/HashMap",
1967 + "Ljava/lang/String;",
1968 + "Landroid/privacy/PrivacyFileObserver;",
1974 +.field private pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
1978 +.method public constructor <init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
1981 + const/16 v8, 0xfff
1983 + invoke-direct {p0, p1, v8}, Landroid/os/FileObserver;-><init>(Ljava/lang/String;I)V
1985 + iput-object p1, p0, Landroid/privacy/PrivacyFileObserver;->absolutePath:Ljava/lang/String;
1987 + iput-object p2, p0, Landroid/privacy/PrivacyFileObserver;->pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
1989 + new-instance v8, Ljava/util/HashMap;
1991 + invoke-direct {v8}, Ljava/util/HashMap;-><init>()V
1993 + iput-object v8, p0, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap;
1995 + new-instance v7, Ljava/io/File;
1997 + iget-object v8, p0, Landroid/privacy/PrivacyFileObserver;->absolutePath:Ljava/lang/String;
1999 + invoke-direct {v7, v8}, Ljava/io/File;-><init>(Ljava/lang/String;)V
2001 + invoke-virtual {v7}, Ljava/io/File;->isDirectory()Z
2005 + if-eqz v8, :cond_42
2007 + invoke-virtual {v7}, Ljava/io/File;->listFiles()[Ljava/io/File;
2009 + move-result-object v6
2011 + move-object v0, v6
2013 + array-length v4, v0
2018 + if-ge v3, v4, :cond_42
2020 + aget-object v2, v0, v3
2022 + invoke-virtual {v2}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
2024 + move-result-object v5
2026 + new-instance v1, Landroid/privacy/PrivacyFileObserver;
2028 + invoke-direct {v1, v5, p2}, Landroid/privacy/PrivacyFileObserver;-><init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
2030 + iget-object v8, p0, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap;
2032 + invoke-virtual {v8, v5, v1}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
2034 + invoke-virtual {v2}, Ljava/io/File;->isFile()Z
2038 + if-eqz v8, :cond_3f
2040 + invoke-virtual {v1}, Landroid/privacy/PrivacyFileObserver;->startWatching()V
2043 + add-int/lit8 v3, v3, 0x1
2053 +.method public addObserver(Ljava/lang/String;)V
2056 + new-instance v2, Ljava/lang/StringBuilder;
2058 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
2060 + iget-object v3, p0, Landroid/privacy/PrivacyFileObserver;->absolutePath:Ljava/lang/String;
2062 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2064 + move-result-object v2
2066 + const-string v3, "/"
2068 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2070 + move-result-object v2
2072 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2074 + move-result-object v2
2076 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2078 + move-result-object v1
2080 + iget-object v2, p0, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap;
2082 + invoke-virtual {v2, v1}, Ljava/util/HashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
2084 + new-instance v0, Landroid/privacy/PrivacyFileObserver;
2086 + iget-object v2, p0, Landroid/privacy/PrivacyFileObserver;->pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
2088 + invoke-direct {v0, v1, v2}, Landroid/privacy/PrivacyFileObserver;-><init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
2090 + iget-object v2, p0, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap;
2092 + invoke-virtual {v2, v1, v0}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
2097 +.method public onEvent(ILjava/lang/String;)V
2100 + and-int/lit8 v4, p1, 0x1
2102 + if-eqz v4, :cond_34
2104 + new-instance v3, Ljava/util/StringTokenizer;
2106 + iget-object v4, p0, Landroid/privacy/PrivacyFileObserver;->absolutePath:Ljava/lang/String;
2108 + const-string v5, "/"
2110 + invoke-direct {v3, v4, v5}, Ljava/util/StringTokenizer;-><init>(Ljava/lang/String;Ljava/lang/String;)V
2117 + if-ge v0, v4, :cond_1d
2119 + invoke-virtual {v3}, Ljava/util/StringTokenizer;->hasMoreElements()Z
2123 + if-eqz v4, :cond_1d
2125 + invoke-virtual {v3}, Ljava/util/StringTokenizer;->nextToken()Ljava/lang/String;
2127 + add-int/lit8 v0, v0, 0x1
2132 + invoke-virtual {v3}, Ljava/util/StringTokenizer;->nextToken()Ljava/lang/String;
2134 + move-result-object v2
2136 + iget-object v4, p0, Landroid/privacy/PrivacyFileObserver;->pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
2138 + invoke-virtual {v4, v2}, Landroid/privacy/PrivacySettingsManagerService;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
2140 + move-result-object v1
2142 + iget-object v4, p0, Landroid/privacy/PrivacyFileObserver;->pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
2144 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getSystemLogsSetting()B
2148 + const-string/jumbo v6, "systemLogs"
2152 + invoke-virtual {v4, v2, v5, v6, v7}, Landroid/privacy/PrivacySettingsManagerService;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
2158 +.method public startWatching()V
2161 + invoke-super {p0}, Landroid/os/FileObserver;->startWatching()V
2165 diff -Npru stock-framework/smali/android/privacy/PrivacyPersistenceAdapter.smali pdroid-framework/smali/android/privacy/PrivacyPersistenceAdapter.smali
2166 --- stock-framework/smali/android/privacy/PrivacyPersistenceAdapter.smali 1969-12-31 18:00:00.000000000 -0600
2167 +++ pdroid-framework/smali/android/privacy/PrivacyPersistenceAdapter.smali 2012-08-10 00:09:14.709407039 -0500
2169 +.class public Landroid/privacy/PrivacyPersistenceAdapter;
2170 +.super Ljava/lang/Object;
2171 +.source "PrivacyPersistenceAdapter.java"
2175 +.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) );"
2177 +.field private static final CREATE_TABLE_MAP:Ljava/lang/String; = "CREATE TABLE IF NOT EXISTS map ( name TEXT PRIMARY KEY, value TEXT );"
2179 +.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);"
2181 +.field private static final DATABASE_FIELDS:[Ljava/lang/String; = null
2183 +.field private static final DATABASE_FILE:Ljava/lang/String; = "/data/system/privacy.db"
2185 +.field private static final DATABASE_VERSION:I = 0x3
2187 +.field public static final DUMMY_UID:I = -0x1
2189 +.field private static final INSERT_ENABLED:Ljava/lang/String; = "INSERT OR REPLACE INTO map (name, value) VALUES (\"enabled\", \"1\");"
2191 +.field private static final INSERT_NOTIFICATIONS_ENABLED:Ljava/lang/String; = "INSERT OR REPLACE INTO map (name, value) VALUES (\"notifications_enabled\", \"1\");"
2193 +.field private static final INSERT_VERSION:Ljava/lang/String; = "INSERT OR REPLACE INTO map (name, value) VALUES (\"db_version\", 3);"
2195 +.field private static final RETRY_QUERY_COUNT:I = 0x5
2197 +.field public static final SETTINGS_DIRECTORY:Ljava/lang/String; = "/data/system/privacy"
2199 +.field public static final SETTING_DB_VERSION:Ljava/lang/String; = "db_version"
2201 +.field public static final SETTING_ENABLED:Ljava/lang/String; = "enabled"
2203 +.field public static final SETTING_NOTIFICATIONS_ENABLED:Ljava/lang/String; = "notifications_enabled"
2205 +.field private static final TABLE_ALLOWED_CONTACTS:Ljava/lang/String; = "allowed_contacts"
2207 +.field private static final TABLE_MAP:Ljava/lang/String; = "map"
2209 +.field private static final TABLE_SETTINGS:Ljava/lang/String; = "settings"
2211 +.field private static final TABLE_VERSION:Ljava/lang/String; = "version"
2213 +.field private static final TAG:Ljava/lang/String; = "PrivacyPersistenceAdapter"
2215 +.field public static final VALUE_FALSE:Ljava/lang/String; = "0"
2217 +.field public static final VALUE_TRUE:Ljava/lang/String; = "1"
2219 +.field public static readingThreads:Ljava/lang/Integer;
2223 +.field private context:Landroid/content/Context;
2225 +.field private db:Landroid/database/sqlite/SQLiteDatabase;
2229 +.method static constructor <clinit>()V
2234 + invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
2236 + move-result-object v0
2238 + sput-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2242 + new-array v0, v0, [Ljava/lang/String;
2244 + const-string v1, "_id"
2246 + aput-object v1, v0, v2
2250 + const-string/jumbo v2, "packageName"
2252 + aput-object v2, v0, v1
2256 + const-string/jumbo v2, "uid"
2258 + aput-object v2, v0, v1
2262 + const-string v2, "deviceIdSetting"
2264 + aput-object v2, v0, v1
2268 + const-string v2, "deviceId"
2270 + aput-object v2, v0, v1
2274 + const-string v2, "line1NumberSetting"
2276 + aput-object v2, v0, v1
2280 + const-string v2, "line1Number"
2282 + aput-object v2, v0, v1
2286 + const-string v2, "locationGpsSetting"
2288 + aput-object v2, v0, v1
2292 + const-string v2, "locationGpsLat"
2294 + aput-object v2, v0, v1
2298 + const-string v2, "locationGpsLon"
2300 + aput-object v2, v0, v1
2304 + const-string v2, "locationNetworkSetting"
2306 + aput-object v2, v0, v1
2310 + const-string v2, "locationNetworkLat"
2312 + aput-object v2, v0, v1
2316 + const-string v2, "locationNetworkLon"
2318 + aput-object v2, v0, v1
2322 + const-string/jumbo v2, "networkInfoSetting"
2324 + aput-object v2, v0, v1
2328 + const-string/jumbo v2, "simInfoSetting"
2330 + aput-object v2, v0, v1
2334 + const-string/jumbo v2, "simSerialNumberSetting"
2336 + aput-object v2, v0, v1
2340 + const-string/jumbo v2, "simSerialNumber"
2342 + aput-object v2, v0, v1
2346 + const-string/jumbo v2, "subscriberIdSetting"
2348 + aput-object v2, v0, v1
2352 + const-string/jumbo v2, "subscriberId"
2354 + aput-object v2, v0, v1
2358 + const-string v2, "accountsSetting"
2360 + aput-object v2, v0, v1
2364 + const-string v2, "accountsAuthTokensSetting"
2366 + aput-object v2, v0, v1
2370 + const-string/jumbo v2, "outgoingCallsSetting"
2372 + aput-object v2, v0, v1
2376 + const-string v2, "incomingCallsSetting"
2378 + aput-object v2, v0, v1
2382 + const-string v2, "contactsSetting"
2384 + aput-object v2, v0, v1
2388 + const-string v2, "calendarSetting"
2390 + aput-object v2, v0, v1
2394 + const-string/jumbo v2, "mmsSetting"
2396 + aput-object v2, v0, v1
2400 + const-string/jumbo v2, "smsSetting"
2402 + aput-object v2, v0, v1
2406 + const-string v2, "callLogSetting"
2408 + aput-object v2, v0, v1
2412 + const-string v2, "bookmarksSetting"
2414 + aput-object v2, v0, v1
2418 + const-string/jumbo v2, "systemLogsSetting"
2420 + aput-object v2, v0, v1
2424 + const-string v2, "externalStorageSetting"
2426 + aput-object v2, v0, v1
2430 + const-string v2, "cameraSetting"
2432 + aput-object v2, v0, v1
2436 + const-string/jumbo v2, "recordAudioSetting"
2438 + aput-object v2, v0, v1
2442 + const-string/jumbo v2, "notificationSetting"
2444 + aput-object v2, v0, v1
2448 + const-string v2, "intentBootCompletedSetting"
2450 + aput-object v2, v0, v1
2452 + sput-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->DATABASE_FIELDS:[Ljava/lang/String;
2457 +.method public constructor <init>(Landroid/content/Context;)V
2460 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
2462 + iput-object p1, p0, Landroid/privacy/PrivacyPersistenceAdapter;->context:Landroid/content/Context;
2464 + new-instance v2, Ljava/io/File;
2466 + const-string v3, "/data/system/"
2468 + invoke-direct {v2, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
2470 + invoke-virtual {v2}, Ljava/io/File;->canWrite()Z
2474 + if-eqz v0, :cond_3c
2476 + new-instance v2, Ljava/io/File;
2478 + const-string v3, "/data/system/privacy.db"
2480 + invoke-direct {v2, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
2482 + invoke-virtual {v2}, Ljava/io/File;->exists()Z
2486 + if-nez v2, :cond_22
2488 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->createDatabase()V
2491 + new-instance v2, Ljava/io/File;
2493 + const-string v3, "/data/system/privacy"
2495 + invoke-direct {v2, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
2497 + invoke-virtual {v2}, Ljava/io/File;->exists()Z
2501 + if-nez v2, :cond_32
2503 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->createSettingsDir()V
2506 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getDbVersion()I
2512 + if-ge v1, v2, :cond_3c
2514 + invoke-direct {p0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->upgradeDatabase(I)V
2520 +.method private declared-synchronized createDatabase()V
2526 + const-string v2, "PrivacyPersistenceAdapter"
2528 + const-string v3, "createDatabase - creating privacy database file"
2530 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
2532 + .catchall {:try_start_1 .. :try_end_8} :catchall_4c
2535 + const-string v2, "/data/system/privacy.db"
2539 + const/high16 v4, 0x1000
2541 + invoke-static {v2, v3, v4}, Landroid/database/sqlite/SQLiteDatabase;->openDatabase(Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;I)Landroid/database/sqlite/SQLiteDatabase;
2543 + move-result-object v0
2545 + const-string v2, "PrivacyPersistenceAdapter"
2547 + const-string v3, "createDatabase - creating privacy database"
2549 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
2551 + 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);"
2553 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
2555 + const-string v2, "CREATE TABLE IF NOT EXISTS allowed_contacts ( settings_id, contact_id, PRIMARY KEY(settings_id, contact_id) );"
2557 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
2559 + const-string v2, "CREATE TABLE IF NOT EXISTS map ( name TEXT PRIMARY KEY, value TEXT );"
2561 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
2563 + const-string v2, "INSERT OR REPLACE INTO map (name, value) VALUES (\"db_version\", 3);"
2565 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
2567 + const-string v2, "INSERT OR REPLACE INTO map (name, value) VALUES (\"enabled\", \"1\");"
2569 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
2571 + const-string v2, "INSERT OR REPLACE INTO map (name, value) VALUES (\"notifications_enabled\", \"1\");"
2573 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
2575 + if-eqz v0, :cond_41
2577 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
2581 + if-eqz v2, :cond_41
2583 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
2585 + .catchall {:try_start_8 .. :try_end_41} :catchall_4c
2586 + .catch Landroid/database/SQLException; {:try_start_8 .. :try_end_41} :catch_43
2598 + const-string v2, "PrivacyPersistenceAdapter"
2600 + const-string v3, "createDatabase - failed to create privacy database"
2602 + invoke-static {v2, v3, v1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
2604 + .catchall {:try_start_44 .. :try_end_4b} :catchall_4c
2616 +.method private declared-synchronized createSettingsDir()V
2622 + new-instance v0, Ljava/io/File;
2624 + const-string v1, "/data/system/privacy/"
2626 + invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
2628 + invoke-virtual {v0}, Ljava/io/File;->mkdirs()Z
2634 + invoke-virtual {v0, v1, v2}, Ljava/io/File;->setReadable(ZZ)Z
2640 + invoke-virtual {v0, v1, v2}, Ljava/io/File;->setExecutable(ZZ)Z
2642 + .catchall {:try_start_1 .. :try_end_15} :catchall_17
2656 +.method private deleteRecursive(Ljava/io/File;)V
2659 + invoke-virtual {p1}, Ljava/io/File;->isDirectory()Z
2663 + if-eqz v4, :cond_16
2665 + invoke-virtual {p1}, Ljava/io/File;->listFiles()[Ljava/io/File;
2667 + move-result-object v0
2669 + array-length v3, v0
2674 + if-ge v2, v3, :cond_16
2676 + aget-object v1, v0, v2
2678 + invoke-direct {p0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteRecursive(Ljava/io/File;)V
2680 + add-int/lit8 v2, v2, 0x1
2685 + invoke-virtual {p1}, Ljava/io/File;->delete()Z
2690 +.method private getDbVersion()I
2697 + sget-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2699 + sget-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2701 + invoke-virtual {v6}, Ljava/lang/Integer;->intValue()I
2705 + add-int/lit8 v6, v6, 0x1
2707 + invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
2709 + move-result-object v6
2711 + sput-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2713 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
2715 + move-result-object v1
2718 + const-string v6, "SELECT name FROM sqlite_master WHERE type=\'table\' AND name=\'map\';"
2720 + invoke-direct {p0, v1, v6}, Landroid/privacy/PrivacyPersistenceAdapter;->rawQuery(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;)Landroid/database/Cursor;
2722 + move-result-object v0
2724 + if-eqz v0, :cond_5e
2726 + invoke-interface {v0}, Landroid/database/Cursor;->getCount()I
2730 + if-nez v6, :cond_25
2735 + invoke-interface {v0}, Landroid/database/Cursor;->close()V
2737 + sget-object v7, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2741 + .catch Ljava/lang/Exception; {:try_start_16 .. :try_end_2b} :catch_55
2744 + sget-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2746 + sget-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2748 + invoke-virtual {v6}, Ljava/lang/Integer;->intValue()I
2752 + add-int/lit8 v6, v6, -0x1
2754 + invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
2756 + move-result-object v6
2758 + sput-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2760 + sget-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2762 + invoke-virtual {v6}, Ljava/lang/Integer;->intValue()I
2766 + if-nez v6, :cond_4e
2768 + if-eqz v1, :cond_4e
2770 + invoke-virtual {v1}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
2774 + if-eqz v6, :cond_4e
2776 + invoke-virtual {v1}, Landroid/database/sqlite/SQLiteDatabase;->close()V
2782 + if-ne v3, v4, :cond_66
2792 + .catchall {:try_start_2b .. :try_end_54} :catchall_52
2797 + .catch Ljava/lang/Exception; {:try_start_54 .. :try_end_55} :catch_55
2802 + const-string v6, "PrivacyPersistenceAdapter"
2804 + const-string v7, "getDbVersion - failed to check if table map exists (exception)"
2806 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
2812 + const-string v6, "PrivacyPersistenceAdapter"
2814 + const-string v7, "getDbVersion - failed to check if table map exists (cursor is null)"
2816 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
2818 + .catch Ljava/lang/Exception; {:try_start_5e .. :try_end_65} :catch_55
2823 + const-string v6, "db_version"
2825 + invoke-virtual {p0, v6}, Landroid/privacy/PrivacyPersistenceAdapter;->getValue(Ljava/lang/String;)Ljava/lang/String;
2827 + move-result-object v5
2829 + if-nez v5, :cond_70
2837 + invoke-static {v5}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
2839 + .catch Ljava/lang/Exception; {:try_start_70 .. :try_end_73} :catch_76
2850 + const-string v6, "PrivacyPersistenceAdapter"
2852 + const-string v7, "getDbVersion - failed to parse database version; returning 1"
2854 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
2861 +.method private declared-synchronized getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
2867 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2869 + if-eqz v0, :cond_11
2871 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2873 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
2877 + if-eqz v0, :cond_11
2879 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2881 + .catchall {:try_start_1 .. :try_end_f} :catchall_1e
2890 + const-string v0, "/data/system/privacy.db"
2896 + invoke-static {v0, v1, v2}, Landroid/database/sqlite/SQLiteDatabase;->openDatabase(Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;I)Landroid/database/sqlite/SQLiteDatabase;
2898 + move-result-object v0
2900 + iput-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2902 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2904 + .catchall {:try_start_11 .. :try_end_1d} :catchall_1e
2916 +.method private declared-synchronized getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
2922 + new-instance v0, Ljava/io/File;
2924 + const-string v1, "/data/system/privacy.db"
2926 + invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
2928 + invoke-virtual {v0}, Ljava/io/File;->exists()Z
2932 + if-nez v0, :cond_11
2934 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->createDatabase()V
2937 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2939 + if-eqz v0, :cond_29
2941 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2943 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
2947 + if-eqz v0, :cond_29
2949 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2951 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isReadOnly()Z
2955 + if-nez v0, :cond_29
2957 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2959 + .catchall {:try_start_1 .. :try_end_27} :catchall_36
2968 + const-string v0, "/data/system/privacy.db"
2974 + invoke-static {v0, v1, v2}, Landroid/database/sqlite/SQLiteDatabase;->openDatabase(Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;I)Landroid/database/sqlite/SQLiteDatabase;
2976 + move-result-object v0
2978 + iput-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2980 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2982 + .catchall {:try_start_29 .. :try_end_35} :catchall_36
2994 +.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;
2996 + .annotation system Ldalvik/annotation/Throws;
2998 + Ljava/lang/Exception;
3009 + if-nez v3, :cond_27
3013 + if-ge v2, v4, :cond_27
3015 + if-eqz v0, :cond_d
3018 + invoke-interface {v0}, Landroid/database/Cursor;->close()V
3021 + 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;
3023 + .catch Ljava/lang/IllegalStateException; {:try_start_a .. :try_end_10} :catch_15
3025 + move-result-object v0
3030 + add-int/lit8 v2, v2, 0x1
3039 + if-eqz p1, :cond_22
3041 + invoke-virtual {p1}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3045 + if-eqz v4, :cond_22
3047 + invoke-virtual {p1}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3050 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
3052 + move-result-object p1
3057 + if-nez v3, :cond_32
3059 + new-instance v4, Ljava/lang/Exception;
3061 + const-string/jumbo v5, "query - failed to execute query on the DB"
3063 + invoke-direct {v4, v5}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
3071 +.method private rawQuery(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;)Landroid/database/Cursor;
3073 + .annotation system Ldalvik/annotation/Throws;
3075 + Ljava/lang/Exception;
3086 + if-nez v3, :cond_28
3090 + if-ge v2, v4, :cond_28
3092 + if-eqz v0, :cond_d
3095 + invoke-interface {v0}, Landroid/database/Cursor;->close()V
3100 + invoke-virtual {p1, p2, v4}, Landroid/database/sqlite/SQLiteDatabase;->rawQuery(Ljava/lang/String;[Ljava/lang/String;)Landroid/database/Cursor;
3102 + .catch Ljava/lang/IllegalStateException; {:try_start_a .. :try_end_11} :catch_16
3104 + move-result-object v0
3109 + add-int/lit8 v2, v2, 0x1
3118 + if-eqz p1, :cond_23
3120 + invoke-virtual {p1}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3124 + if-eqz v4, :cond_23
3126 + invoke-virtual {p1}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3129 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
3131 + move-result-object p1
3136 + if-nez v3, :cond_33
3138 + new-instance v4, Ljava/lang/Exception;
3140 + const-string/jumbo v5, "query - failed to execute query on the DB"
3142 + invoke-direct {v4, v5}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
3150 +.method private declared-synchronized upgradeDatabase(I)V
3156 + const-string v17, "PrivacyPersistenceAdapter"
3158 + new-instance v18, Ljava/lang/StringBuilder;
3160 + invoke-direct/range {v18 .. v18}, Ljava/lang/StringBuilder;-><init>()V
3162 + const-string/jumbo v19, "upgradeDatabase - upgrading DB from version "
3164 + invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3166 + move-result-object v18
3168 + move-object/from16 v0, v18
3170 + move/from16 v1, p1
3172 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
3174 + move-result-object v18
3176 + const-string v19, " to "
3178 + invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3180 + move-result-object v18
3184 + invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
3186 + move-result-object v18
3188 + invoke-virtual/range {v18 .. v18}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3190 + move-result-object v18
3192 + invoke-static/range {v17 .. v18}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
3194 + new-instance v6, Ljava/io/File;
3196 + const-string v17, "/data/system/privacy.db"
3198 + move-object/from16 v0, v17
3200 + invoke-direct {v6, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
3202 + new-instance v5, Ljava/io/File;
3204 + const-string v17, "/data/system/privacy.db.bak"
3206 + move-object/from16 v0, v17
3208 + invoke-direct {v5, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
3210 + .catchall {:try_start_1 .. :try_end_3c} :catchall_66
3213 + invoke-virtual {v5}, Ljava/io/File;->delete()Z
3215 + .catchall {:try_start_3c .. :try_end_3f} :catchall_66
3216 + .catch Ljava/lang/SecurityException; {:try_start_3c .. :try_end_3f} :catch_5c
3220 + invoke-static {v6, v5}, Landroid/os/FileUtils;->copyFile(Ljava/io/File;Ljava/io/File;)Z
3222 + invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
3224 + move-result-wide v17
3226 + invoke-virtual {v5}, Ljava/io/File;->lastModified()J
3228 + move-result-wide v19
3230 + sub-long v17, v17, v19
3232 + const-wide/16 v19, 0x7d0
3234 + cmp-long v17, v17, v19
3236 + if-lez v17, :cond_69
3238 + const-string v17, "PrivacyPersistenceAdapter"
3240 + const-string/jumbo v18, "upgradeDatabase - could not create a database backup, aborting..."
3242 + invoke-static/range {v17 .. v18}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
3244 + .catchall {:try_start_3f .. :try_end_5a} :catchall_66
3255 + const-string v17, "PrivacyPersistenceAdapter"
3257 + const-string/jumbo v18, "upgradeDatabase - could not remove old backup"
3259 + invoke-static/range {v17 .. v18}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
3261 + .catchall {:try_start_5d .. :try_end_65} :catchall_66
3266 + move-exception v17
3274 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
3276 + move-result-object v4
3278 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->beginTransaction()V
3280 + packed-switch p1, :pswitch_data_164
3284 + if-eqz v4, :cond_159
3286 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3290 + if-eqz v17, :cond_159
3292 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
3294 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3297 + invoke-virtual/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->purgeSettings()Z
3299 + .catchall {:try_start_69 .. :try_end_84} :catchall_66
3304 + if-eqz v4, :cond_73
3307 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3311 + if-eqz v17, :cond_73
3313 + const-string v17, "DROP TABLE IF EXISTS version;"
3315 + move-object/from16 v0, v17
3317 + invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
3319 + const-string v17, "CREATE TABLE IF NOT EXISTS allowed_contacts ( settings_id, contact_id, PRIMARY KEY(settings_id, contact_id) );"
3321 + move-object/from16 v0, v17
3323 + invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
3325 + const-string v17, "CREATE TABLE IF NOT EXISTS map ( name TEXT PRIMARY KEY, value TEXT );"
3327 + move-object/from16 v0, v17
3329 + invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
3331 + const-string v17, "INSERT OR REPLACE INTO map (name, value) VALUES (\"db_version\", 3);"
3333 + move-object/from16 v0, v17
3335 + invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
3337 + const-string v17, "INSERT OR REPLACE INTO map (name, value) VALUES (\"enabled\", \"1\");"
3339 + move-object/from16 v0, v17
3341 + invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
3343 + const-string v17, "INSERT OR REPLACE INTO map (name, value) VALUES (\"notifications_enabled\", \"1\");"
3345 + move-object/from16 v0, v17
3347 + invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
3349 + new-instance v14, Ljava/io/File;
3351 + const-string v17, "/data/system/privacy"
3353 + move-object/from16 v0, v17
3355 + invoke-direct {v14, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
3357 + invoke-virtual {v14}, Ljava/io/File;->listFiles()[Ljava/io/File;
3359 + move-result-object v2
3361 + array-length v10, v2
3368 + if-ge v9, v10, :cond_127
3370 + aget-object v13, v2, v9
3372 + invoke-virtual {v13}, Ljava/io/File;->listFiles()[Ljava/io/File;
3374 + move-result-object v3
3376 + array-length v11, v3
3381 + if-ge v8, v11, :cond_123
3383 + aget-object v16, v3, v8
3385 + invoke-virtual/range {v16 .. v16}, Ljava/io/File;->isDirectory()Z
3389 + if-eqz v17, :cond_120
3391 + invoke-virtual/range {v16 .. v16}, Ljava/io/File;->listFiles()[Ljava/io/File;
3393 + move-result-object v15
3397 + aget-object v17, v15, v17
3399 + if-eqz v17, :cond_120
3401 + new-instance v12, Ljava/io/File;
3403 + new-instance v17, Ljava/lang/StringBuilder;
3405 + invoke-direct/range {v17 .. v17}, Ljava/lang/StringBuilder;-><init>()V
3407 + move-object/from16 v0, v17
3409 + invoke-virtual {v0, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
3411 + move-result-object v17
3413 + const-string v18, "/"
3415 + invoke-virtual/range {v17 .. v18}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3417 + move-result-object v17
3421 + aget-object v18, v15, v18
3423 + invoke-virtual/range {v18 .. v18}, Ljava/io/File;->getName()Ljava/lang/String;
3425 + move-result-object v18
3427 + invoke-virtual/range {v17 .. v18}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3429 + move-result-object v17
3431 + invoke-virtual/range {v17 .. v17}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3433 + move-result-object v17
3435 + move-object/from16 v0, v17
3437 + invoke-direct {v12, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
3439 + invoke-virtual {v12}, Ljava/io/File;->delete()Z
3443 + aget-object v17, v15, v17
3445 + move-object/from16 v0, v17
3447 + invoke-virtual {v0, v12}, Ljava/io/File;->renameTo(Ljava/io/File;)Z
3449 + move-object/from16 v0, p0
3451 + move-object/from16 v1, v16
3453 + invoke-direct {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteRecursive(Ljava/io/File;)V
3456 + add-int/lit8 v8, v8, 0x1
3461 + add-int/lit8 v8, v9, 0x1
3468 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->setTransactionSuccessful()V
3470 + .catchall {:try_start_87 .. :try_end_12a} :catchall_66
3471 + .catch Ljava/lang/Exception; {:try_start_87 .. :try_end_12a} :catch_12c
3478 + if-eqz v4, :cond_13b
3481 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3485 + if-eqz v17, :cond_13b
3487 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
3489 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3492 + const-string v17, "PrivacyPersistenceAdapter"
3494 + const-string/jumbo v18, "upgradeDatabase - could not upgrade DB; will restore backup"
3496 + move-object/from16 v0, v17
3498 + move-object/from16 v1, v18
3500 + invoke-static {v0, v1, v7}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
3502 + invoke-static {v5, v6}, Landroid/os/FileUtils;->copyFile(Ljava/io/File;Ljava/io/File;)Z
3504 + invoke-virtual {v5}, Ljava/io/File;->delete()Z
3509 + const-string v17, "PrivacyPersistenceAdapter"
3511 + const-string/jumbo v18, "upgradeDatabase - trying to upgrade most current DB version"
3513 + invoke-static/range {v17 .. v18}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
3518 + const-string v17, "PrivacyPersistenceAdapter"
3520 + const-string/jumbo v18, "upgradeDatabase - database is null or closed; cant call endTransaction()"
3522 + invoke-static/range {v17 .. v18}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
3524 + .catchall {:try_start_12f .. :try_end_161} :catchall_66
3531 + .packed-switch 0x1
3535 + .end packed-switch
3540 +.method public declared-synchronized deleteSettings(Ljava/lang/String;)Z
3548 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
3550 + move-result-object v0
3552 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->beginTransaction()V
3554 + .catchall {:try_start_2 .. :try_end_9} :catchall_107
3557 + const-string/jumbo v1, "settings"
3561 + new-array v2, v2, [Ljava/lang/String;
3565 + const-string v4, "_id"
3567 + aput-object v4, v2, v3
3569 + const-string/jumbo v3, "packageName=?"
3573 + new-array v4, v4, [Ljava/lang/String;
3577 + aput-object p1, v4, v5
3585 + 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;
3587 + move-result-object v8
3589 + if-eqz v8, :cond_4c
3591 + invoke-interface {v8}, Landroid/database/Cursor;->getCount()I
3595 + if-lez v1, :cond_4c
3597 + invoke-interface {v8}, Landroid/database/Cursor;->moveToFirst()Z
3601 + if-eqz v1, :cond_4c
3605 + invoke-interface {v8, v1}, Landroid/database/Cursor;->getInt(I)I
3609 + const-string v1, "allowed_contacts"
3611 + const-string/jumbo v2, "settings_id=?"
3615 + new-array v3, v3, [Ljava/lang/String;
3619 + invoke-static {v10}, Ljava/lang/Integer;->toString(I)Ljava/lang/String;
3621 + move-result-object v5
3623 + aput-object v5, v3, v4
3625 + invoke-virtual {v0, v1, v2, v3}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
3627 + invoke-interface {v8}, Landroid/database/Cursor;->close()V
3630 + const-string/jumbo v1, "settings"
3632 + const-string/jumbo v2, "packageName=?"
3636 + new-array v3, v3, [Ljava/lang/String;
3640 + aput-object p1, v3, v4
3642 + invoke-virtual {v0, v1, v2, v3}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
3646 + if-nez v1, :cond_8d
3648 + const-string v1, "PrivacyPersistenceAdapter"
3650 + new-instance v2, Ljava/lang/StringBuilder;
3652 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
3654 + const-string v3, "deleteSettings - database entry for "
3656 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3658 + move-result-object v2
3660 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3662 + move-result-object v2
3664 + const-string v3, " not found"
3666 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3668 + move-result-object v2
3670 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3672 + move-result-object v2
3674 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
3676 + .catchall {:try_start_9 .. :try_end_7c} :catchall_10a
3677 + .catch Ljava/lang/Exception; {:try_start_9 .. :try_end_7c} :catch_ef
3682 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
3684 + if-eqz v0, :cond_8b
3686 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3690 + if-eqz v2, :cond_8b
3692 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3694 + .catchall {:try_start_7d .. :try_end_8b} :catchall_107
3704 + new-instance v12, Ljava/io/File;
3706 + new-instance v1, Ljava/lang/StringBuilder;
3708 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
3710 + const-string v2, "/data/system/privacy/"
3712 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3714 + move-result-object v1
3716 + invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3718 + move-result-object v1
3720 + const-string v2, "/"
3722 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3724 + move-result-object v1
3726 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3728 + move-result-object v1
3730 + invoke-direct {v12, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
3732 + new-instance v13, Ljava/io/File;
3734 + new-instance v1, Ljava/lang/StringBuilder;
3736 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
3738 + const-string v2, "/data/system/privacy/"
3740 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3742 + move-result-object v1
3744 + invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3746 + move-result-object v1
3748 + const-string v2, "/systemLogsSetting"
3750 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3752 + move-result-object v1
3754 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3756 + move-result-object v1
3758 + invoke-direct {v13, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
3760 + invoke-virtual {v13}, Ljava/io/File;->delete()Z
3762 + invoke-virtual {v12}, Ljava/io/File;->list()[Ljava/lang/String;
3764 + move-result-object v1
3766 + if-eqz v1, :cond_d9
3768 + invoke-virtual {v12}, Ljava/io/File;->list()[Ljava/lang/String;
3770 + move-result-object v1
3772 + array-length v1, v1
3774 + if-nez v1, :cond_dc
3777 + invoke-virtual {v12}, Ljava/io/File;->delete()Z
3780 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->setTransactionSuccessful()V
3782 + .catchall {:try_start_8d .. :try_end_df} :catchall_10a
3783 + .catch Ljava/lang/Exception; {:try_start_8d .. :try_end_df} :catch_ef
3786 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
3788 + if-eqz v0, :cond_ed
3790 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3794 + if-eqz v1, :cond_ed
3796 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3798 + .catchall {:try_start_df .. :try_end_ed} :catchall_107
3812 + const-string v1, "PrivacyPersistenceAdapter"
3814 + const-string v2, "deleteSettings - could not delete settings"
3816 + invoke-static {v1, v2, v9}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
3818 + .catchall {:try_start_f1 .. :try_end_f8} :catchall_10a
3821 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
3823 + if-eqz v0, :cond_ed
3825 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3829 + if-eqz v1, :cond_ed
3831 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3833 + .catchall {:try_start_f8 .. :try_end_106} :catchall_107
3848 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
3850 + if-eqz v0, :cond_119
3852 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3856 + if-eqz v2, :cond_119
3858 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3863 + .catchall {:try_start_10b .. :try_end_11a} :catchall_107
3866 +.method public declared-synchronized getSettings(Ljava/lang/String;Z)Landroid/privacy/PrivacySettings;
3873 + if-nez p1, :cond_10
3876 + const-string v1, "PrivacyPersistenceAdapter"
3878 + const-string v4, "getSettings - insufficient application identifier - package name is required"
3880 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
3882 + .catchall {:try_start_5 .. :try_end_c} :catchall_2d8
3884 + move-object/from16 v3, v43
3893 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
3895 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
3897 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
3901 + add-int/lit8 v1, v1, 0x1
3903 + invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
3905 + move-result-object v1
3907 + sput-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
3909 + .catchall {:try_start_10 .. :try_end_20} :catchall_2d8
3912 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
3914 + .catchall {:try_start_20 .. :try_end_23} :catchall_2d8
3915 + .catch Landroid/database/sqlite/SQLiteException; {:try_start_20 .. :try_end_23} :catch_245
3917 + move-result-object v2
3922 + const-string/jumbo v3, "settings"
3924 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->DATABASE_FIELDS:[Ljava/lang/String;
3926 + const-string/jumbo v5, "packageName=?"
3930 + new-array v6, v1, [Ljava/lang/String;
3934 + aput-object p1, v6, v1
3944 + move-object/from16 v1, p0
3946 + 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;
3948 + move-result-object v41
3950 + if-eqz v41, :cond_2dc
3952 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->moveToFirst()Z
3956 + if-eqz v1, :cond_2dc
3958 + new-instance v3, Landroid/privacy/PrivacySettings;
3962 + move-object/from16 v0, v41
3964 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getInt(I)I
3968 + invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
3970 + move-result-object v4
3974 + move-object/from16 v0, v41
3976 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
3978 + move-result-object v5
3982 + move-object/from16 v0, v41
3984 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getInt(I)I
3990 + move-object/from16 v0, v41
3992 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3996 + int-to-byte v7, v1
4000 + move-object/from16 v0, v41
4002 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
4004 + move-result-object v8
4008 + move-object/from16 v0, v41
4010 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4014 + int-to-byte v9, v1
4018 + move-object/from16 v0, v41
4020 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
4022 + move-result-object v10
4026 + move-object/from16 v0, v41
4028 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4032 + int-to-byte v11, v1
4036 + move-object/from16 v0, v41
4038 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
4040 + move-result-object v12
4044 + move-object/from16 v0, v41
4046 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
4048 + move-result-object v13
4052 + move-object/from16 v0, v41
4054 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4058 + int-to-byte v14, v1
4062 + move-object/from16 v0, v41
4064 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
4066 + move-result-object v15
4070 + move-object/from16 v0, v41
4072 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
4074 + move-result-object v16
4078 + move-object/from16 v0, v41
4080 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4084 + int-to-byte v0, v1
4086 + move/from16 v17, v0
4090 + move-object/from16 v0, v41
4092 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4096 + int-to-byte v0, v1
4098 + move/from16 v18, v0
4102 + move-object/from16 v0, v41
4104 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4108 + int-to-byte v0, v1
4110 + move/from16 v19, v0
4114 + move-object/from16 v0, v41
4116 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
4118 + move-result-object v20
4122 + move-object/from16 v0, v41
4124 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4128 + int-to-byte v0, v1
4130 + move/from16 v21, v0
4134 + move-object/from16 v0, v41
4136 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
4138 + move-result-object v22
4142 + move-object/from16 v0, v41
4144 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4148 + int-to-byte v0, v1
4150 + move/from16 v23, v0
4154 + move-object/from16 v0, v41
4156 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4160 + int-to-byte v0, v1
4162 + move/from16 v24, v0
4166 + move-object/from16 v0, v41
4168 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4172 + int-to-byte v0, v1
4174 + move/from16 v25, v0
4178 + move-object/from16 v0, v41
4180 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4184 + int-to-byte v0, v1
4186 + move/from16 v26, v0
4190 + move-object/from16 v0, v41
4192 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4196 + int-to-byte v0, v1
4198 + move/from16 v27, v0
4202 + move-object/from16 v0, v41
4204 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4208 + int-to-byte v0, v1
4210 + move/from16 v28, v0
4214 + move-object/from16 v0, v41
4216 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4220 + int-to-byte v0, v1
4222 + move/from16 v29, v0
4226 + move-object/from16 v0, v41
4228 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4232 + int-to-byte v0, v1
4234 + move/from16 v30, v0
4238 + move-object/from16 v0, v41
4240 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4244 + int-to-byte v0, v1
4246 + move/from16 v31, v0
4250 + move-object/from16 v0, v41
4252 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4256 + int-to-byte v0, v1
4258 + move/from16 v32, v0
4262 + move-object/from16 v0, v41
4264 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4268 + int-to-byte v0, v1
4270 + move/from16 v33, v0
4274 + move-object/from16 v0, v41
4276 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4280 + int-to-byte v0, v1
4282 + move/from16 v34, v0
4286 + move-object/from16 v0, v41
4288 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4292 + int-to-byte v0, v1
4294 + move/from16 v35, v0
4298 + move-object/from16 v0, v41
4300 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4304 + int-to-byte v0, v1
4306 + move/from16 v36, v0
4310 + move-object/from16 v0, v41
4312 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4316 + int-to-byte v0, v1
4318 + move/from16 v37, v0
4322 + move-object/from16 v0, v41
4324 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4328 + int-to-byte v0, v1
4330 + move/from16 v38, v0
4334 + 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
4336 + .catchall {:try_start_26 .. :try_end_1a1} :catchall_29b
4337 + .catch Ljava/lang/Exception; {:try_start_26 .. :try_end_1a1} :catch_2d3
4340 + new-instance v1, Ljava/lang/StringBuilder;
4342 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
4344 + const-string v4, "SELECT * FROM allowed_contacts WHERE settings_id="
4346 + invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4348 + move-result-object v1
4350 + invoke-virtual {v3}, Landroid/privacy/PrivacySettings;->get_id()Ljava/lang/Integer;
4352 + move-result-object v4
4354 + invoke-virtual {v4}, Ljava/lang/Integer;->intValue()I
4358 + invoke-static {v4}, Ljava/lang/Integer;->toString(I)Ljava/lang/String;
4360 + move-result-object v4
4362 + invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4364 + move-result-object v1
4366 + const-string v4, ";"
4368 + invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4370 + move-result-object v1
4372 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4374 + move-result-object v1
4376 + move-object/from16 v0, p0
4378 + invoke-direct {v0, v2, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->rawQuery(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;)Landroid/database/Cursor;
4380 + move-result-object v41
4382 + if-eqz v41, :cond_268
4384 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->getCount()I
4388 + if-lez v1, :cond_268
4390 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->getCount()I
4394 + new-array v0, v1, [I
4396 + move-object/from16 v40, v0
4399 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->moveToNext()Z
4403 + if-eqz v1, :cond_263
4405 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->getPosition()I
4411 + move-object/from16 v0, v41
4413 + invoke-interface {v0, v4}, Landroid/database/Cursor;->getInt(I)I
4419 + .catchall {:try_start_1a1 .. :try_end_1ef} :catchall_2d1
4420 + .catch Ljava/lang/Exception; {:try_start_1a1 .. :try_end_1ef} :catch_1f0
4425 + move-exception v42
4429 + const-string v1, "PrivacyPersistenceAdapter"
4431 + new-instance v4, Ljava/lang/StringBuilder;
4433 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
4435 + const-string v5, "getSettings - failed to get settings for package: "
4437 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4439 + move-result-object v4
4441 + move-object/from16 v0, p1
4443 + invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4445 + move-result-object v4
4447 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4449 + move-result-object v4
4451 + move-object/from16 v0, v42
4453 + invoke-static {v1, v4, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
4455 + invoke-virtual/range {v42 .. v42}, Ljava/lang/Exception;->printStackTrace()V
4457 + if-eqz v41, :cond_215
4459 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->close()V
4461 + .catchall {:try_start_1f1 .. :try_end_215} :catchall_2d1
4464 + if-eqz v41, :cond_21a
4467 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->close()V
4470 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4474 + .catchall {:try_start_217 .. :try_end_21d} :catchall_298
4477 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4479 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4481 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
4485 + add-int/lit8 v1, v1, -0x1
4487 + invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4489 + move-result-object v1
4491 + sput-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4493 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4495 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
4499 + if-nez v1, :cond_240
4501 + if-eqz v2, :cond_240
4503 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
4507 + if-eqz v1, :cond_240
4509 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
4514 + .catchall {:try_start_21d .. :try_end_241} :catchall_2ce
4517 + move-object/from16 v43, v3
4522 + move-exception v42
4525 + const-string v1, "PrivacyPersistenceAdapter"
4527 + const-string v4, "getSettings - database could not be opened"
4529 + move-object/from16 v0, v42
4531 + invoke-static {v1, v4, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
4533 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4535 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4537 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
4541 + add-int/lit8 v1, v1, -0x1
4543 + invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4545 + move-result-object v1
4547 + sput-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4549 + .catchall {:try_start_246 .. :try_end_25f} :catchall_2d8
4551 + move-object/from16 v3, v43
4557 + move-object/from16 v0, v40
4559 + invoke-virtual {v3, v0}, Landroid/privacy/PrivacySettings;->setAllowedContacts([I)V
4561 + .catchall {:try_start_263 .. :try_end_268} :catchall_2d1
4562 + .catch Ljava/lang/Exception; {:try_start_263 .. :try_end_268} :catch_1f0
4566 + if-eqz v41, :cond_26d
4569 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->close()V
4572 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4576 + .catchall {:try_start_26a .. :try_end_270} :catchall_298
4579 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4581 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4583 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
4587 + add-int/lit8 v1, v1, -0x1
4589 + invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4591 + move-result-object v1
4593 + sput-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4595 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4597 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
4601 + if-nez v1, :cond_293
4603 + if-eqz v2, :cond_293
4605 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
4609 + if-eqz v1, :cond_293
4611 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
4623 + .catchall {:try_start_270 .. :try_end_297} :catchall_295
4628 + .catchall {:try_start_297 .. :try_end_298} :catchall_298
4641 + move-object/from16 v3, v43
4644 + if-eqz v41, :cond_2a3
4647 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->close()V
4650 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4654 + .catchall {:try_start_2a0 .. :try_end_2a6} :catchall_298
4657 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4659 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4661 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
4665 + add-int/lit8 v5, v5, -0x1
4667 + invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4669 + move-result-object v5
4671 + sput-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4673 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4675 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
4679 + if-nez v5, :cond_2c9
4681 + if-eqz v2, :cond_2c9
4683 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
4687 + if-eqz v5, :cond_2c9
4689 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
4694 + .catchall {:try_start_2a6 .. :try_end_2ca} :catchall_2cb
4699 + .catchall {:try_start_2ca .. :try_end_2cb} :catchall_298
4707 + .catchall {:try_start_2cc .. :try_end_2cd} :catchall_2cb
4712 + .catchall {:try_start_2cd .. :try_end_2ce} :catchall_298
4720 + .catchall {:try_start_2cf .. :try_end_2d0} :catchall_2ce
4725 + .catchall {:try_start_2d0 .. :try_end_2d1} :catchall_298
4733 + move-exception v42
4735 + move-object/from16 v3, v43
4742 + move-object/from16 v3, v43
4747 + move-object/from16 v3, v43
4752 +.method public getValue(Ljava/lang/String;)Ljava/lang/String;
4755 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4757 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4759 + invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
4763 + add-int/lit8 v0, v0, 0x1
4765 + invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4767 + move-result-object v0
4769 + sput-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4771 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
4773 + move-result-object v1
4778 + const-string/jumbo v2, "map"
4782 + new-array v3, v0, [Ljava/lang/String;
4786 + const-string/jumbo v4, "value"
4788 + aput-object v4, v3, v0
4790 + const-string/jumbo v4, "name=?"
4794 + new-array v5, v0, [Ljava/lang/String;
4798 + aput-object p1, v5, v0
4808 + move-object v0, p0
4810 + 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;
4812 + move-result-object v10
4814 + if-eqz v10, :cond_77
4816 + invoke-interface {v10}, Landroid/database/Cursor;->getCount()I
4820 + if-lez v0, :cond_77
4822 + invoke-interface {v10}, Landroid/database/Cursor;->moveToFirst()Z
4826 + if-eqz v0, :cond_77
4828 + const-string/jumbo v0, "value"
4830 + invoke-interface {v10, v0}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
4834 + invoke-interface {v10, v0}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
4836 + move-result-object v12
4838 + invoke-interface {v10}, Landroid/database/Cursor;->close()V
4840 + .catch Ljava/lang/Exception; {:try_start_15 .. :try_end_4f} :catch_90
4843 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4848 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4850 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4852 + invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
4856 + add-int/lit8 v0, v0, -0x1
4858 + invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4860 + move-result-object v0
4862 + sput-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4864 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4866 + invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
4870 + if-nez v0, :cond_75
4872 + if-eqz v1, :cond_75
4874 + invoke-virtual {v1}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
4878 + if-eqz v0, :cond_75
4880 + invoke-virtual {v1}, Landroid/database/sqlite/SQLiteDatabase;->close()V
4885 + .catchall {:try_start_52 .. :try_end_76} :catchall_aa
4891 + const-string v0, "PrivacyPersistenceAdapter"
4893 + new-instance v2, Ljava/lang/StringBuilder;
4895 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
4897 + const-string v3, "getValue - could not get value for name: "
4899 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4901 + move-result-object v2
4903 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4905 + move-result-object v2
4907 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4909 + move-result-object v2
4911 + invoke-static {v0, v2}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
4913 + .catch Ljava/lang/Exception; {:try_start_77 .. :try_end_8f} :catch_90
4918 + move-exception v11
4920 + const-string v0, "PrivacyPersistenceAdapter"
4922 + new-instance v2, Ljava/lang/StringBuilder;
4924 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
4926 + const-string v3, "getValue - could not get value for name: "
4928 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4930 + move-result-object v2
4932 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4934 + move-result-object v2
4936 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4938 + move-result-object v2
4940 + invoke-static {v0, v2, v11}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
4950 + .catchall {:try_start_ab .. :try_end_ac} :catchall_aa
4955 +.method public purgeSettings()Z
4960 + new-instance v13, Ljava/util/ArrayList;
4962 + invoke-direct {v13}, Ljava/util/ArrayList;-><init>()V
4964 + move-object/from16 v0, p0
4966 + iget-object v2, v0, Landroid/privacy/PrivacyPersistenceAdapter;->context:Landroid/content/Context;
4968 + invoke-virtual {v2}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
4970 + move-result-object v21
4974 + move-object/from16 v0, v21
4976 + invoke-virtual {v0, v2}, Landroid/content/pm/PackageManager;->getInstalledApplications(I)Ljava/util/List;
4978 + move-result-object v19
4980 + invoke-interface/range {v19 .. v19}, Ljava/util/List;->iterator()Ljava/util/Iterator;
4982 + move-result-object v18
4985 + invoke-interface/range {v18 .. v18}, Ljava/util/Iterator;->hasNext()Z
4989 + if-eqz v2, :cond_2d
4991 + invoke-interface/range {v18 .. v18}, Ljava/util/Iterator;->next()Ljava/lang/Object;
4993 + move-result-object v12
4995 + check-cast v12, Landroid/content/pm/ApplicationInfo;
4997 + iget-object v2, v12, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
4999 + invoke-interface {v13, v2}, Ljava/util/List;->add(Ljava/lang/Object;)Z
5004 + new-instance v26, Ljava/io/File;
5006 + const-string v2, "/data/system/privacy"
5008 + move-object/from16 v0, v26
5010 + invoke-direct {v0, v2}, Ljava/io/File;-><init>(Ljava/lang/String;)V
5012 + invoke-virtual/range {v26 .. v26}, Ljava/io/File;->listFiles()[Ljava/io/File;
5014 + move-result-object v15
5016 + array-length v0, v15
5018 + move/from16 v20, v0
5023 + move/from16 v0, v18
5025 + move/from16 v1, v20
5027 + if-ge v0, v1, :cond_5d
5029 + aget-object v23, v15, v18
5031 + invoke-virtual/range {v23 .. v23}, Ljava/io/File;->getName()Ljava/lang/String;
5033 + move-result-object v24
5035 + move-object/from16 v0, v24
5037 + invoke-interface {v13, v0}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
5041 + if-nez v2, :cond_5a
5043 + move-object/from16 v0, p0
5045 + move-object/from16 v1, v23
5047 + invoke-direct {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteRecursive(Ljava/io/File;)V
5050 + add-int/lit8 v18, v18, 0x1
5055 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5057 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5059 + invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
5063 + add-int/lit8 v2, v2, 0x1
5065 + invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5067 + move-result-object v2
5069 + sput-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5071 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
5073 + move-result-object v3
5078 + const-string/jumbo v4, "settings"
5082 + new-array v5, v2, [Ljava/lang/String;
5086 + const-string/jumbo v6, "packageName"
5088 + aput-object v6, v5, v2
5102 + move-object/from16 v2, p0
5104 + 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;
5106 + move-result-object v16
5108 + new-instance v14, Ljava/util/ArrayList;
5110 + invoke-direct {v14}, Ljava/util/ArrayList;-><init>()V
5113 + invoke-interface/range {v16 .. v16}, Landroid/database/Cursor;->moveToNext()Z
5117 + if-eqz v2, :cond_142
5121 + move-object/from16 v0, v16
5123 + invoke-interface {v0, v2}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
5125 + move-result-object v24
5127 + move-object/from16 v0, v24
5129 + invoke-interface {v13, v0}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
5133 + if-nez v2, :cond_e7
5135 + move-object/from16 v0, p0
5137 + move-object/from16 v1, v24
5139 + invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteSettings(Ljava/lang/String;)Z
5141 + .catchall {:try_start_73 .. :try_end_ac} :catchall_107
5142 + .catch Ljava/lang/Exception; {:try_start_73 .. :try_end_ac} :catch_ad
5147 + move-exception v17
5150 + const-string v2, "PrivacyPersistenceAdapter"
5152 + const-string/jumbo v4, "purgeSettings - purging DB failed"
5154 + move-object/from16 v0, v17
5156 + invoke-static {v2, v4, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
5158 + .catchall {:try_start_ae .. :try_end_b8} :catchall_107
5162 + if-eqz v16, :cond_bf
5164 + invoke-interface/range {v16 .. v16}, Landroid/database/Cursor;->close()V
5167 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5172 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5174 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5176 + invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
5180 + add-int/lit8 v2, v2, -0x1
5182 + invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5184 + move-result-object v2
5186 + sput-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5188 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5190 + invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
5194 + if-nez v2, :cond_e5
5196 + if-eqz v3, :cond_e5
5198 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
5202 + if-eqz v2, :cond_e5
5204 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->close()V
5209 + .catchall {:try_start_c2 .. :try_end_e6} :catchall_13f
5216 + move-object/from16 v0, v24
5218 + invoke-interface {v14, v0}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
5222 + if-eqz v2, :cond_135
5226 + move-object/from16 v0, p0
5228 + move-object/from16 v1, v24
5230 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacyPersistenceAdapter;->getSettings(Ljava/lang/String;Z)Landroid/privacy/PrivacySettings;
5232 + move-result-object v22
5234 + move-object/from16 v0, p0
5236 + move-object/from16 v1, v24
5238 + invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteSettings(Ljava/lang/String;)Z
5240 + move-object/from16 v0, p0
5242 + move-object/from16 v1, v22
5244 + invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->saveSettings(Landroid/privacy/PrivacySettings;)Z
5246 + .catchall {:try_start_e7 .. :try_end_106} :catchall_107
5247 + .catch Ljava/lang/Exception; {:try_start_e7 .. :try_end_106} :catch_ad
5254 + if-eqz v16, :cond_10d
5256 + invoke-interface/range {v16 .. v16}, Landroid/database/Cursor;->close()V
5259 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5264 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5266 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5268 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
5272 + add-int/lit8 v5, v5, -0x1
5274 + invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5276 + move-result-object v5
5278 + sput-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5280 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5282 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
5286 + if-nez v5, :cond_133
5288 + if-eqz v3, :cond_133
5290 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
5294 + if-eqz v5, :cond_133
5296 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->close()V
5301 + .catchall {:try_start_110 .. :try_end_134} :catchall_13c
5307 + move-object/from16 v0, v24
5309 + invoke-interface {v14, v0}, Ljava/util/List;->add(Ljava/lang/Object;)Z
5311 + .catchall {:try_start_135 .. :try_end_13a} :catchall_107
5312 + .catch Ljava/lang/Exception; {:try_start_135 .. :try_end_13a} :catch_ad
5322 + .catchall {:try_start_13d .. :try_end_13e} :catchall_13c
5332 + .catchall {:try_start_140 .. :try_end_141} :catchall_13f
5337 + if-eqz v16, :cond_147
5339 + invoke-interface/range {v16 .. v16}, Landroid/database/Cursor;->close()V
5342 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5347 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5349 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5351 + invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
5355 + add-int/lit8 v2, v2, -0x1
5357 + invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5359 + move-result-object v2
5361 + sput-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5363 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5365 + invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
5369 + if-nez v2, :cond_16d
5371 + if-eqz v3, :cond_16d
5373 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
5377 + if-eqz v2, :cond_16d
5379 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->close()V
5391 + .catchall {:try_start_14a .. :try_end_172} :catchall_170
5396 +.method public declared-synchronized saveSettings(Landroid/privacy/PrivacySettings;)Z
5404 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getPackageName()Ljava/lang/String;
5406 + move-result-object v17
5408 + if-eqz v17, :cond_f
5410 + invoke-virtual/range {v17 .. v17}, Ljava/lang/String;->isEmpty()Z
5414 + if-eqz v3, :cond_1a
5417 + const-string v3, "PrivacyPersistenceAdapter"
5419 + const-string/jumbo v4, "saveSettings - either package name, UID or both is missing"
5421 + invoke-static {v3, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
5423 + .catchall {:try_start_3 .. :try_end_17} :catchall_2c2
5434 + new-instance v23, Landroid/content/ContentValues;
5436 + invoke-direct/range {v23 .. v23}, Landroid/content/ContentValues;-><init>()V
5438 + const-string/jumbo v3, "packageName"
5440 + move-object/from16 v0, v23
5442 + move-object/from16 v1, v17
5444 + invoke-virtual {v0, v3, v1}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5446 + const-string/jumbo v3, "uid"
5450 + invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5452 + move-result-object v4
5454 + move-object/from16 v0, v23
5456 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
5458 + const-string v3, "deviceIdSetting"
5460 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
5464 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5466 + move-result-object v4
5468 + move-object/from16 v0, v23
5470 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5472 + const-string v3, "deviceId"
5474 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getDeviceId()Ljava/lang/String;
5476 + move-result-object v4
5478 + move-object/from16 v0, v23
5480 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5482 + const-string v3, "line1NumberSetting"
5484 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
5488 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5490 + move-result-object v4
5492 + move-object/from16 v0, v23
5494 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5496 + const-string v3, "line1Number"
5498 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLine1Number()Ljava/lang/String;
5500 + move-result-object v4
5502 + move-object/from16 v0, v23
5504 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5506 + const-string v3, "locationGpsSetting"
5508 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
5512 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5514 + move-result-object v4
5516 + move-object/from16 v0, v23
5518 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5520 + const-string v3, "locationGpsLat"
5522 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
5524 + move-result-object v4
5526 + move-object/from16 v0, v23
5528 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5530 + const-string v3, "locationGpsLon"
5532 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
5534 + move-result-object v4
5536 + move-object/from16 v0, v23
5538 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5540 + const-string v3, "locationNetworkSetting"
5542 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
5546 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5548 + move-result-object v4
5550 + move-object/from16 v0, v23
5552 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5554 + const-string v3, "locationNetworkLat"
5556 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
5558 + move-result-object v4
5560 + move-object/from16 v0, v23
5562 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5564 + const-string v3, "locationNetworkLon"
5566 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
5568 + move-result-object v4
5570 + move-object/from16 v0, v23
5572 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5574 + const-string/jumbo v3, "networkInfoSetting"
5576 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
5580 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5582 + move-result-object v4
5584 + move-object/from16 v0, v23
5586 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5588 + const-string/jumbo v3, "simInfoSetting"
5590 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSimInfoSetting()B
5594 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5596 + move-result-object v4
5598 + move-object/from16 v0, v23
5600 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5602 + const-string/jumbo v3, "simSerialNumberSetting"
5604 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSimSerialNumberSetting()B
5608 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5610 + move-result-object v4
5612 + move-object/from16 v0, v23
5614 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5616 + const-string/jumbo v3, "simSerialNumber"
5618 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSimSerialNumber()Ljava/lang/String;
5620 + move-result-object v4
5622 + move-object/from16 v0, v23
5624 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5626 + const-string/jumbo v3, "subscriberIdSetting"
5628 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSubscriberIdSetting()B
5632 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5634 + move-result-object v4
5636 + move-object/from16 v0, v23
5638 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5640 + const-string/jumbo v3, "subscriberId"
5642 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSubscriberId()Ljava/lang/String;
5644 + move-result-object v4
5646 + move-object/from16 v0, v23
5648 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5650 + const-string v3, "accountsSetting"
5652 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
5656 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5658 + move-result-object v4
5660 + move-object/from16 v0, v23
5662 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5664 + const-string v3, "accountsAuthTokensSetting"
5666 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
5670 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5672 + move-result-object v4
5674 + move-object/from16 v0, v23
5676 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5678 + const-string/jumbo v3, "outgoingCallsSetting"
5680 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getOutgoingCallsSetting()B
5684 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5686 + move-result-object v4
5688 + move-object/from16 v0, v23
5690 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5692 + const-string v3, "incomingCallsSetting"
5694 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getIncomingCallsSetting()B
5698 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5700 + move-result-object v4
5702 + move-object/from16 v0, v23
5704 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5706 + const-string v3, "contactsSetting"
5708 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getContactsSetting()B
5712 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5714 + move-result-object v4
5716 + move-object/from16 v0, v23
5718 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5720 + const-string v3, "calendarSetting"
5722 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getCalendarSetting()B
5726 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5728 + move-result-object v4
5730 + move-object/from16 v0, v23
5732 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5734 + const-string/jumbo v3, "mmsSetting"
5736 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getMmsSetting()B
5740 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5742 + move-result-object v4
5744 + move-object/from16 v0, v23
5746 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5748 + const-string/jumbo v3, "smsSetting"
5750 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSmsSetting()B
5754 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5756 + move-result-object v4
5758 + move-object/from16 v0, v23
5760 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5762 + const-string v3, "callLogSetting"
5764 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getCallLogSetting()B
5768 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5770 + move-result-object v4
5772 + move-object/from16 v0, v23
5774 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5776 + const-string v3, "bookmarksSetting"
5778 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getBookmarksSetting()B
5782 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5784 + move-result-object v4
5786 + move-object/from16 v0, v23
5788 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5790 + const-string/jumbo v3, "systemLogsSetting"
5792 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSystemLogsSetting()B
5796 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5798 + move-result-object v4
5800 + move-object/from16 v0, v23
5802 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5804 + const-string/jumbo v3, "notificationSetting"
5806 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getNotificationSetting()B
5810 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5812 + move-result-object v4
5814 + move-object/from16 v0, v23
5816 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5818 + const-string v3, "intentBootCompletedSetting"
5820 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getIntentBootCompletedSetting()B
5824 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5826 + move-result-object v4
5828 + move-object/from16 v0, v23
5830 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5832 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5834 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5836 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
5840 + add-int/lit8 v3, v3, 0x1
5842 + invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5844 + move-result-object v3
5846 + sput-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5848 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
5850 + move-result-object v2
5852 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->beginTransaction()V
5854 + .catchall {:try_start_1a .. :try_end_1eb} :catchall_2c2
5859 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->get_id()Ljava/lang/Integer;
5861 + move-result-object v15
5863 + if-eqz v15, :cond_2c8
5865 + const-string/jumbo v3, "settings"
5867 + const-string v4, "_id=?"
5871 + new-array v5, v5, [Ljava/lang/String;
5875 + invoke-virtual {v15}, Ljava/lang/Integer;->toString()Ljava/lang/String;
5877 + move-result-object v7
5879 + aput-object v7, v5, v6
5881 + move-object/from16 v0, v23
5883 + 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
5889 + if-ge v3, v4, :cond_249
5891 + new-instance v3, Ljava/lang/Exception;
5893 + const-string/jumbo v4, "saveSettings - failed to update database entry"
5895 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
5899 + .catchall {:try_start_1ec .. :try_end_213} :catchall_291
5900 + .catch Ljava/lang/Exception; {:try_start_1ec .. :try_end_213} :catch_213
5903 + move-exception v13
5908 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
5910 + if-eqz v11, :cond_21e
5912 + invoke-interface {v11}, Landroid/database/Cursor;->close()V
5915 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5919 + .catchall {:try_start_216 .. :try_end_221} :catchall_2c2
5922 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5924 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5926 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
5930 + add-int/lit8 v3, v3, -0x1
5932 + invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5934 + move-result-object v3
5936 + sput-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5938 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5940 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
5944 + if-nez v3, :cond_244
5946 + if-eqz v2, :cond_244
5948 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
5952 + if-eqz v3, :cond_244
5954 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
5959 + .catchall {:try_start_221 .. :try_end_245} :catchall_4ca
5962 + move/from16 v3, v18
5968 + const-string v3, "allowed_contacts"
5970 + const-string/jumbo v4, "settings_id=?"
5974 + new-array v5, v5, [Ljava/lang/String;
5978 + invoke-virtual {v15}, Ljava/lang/Integer;->toString()Ljava/lang/String;
5980 + move-result-object v7
5982 + aput-object v7, v5, v6
5984 + invoke-virtual {v2, v3, v4, v5}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
5986 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAllowedContacts()[I
5988 + move-result-object v10
5990 + if-eqz v10, :cond_3f2
5992 + new-instance v12, Landroid/content/ContentValues;
5994 + invoke-direct {v12}, Landroid/content/ContentValues;-><init>()V
5999 + array-length v3, v10
6001 + if-ge v14, v3, :cond_3f2
6003 + const-string/jumbo v3, "settings_id"
6005 + invoke-virtual {v12, v3, v15}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
6007 + const-string v3, "contact_id"
6011 + invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
6013 + move-result-object v4
6015 + invoke-virtual {v12, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
6017 + const-string v3, "allowed_contacts"
6021 + invoke-virtual {v2, v3, v4, v12}, Landroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
6023 + move-result-wide v3
6025 + const-wide/16 v5, -0x1
6027 + cmp-long v3, v3, v5
6029 + if-nez v3, :cond_2c5
6031 + new-instance v3, Ljava/lang/Exception;
6033 + const-string/jumbo v4, "saveSettings - failed to update database entry (contacts)"
6035 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
6039 + .catchall {:try_start_249 .. :try_end_291} :catchall_291
6040 + .catch Ljava/lang/Exception; {:try_start_249 .. :try_end_291} :catch_213
6046 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
6048 + if-eqz v11, :cond_29a
6050 + invoke-interface {v11}, Landroid/database/Cursor;->close()V
6053 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6057 + .catchall {:try_start_292 .. :try_end_29d} :catchall_2c2
6060 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6062 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6064 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
6068 + add-int/lit8 v5, v5, -0x1
6070 + invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
6072 + move-result-object v5
6074 + sput-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6076 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6078 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
6082 + if-nez v5, :cond_2c0
6084 + if-eqz v2, :cond_2c0
6086 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
6090 + if-eqz v5, :cond_2c0
6092 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
6097 + .catchall {:try_start_29d .. :try_end_2c1} :catchall_4cd
6102 + .catchall {:try_start_2c1 .. :try_end_2c2} :catchall_2c2
6112 + add-int/lit8 v14, v14, 0x1
6118 + const-string/jumbo v3, "settings"
6122 + new-array v4, v4, [Ljava/lang/String;
6126 + const-string v6, "_id"
6128 + aput-object v6, v4, v5
6130 + const-string/jumbo v5, "packageName=?"
6134 + new-array v6, v6, [Ljava/lang/String;
6138 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getPackageName()Ljava/lang/String;
6140 + move-result-object v8
6142 + aput-object v8, v6, v7
6150 + 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;
6152 + move-result-object v11
6154 + if-eqz v11, :cond_3e7
6156 + invoke-interface {v11}, Landroid/database/Cursor;->getCount()I
6162 + if-ne v3, v4, :cond_36e
6164 + const-string/jumbo v3, "settings"
6166 + const-string/jumbo v4, "packageName=?"
6170 + new-array v5, v5, [Ljava/lang/String;
6174 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getPackageName()Ljava/lang/String;
6176 + move-result-object v7
6178 + aput-object v7, v5, v6
6180 + move-object/from16 v0, v23
6182 + 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
6188 + if-ge v3, v4, :cond_312
6190 + new-instance v3, Ljava/lang/Exception;
6192 + const-string/jumbo v4, "saveSettings - failed to update database entry"
6194 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
6199 + invoke-interface {v11}, Landroid/database/Cursor;->moveToFirst()Z
6203 + if-eqz v3, :cond_3f2
6207 + invoke-interface {v11, v3}, Landroid/database/Cursor;->getInt(I)I
6211 + invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
6213 + move-result-object v16
6215 + const-string v3, "allowed_contacts"
6217 + const-string/jumbo v4, "settings_id=?"
6221 + new-array v5, v5, [Ljava/lang/String;
6225 + invoke-virtual/range {v16 .. v16}, Ljava/lang/Integer;->toString()Ljava/lang/String;
6227 + move-result-object v7
6229 + aput-object v7, v5, v6
6231 + invoke-virtual {v2, v3, v4, v5}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
6233 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAllowedContacts()[I
6235 + move-result-object v10
6237 + if-eqz v10, :cond_3f2
6239 + new-instance v12, Landroid/content/ContentValues;
6241 + invoke-direct {v12}, Landroid/content/ContentValues;-><init>()V
6246 + array-length v3, v10
6248 + if-ge v14, v3, :cond_3f2
6250 + const-string/jumbo v3, "settings_id"
6252 + move-object/from16 v0, v16
6254 + invoke-virtual {v12, v3, v0}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
6256 + const-string v3, "contact_id"
6260 + invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
6262 + move-result-object v4
6264 + invoke-virtual {v12, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
6266 + const-string v3, "allowed_contacts"
6270 + invoke-virtual {v2, v3, v4, v12}, Landroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
6272 + move-result-wide v3
6274 + const-wide/16 v5, -0x1
6276 + cmp-long v3, v3, v5
6278 + if-nez v3, :cond_36b
6280 + new-instance v3, Ljava/lang/Exception;
6282 + const-string/jumbo v4, "saveSettings - failed to update database entry (contacts)"
6284 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
6289 + add-int/lit8 v14, v14, 0x1
6294 + invoke-interface {v11}, Landroid/database/Cursor;->getCount()I
6298 + if-nez v3, :cond_3dc
6300 + const-string/jumbo v3, "settings"
6304 + move-object/from16 v0, v23
6306 + invoke-virtual {v2, v3, v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
6308 + move-result-wide v19
6310 + const-wide/16 v3, -0x1
6312 + cmp-long v3, v19, v3
6314 + if-nez v3, :cond_38d
6316 + new-instance v3, Ljava/lang/Exception;
6318 + const-string/jumbo v4, "saveSettings - failed to insert new record into DB"
6320 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
6325 + const-string v3, "allowed_contacts"
6327 + const-string/jumbo v4, "settings_id=?"
6331 + new-array v5, v5, [Ljava/lang/String;
6335 + invoke-static/range {v19 .. v20}, Ljava/lang/Long;->toString(J)Ljava/lang/String;
6337 + move-result-object v7
6339 + aput-object v7, v5, v6
6341 + invoke-virtual {v2, v3, v4, v5}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
6343 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAllowedContacts()[I
6345 + move-result-object v10
6347 + if-eqz v10, :cond_3f2
6349 + new-instance v12, Landroid/content/ContentValues;
6351 + invoke-direct {v12}, Landroid/content/ContentValues;-><init>()V
6356 + array-length v3, v10
6358 + if-ge v14, v3, :cond_3f2
6360 + const-string/jumbo v3, "settings_id"
6362 + invoke-static/range {v19 .. v20}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
6364 + move-result-object v4
6366 + invoke-virtual {v12, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Long;)V
6368 + const-string v3, "contact_id"
6372 + invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
6374 + move-result-object v4
6376 + invoke-virtual {v12, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
6378 + const-string v3, "allowed_contacts"
6382 + invoke-virtual {v2, v3, v4, v12}, Landroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
6384 + move-result-wide v3
6386 + const-wide/16 v5, -0x1
6388 + cmp-long v3, v3, v5
6390 + if-nez v3, :cond_3d9
6392 + new-instance v3, Ljava/lang/Exception;
6394 + const-string/jumbo v4, "saveSettings - failed to update database entry (contacts)"
6396 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
6401 + add-int/lit8 v14, v14, 0x1
6408 + new-instance v3, Ljava/lang/Exception;
6410 + const-string/jumbo v4, "saveSettings - duplicate entries in the privacy.db"
6412 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
6419 + new-instance v3, Ljava/lang/Exception;
6421 + const-string/jumbo v4, "saveSettings - cursor is null, database access failed"
6423 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
6428 + new-instance v21, Ljava/io/File;
6430 + new-instance v3, Ljava/lang/StringBuilder;
6432 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
6434 + const-string v4, "/data/system/privacy/"
6436 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6438 + move-result-object v3
6440 + move-object/from16 v0, v17
6442 + invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6444 + move-result-object v3
6446 + const-string v4, "/"
6448 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6450 + move-result-object v3
6452 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6454 + move-result-object v3
6456 + move-object/from16 v0, v21
6458 + invoke-direct {v0, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
6460 + new-instance v22, Ljava/io/File;
6462 + new-instance v3, Ljava/lang/StringBuilder;
6464 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
6466 + const-string v4, "/data/system/privacy/"
6468 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6470 + move-result-object v3
6472 + move-object/from16 v0, v17
6474 + invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6476 + move-result-object v3
6478 + const-string v4, "/"
6480 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6482 + move-result-object v3
6484 + const-string v4, "/systemLogsSetting"
6486 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6488 + move-result-object v3
6490 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6492 + move-result-object v3
6494 + move-object/from16 v0, v22
6496 + invoke-direct {v0, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
6498 + .catchall {:try_start_2c8 .. :try_end_43c} :catchall_291
6499 + .catch Ljava/lang/Exception; {:try_start_2c8 .. :try_end_43c} :catch_213
6502 + invoke-virtual/range {v21 .. v21}, Ljava/io/File;->mkdirs()Z
6508 + move-object/from16 v0, v21
6510 + invoke-virtual {v0, v3, v4}, Ljava/io/File;->setReadable(ZZ)Z
6516 + move-object/from16 v0, v21
6518 + invoke-virtual {v0, v3, v4}, Ljava/io/File;->setExecutable(ZZ)Z
6520 + invoke-virtual/range {v22 .. v22}, Ljava/io/File;->createNewFile()Z
6526 + move-object/from16 v0, v22
6528 + invoke-virtual {v0, v3, v4}, Ljava/io/File;->setReadable(ZZ)Z
6530 + new-instance v24, Ljava/io/OutputStreamWriter;
6532 + new-instance v3, Ljava/io/FileOutputStream;
6534 + move-object/from16 v0, v22
6536 + invoke-direct {v3, v0}, Ljava/io/FileOutputStream;-><init>(Ljava/io/File;)V
6538 + move-object/from16 v0, v24
6540 + invoke-direct {v0, v3}, Ljava/io/OutputStreamWriter;-><init>(Ljava/io/OutputStream;)V
6542 + new-instance v3, Ljava/lang/StringBuilder;
6544 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
6546 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSystemLogsSetting()B
6550 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
6552 + move-result-object v3
6554 + const-string v4, ""
6556 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6558 + move-result-object v3
6560 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6562 + move-result-object v3
6564 + move-object/from16 v0, v24
6566 + invoke-virtual {v0, v3}, Ljava/io/OutputStreamWriter;->append(Ljava/lang/CharSequence;)Ljava/io/Writer;
6568 + invoke-virtual/range {v24 .. v24}, Ljava/io/OutputStreamWriter;->flush()V
6570 + invoke-virtual/range {v24 .. v24}, Ljava/io/OutputStreamWriter;->close()V
6572 + .catchall {:try_start_43c .. :try_end_487} :catchall_291
6573 + .catch Ljava/io/IOException; {:try_start_43c .. :try_end_487} :catch_4be
6574 + .catch Ljava/lang/Exception; {:try_start_43c .. :try_end_487} :catch_213
6577 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->setTransactionSuccessful()V
6579 + .catchall {:try_start_487 .. :try_end_48a} :catchall_291
6580 + .catch Ljava/lang/Exception; {:try_start_487 .. :try_end_48a} :catch_213
6583 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
6585 + if-eqz v11, :cond_492
6587 + invoke-interface {v11}, Landroid/database/Cursor;->close()V
6590 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6594 + .catchall {:try_start_48a .. :try_end_495} :catchall_2c2
6597 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6599 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6601 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
6605 + add-int/lit8 v3, v3, -0x1
6607 + invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
6609 + move-result-object v3
6611 + sput-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6613 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6615 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
6619 + if-nez v3, :cond_4b8
6621 + if-eqz v2, :cond_4b8
6623 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
6627 + if-eqz v3, :cond_4b8
6629 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
6641 + .catchall {:try_start_495 .. :try_end_4bd} :catchall_4bb
6646 + .catchall {:try_start_4bd .. :try_end_4be} :catchall_2c2
6649 + move-exception v13
6654 + new-instance v3, Ljava/lang/Exception;
6656 + const-string/jumbo v4, "saveSettings - could not write settings to file"
6658 + invoke-direct {v3, v4, v13}, Ljava/lang/Exception;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
6662 + .catchall {:try_start_4c1 .. :try_end_4ca} :catchall_291
6663 + .catch Ljava/lang/Exception; {:try_start_4c1 .. :try_end_4ca} :catch_213
6671 + .catchall {:try_start_4cb .. :try_end_4cc} :catchall_4ca
6676 + .catchall {:try_start_4cc .. :try_end_4cd} :catchall_2c2
6684 + .catchall {:try_start_4ce .. :try_end_4cf} :catchall_4cd
6689 + .catchall {:try_start_4cf .. :try_end_4d0} :catchall_2c2
6692 +.method public declared-synchronized setValue(Ljava/lang/String;Ljava/lang/String;)Z
6698 + const-string v3, "PrivacyPersistenceAdapter"
6700 + new-instance v4, Ljava/lang/StringBuilder;
6702 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
6704 + const-string/jumbo v5, "setValue - name "
6706 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6708 + move-result-object v4
6710 + invoke-virtual {v4, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6712 + move-result-object v4
6714 + const-string v5, " value "
6716 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6718 + move-result-object v4
6720 + invoke-virtual {v4, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6722 + move-result-object v4
6724 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6726 + move-result-object v4
6728 + invoke-static {v3, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
6730 + new-instance v2, Landroid/content/ContentValues;
6732 + invoke-direct {v2}, Landroid/content/ContentValues;-><init>()V
6734 + const-string/jumbo v3, "name"
6736 + invoke-virtual {v2, v3, p1}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
6738 + const-string/jumbo v3, "value"
6740 + invoke-virtual {v2, v3, p2}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
6742 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
6744 + move-result-object v0
6746 + const-string/jumbo v3, "map"
6750 + invoke-virtual {v0, v3, v4, v2}, Landroid/database/sqlite/SQLiteDatabase;->replace(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
6752 + move-result-wide v3
6754 + const-wide/16 v5, -0x1
6756 + cmp-long v3, v3, v5
6758 + if-eqz v3, :cond_5d
6763 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6765 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
6769 + if-nez v3, :cond_5b
6771 + if-eqz v0, :cond_5b
6773 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
6777 + if-eqz v3, :cond_5b
6779 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
6781 + .catchall {:try_start_1 .. :try_end_5b} :catchall_5f
6800 diff -Npru stock-framework/smali/android/privacy/PrivacySettings$1.smali pdroid-framework/smali/android/privacy/PrivacySettings$1.smali
6801 --- stock-framework/smali/android/privacy/PrivacySettings$1.smali 1969-12-31 18:00:00.000000000 -0600
6802 +++ pdroid-framework/smali/android/privacy/PrivacySettings$1.smali 2012-08-10 00:09:14.709407039 -0500
6804 +.class final Landroid/privacy/PrivacySettings$1;
6805 +.super Ljava/lang/Object;
6806 +.source "PrivacySettings.java"
6809 +.implements Landroid/os/Parcelable$Creator;
6813 +.annotation system Ldalvik/annotation/EnclosingClass;
6814 + value = Landroid/privacy/PrivacySettings;
6817 +.annotation system Ldalvik/annotation/InnerClass;
6822 +.annotation system Ldalvik/annotation/Signature;
6824 + "Ljava/lang/Object;",
6825 + "Landroid/os/Parcelable$Creator",
6827 + "Landroid/privacy/PrivacySettings;",
6834 +.method constructor <init>()V
6837 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
6844 +.method public createFromParcel(Landroid/os/Parcel;)Landroid/privacy/PrivacySettings;
6847 + new-instance v0, Landroid/privacy/PrivacySettings;
6849 + invoke-direct {v0, p1}, Landroid/privacy/PrivacySettings;-><init>(Landroid/os/Parcel;)V
6854 +.method public bridge synthetic createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
6857 + invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettings$1;->createFromParcel(Landroid/os/Parcel;)Landroid/privacy/PrivacySettings;
6859 + move-result-object v0
6864 +.method public newArray(I)[Landroid/privacy/PrivacySettings;
6867 + new-array v0, p1, [Landroid/privacy/PrivacySettings;
6872 +.method public bridge synthetic newArray(I)[Ljava/lang/Object;
6875 + invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettings$1;->newArray(I)[Landroid/privacy/PrivacySettings;
6877 + move-result-object v0
6881 diff -Npru stock-framework/smali/android/privacy/PrivacySettingsManagerService.smali pdroid-framework/smali/android/privacy/PrivacySettingsManagerService.smali
6882 --- stock-framework/smali/android/privacy/PrivacySettingsManagerService.smali 1969-12-31 18:00:00.000000000 -0600
6883 +++ pdroid-framework/smali/android/privacy/PrivacySettingsManagerService.smali 2012-08-10 00:09:14.713407063 -0500
6885 +.class public final Landroid/privacy/PrivacySettingsManagerService;
6886 +.super Landroid/privacy/IPrivacySettingsManager$Stub;
6887 +.source "PrivacySettingsManagerService.java"
6891 +.field private static final TAG:Ljava/lang/String; = "PrivacySettingsManagerService"
6893 +.field private static final VERSION:D = 1.32
6895 +.field private static final WRITE_PRIVACY_SETTINGS:Ljava/lang/String; = "android.privacy.WRITE_PRIVACY_SETTINGS"
6897 +.field public static obs:Landroid/privacy/PrivacyFileObserver;
6901 +.field private bootCompleted:Z
6903 +.field private context:Landroid/content/Context;
6905 +.field private enabled:Z
6907 +.field private notificationsEnabled:Z
6909 +.field private persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
6913 +.method public constructor <init>(Landroid/content/Context;)V
6916 + invoke-direct {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;-><init>()V
6918 + const-string v0, "PrivacySettingsManagerService"
6920 + new-instance v1, Ljava/lang/StringBuilder;
6922 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
6924 + const-string v2, "PrivacySettingsManagerService - initializing for package: "
6926 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6928 + move-result-object v1
6930 + invoke-virtual {p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
6932 + move-result-object v2
6934 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6936 + move-result-object v1
6938 + const-string v2, " UID: "
6940 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6942 + move-result-object v1
6944 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
6948 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
6950 + move-result-object v1
6952 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6954 + move-result-object v1
6956 + invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
6958 + iput-object p1, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
6960 + new-instance v0, Landroid/privacy/PrivacyPersistenceAdapter;
6962 + invoke-direct {v0, p1}, Landroid/privacy/PrivacyPersistenceAdapter;-><init>(Landroid/content/Context;)V
6964 + iput-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
6966 + new-instance v0, Landroid/privacy/PrivacyFileObserver;
6968 + const-string v1, "/data/system/privacy"
6970 + invoke-direct {v0, v1, p0}, Landroid/privacy/PrivacyFileObserver;-><init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
6972 + sput-object v0, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
6974 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
6976 + const-string v1, "enabled"
6978 + invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->getValue(Ljava/lang/String;)Ljava/lang/String;
6980 + move-result-object v0
6982 + const-string v1, "1"
6984 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
6988 + iput-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->enabled:Z
6990 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
6992 + const-string/jumbo v1, "notifications_enabled"
6994 + invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->getValue(Ljava/lang/String;)Ljava/lang/String;
6996 + move-result-object v0
6998 + const-string v1, "1"
7000 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
7004 + iput-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->notificationsEnabled:Z
7008 + iput-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->bootCompleted:Z
7015 +.method public addObserver(Ljava/lang/String;)V
7018 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
7020 + const-string v1, "android.privacy.WRITE_PRIVACY_SETTINGS"
7022 + const-string v2, "Requires WRITE_PRIVACY_SETTINGS"
7024 + invoke-virtual {v0, v1, v2}, Landroid/content/Context;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
7026 + sget-object v0, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
7028 + invoke-virtual {v0, p1}, Landroid/privacy/PrivacyFileObserver;->addObserver(Ljava/lang/String;)V
7033 +.method public deleteSettings(Ljava/lang/String;)Z
7038 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
7042 + const/16 v3, 0x3e8
7044 + if-eq v2, v3, :cond_12
7046 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
7048 + const-string v3, "android.privacy.WRITE_PRIVACY_SETTINGS"
7050 + const-string v4, "Requires WRITE_PRIVACY_SETTINGS"
7052 + invoke-virtual {v2, v3, v4}, Landroid/content/Context;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
7055 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
7057 + invoke-virtual {v2, p1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteSettings(Ljava/lang/String;)Z
7061 + new-instance v2, Ljava/lang/StringBuilder;
7063 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
7065 + const-string v3, "/data/system/privacy/"
7067 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7069 + move-result-object v2
7071 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7073 + move-result-object v2
7075 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
7077 + move-result-object v0
7079 + new-instance v2, Ljava/io/File;
7081 + invoke-direct {v2, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
7083 + invoke-virtual {v2}, Ljava/io/File;->exists()Z
7087 + if-eqz v2, :cond_3e
7089 + if-ne v1, v5, :cond_3e
7091 + sget-object v2, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
7093 + invoke-virtual {v2, v0}, Landroid/privacy/PrivacyFileObserver;->addObserver(Ljava/lang/String;)V
7100 + if-ne v1, v5, :cond_3d
7102 + sget-object v2, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
7104 + iget-object v2, v2, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap;
7106 + invoke-virtual {v2, v0}, Ljava/util/HashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
7111 +.method public getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
7114 + iget-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->enabled:Z
7116 + if-nez v0, :cond_12
7118 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
7120 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
7122 + move-result-object v0
7124 + const-string v1, "com.privacy.pdroid"
7126 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
7130 + if-eqz v0, :cond_1a
7133 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
7137 + invoke-virtual {v0, p1, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->getSettings(Ljava/lang/String;Z)Landroid/privacy/PrivacySettings;
7139 + move-result-object v0
7150 +.method public getVersion()D
7153 + const-wide v0, 0x3ff51eb851eb851fL
7158 +.method public notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
7161 + iget-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->bootCompleted:Z
7163 + if-eqz v1, :cond_34
7165 + iget-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->notificationsEnabled:Z
7167 + if-eqz v1, :cond_34
7169 + new-instance v0, Landroid/content/Intent;
7171 + invoke-direct {v0}, Landroid/content/Intent;-><init>()V
7173 + const-string v1, "com.privacy.pdroid.PRIVACY_NOTIFICATION"
7175 + invoke-virtual {v0, v1}, Landroid/content/Intent;->setAction(Ljava/lang/String;)Landroid/content/Intent;
7177 + const-string/jumbo v1, "packageName"
7179 + invoke-virtual {v0, v1, p1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
7181 + const-string/jumbo v1, "uid"
7185 + invoke-virtual {v0, v1, v2}, Landroid/content/Intent;->putExtra(Ljava/lang/String;I)Landroid/content/Intent;
7187 + const-string v1, "accessMode"
7189 + invoke-virtual {v0, v1, p2}, Landroid/content/Intent;->putExtra(Ljava/lang/String;B)Landroid/content/Intent;
7191 + const-string v1, "dataType"
7193 + invoke-virtual {v0, v1, p3}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
7195 + const-string/jumbo v1, "output"
7197 + invoke-virtual {v0, v1, p4}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
7199 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
7201 + invoke-virtual {v1, v0}, Landroid/content/Context;->sendBroadcast(Landroid/content/Intent;)V
7207 +.method public purgeSettings()Z
7210 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
7212 + invoke-virtual {v0}, Landroid/privacy/PrivacyPersistenceAdapter;->purgeSettings()Z
7219 +.method public registerObservers()V
7222 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
7224 + const-string v1, "android.privacy.WRITE_PRIVACY_SETTINGS"
7226 + const-string v2, "Requires WRITE_PRIVACY_SETTINGS"
7228 + invoke-virtual {v0, v1, v2}, Landroid/content/Context;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
7230 + new-instance v0, Landroid/privacy/PrivacyFileObserver;
7232 + const-string v1, "/data/system/privacy"
7234 + invoke-direct {v0, v1, p0}, Landroid/privacy/PrivacyFileObserver;-><init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
7236 + sput-object v0, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
7241 +.method public saveSettings(Landroid/privacy/PrivacySettings;)Z
7244 + const-string v1, "PrivacySettingsManagerService"
7246 + new-instance v2, Ljava/lang/StringBuilder;
7248 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
7250 + const-string/jumbo v3, "saveSettings - checking if caller (UID: "
7252 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7254 + move-result-object v2
7256 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
7260 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
7262 + move-result-object v2
7264 + const-string v3, ") has sufficient permissions"
7266 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7268 + move-result-object v2
7270 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
7272 + move-result-object v2
7274 + invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
7276 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
7280 + const/16 v2, 0x3e8
7282 + if-eq v1, v2, :cond_34
7284 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
7286 + const-string v2, "android.privacy.WRITE_PRIVACY_SETTINGS"
7288 + const-string v3, "Requires WRITE_PRIVACY_SETTINGS"
7290 + invoke-virtual {v1, v2, v3}, Landroid/content/Context;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
7293 + const-string v1, "PrivacySettingsManagerService"
7295 + new-instance v2, Ljava/lang/StringBuilder;
7297 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
7299 + const-string/jumbo v3, "saveSettings - "
7301 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7303 + move-result-object v2
7305 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
7307 + move-result-object v2
7309 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
7311 + move-result-object v2
7313 + invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
7315 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
7317 + invoke-virtual {v1, p1}, Landroid/privacy/PrivacyPersistenceAdapter;->saveSettings(Landroid/privacy/PrivacySettings;)Z
7323 + if-ne v0, v1, :cond_5f
7325 + sget-object v1, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
7327 + invoke-virtual {p1}, Landroid/privacy/PrivacySettings;->getPackageName()Ljava/lang/String;
7329 + move-result-object v2
7331 + invoke-virtual {v1, v2}, Landroid/privacy/PrivacyFileObserver;->addObserver(Ljava/lang/String;)V
7337 +.method public setBootCompleted()V
7342 + iput-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->bootCompleted:Z
7347 +.method public setEnabled(Z)Z
7352 + if-eqz p1, :cond_12
7354 + const-string v0, "1"
7357 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
7359 + const-string v3, "enabled"
7361 + invoke-virtual {v2, v3, v0}, Landroid/privacy/PrivacyPersistenceAdapter;->setValue(Ljava/lang/String;Ljava/lang/String;)Z
7365 + if-eqz v2, :cond_15
7367 + iput-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->enabled:Z
7374 + const-string v0, "0"
7384 +.method public setNotificationsEnabled(Z)Z
7389 + if-eqz p1, :cond_15
7391 + const-string v0, "1"
7394 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
7396 + const-string/jumbo v3, "notifications_enabled"
7398 + invoke-virtual {v2, v3, v0}, Landroid/privacy/PrivacyPersistenceAdapter;->setValue(Ljava/lang/String;Ljava/lang/String;)Z
7402 + if-eqz v2, :cond_18
7404 + iput-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->notificationsEnabled:Z
7406 + iput-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->bootCompleted:Z
7412 + const-string v0, "0"
7421 diff -Npru stock-framework/smali/android/privacy/PrivacySettingsManager.smali pdroid-framework/smali/android/privacy/PrivacySettingsManager.smali
7422 --- stock-framework/smali/android/privacy/PrivacySettingsManager.smali 1969-12-31 18:00:00.000000000 -0600
7423 +++ pdroid-framework/smali/android/privacy/PrivacySettingsManager.smali 2012-08-10 00:09:14.713407063 -0500
7425 +.class public final Landroid/privacy/PrivacySettingsManager;
7426 +.super Ljava/lang/Object;
7427 +.source "PrivacySettingsManager.java"
7431 +.field public static final ACTION_PRIVACY_NOTIFICATION:Ljava/lang/String; = "com.privacy.pdroid.PRIVACY_NOTIFICATION"
7433 +.field private static final TAG:Ljava/lang/String; = "PrivacySettingsManager"
7437 +.field private service:Landroid/privacy/IPrivacySettingsManager;
7441 +.method public constructor <init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
7444 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
7446 + iput-object p2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7453 +.method public addObserver(Ljava/lang/String;)V
7457 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7459 + if-eqz v1, :cond_a
7461 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7463 + invoke-interface {v1, p1}, Landroid/privacy/IPrivacySettingsManager;->addObserver(Ljava/lang/String;)V
7469 + const-string v1, "PrivacySettingsManager"
7471 + const-string v2, "deleteSettings - PrivacySettingsManagerService is null"
7473 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7475 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_11} :catch_12
7482 + const-string v1, "PrivacySettingsManager"
7484 + const-string v2, "RemoteException in addObserver: "
7486 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7491 +.method public deleteSettings(Ljava/lang/String;)Z
7494 + invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettingsManager;->deleteSettings(Ljava/lang/String;)Z
7501 +.method public deleteSettings(Ljava/lang/String;I)Z
7507 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7509 + if-eqz v2, :cond_c
7511 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7513 + invoke-interface {v2, p1}, Landroid/privacy/IPrivacySettingsManager;->deleteSettings(Ljava/lang/String;)Z
7521 + const-string v2, "PrivacySettingsManager"
7523 + const-string v3, "deleteSettings - PrivacySettingsManagerService is null"
7525 + invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7527 + .catch Landroid/os/RemoteException; {:try_start_1 .. :try_end_13} :catch_14
7534 + const-string v2, "PrivacySettingsManager"
7536 + const-string v3, "RemoteException in deleteSettings: "
7538 + invoke-static {v2, v3, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7543 +.method public getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
7549 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7551 + if-eqz v2, :cond_c
7553 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7555 + invoke-interface {v2, p1}, Landroid/privacy/IPrivacySettingsManager;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
7557 + move-result-object v1
7563 + const-string v2, "PrivacySettingsManager"
7565 + const-string v3, "getSettings - PrivacySettingsManagerService is null"
7567 + invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7569 + .catch Landroid/os/RemoteException; {:try_start_1 .. :try_end_13} :catch_14
7576 + invoke-virtual {v0}, Landroid/os/RemoteException;->printStackTrace()V
7581 +.method public getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
7584 + invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
7586 + move-result-object v0
7591 +.method public getVersion()D
7595 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7597 + if-eqz v1, :cond_b
7599 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7601 + invoke-interface {v1}, Landroid/privacy/IPrivacySettingsManager;->getVersion()D
7603 + move-result-wide v1
7609 + const-string v1, "PrivacySettingsManager"
7611 + const-string v2, "getVersion - PrivacySettingsManagerService is null"
7613 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7615 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_12} :catch_15
7618 + const-wide/16 v1, 0x0
7625 + const-string v1, "PrivacySettingsManager"
7627 + const-string v2, "RemoteException in getVersion: "
7629 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7634 +.method public isServiceAvailable()Z
7637 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7639 + if-eqz v0, :cond_6
7652 +.method public notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
7656 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7658 + if-eqz v1, :cond_a
7660 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7662 + invoke-interface {v1, p1, p2, p3, p4}, Landroid/privacy/IPrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
7668 + const-string v1, "PrivacySettingsManager"
7670 + const-string v2, "deleteSettings - PrivacySettingsManagerService is null"
7672 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7674 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_11} :catch_12
7681 + const-string v1, "PrivacySettingsManager"
7683 + const-string v2, "RemoteException in notification: "
7685 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7690 +.method public notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
7693 + move-object v0, p0
7695 + move-object v1, p1
7699 + move-object v3, p4
7701 + move-object v4, p5
7703 + move-object v5, p6
7705 + invoke-virtual/range {v0 .. v5}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
7710 +.method public purgeSettings()Z
7714 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7716 + if-eqz v1, :cond_b
7718 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7720 + invoke-interface {v1}, Landroid/privacy/IPrivacySettingsManager;->purgeSettings()Z
7728 + const-string v1, "PrivacySettingsManager"
7730 + const-string v2, "deleteSettings - PrivacySettingsManagerService is null"
7732 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7734 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_12} :catch_14
7744 + const-string v1, "PrivacySettingsManager"
7746 + const-string v2, "RemoteException in purgeSettings: "
7748 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7753 +.method public registerObservers()V
7757 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7759 + if-eqz v1, :cond_a
7761 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7763 + invoke-interface {v1}, Landroid/privacy/IPrivacySettingsManager;->registerObservers()V
7769 + const-string v1, "PrivacySettingsManager"
7771 + const-string v2, "deleteSettings - PrivacySettingsManagerService is null"
7773 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7775 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_11} :catch_12
7782 + const-string v1, "PrivacySettingsManager"
7784 + const-string v2, "RemoteException in registerObservers: "
7786 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7791 +.method public saveSettings(Landroid/privacy/PrivacySettings;)Z
7797 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7799 + if-eqz v2, :cond_c
7801 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7803 + invoke-interface {v2, p1}, Landroid/privacy/IPrivacySettingsManager;->saveSettings(Landroid/privacy/PrivacySettings;)Z
7811 + const-string v2, "PrivacySettingsManager"
7813 + const-string/jumbo v3, "saveSettings - PrivacySettingsManagerService is null"
7815 + invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7817 + .catch Landroid/os/RemoteException; {:try_start_1 .. :try_end_14} :catch_15
7824 + const-string v2, "PrivacySettingsManager"
7826 + const-string v3, "RemoteException in saveSettings: "
7828 + invoke-static {v2, v3, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7833 +.method public setBootCompleted()V
7837 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7839 + if-eqz v1, :cond_a
7841 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7843 + invoke-interface {v1}, Landroid/privacy/IPrivacySettingsManager;->setBootCompleted()V
7849 + const-string v1, "PrivacySettingsManager"
7851 + const-string/jumbo v2, "setBootCompleted - PrivacySettingsManagerService is null"
7853 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7855 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_12} :catch_13
7862 + const-string v1, "PrivacySettingsManager"
7864 + const-string v2, "RemoteException in setBootCompleted: "
7866 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7871 +.method public setEnabled(Z)Z
7875 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7877 + if-eqz v1, :cond_b
7879 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7881 + invoke-interface {v1, p1}, Landroid/privacy/IPrivacySettingsManager;->setEnabled(Z)Z
7889 + const-string v1, "PrivacySettingsManager"
7891 + const-string/jumbo v2, "setEnabled - PrivacySettingsManagerService is null"
7893 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7895 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_13} :catch_15
7905 + const-string v1, "PrivacySettingsManager"
7907 + const-string v2, "RemoteException in setEnabled: "
7909 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7914 +.method public setNotificationsEnabled(Z)Z
7918 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7920 + if-eqz v1, :cond_b
7922 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7924 + invoke-interface {v1, p1}, Landroid/privacy/IPrivacySettingsManager;->setNotificationsEnabled(Z)Z
7932 + const-string v1, "PrivacySettingsManager"
7934 + const-string/jumbo v2, "setNotificationsEnabled - PrivacySettingsManagerService is null"
7936 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7938 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_13} :catch_15
7948 + const-string v1, "PrivacySettingsManager"
7950 + const-string v2, "RemoteException in setNotificationsEnabled: "
7952 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7956 diff -Npru stock-framework/smali/android/privacy/PrivacySettings.smali pdroid-framework/smali/android/privacy/PrivacySettings.smali
7957 --- stock-framework/smali/android/privacy/PrivacySettings.smali 1969-12-31 18:00:00.000000000 -0600
7958 +++ pdroid-framework/smali/android/privacy/PrivacySettings.smali 2012-08-10 00:09:14.713407063 -0500
7960 +.class public final Landroid/privacy/PrivacySettings;
7961 +.super Ljava/lang/Object;
7962 +.source "PrivacySettings.java"
7965 +.implements Landroid/os/Parcelable;
7969 +.field public static final CREATOR:Landroid/os/Parcelable$Creator; = null
7970 + .annotation system Ldalvik/annotation/Signature;
7972 + "Landroid/os/Parcelable$Creator",
7974 + "Landroid/privacy/PrivacySettings;",
7980 +.field public static final CUSTOM:B = 0x2t
7982 +.field public static final DATA_ACCOUNTS_LIST:Ljava/lang/String; = "accountsList"
7984 +.field public static final DATA_AUTH_TOKENS:Ljava/lang/String; = "authTokens"
7986 +.field public static final DATA_BOOKMARKS:Ljava/lang/String; = "bookmarks"
7988 +.field public static final DATA_CALENDAR:Ljava/lang/String; = "calendar"
7990 +.field public static final DATA_CALL_LOG:Ljava/lang/String; = "callLog"
7992 +.field public static final DATA_CONTACTS:Ljava/lang/String; = "contacts"
7994 +.field public static final DATA_DEVICE_ID:Ljava/lang/String; = "deviceID"
7996 +.field public static final DATA_INCOMING_CALL:Ljava/lang/String; = "incomingCall"
7998 +.field public static final DATA_INTENT_BOOT_COMPLETED:Ljava/lang/String; = "intentBootCompleted"
8000 +.field public static final DATA_LINE_1_NUMBER:Ljava/lang/String; = "line1Number"
8002 +.field public static final DATA_LOCATION_GPS:Ljava/lang/String; = "locationGPS"
8004 +.field public static final DATA_LOCATION_NETWORK:Ljava/lang/String; = "locationNetwork"
8006 +.field public static final DATA_MMS:Ljava/lang/String; = "mms"
8008 +.field public static final DATA_MMS_SMS:Ljava/lang/String; = "mmsSms"
8010 +.field public static final DATA_NETWORK_INFO_CURRENT:Ljava/lang/String; = "networkInfoCurrent"
8012 +.field public static final DATA_NETWORK_INFO_SIM:Ljava/lang/String; = "networkInfoSIM"
8014 +.field public static final DATA_OUTGOING_CALL:Ljava/lang/String; = "outgoingCall"
8016 +.field public static final DATA_SIM_SERIAL:Ljava/lang/String; = "simSerial"
8018 +.field public static final DATA_SMS:Ljava/lang/String; = "sms"
8020 +.field public static final DATA_SUBSCRIBER_ID:Ljava/lang/String; = "subscriberID"
8022 +.field public static final DATA_SYSTEM_LOGS:Ljava/lang/String; = "systemLogs"
8024 +.field public static final EMPTY:B = 0x1t
8026 +.field public static final RANDOM:B = 0x3t
8028 +.field public static final REAL:B = 0x0t
8030 +.field public static final SETTING_NOTIFY_OFF:B = 0x0t
8032 +.field public static final SETTING_NOTIFY_ON:B = 0x1t
8036 +.field private final _id:Ljava/lang/Integer;
8038 +.field private accountsAuthTokensSetting:B
8040 +.field private accountsSetting:B
8042 +.field private allowedContacts:[I
8044 +.field private bookmarksSetting:B
8046 +.field private calendarSetting:B
8048 +.field private callLogSetting:B
8050 +.field private contactsSetting:B
8052 +.field private deviceId:Ljava/lang/String;
8054 +.field private deviceIdSetting:B
8056 +.field private incomingCallsSetting:B
8058 +.field private intentBootCompletedSetting:B
8060 +.field private line1Number:Ljava/lang/String;
8062 +.field private line1NumberSetting:B
8064 +.field private locationGpsLat:Ljava/lang/String;
8066 +.field private locationGpsLon:Ljava/lang/String;
8068 +.field private locationGpsSetting:B
8070 +.field private locationNetworkLat:Ljava/lang/String;
8072 +.field private locationNetworkLon:Ljava/lang/String;
8074 +.field private locationNetworkSetting:B
8076 +.field private mmsSetting:B
8078 +.field private networkInfoSetting:B
8080 +.field private notificationSetting:B
8082 +.field private outgoingCallsSetting:B
8084 +.field private packageName:Ljava/lang/String;
8086 +.field private simInfoSetting:B
8088 +.field private simSerialNumber:Ljava/lang/String;
8090 +.field private simSerialNumberSetting:B
8092 +.field private smsSetting:B
8094 +.field private subscriberId:Ljava/lang/String;
8096 +.field private subscriberIdSetting:B
8098 +.field private systemLogsSetting:B
8100 +.field private uid:I
8104 +.method static constructor <clinit>()V
8107 + new-instance v0, Landroid/privacy/PrivacySettings$1;
8109 + invoke-direct {v0}, Landroid/privacy/PrivacySettings$1;-><init>()V
8111 + sput-object v0, Landroid/privacy/PrivacySettings;->CREATOR:Landroid/os/Parcelable$Creator;
8116 +.method public constructor <init>(Landroid/os/Parcel;)V
8119 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
8121 + invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I
8127 + if-ne v0, v1, :cond_ce
8132 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
8134 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
8136 + move-result-object v1
8138 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
8140 + invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I
8144 + iput v1, p0, Landroid/privacy/PrivacySettings;->uid:I
8146 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8150 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
8152 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
8154 + move-result-object v1
8156 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
8158 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8162 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
8164 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
8166 + move-result-object v1
8168 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
8170 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8174 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8176 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
8178 + move-result-object v1
8180 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
8182 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
8184 + move-result-object v1
8186 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
8188 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8192 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8194 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
8196 + move-result-object v1
8198 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
8200 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
8202 + move-result-object v1
8204 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
8206 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8210 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
8212 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8216 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
8218 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8222 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
8224 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
8226 + move-result-object v1
8228 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
8230 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8234 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
8236 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
8238 + move-result-object v1
8240 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
8242 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8246 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
8248 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8252 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
8254 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8258 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
8260 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8264 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
8266 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8270 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
8272 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8276 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
8278 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8282 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
8284 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8288 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
8290 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8294 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
8296 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8300 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
8302 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8306 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
8308 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8312 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
8314 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8318 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
8320 + invoke-virtual {p1}, Landroid/os/Parcel;->createIntArray()[I
8322 + move-result-object v1
8324 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
8329 + invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
8331 + move-result-object v1
8336 +.method public constructor <init>(Ljava/lang/Integer;Ljava/lang/String;I)V
8343 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
8345 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
8347 + iput-object p2, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
8349 + iput p3, p0, Landroid/privacy/PrivacySettings;->uid:I
8351 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
8353 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
8355 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
8357 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
8359 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8361 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
8363 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
8365 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8367 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
8369 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
8371 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
8373 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
8375 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
8377 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
8379 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
8381 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
8383 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
8385 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
8387 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
8389 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
8391 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
8393 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
8395 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
8397 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
8399 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
8401 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
8403 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
8405 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
8407 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
8409 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
8414 +.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
8417 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
8419 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
8421 + iput-object p2, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
8423 + iput p3, p0, Landroid/privacy/PrivacySettings;->uid:I
8425 + iput-byte p4, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
8427 + iput-object p5, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
8429 + iput-byte p6, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
8431 + iput-object p7, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
8433 + iput-byte p8, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8435 + iput-object p9, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
8437 + iput-object p10, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
8439 + iput-byte p11, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8441 + iput-object p12, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
8443 + iput-object p13, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
8445 + iput-byte p14, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
8447 + move/from16 v0, p15
8449 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
8451 + move/from16 v0, p16
8453 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
8455 + move-object/from16 v0, p17
8457 + iput-object v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
8459 + move/from16 v0, p18
8461 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
8463 + move-object/from16 v0, p19
8465 + iput-object v0, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
8467 + move/from16 v0, p20
8469 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
8471 + move/from16 v0, p21
8473 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
8475 + move/from16 v0, p22
8477 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
8479 + move/from16 v0, p23
8481 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
8483 + move/from16 v0, p24
8485 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
8487 + move/from16 v0, p25
8489 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
8491 + move/from16 v0, p26
8493 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
8495 + move/from16 v0, p27
8497 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
8499 + move/from16 v0, p28
8501 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
8503 + move/from16 v0, p29
8505 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
8507 + move/from16 v0, p30
8509 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
8511 + move/from16 v0, p34
8513 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
8515 + move/from16 v0, p35
8517 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
8519 + move-object/from16 v0, p36
8521 + iput-object v0, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
8526 +.method private getRandomLat()Ljava/lang/String;
8529 + const-wide v7, 0x4056800000000000L
8531 + invoke-static {}, Ljava/lang/Math;->random()D
8533 + move-result-wide v3
8535 + const-wide v5, 0x4066800000000000L
8537 + mul-double v0, v3, v5
8539 + cmpl-double v3, v0, v7
8541 + if-lez v3, :cond_35
8543 + new-instance v2, Ljava/math/BigDecimal;
8545 + sub-double v3, v0, v7
8547 + invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;-><init>(D)V
8550 + new-instance v3, Ljava/lang/StringBuilder;
8552 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
8558 + invoke-virtual {v2, v4, v5}, Ljava/math/BigDecimal;->setScale(II)Ljava/math/BigDecimal;
8560 + move-result-object v4
8562 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
8564 + move-result-object v3
8566 + const-string v4, ""
8568 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8570 + move-result-object v3
8572 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8574 + move-result-object v3
8579 + new-instance v2, Ljava/math/BigDecimal;
8583 + invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;-><init>(D)V
8588 +.method private getRandomLon()Ljava/lang/String;
8591 + const-wide v7, 0x4066800000000000L
8593 + invoke-static {}, Ljava/lang/Math;->random()D
8595 + move-result-wide v3
8597 + const-wide v5, 0x4076800000000000L
8599 + mul-double v0, v3, v5
8601 + cmpl-double v3, v0, v7
8603 + if-lez v3, :cond_35
8605 + new-instance v2, Ljava/math/BigDecimal;
8607 + sub-double v3, v0, v7
8609 + invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;-><init>(D)V
8612 + new-instance v3, Ljava/lang/StringBuilder;
8614 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
8620 + invoke-virtual {v2, v4, v5}, Ljava/math/BigDecimal;->setScale(II)Ljava/math/BigDecimal;
8622 + move-result-object v4
8624 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
8626 + move-result-object v3
8628 + const-string v4, ""
8630 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8632 + move-result-object v3
8634 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8636 + move-result-object v3
8641 + new-instance v2, Ljava/math/BigDecimal;
8645 + invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;-><init>(D)V
8652 +.method public describeContents()I
8660 +.method public getAccountsAuthTokensSetting()B
8663 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
8668 +.method public getAccountsSetting()B
8671 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
8676 +.method public getAllowedContacts()[I
8679 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
8684 +.method public getBookmarksSetting()B
8687 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
8692 +.method public getCalendarSetting()B
8695 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
8700 +.method public getCallLogSetting()B
8703 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
8708 +.method public getContactsSetting()B
8711 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
8716 +.method public getDeviceId()Ljava/lang/String;
8719 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
8723 + if-ne v2, v3, :cond_8
8725 + const-string v2, ""
8731 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
8735 + if-ne v2, v3, :cond_35
8737 + new-instance v0, Ljava/util/Random;
8739 + invoke-direct {v0}, Ljava/util/Random;-><init>()V
8741 + new-instance v2, Ljava/lang/StringBuilder;
8743 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
8745 + invoke-virtual {v0}, Ljava/util/Random;->nextLong()J
8747 + move-result-wide v3
8749 + invoke-static {v3, v4}, Ljava/lang/Math;->abs(J)J
8751 + move-result-wide v3
8753 + invoke-virtual {v2, v3, v4}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
8755 + move-result-object v2
8757 + const-string v3, ""
8759 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8761 + move-result-object v2
8763 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8765 + move-result-object v1
8771 + invoke-virtual {v1, v2, v3}, Ljava/lang/String;->substring(II)Ljava/lang/String;
8773 + move-result-object v2
8778 + iget-object v2, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
8783 +.method public getDeviceIdSetting()B
8786 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
8791 +.method public getIncomingCallsSetting()B
8794 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
8799 +.method public getIntentBootCompletedSetting()B
8802 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
8807 +.method public getLine1Number()Ljava/lang/String;
8810 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
8814 + if-ne v2, v3, :cond_8
8816 + const-string v2, ""
8822 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
8826 + if-ne v2, v3, :cond_3b
8828 + new-instance v0, Ljava/util/Random;
8830 + invoke-direct {v0}, Ljava/util/Random;-><init>()V
8832 + new-instance v2, Ljava/lang/StringBuilder;
8834 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
8836 + const-string v3, "+"
8838 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8840 + move-result-object v2
8842 + invoke-virtual {v0}, Ljava/util/Random;->nextLong()J
8844 + move-result-wide v3
8846 + invoke-static {v3, v4}, Ljava/lang/Math;->abs(J)J
8848 + move-result-wide v3
8850 + invoke-virtual {v2, v3, v4}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
8852 + move-result-object v2
8854 + const-string v3, ""
8856 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8858 + move-result-object v2
8860 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8862 + move-result-object v1
8868 + invoke-virtual {v1, v2, v3}, Ljava/lang/String;->substring(II)Ljava/lang/String;
8870 + move-result-object v2
8875 + iget-object v2, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
8880 +.method public getLine1NumberSetting()B
8883 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
8888 +.method public getLocationGpsLat()Ljava/lang/String;
8891 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8895 + if-ne v0, v1, :cond_8
8897 + const-string v0, ""
8903 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8907 + if-ne v0, v1, :cond_12
8909 + invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLat()Ljava/lang/String;
8911 + move-result-object v0
8916 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
8921 +.method public getLocationGpsLon()Ljava/lang/String;
8924 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8928 + if-ne v0, v1, :cond_8
8930 + const-string v0, ""
8936 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8940 + if-ne v0, v1, :cond_12
8942 + invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLon()Ljava/lang/String;
8944 + move-result-object v0
8949 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
8954 +.method public getLocationGpsSetting()B
8957 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8962 +.method public getLocationNetworkLat()Ljava/lang/String;
8965 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8969 + if-ne v0, v1, :cond_8
8971 + const-string v0, ""
8977 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8981 + if-ne v0, v1, :cond_12
8983 + invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLat()Ljava/lang/String;
8985 + move-result-object v0
8990 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
8995 +.method public getLocationNetworkLon()Ljava/lang/String;
8998 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
9002 + if-ne v0, v1, :cond_8
9004 + const-string v0, ""
9010 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
9014 + if-ne v0, v1, :cond_12
9016 + invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLon()Ljava/lang/String;
9018 + move-result-object v0
9023 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
9028 +.method public getLocationNetworkSetting()B
9031 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
9036 +.method public getMmsSetting()B
9039 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
9044 +.method public getNetworkInfoSetting()B
9047 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
9052 +.method public getNotificationSetting()B
9055 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
9060 +.method public getOutgoingCallsSetting()B
9063 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
9068 +.method public getPackageName()Ljava/lang/String;
9071 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
9076 +.method public getSimInfoSetting()B
9079 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
9084 +.method public getSimSerialNumber()Ljava/lang/String;
9087 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
9091 + if-ne v1, v2, :cond_8
9093 + const-string v1, ""
9099 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
9103 + if-ne v1, v2, :cond_2e
9105 + new-instance v0, Ljava/util/Random;
9107 + invoke-direct {v0}, Ljava/util/Random;-><init>()V
9109 + new-instance v1, Ljava/lang/StringBuilder;
9111 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
9113 + invoke-virtual {v0}, Ljava/util/Random;->nextLong()J
9115 + move-result-wide v2
9117 + invoke-static {v2, v3}, Ljava/lang/Math;->abs(J)J
9119 + move-result-wide v2
9121 + invoke-virtual {v1, v2, v3}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
9123 + move-result-object v1
9125 + const-string v2, ""
9127 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9129 + move-result-object v1
9131 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
9133 + move-result-object v1
9138 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
9143 +.method public getSimSerialNumberSetting()B
9146 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
9151 +.method public getSmsSetting()B
9154 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
9159 +.method public getSubscriberId()Ljava/lang/String;
9162 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
9166 + if-ne v2, v3, :cond_8
9168 + const-string v2, ""
9174 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
9178 + if-ne v2, v3, :cond_35
9180 + new-instance v0, Ljava/util/Random;
9182 + invoke-direct {v0}, Ljava/util/Random;-><init>()V
9184 + new-instance v2, Ljava/lang/StringBuilder;
9186 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
9188 + invoke-virtual {v0}, Ljava/util/Random;->nextLong()J
9190 + move-result-wide v3
9192 + invoke-static {v3, v4}, Ljava/lang/Math;->abs(J)J
9194 + move-result-wide v3
9196 + invoke-virtual {v2, v3, v4}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
9198 + move-result-object v2
9200 + const-string v3, ""
9202 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9204 + move-result-object v2
9206 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
9208 + move-result-object v1
9214 + invoke-virtual {v1, v2, v3}, Ljava/lang/String;->substring(II)Ljava/lang/String;
9216 + move-result-object v2
9221 + iget-object v2, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
9226 +.method public getSubscriberIdSetting()B
9229 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
9234 +.method public getSystemLogsSetting()B
9237 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
9242 +.method public getUid()I
9245 + iget v0, p0, Landroid/privacy/PrivacySettings;->uid:I
9250 +.method public get_id()Ljava/lang/Integer;
9253 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
9258 +.method public setAccountsAuthTokensSetting(B)V
9261 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
9266 +.method public setAccountsSetting(B)V
9269 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
9274 +.method public setAllowedContacts([I)V
9277 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
9282 +.method public setBookmarksSetting(B)V
9285 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
9290 +.method public setCalendarSetting(B)V
9293 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
9298 +.method public setCallLogSetting(B)V
9301 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
9306 +.method public setContactsSetting(B)V
9309 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
9314 +.method public setDeviceId(Ljava/lang/String;)V
9317 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
9322 +.method public setDeviceIdSetting(B)V
9325 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
9330 +.method public setIncomingCallsSetting(B)V
9333 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
9338 +.method public setIntentBootCompletedSetting(B)V
9341 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
9346 +.method public setLine1Number(Ljava/lang/String;)V
9349 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
9354 +.method public setLine1NumberSetting(B)V
9357 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
9362 +.method public setLocationGpsLat(Ljava/lang/String;)V
9365 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
9370 +.method public setLocationGpsLon(Ljava/lang/String;)V
9373 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
9378 +.method public setLocationGpsSetting(B)V
9381 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
9386 +.method public setLocationNetworkLat(Ljava/lang/String;)V
9389 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
9394 +.method public setLocationNetworkLon(Ljava/lang/String;)V
9397 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
9402 +.method public setLocationNetworkSetting(B)V
9405 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
9410 +.method public setMmsSetting(B)V
9413 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
9418 +.method public setNetworkInfoSetting(B)V
9421 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
9426 +.method public setNotificationSetting(B)V
9429 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
9434 +.method public setOutgoingCallsSetting(B)V
9437 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
9442 +.method public setPackageName(Ljava/lang/String;)V
9445 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
9450 +.method public setSimInfoSetting(B)V
9453 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
9458 +.method public setSimSerialNumber(Ljava/lang/String;)V
9461 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
9466 +.method public setSimSerialNumberSetting(B)V
9469 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
9474 +.method public setSmsSetting(B)V
9477 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
9482 +.method public setSubscriberId(Ljava/lang/String;)V
9485 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
9490 +.method public setSubscriberIdSetting(B)V
9493 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
9498 +.method public setSystemLogsSetting(B)V
9501 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
9506 +.method public setUid(I)V
9509 + iput p1, p0, Landroid/privacy/PrivacySettings;->uid:I
9514 +.method public toString()Ljava/lang/String;
9517 + new-instance v0, Ljava/lang/StringBuilder;
9519 + invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
9521 + const-string v1, "PrivacySettings [_id="
9523 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9525 + move-result-object v0
9527 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
9529 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
9531 + move-result-object v0
9533 + const-string v1, ", accountsAuthTokensSetting="
9535 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9537 + move-result-object v0
9539 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
9541 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9543 + move-result-object v0
9545 + const-string v1, ", accountsSetting="
9547 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9549 + move-result-object v0
9551 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
9553 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9555 + move-result-object v0
9557 + const-string v1, ", bookmarksSetting="
9559 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9561 + move-result-object v0
9563 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
9565 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9567 + move-result-object v0
9569 + const-string v1, ", calendarSetting="
9571 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9573 + move-result-object v0
9575 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
9577 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9579 + move-result-object v0
9581 + const-string v1, ", callLogSetting="
9583 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9585 + move-result-object v0
9587 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
9589 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9591 + move-result-object v0
9593 + const-string v1, ", contactsSetting="
9595 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9597 + move-result-object v0
9599 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
9601 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9603 + move-result-object v0
9605 + const-string v1, ", deviceId="
9607 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9609 + move-result-object v0
9611 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
9613 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9615 + move-result-object v0
9617 + const-string v1, ", deviceIdSetting="
9619 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9621 + move-result-object v0
9623 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
9625 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9627 + move-result-object v0
9629 + const-string v1, ", incomingCallsSetting="
9631 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9633 + move-result-object v0
9635 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
9637 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9639 + move-result-object v0
9641 + const-string v1, ", intentBootCompletedSetting="
9643 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9645 + move-result-object v0
9647 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
9649 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9651 + move-result-object v0
9653 + const-string v1, ", line1Number="
9655 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9657 + move-result-object v0
9659 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
9661 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9663 + move-result-object v0
9665 + const-string v1, ", line1NumberSetting="
9667 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9669 + move-result-object v0
9671 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
9673 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9675 + move-result-object v0
9677 + const-string v1, ", locationGpsLat="
9679 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9681 + move-result-object v0
9683 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
9685 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9687 + move-result-object v0
9689 + const-string v1, ", locationGpsLon="
9691 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9693 + move-result-object v0
9695 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
9697 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9699 + move-result-object v0
9701 + const-string v1, ", locationGpsSetting="
9703 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9705 + move-result-object v0
9707 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
9709 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9711 + move-result-object v0
9713 + const-string v1, ", locationNetworkLat="
9715 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9717 + move-result-object v0
9719 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
9721 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9723 + move-result-object v0
9725 + const-string v1, ", locationNetworkLon="
9727 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9729 + move-result-object v0
9731 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
9733 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9735 + move-result-object v0
9737 + const-string v1, ", locationNetworkSetting="
9739 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9741 + move-result-object v0
9743 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
9745 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9747 + move-result-object v0
9749 + const-string v1, ", mmsSetting="
9751 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9753 + move-result-object v0
9755 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
9757 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9759 + move-result-object v0
9761 + const-string v1, ", networkInfoSetting="
9763 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9765 + move-result-object v0
9767 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
9769 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9771 + move-result-object v0
9773 + const-string v1, ", notificationSetting="
9775 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9777 + move-result-object v0
9779 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
9781 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9783 + move-result-object v0
9785 + const-string v1, ", outgoingCallsSetting="
9787 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9789 + move-result-object v0
9791 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
9793 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9795 + move-result-object v0
9797 + const-string v1, ", packageName="
9799 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9801 + move-result-object v0
9803 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
9805 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9807 + move-result-object v0
9809 + const-string v1, ", simInfoSetting="
9811 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9813 + move-result-object v0
9815 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
9817 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9819 + move-result-object v0
9821 + const-string v1, ", simSerialNumber="
9823 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9825 + move-result-object v0
9827 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
9829 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9831 + move-result-object v0
9833 + const-string v1, ", simSerialNumberSetting="
9835 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9837 + move-result-object v0
9839 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
9841 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9843 + move-result-object v0
9845 + const-string v1, ", smsSetting="
9847 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9849 + move-result-object v0
9851 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
9853 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9855 + move-result-object v0
9857 + const-string v1, ", subscriberId="
9859 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9861 + move-result-object v0
9863 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
9865 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9867 + move-result-object v0
9869 + const-string v1, ", subscriberIdSetting="
9871 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9873 + move-result-object v0
9875 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
9877 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9879 + move-result-object v0
9881 + const-string v1, ", systemLogsSetting="
9883 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9885 + move-result-object v0
9887 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
9889 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9891 + move-result-object v0
9893 + const-string v1, ", uid="
9895 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9897 + move-result-object v0
9899 + iget v1, p0, Landroid/privacy/PrivacySettings;->uid:I
9901 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9903 + move-result-object v0
9905 + const-string v1, "]"
9907 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9909 + move-result-object v0
9911 + invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
9913 + move-result-object v0
9918 +.method public writeToParcel(Landroid/os/Parcel;I)V
9921 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
9923 + if-nez v0, :cond_a9
9928 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeInt(I)V
9930 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
9932 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9934 + iget v0, p0, Landroid/privacy/PrivacySettings;->uid:I
9936 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeInt(I)V
9938 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
9940 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9942 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
9944 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9946 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
9948 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9950 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
9952 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9954 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
9956 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9958 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
9960 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9962 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
9964 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9966 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
9968 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9970 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
9972 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9974 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
9976 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9978 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
9980 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9982 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
9984 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9986 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
9988 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9990 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
9992 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9994 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
9996 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9998 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
10000 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
10002 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
10004 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
10006 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
10008 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
10010 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
10012 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
10014 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
10016 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
10018 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
10020 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
10022 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
10024 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
10026 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
10028 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
10030 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
10032 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
10034 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
10036 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
10038 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
10040 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
10042 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
10044 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
10046 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
10048 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
10050 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
10052 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
10054 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
10056 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeIntArray([I)V
10061 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
10063 + invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
10069 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali
10070 --- stock-framework/smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali 1969-12-31 18:00:00.000000000 -0600
10071 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali 2012-08-10 00:09:14.713407063 -0500
10073 +.class Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10074 +.super Ljava/lang/Object;
10075 +.source "PrivacyAccountManager.java"
10078 +.implements Landroid/accounts/AccountManagerFuture;
10082 +.annotation system Ldalvik/annotation/EnclosingClass;
10083 + value = Landroid/privacy/surrogate/PrivacyAccountManager;
10086 +.annotation system Ldalvik/annotation/InnerClass;
10087 + accessFlags = 0x2
10088 + name = "PrivacyAccountManagerFuture"
10091 +.annotation system Ldalvik/annotation/Signature;
10094 + "Ljava/lang/Object;",
10096 + "Ljava/lang/Object;",
10097 + "Landroid/accounts/AccountManagerFuture",
10104 +.field private result:Ljava/lang/Object;
10105 + .annotation system Ldalvik/annotation/Signature;
10112 +.field final synthetic this$0:Landroid/privacy/surrogate/PrivacyAccountManager;
10116 +.method public constructor <init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
10118 + .annotation system Ldalvik/annotation/Signature;
10124 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->this$0:Landroid/privacy/surrogate/PrivacyAccountManager;
10126 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
10128 + iput-object p2, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->result:Ljava/lang/Object;
10135 +.method public cancel(Z)Z
10143 +.method public getResult()Ljava/lang/Object;
10145 + .annotation system Ldalvik/annotation/Signature;
10151 + .annotation system Ldalvik/annotation/Throws;
10153 + Landroid/accounts/OperationCanceledException;,
10154 + Ljava/io/IOException;,
10155 + Landroid/accounts/AuthenticatorException;
10159 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->result:Ljava/lang/Object;
10164 +.method public getResult(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;
10166 + .annotation system Ldalvik/annotation/Signature;
10169 + "Ljava/util/concurrent/TimeUnit;",
10174 + .annotation system Ldalvik/annotation/Throws;
10176 + Landroid/accounts/OperationCanceledException;,
10177 + Ljava/io/IOException;,
10178 + Landroid/accounts/AuthenticatorException;
10182 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->result:Ljava/lang/Object;
10187 +.method public isCancelled()Z
10195 +.method public isDone()Z
10202 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyAccountManager.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyAccountManager.smali
10203 --- stock-framework/smali/android/privacy/surrogate/PrivacyAccountManager.smali 1969-12-31 18:00:00.000000000 -0600
10204 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyAccountManager.smali 2012-08-10 00:09:14.713407063 -0500
10206 +.class public final Landroid/privacy/surrogate/PrivacyAccountManager;
10207 +.super Landroid/accounts/AccountManager;
10208 +.source "PrivacyAccountManager.java"
10212 +.annotation system Ldalvik/annotation/MemberClasses;
10214 + Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10220 +.field private static final TAG:Ljava/lang/String; = "PrivacyAccountManager"
10224 +.field private context:Landroid/content/Context;
10226 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
10230 +.method public constructor <init>(Landroid/content/Context;Landroid/accounts/IAccountManager;)V
10233 + invoke-direct {p0, p1, p2}, Landroid/accounts/AccountManager;-><init>(Landroid/content/Context;Landroid/accounts/IAccountManager;)V
10235 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10237 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
10239 + const-string/jumbo v1, "privacy"
10241 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
10243 + move-result-object v1
10245 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
10247 + move-result-object v1
10249 + invoke-direct {v0, p1, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
10251 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10256 +.method public constructor <init>(Landroid/content/Context;Landroid/accounts/IAccountManager;Landroid/os/Handler;)V
10259 + invoke-direct {p0, p1, p2, p3}, Landroid/accounts/AccountManager;-><init>(Landroid/content/Context;Landroid/accounts/IAccountManager;Landroid/os/Handler;)V
10261 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10263 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
10265 + const-string/jumbo v1, "privacy"
10267 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
10269 + move-result-object v1
10271 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
10273 + move-result-object v1
10275 + invoke-direct {v0, p1, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
10277 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10284 +.method public blockingGetAuthToken(Landroid/accounts/Account;Ljava/lang/String;Z)Ljava/lang/String;
10286 + .annotation system Ldalvik/annotation/Throws;
10288 + Landroid/accounts/OperationCanceledException;,
10289 + Ljava/io/IOException;,
10290 + Landroid/accounts/AuthenticatorException;
10296 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10298 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10300 + move-result-object v1
10302 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10306 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10308 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10310 + move-result-object v6
10312 + if-eqz v6, :cond_23
10314 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
10318 + if-eqz v0, :cond_23
10322 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10326 + const-string v4, "authTokens"
10328 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10334 + invoke-super {p0, p1, p2, p3}, Landroid/accounts/AccountManager;->blockingGetAuthToken(Landroid/accounts/Account;Ljava/lang/String;Z)Ljava/lang/String;
10336 + move-result-object v7
10338 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10342 + const-string v4, "authTokens"
10344 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10349 +.method public getAccounts()[Landroid/accounts/Account;
10356 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10358 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10360 + move-result-object v1
10362 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10366 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10368 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10370 + move-result-object v6
10372 + if-eqz v6, :cond_27
10374 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
10378 + if-eqz v0, :cond_27
10380 + const-string v8, "[empty accounts list]"
10382 + new-array v7, v3, [Landroid/accounts/Account;
10384 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10388 + const-string v4, "accountsList"
10390 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10396 + const-string v8, "[real value]"
10398 + invoke-super {p0}, Landroid/accounts/AccountManager;->getAccounts()[Landroid/accounts/Account;
10400 + move-result-object v7
10402 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10404 + const-string v4, "accountsList"
10406 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10411 +.method public getAccountsByType(Ljava/lang/String;)[Landroid/accounts/Account;
10418 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10420 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10422 + move-result-object v1
10424 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10428 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10430 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10432 + move-result-object v6
10434 + if-eqz v6, :cond_27
10436 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
10440 + if-eqz v0, :cond_27
10442 + const-string v8, "[empty accounts list]"
10444 + new-array v7, v3, [Landroid/accounts/Account;
10446 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10450 + const-string v4, "accountsList"
10452 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10458 + const-string v8, "[real value]"
10460 + invoke-super {p0, p1}, Landroid/accounts/AccountManager;->getAccountsByType(Ljava/lang/String;)[Landroid/accounts/Account;
10462 + move-result-object v7
10464 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10466 + const-string v4, "accountsList"
10468 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10473 +.method public getAccountsByTypeAndFeatures(Ljava/lang/String;[Ljava/lang/String;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
10475 + .annotation system Ldalvik/annotation/Signature;
10478 + "Ljava/lang/String;",
10480 + "Ljava/lang/String;",
10481 + "Landroid/accounts/AccountManagerCallback",
10483 + "Landroid/accounts/Account;",
10485 + "Landroid/os/Handler;",
10487 + "Landroid/accounts/AccountManagerFuture",
10489 + "Landroid/accounts/Account;",
10498 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10500 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10502 + move-result-object v1
10504 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10508 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10510 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10512 + move-result-object v6
10514 + if-eqz v6, :cond_2c
10516 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
10520 + if-eqz v0, :cond_2c
10522 + const-string v8, "[false]"
10524 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10526 + new-array v0, v3, [Landroid/accounts/Account;
10528 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
10530 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10534 + const-string v4, "accountsList"
10536 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10542 + const-string v8, "[real value]"
10544 + 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;
10546 + move-result-object v7
10548 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10550 + const-string v4, "accountsList"
10552 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10557 +.method public getAuthToken(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;Landroid/app/Activity;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
10559 + .annotation system Ldalvik/annotation/Signature;
10562 + "Landroid/accounts/Account;",
10563 + "Ljava/lang/String;",
10564 + "Landroid/os/Bundle;",
10565 + "Landroid/app/Activity;",
10566 + "Landroid/accounts/AccountManagerCallback",
10568 + "Landroid/os/Bundle;",
10570 + "Landroid/os/Handler;",
10572 + "Landroid/accounts/AccountManagerFuture",
10574 + "Landroid/os/Bundle;",
10581 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10583 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10585 + move-result-object v1
10587 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10591 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10593 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10595 + move-result-object v6
10597 + if-eqz v6, :cond_2e
10599 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
10603 + if-eqz v0, :cond_2e
10605 + const-string v8, "[empty]"
10607 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10609 + new-instance v0, Landroid/os/Bundle;
10611 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
10613 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
10615 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10619 + const-string v4, "authTokens"
10621 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10627 + const-string v8, "[real value]"
10629 + 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;
10631 + move-result-object v7
10633 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10637 + const-string v4, "authTokens"
10639 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10644 +.method public getAuthToken(Landroid/accounts/Account;Ljava/lang/String;ZLandroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
10646 + .annotation system Ldalvik/annotation/Signature;
10649 + "Landroid/accounts/Account;",
10650 + "Ljava/lang/String;",
10652 + "Landroid/accounts/AccountManagerCallback",
10654 + "Landroid/os/Bundle;",
10656 + "Landroid/os/Handler;",
10658 + "Landroid/accounts/AccountManagerFuture",
10660 + "Landroid/os/Bundle;",
10667 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10669 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10671 + move-result-object v1
10673 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10677 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10679 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10681 + move-result-object v6
10683 + if-eqz v6, :cond_2e
10685 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
10689 + if-eqz v0, :cond_2e
10691 + const-string v8, "[empty]"
10693 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10695 + new-instance v0, Landroid/os/Bundle;
10697 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
10699 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
10701 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10705 + const-string v4, "authTokens"
10707 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10713 + const-string v8, "[real value]"
10715 + invoke-super/range {p0 .. p5}, Landroid/accounts/AccountManager;->getAuthToken(Landroid/accounts/Account;Ljava/lang/String;ZLandroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
10717 + move-result-object v7
10719 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10723 + const-string v4, "authTokens"
10725 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10730 +.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;
10732 + .annotation system Ldalvik/annotation/Signature;
10735 + "Ljava/lang/String;",
10736 + "Ljava/lang/String;",
10738 + "Ljava/lang/String;",
10739 + "Landroid/app/Activity;",
10740 + "Landroid/os/Bundle;",
10741 + "Landroid/os/Bundle;",
10742 + "Landroid/accounts/AccountManagerCallback",
10744 + "Landroid/os/Bundle;",
10746 + "Landroid/os/Handler;",
10748 + "Landroid/accounts/AccountManagerFuture",
10750 + "Landroid/os/Bundle;",
10755 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10757 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10759 + move-result-object v1
10761 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10765 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10767 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10769 + move-result-object v6
10771 + if-eqz v6, :cond_2e
10773 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
10777 + if-eqz v0, :cond_2e
10779 + const-string v8, "[empty]"
10781 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10783 + new-instance v0, Landroid/os/Bundle;
10785 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
10787 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
10789 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10793 + const-string v4, "authTokens"
10797 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10803 + const-string v8, "[real value]"
10805 + 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;
10807 + move-result-object v7
10809 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10813 + const-string v4, "authTokens"
10817 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10822 +.method public hasFeatures(Landroid/accounts/Account;[Ljava/lang/String;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
10824 + .annotation system Ldalvik/annotation/Signature;
10827 + "Landroid/accounts/Account;",
10829 + "Ljava/lang/String;",
10830 + "Landroid/accounts/AccountManagerCallback",
10832 + "Ljava/lang/Boolean;",
10834 + "Landroid/os/Handler;",
10836 + "Landroid/accounts/AccountManagerFuture",
10838 + "Ljava/lang/Boolean;",
10847 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10849 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10851 + move-result-object v1
10853 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10857 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10859 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10861 + move-result-object v6
10863 + if-eqz v6, :cond_2e
10865 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
10869 + if-eqz v0, :cond_2e
10871 + const-string v8, "[false]"
10873 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10875 + invoke-static {v3}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
10877 + move-result-object v0
10879 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
10881 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10885 + const-string v4, "accountsList"
10887 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10893 + const-string v8, "[real value]"
10895 + 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;
10897 + move-result-object v7
10899 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10901 + const-string v4, "accountsList"
10903 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10907 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyActivityManagerService.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyActivityManagerService.smali
10908 --- stock-framework/smali/android/privacy/surrogate/PrivacyActivityManagerService.smali 1969-12-31 18:00:00.000000000 -0600
10909 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyActivityManagerService.smali 2012-08-10 00:09:14.717407079 -0500
10911 +.class public final Landroid/privacy/surrogate/PrivacyActivityManagerService;
10912 +.super Ljava/lang/Object;
10913 +.source "PrivacyActivityManagerService.java"
10917 +.field private static final TAG:Ljava/lang/String; = "PrivacyActivityManagerService"
10919 +.field private static pSetMan:Landroid/privacy/PrivacySettingsManager;
10921 +.field private static tmpIn:Landroid/content/Intent;
10923 +.field private static tmpInHash:J
10925 +.field private static tmpInReceivers:I
10927 +.field private static tmpMms:Landroid/content/Intent;
10929 +.field private static tmpMmsHash:J
10931 +.field private static tmpMmsReceivers:I
10933 +.field private static tmpOut:Landroid/content/Intent;
10935 +.field private static tmpOutHash:J
10937 +.field private static tmpOutReceivers:I
10939 +.field private static tmpPackageAddedHash:J
10941 +.field private static tmpSms:Landroid/content/Intent;
10943 +.field private static tmpSmsHash:J
10945 +.field private static tmpSmsReceivers:I
10949 +.method static constructor <clinit>()V
10954 + const-wide/16 v0, 0x0
10956 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInHash:J
10958 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
10960 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutHash:J
10962 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
10964 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsHash:J
10966 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
10968 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsHash:J
10970 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
10972 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpPackageAddedHash:J
10977 +.method public constructor <init>()V
10980 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
10985 +.method public static enforcePrivacyPermission(Ljava/lang/String;ILandroid/content/Intent;Landroid/content/Context;I)V
10988 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10990 + if-nez v2, :cond_11
10992 + const-string/jumbo v2, "privacy"
10994 + move-object/from16 v0, p3
10996 + invoke-virtual {v0, v2}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
10998 + move-result-object v2
11000 + check-cast v2, Landroid/privacy/PrivacySettingsManager;
11002 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11005 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->getAction()Ljava/lang/String;
11007 + move-result-object v9
11009 + const-string v2, "android.intent.action.NEW_OUTGOING_CALL"
11011 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11015 + if-eqz v2, :cond_ad
11017 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11019 + move-object/from16 v0, p0
11021 + move/from16 v1, p1
11023 + invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
11025 + move-result-object v8
11027 + const-string v2, "android.intent.extra.PHONE_NUMBER"
11029 + move-object/from16 v0, p2
11031 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
11033 + move-result-object v16
11035 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutHash:J
11037 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11039 + move-result-wide v4
11041 + cmp-long v2, v2, v4
11043 + if-eqz v2, :cond_49
11045 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->clone()Ljava/lang/Object;
11047 + move-result-object v2
11049 + check-cast v2, Landroid/content/Intent;
11051 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOut:Landroid/content/Intent;
11053 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11055 + move-result-wide v2
11057 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutHash:J
11059 + sput p4, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
11062 + if-eqz v8, :cond_76
11065 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getOutgoingCallsSetting()B
11069 + if-eqz v2, :cond_76
11071 + const-string v16, ""
11073 + const-string v2, "android.intent.extra.PHONE_NUMBER"
11075 + move-object/from16 v0, p2
11077 + move-object/from16 v1, v16
11079 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
11081 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11085 + const-string/jumbo v6, "outgoingCall"
11089 + move-object/from16 v3, p0
11091 + move/from16 v4, p1
11093 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11095 + .catch Ljava/lang/Exception; {:try_start_4b .. :try_end_6a} :catch_a0
11099 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
11103 + if-le v2, v3, :cond_a9
11105 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
11107 + add-int/lit8 v2, v2, -0x1
11109 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
11117 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutHash:J
11119 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11121 + move-result-wide v4
11123 + cmp-long v2, v2, v4
11125 + if-nez v2, :cond_6a
11127 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOut:Landroid/content/Intent;
11129 + const-string v3, "android.intent.extra.PHONE_NUMBER"
11131 + invoke-virtual {v2, v3}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
11133 + move-result-object v16
11135 + const-string v2, "android.intent.extra.PHONE_NUMBER"
11137 + move-object/from16 v0, p2
11139 + move-object/from16 v1, v16
11141 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
11143 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11147 + const-string/jumbo v6, "outgoingCall"
11151 + move-object/from16 v3, p0
11153 + move/from16 v4, p1
11155 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11157 + .catch Ljava/lang/Exception; {:try_start_76 .. :try_end_9f} :catch_a0
11162 + move-exception v13
11164 + const-string v2, "PrivacyActivityManagerService"
11166 + const-string v3, "failed to enforce intent broadcast permission"
11168 + invoke-static {v2, v3, v13}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
11175 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOut:Landroid/content/Intent;
11180 + const-string v2, "android.intent.action.PHONE_STATE"
11182 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11186 + if-eqz v2, :cond_14d
11188 + const-string v2, "incoming_number"
11190 + move-object/from16 v0, p2
11192 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
11194 + move-result-object v16
11196 + if-eqz v16, :cond_75
11198 + invoke-virtual/range {v16 .. v16}, Ljava/lang/String;->isEmpty()Z
11202 + if-nez v2, :cond_75
11204 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11206 + move-object/from16 v0, p0
11208 + move/from16 v1, p1
11210 + invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
11212 + move-result-object v8
11214 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInHash:J
11216 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11218 + move-result-wide v4
11220 + cmp-long v2, v2, v4
11222 + if-eqz v2, :cond_e9
11224 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->clone()Ljava/lang/Object;
11226 + move-result-object v2
11228 + check-cast v2, Landroid/content/Intent;
11230 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpIn:Landroid/content/Intent;
11232 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11234 + move-result-wide v2
11236 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInHash:J
11238 + sput p4, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
11241 + if-eqz v8, :cond_116
11244 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getIncomingCallsSetting()B
11248 + if-eqz v2, :cond_116
11250 + const-string v16, ""
11252 + const-string v2, "incoming_number"
11254 + move-object/from16 v0, p2
11256 + move-object/from16 v1, v16
11258 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
11260 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11264 + const-string v6, "incomingCall"
11268 + move-object/from16 v3, p0
11270 + move/from16 v4, p1
11272 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11274 + .catch Ljava/lang/Exception; {:try_start_eb .. :try_end_109} :catch_13f
11278 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
11282 + if-le v2, v3, :cond_148
11284 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
11286 + add-int/lit8 v2, v2, -0x1
11288 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
11294 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInHash:J
11296 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11298 + move-result-wide v4
11300 + cmp-long v2, v2, v4
11302 + if-nez v2, :cond_109
11304 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpIn:Landroid/content/Intent;
11306 + const-string v3, "incoming_number"
11308 + invoke-virtual {v2, v3}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
11310 + move-result-object v16
11312 + const-string v2, "incoming_number"
11314 + move-object/from16 v0, p2
11316 + move-object/from16 v1, v16
11318 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
11320 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11324 + const-string v6, "incomingCall"
11328 + move-object/from16 v3, p0
11330 + move/from16 v4, p1
11332 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11334 + .catch Ljava/lang/Exception; {:try_start_116 .. :try_end_13e} :catch_13f
11339 + move-exception v13
11341 + const-string v2, "PrivacyActivityManagerService"
11343 + const-string v3, "failed to enforce intent broadcast permission"
11345 + invoke-static {v2, v3, v13}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
11352 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpIn:Landroid/content/Intent;
11357 + const-string v2, "android.provider.Telephony.SMS_RECEIVED"
11359 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11363 + if-eqz v2, :cond_222
11365 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11367 + move-object/from16 v0, p0
11369 + move/from16 v1, p1
11371 + invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
11373 + move-result-object v8
11375 + const-string v16, "[real]"
11377 + const-string/jumbo v2, "pdus"
11379 + move-object/from16 v0, p2
11381 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
11383 + move-result-object v2
11385 + check-cast v2, [Ljava/lang/Object;
11387 + move-object v15, v2
11389 + check-cast v15, [Ljava/lang/Object;
11391 + if-eqz v15, :cond_1cd
11395 + aget-object v2, v15, v2
11397 + check-cast v2, [B
11399 + check-cast v2, [B
11401 + move-object v12, v2
11404 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsHash:J
11406 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11408 + move-result-wide v4
11410 + cmp-long v2, v2, v4
11412 + if-eqz v2, :cond_193
11414 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->clone()Ljava/lang/Object;
11416 + move-result-object v2
11418 + check-cast v2, Landroid/content/Intent;
11420 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSms:Landroid/content/Intent;
11422 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11424 + move-result-wide v2
11426 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsHash:J
11428 + sput p4, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
11431 + if-eqz v8, :cond_1cf
11434 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getSmsSetting()B
11438 + if-eqz v2, :cond_1cf
11440 + const-string v16, "[empty]"
11444 + new-array v14, v2, [Ljava/lang/Object;
11448 + const/16 v3, 0x10
11450 + new-array v3, v3, [B
11452 + fill-array-data v3, :array_350
11454 + aput-object v3, v14, v2
11456 + const-string/jumbo v2, "pdus"
11458 + move-object/from16 v0, p2
11460 + invoke-virtual {v0, v2, v14}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent;
11462 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11466 + const-string/jumbo v6, "sms"
11470 + move-object/from16 v3, p0
11472 + move/from16 v4, p1
11474 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11476 + .catch Ljava/lang/Exception; {:try_start_195 .. :try_end_1c0} :catch_212
11480 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
11484 + if-le v2, v3, :cond_21d
11486 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
11488 + add-int/lit8 v2, v2, -0x1
11490 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
11501 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsHash:J
11503 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11505 + move-result-wide v4
11507 + cmp-long v2, v2, v4
11509 + if-nez v2, :cond_1c0
11511 + const-string/jumbo v2, "pdus"
11513 + sget-object v3, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSms:Landroid/content/Intent;
11515 + const-string/jumbo v4, "pdus"
11517 + invoke-virtual {v3, v4}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
11519 + move-result-object v3
11521 + move-object/from16 v0, p2
11523 + invoke-virtual {v0, v2, v3}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent;
11525 + const-string/jumbo v2, "pdus"
11527 + move-object/from16 v0, p2
11529 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
11531 + move-result-object v2
11533 + check-cast v2, [Ljava/lang/Object;
11535 + move-object v0, v2
11537 + check-cast v0, [Ljava/lang/Object;
11539 + move-object v15, v0
11541 + if-eqz v15, :cond_21b
11545 + aget-object v2, v15, v2
11547 + check-cast v2, [B
11549 + check-cast v2, [B
11551 + move-object v12, v2
11554 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11558 + const-string/jumbo v6, "sms"
11562 + move-object/from16 v3, p0
11564 + move/from16 v4, p1
11566 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11568 + .catch Ljava/lang/Exception; {:try_start_1cf .. :try_end_211} :catch_212
11573 + move-exception v13
11575 + const-string v2, "PrivacyActivityManagerService"
11577 + const-string v3, "failed to enforce intent broadcast permission"
11579 + invoke-static {v2, v3, v13}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
11591 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSms:Landroid/content/Intent;
11596 + const-string v2, "android.provider.Telephony.WAP_PUSH_RECEIVED"
11598 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11602 + if-nez v2, :cond_232
11604 + const-string v2, "android.intent.action.DATA_SMS_RECEIVED"
11606 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11610 + if-eqz v2, :cond_2ff
11613 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11615 + move-object/from16 v0, p0
11617 + move/from16 v1, p1
11619 + invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
11621 + move-result-object v8
11623 + const-string v16, "[real]"
11625 + const-string/jumbo v2, "pdus"
11627 + move-object/from16 v0, p2
11629 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
11631 + move-result-object v2
11633 + check-cast v2, [Ljava/lang/Object;
11635 + move-object v15, v2
11637 + check-cast v15, [Ljava/lang/Object;
11639 + if-eqz v15, :cond_2aa
11643 + aget-object v2, v15, v2
11645 + check-cast v2, [B
11647 + check-cast v2, [B
11649 + move-object v12, v2
11652 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsHash:J
11654 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11656 + move-result-wide v4
11658 + cmp-long v2, v2, v4
11660 + if-eqz v2, :cond_270
11662 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->clone()Ljava/lang/Object;
11664 + move-result-object v2
11666 + check-cast v2, Landroid/content/Intent;
11668 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMms:Landroid/content/Intent;
11670 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11672 + move-result-wide v2
11674 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsHash:J
11676 + sput p4, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
11679 + if-eqz v8, :cond_2ac
11682 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getMmsSetting()B
11686 + if-eqz v2, :cond_2ac
11688 + const-string v16, "[empty]"
11692 + new-array v14, v2, [Ljava/lang/Object;
11696 + const/16 v3, 0x10
11698 + new-array v3, v3, [B
11700 + fill-array-data v3, :array_35c
11702 + aput-object v3, v14, v2
11704 + const-string/jumbo v2, "pdus"
11706 + move-object/from16 v0, p2
11708 + invoke-virtual {v0, v2, v14}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent;
11710 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11714 + const-string/jumbo v6, "mms"
11718 + move-object/from16 v3, p0
11720 + move/from16 v4, p1
11722 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11724 + .catch Ljava/lang/Exception; {:try_start_272 .. :try_end_29d} :catch_2ef
11728 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
11732 + if-le v2, v3, :cond_2fa
11734 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
11736 + add-int/lit8 v2, v2, -0x1
11738 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
11749 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsHash:J
11751 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11753 + move-result-wide v4
11755 + cmp-long v2, v2, v4
11757 + if-nez v2, :cond_29d
11759 + const-string/jumbo v2, "pdus"
11761 + sget-object v3, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMms:Landroid/content/Intent;
11763 + const-string/jumbo v4, "pdus"
11765 + invoke-virtual {v3, v4}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
11767 + move-result-object v3
11769 + move-object/from16 v0, p2
11771 + invoke-virtual {v0, v2, v3}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent;
11773 + const-string/jumbo v2, "pdus"
11775 + move-object/from16 v0, p2
11777 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
11779 + move-result-object v2
11781 + check-cast v2, [Ljava/lang/Object;
11783 + move-object v0, v2
11785 + check-cast v0, [Ljava/lang/Object;
11787 + move-object v15, v0
11789 + if-eqz v15, :cond_2f8
11793 + aget-object v2, v15, v2
11795 + check-cast v2, [B
11797 + check-cast v2, [B
11799 + move-object v12, v2
11802 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11806 + const-string/jumbo v6, "mms"
11810 + move-object/from16 v3, p0
11812 + move/from16 v4, p1
11814 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11816 + .catch Ljava/lang/Exception; {:try_start_2ac .. :try_end_2ee} :catch_2ef
11821 + move-exception v13
11823 + const-string v2, "PrivacyActivityManagerService"
11825 + const-string v3, "failed to enforce intent broadcast permission"
11827 + invoke-static {v2, v3, v13}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
11839 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMms:Landroid/content/Intent;
11844 + const-string v2, "android.intent.action.BOOT_COMPLETED"
11846 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11850 + if-eqz v2, :cond_30e
11852 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11854 + invoke-virtual {v2}, Landroid/privacy/PrivacySettingsManager;->setBootCompleted()V
11859 + const-string v2, "android.intent.action.PACKAGE_ADDED"
11861 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11865 + if-eqz v2, :cond_75
11867 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpPackageAddedHash:J
11869 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11871 + move-result-wide v4
11873 + cmp-long v2, v2, v4
11875 + if-eqz v2, :cond_75
11877 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11879 + move-result-wide v2
11881 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpPackageAddedHash:J
11883 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->getData()Landroid/net/Uri;
11885 + move-result-object v2
11887 + invoke-virtual {v2}, Landroid/net/Uri;->getSchemeSpecificPart()Ljava/lang/String;
11889 + move-result-object v10
11891 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->getExtras()Landroid/os/Bundle;
11893 + move-result-object v2
11895 + const-string v3, "android.intent.extra.UID"
11897 + invoke-virtual {v2, v3}, Landroid/os/Bundle;->getInt(Ljava/lang/String;)I
11901 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11903 + invoke-virtual {v2, v10, v11}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
11905 + move-result-object v8
11907 + if-eqz v8, :cond_75
11909 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getUid()I
11913 + if-eq v2, v11, :cond_75
11915 + invoke-virtual {v8, v11}, Landroid/privacy/PrivacySettings;->setUid(I)V
11917 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11919 + invoke-virtual {v2, v8}, Landroid/privacy/PrivacySettingsManager;->saveSettings(Landroid/privacy/PrivacySettings;)Z
11964 +.method private static hashCode(Landroid/content/Intent;)J
11967 + const-wide/16 v3, 0x0
11969 + const-string/jumbo v2, "privacy_hash"
11971 + invoke-virtual {p0, v2, v3, v4}, Landroid/content/Intent;->getLongExtra(Ljava/lang/String;J)J
11973 + move-result-wide v0
11975 + cmp-long v2, v0, v3
11977 + if-nez v2, :cond_1e
11979 + invoke-virtual {p0}, Landroid/content/Intent;->filterHashCode()I
11983 + int-to-long v2, v2
11985 + invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
11987 + move-result-wide v4
11989 + add-long v0, v2, v4
11991 + const-string/jumbo v2, "privacy_hash"
11993 + invoke-virtual {p0, v2, v0, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;J)Landroid/content/Intent;
11998 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyContentResolver.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyContentResolver.smali
11999 --- stock-framework/smali/android/privacy/surrogate/PrivacyContentResolver.smali 1969-12-31 18:00:00.000000000 -0600
12000 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyContentResolver.smali 2012-08-10 00:09:14.717407079 -0500
12002 +.class public final Landroid/privacy/surrogate/PrivacyContentResolver;
12003 +.super Ljava/lang/Object;
12004 +.source "PrivacyContentResolver.java"
12008 +.field private static final TAG:Ljava/lang/String; = "PrivacyContentResolver"
12010 +.field private static pSetMan:Landroid/privacy/PrivacySettingsManager;
12014 +.method public constructor <init>()V
12017 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
12022 +.method private static arrayToString([Ljava/lang/String;)Ljava/lang/String;
12025 + new-instance v4, Ljava/lang/StringBuffer;
12027 + invoke-direct {v4}, Ljava/lang/StringBuffer;-><init>()V
12029 + if-eqz p0, :cond_2d
12031 + move-object v0, p0
12033 + array-length v3, v0
12038 + if-ge v2, v3, :cond_30
12040 + aget-object v1, v0, v2
12042 + new-instance v5, Ljava/lang/StringBuilder;
12044 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
12046 + const-string v6, "["
12048 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
12050 + move-result-object v5
12052 + invoke-virtual {v5, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
12054 + move-result-object v5
12056 + const-string v6, "]"
12058 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
12060 + move-result-object v5
12062 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
12064 + move-result-object v5
12066 + invoke-virtual {v4, v5}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
12068 + add-int/lit8 v2, v2, 0x1
12073 + const-string v5, ""
12079 + invoke-virtual {v4}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String;
12081 + move-result-object v5
12086 +.method public static enforcePrivacyPermission(Landroid/net/Uri;[Ljava/lang/String;Landroid/content/Context;Landroid/database/Cursor;)Landroid/database/Cursor;
12088 + .annotation system Ldalvik/annotation/Throws;
12090 + Landroid/os/RemoteException;
12094 + if-eqz p0, :cond_1e4
12096 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12098 + if-nez v1, :cond_13
12100 + const-string/jumbo v1, "privacy"
12102 + move-object/from16 v0, p2
12104 + invoke-virtual {v0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
12106 + move-result-object v1
12108 + check-cast v1, Landroid/privacy/PrivacySettingsManager;
12110 + sput-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12113 + invoke-virtual/range {p2 .. p2}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
12115 + move-result-object v2
12117 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
12121 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12123 + invoke-virtual {v1, v2, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
12125 + move-result-object v7
12127 + invoke-virtual/range {p0 .. p0}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
12129 + move-result-object v9
12131 + const-string v15, "[real]"
12133 + move-object/from16 v13, p3
12135 + if-eqz v9, :cond_54
12137 + const-string v1, "contacts"
12139 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12143 + if-nez v1, :cond_3b
12145 + const-string v1, "com.android.contacts"
12147 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12151 + if-eqz v1, :cond_ab
12154 + if-eqz v7, :cond_54
12156 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getContactsSetting()B
12162 + if-ne v1, v4, :cond_55
12164 + const-string v15, "[empty]"
12166 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12168 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12170 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12174 + const-string v5, "contacts"
12178 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12182 + return-object v13
12185 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getContactsSetting()B
12191 + if-ne v1, v4, :cond_a1
12193 + invoke-virtual/range {p0 .. p0}, Landroid/net/Uri;->toString()Ljava/lang/String;
12195 + move-result-object v1
12197 + sget-object v4, Landroid/provider/ContactsContract$Contacts;->CONTENT_URI:Landroid/net/Uri;
12199 + invoke-virtual {v4}, Landroid/net/Uri;->toString()Ljava/lang/String;
12201 + move-result-object v4
12203 + invoke-virtual {v1, v4}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
12207 + if-eqz v1, :cond_a1
12211 + if-eqz p1, :cond_82
12213 + move-object/from16 v8, p1
12215 + array-length v12, v8
12220 + if-ge v10, v12, :cond_82
12222 + aget-object v16, v8, v10
12224 + const-string v1, "_id"
12226 + move-object/from16 v0, v16
12228 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12232 + if-eqz v1, :cond_93
12237 + if-nez v11, :cond_96
12239 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12241 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12244 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12248 + const-string v5, "contacts"
12252 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12257 + add-int/lit8 v10, v10, 0x1
12262 + new-instance v14, Landroid/privacy/surrogate/PrivacyCursor;
12264 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getAllowedContacts()[I
12266 + move-result-object v1
12268 + invoke-direct {v14, v13, v1}, Landroid/privacy/surrogate/PrivacyCursor;-><init>(Landroid/database/Cursor;[I)V
12270 + move-object v13, v14
12275 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12279 + const-string v5, "contacts"
12283 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12288 + const-string v1, "com.android.calendar"
12290 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12294 + if-eqz v1, :cond_d8
12296 + if-eqz v7, :cond_cd
12298 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getCalendarSetting()B
12304 + if-ne v1, v4, :cond_cd
12306 + const-string v15, "[empty]"
12308 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12310 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12312 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12316 + const-string v5, "calendar"
12320 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12325 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12329 + const-string v5, "calendar"
12333 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12338 + sget-object v1, Landroid/provider/Telephony$Mms;->CONTENT_URI:Landroid/net/Uri;
12340 + invoke-virtual {v1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
12342 + move-result-object v1
12344 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12348 + if-eqz v1, :cond_10c
12350 + if-eqz v7, :cond_100
12352 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getMmsSetting()B
12358 + if-ne v1, v4, :cond_100
12360 + const-string v15, "[empty]"
12362 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12364 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12366 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12370 + const-string/jumbo v5, "mms"
12374 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12379 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12383 + const-string/jumbo v5, "mms"
12387 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12392 + sget-object v1, Landroid/provider/Telephony$Sms;->CONTENT_URI:Landroid/net/Uri;
12394 + invoke-virtual {v1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
12396 + move-result-object v1
12398 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12402 + if-eqz v1, :cond_140
12404 + if-eqz v7, :cond_134
12406 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getSmsSetting()B
12412 + if-ne v1, v4, :cond_134
12414 + const-string v15, "[empty]"
12416 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12418 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12420 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12424 + const-string/jumbo v5, "sms"
12428 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12433 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12437 + const-string/jumbo v5, "sms"
12441 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12446 + sget-object v1, Landroid/provider/Telephony$MmsSms;->CONTENT_URI:Landroid/net/Uri;
12448 + invoke-virtual {v1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
12450 + move-result-object v1
12452 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12456 + if-nez v1, :cond_155
12458 + const-string/jumbo v1, "mms-sms-v2"
12460 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12464 + if-eqz v1, :cond_184
12467 + if-eqz v7, :cond_178
12469 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getMmsSetting()B
12475 + if-eq v1, v4, :cond_165
12477 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getSmsSetting()B
12483 + if-ne v1, v4, :cond_178
12486 + const-string v15, "[empty]"
12488 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12490 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12492 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12496 + const-string/jumbo v5, "mmsSms"
12500 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12505 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12509 + const-string/jumbo v5, "mmsSms"
12513 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12518 + const-string v1, "call_log"
12520 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12524 + if-eqz v1, :cond_1b2
12526 + if-eqz v7, :cond_1a7
12528 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getCallLogSetting()B
12534 + if-ne v1, v4, :cond_1a7
12536 + const-string v15, "[empty]"
12538 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12540 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12542 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12546 + const-string v5, "callLog"
12550 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12555 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12559 + const-string v5, "callLog"
12563 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12568 + sget-object v1, Landroid/provider/Browser;->BOOKMARKS_URI:Landroid/net/Uri;
12570 + invoke-virtual {v1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
12572 + move-result-object v1
12574 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12578 + if-eqz v1, :cond_54
12580 + if-eqz v7, :cond_1d9
12582 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getBookmarksSetting()B
12588 + if-ne v1, v4, :cond_1d9
12590 + const-string v15, "[empty]"
12592 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12594 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12596 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12600 + const-string v5, "bookmarks"
12604 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12609 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12613 + const-string v5, "bookmarks"
12617 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12622 + move-object/from16 v13, p3
12626 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyCursor.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyCursor.smali
12627 --- stock-framework/smali/android/privacy/surrogate/PrivacyCursor.smali 1969-12-31 18:00:00.000000000 -0600
12628 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyCursor.smali 2012-08-10 00:09:14.717407079 -0500
12630 +.class public Landroid/privacy/surrogate/PrivacyCursor;
12631 +.super Ljava/lang/Object;
12632 +.source "PrivacyCursor.java"
12635 +.implements Landroid/database/Cursor;
12639 +.field private static final TAG:Ljava/lang/String; = "PrivacyCursor"
12643 +.field private allowedIdMapping:[I
12645 +.field private allowedIds:[I
12647 +.field private realCursor:Landroid/database/Cursor;
12651 +.method public constructor <init>()V
12654 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
12659 +.method public constructor <init>(Landroid/database/Cursor;[I)V
12662 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
12664 + if-eqz p2, :cond_8
12666 + array-length v2, p2
12668 + if-nez v2, :cond_9
12674 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12676 + iput-object p2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIds:[I
12678 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12680 + if-eqz v2, :cond_3f
12682 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12684 + invoke-interface {v2}, Landroid/database/Cursor;->getPosition()I
12688 + array-length v2, p2
12690 + new-array v2, v2, [I
12692 + iput-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
12698 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12700 + invoke-interface {v2}, Landroid/database/Cursor;->moveToNext()Z
12704 + if-eqz v2, :cond_3a
12706 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12708 + invoke-direct {p0, v2}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(Landroid/database/Cursor;)Z
12712 + if-eqz v2, :cond_1d
12714 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
12716 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12718 + invoke-interface {v3}, Landroid/database/Cursor;->getPosition()I
12724 + add-int/lit8 v1, v1, 0x1
12729 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12731 + invoke-interface {v2, v0}, Landroid/database/Cursor;->moveToPosition(I)Z
12737 +.method private getContactId(Landroid/database/Cursor;)I
12740 + const-string v2, "_id"
12742 + invoke-interface {p1, v2}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
12750 + if-eq v0, v2, :cond_e
12752 + invoke-interface {p1, v0}, Landroid/database/Cursor;->getInt(I)I
12760 +.method private getMappedPos(I)I
12766 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
12768 + array-length v1, v1
12770 + if-ge v0, v1, :cond_10
12772 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
12776 + if-ne v1, p1, :cond_d
12782 + add-int/lit8 v0, v0, 0x1
12792 +.method private isAllowed(I)Z
12797 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIds:[I
12799 + array-length v3, v0
12804 + if-ge v2, v3, :cond_c
12808 + if-ne p1, v1, :cond_d
12816 + add-int/lit8 v2, v2, 0x1
12821 +.method private isAllowed(Landroid/database/Cursor;)Z
12824 + invoke-direct {p0, p1}, Landroid/privacy/surrogate/PrivacyCursor;->getContactId(Landroid/database/Cursor;)I
12828 + invoke-direct {p0, v0}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(I)Z
12837 +.method public close()V
12840 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12842 + if-eqz v0, :cond_9
12844 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12846 + invoke-interface {v0}, Landroid/database/Cursor;->close()V
12852 +.method public copyStringToBuffer(ILandroid/database/CharArrayBuffer;)V
12855 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12857 + if-eqz v0, :cond_9
12859 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12861 + invoke-interface {v0, p1, p2}, Landroid/database/Cursor;->copyStringToBuffer(ILandroid/database/CharArrayBuffer;)V
12867 +.method public deactivate()V
12870 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12872 + if-eqz v0, :cond_9
12874 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12876 + invoke-interface {v0}, Landroid/database/Cursor;->deactivate()V
12882 +.method public getBlob(I)[B
12885 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12887 + if-eqz v0, :cond_b
12889 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12891 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getBlob(I)[B
12893 + move-result-object v0
12901 + new-array v0, v0, [B
12906 +.method public getColumnCount()I
12909 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12911 + if-eqz v0, :cond_b
12913 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12915 + invoke-interface {v0}, Landroid/database/Cursor;->getColumnCount()I
12928 +.method public getColumnIndex(Ljava/lang/String;)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, p1}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
12950 +.method public getColumnIndexOrThrow(Ljava/lang/String;)I
12952 + .annotation system Ldalvik/annotation/Throws;
12954 + Ljava/lang/IllegalArgumentException;
12958 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12960 + if-eqz v0, :cond_b
12962 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12964 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getColumnIndexOrThrow(Ljava/lang/String;)I
12977 +.method public getColumnName(I)Ljava/lang/String;
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;->getColumnName(I)Ljava/lang/String;
12988 + move-result-object v0
12994 + const-string v0, ""
12999 +.method public getColumnNames()[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}, Landroid/database/Cursor;->getColumnNames()[Ljava/lang/String;
13010 + move-result-object v0
13018 + new-array v0, v0, [Ljava/lang/String;
13022 + const-string v2, ""
13024 + aput-object v2, v0, v1
13029 +.method public getCount()I
13032 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13034 + if-eqz v0, :cond_23
13036 + const-string v0, "PrivacyCursor"
13038 + new-instance v1, Ljava/lang/StringBuilder;
13040 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
13042 + const-string v2, "getCount: "
13044 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13046 + move-result-object v1
13048 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13050 + array-length v2, v2
13052 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
13054 + move-result-object v1
13056 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
13058 + move-result-object v1
13060 + invoke-static {v0, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
13062 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13064 + array-length v0, v0
13075 +.method public getDouble(I)D
13078 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13080 + if-eqz v0, :cond_b
13082 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13084 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getDouble(I)D
13086 + move-result-wide v0
13092 + const-wide/16 v0, 0x0
13097 +.method public getExtras()Landroid/os/Bundle;
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}, Landroid/database/Cursor;->getExtras()Landroid/os/Bundle;
13108 + move-result-object v0
13114 + new-instance v0, Landroid/os/Bundle;
13116 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
13121 +.method public getFloat(I)F
13124 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13126 + if-eqz v0, :cond_b
13128 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13130 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getFloat(I)F
13143 +.method public getInt(I)I
13146 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13148 + if-eqz v1, :cond_b
13150 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13152 + invoke-interface {v1, p1}, Landroid/database/Cursor;->getInt(I)I
13165 +.method public getLong(I)J
13168 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13170 + if-eqz v0, :cond_b
13172 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13174 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getLong(I)J
13176 + move-result-wide v0
13182 + const-wide/16 v0, 0x0
13187 +.method public getPosition()I
13190 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13192 + if-eqz v1, :cond_37
13194 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13196 + invoke-interface {v1}, Landroid/database/Cursor;->getPosition()I
13200 + invoke-direct {p0, v1}, Landroid/privacy/surrogate/PrivacyCursor;->getMappedPos(I)I
13204 + const-string v1, "PrivacyCursor"
13206 + new-instance v2, Ljava/lang/StringBuilder;
13208 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
13210 + const-string v3, "getPosition - mapped position: "
13212 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13214 + move-result-object v2
13216 + invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
13218 + move-result-object v2
13220 + const-string v3, " real position: "
13222 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13224 + move-result-object v2
13226 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13228 + invoke-interface {v3}, Landroid/database/Cursor;->getPosition()I
13232 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
13234 + move-result-object v2
13236 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
13238 + move-result-object v2
13240 + invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
13251 +.method public getShort(I)S
13254 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13256 + if-eqz v0, :cond_b
13258 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13260 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getShort(I)S
13273 +.method public getString(I)Ljava/lang/String;
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;->getString(I)Ljava/lang/String;
13284 + move-result-object v0
13290 + const-string v0, ""
13295 +.method public getType(I)I
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;->getType(I)I
13312 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13319 +.method public getWantsAllOnMoveCalls()Z
13322 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13324 + if-eqz v0, :cond_b
13326 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13328 + invoke-interface {v0}, Landroid/database/Cursor;->getWantsAllOnMoveCalls()Z
13341 +.method public isAfterLast()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;->isAfterLast()Z
13363 +.method public isBeforeFirst()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;->isBeforeFirst()Z
13385 +.method public isClosed()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;->isClosed()Z
13407 +.method public isFirst()Z
13412 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13414 + if-eqz v1, :cond_12
13416 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13418 + invoke-interface {v1}, Landroid/database/Cursor;->getPosition()I
13422 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13426 + if-ne v1, v2, :cond_12
13434 +.method public isLast()Z
13437 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13439 + if-eqz v0, :cond_17
13441 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13443 + invoke-interface {v0}, Landroid/database/Cursor;->getPosition()I
13447 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13449 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13451 + array-length v2, v2
13453 + add-int/lit8 v2, v2, -0x1
13457 + if-ne v0, v1, :cond_17
13470 +.method public isNull(I)Z
13473 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13475 + if-eqz v0, :cond_b
13477 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13479 + invoke-interface {v0, p1}, Landroid/database/Cursor;->isNull(I)Z
13492 +.method public move(I)Z
13497 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13499 + if-eqz v3, :cond_33
13501 + const-string v3, "PrivacyCursor"
13503 + new-instance v4, Ljava/lang/StringBuilder;
13505 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
13507 + const-string/jumbo v5, "move - offset: "
13509 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13511 + move-result-object v4
13513 + invoke-virtual {v4, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
13515 + move-result-object v4
13517 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
13519 + move-result-object v4
13521 + invoke-static {v3, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
13524 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13526 + iget-object v4, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13528 + invoke-interface {v4}, Landroid/database/Cursor;->getPosition()I
13532 + invoke-direct {p0, v4}, Landroid/privacy/surrogate/PrivacyCursor;->getMappedPos(I)I
13536 + add-int/2addr v4, p1
13540 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13542 + invoke-interface {v3, v1}, Landroid/database/Cursor;->moveToPosition(I)Z
13544 + .catch Ljava/lang/ArrayIndexOutOfBoundsException; {:try_start_1e .. :try_end_32} :catch_34
13553 + move-exception v0
13558 +.method public moveToFirst()Z
13563 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13565 + if-eqz v1, :cond_f
13567 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13569 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13573 + invoke-interface {v1, v2}, Landroid/database/Cursor;->moveToPosition(I)Z
13581 +.method public moveToLast()Z
13584 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13586 + if-eqz v1, :cond_14
13588 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13590 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13592 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13594 + array-length v3, v3
13596 + add-int/lit8 v3, v3, -0x1
13600 + invoke-interface {v1, v2}, Landroid/database/Cursor;->moveToPosition(I)Z
13613 +.method public moveToNext()Z
13618 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13620 + if-eqz v1, :cond_d
13622 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13624 + invoke-interface {v1}, Landroid/database/Cursor;->moveToNext()Z
13628 + if-nez v1, :cond_e
13639 + if-ne v0, v1, :cond_d
13641 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13643 + invoke-direct {p0, v1}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(Landroid/database/Cursor;)Z
13647 + if-nez v1, :cond_d
13649 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13651 + invoke-interface {v1}, Landroid/database/Cursor;->moveToNext()Z
13658 +.method public moveToPosition(I)Z
13663 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13665 + if-eqz v2, :cond_f
13668 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13670 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13674 + invoke-interface {v2, v3}, Landroid/database/Cursor;->moveToPosition(I)Z
13676 + .catch Ljava/lang/ArrayIndexOutOfBoundsException; {:try_start_5 .. :try_end_e} :catch_10
13685 + move-exception v0
13690 +.method public moveToPrevious()Z
13695 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13697 + if-eqz v1, :cond_d
13699 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13701 + invoke-interface {v1}, Landroid/database/Cursor;->moveToPrevious()Z
13705 + if-nez v1, :cond_e
13716 + if-ne v0, v1, :cond_d
13718 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13720 + invoke-direct {p0, v1}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(Landroid/database/Cursor;)Z
13724 + if-nez v1, :cond_d
13726 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13728 + invoke-interface {v1}, Landroid/database/Cursor;->moveToPrevious()Z
13735 +.method public registerContentObserver(Landroid/database/ContentObserver;)V
13738 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13740 + if-eqz v0, :cond_9
13742 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13744 + invoke-interface {v0, p1}, Landroid/database/Cursor;->registerContentObserver(Landroid/database/ContentObserver;)V
13750 +.method public registerDataSetObserver(Landroid/database/DataSetObserver;)V
13753 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13755 + if-eqz v0, :cond_9
13757 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13759 + invoke-interface {v0, p1}, Landroid/database/Cursor;->registerDataSetObserver(Landroid/database/DataSetObserver;)V
13765 +.method public requery()Z
13768 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13770 + if-eqz v0, :cond_b
13772 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13774 + invoke-interface {v0}, Landroid/database/Cursor;->requery()Z
13787 +.method public respond(Landroid/os/Bundle;)Landroid/os/Bundle;
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, p1}, Landroid/database/Cursor;->respond(Landroid/os/Bundle;)Landroid/os/Bundle;
13798 + move-result-object v0
13804 + new-instance v0, Landroid/os/Bundle;
13806 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
13811 +.method public setNotificationUri(Landroid/content/ContentResolver;Landroid/net/Uri;)V
13814 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13816 + if-eqz v0, :cond_9
13818 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13820 + invoke-interface {v0, p1, p2}, Landroid/database/Cursor;->setNotificationUri(Landroid/content/ContentResolver;Landroid/net/Uri;)V
13826 +.method public unregisterContentObserver(Landroid/database/ContentObserver;)V
13829 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13831 + if-eqz v0, :cond_9
13833 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13835 + invoke-interface {v0, p1}, Landroid/database/Cursor;->unregisterContentObserver(Landroid/database/ContentObserver;)V
13841 +.method public unregisterDataSetObserver(Landroid/database/DataSetObserver;)V
13844 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13846 + if-eqz v0, :cond_9
13848 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13850 + invoke-interface {v0, p1}, Landroid/database/Cursor;->unregisterDataSetObserver(Landroid/database/DataSetObserver;)V
13855 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali
13856 --- stock-framework/smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali 1969-12-31 18:00:00.000000000 -0600
13857 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali 2012-08-10 00:09:14.717407079 -0500
13859 +.class Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
13860 +.super Ljava/lang/Thread;
13861 +.source "PrivacyLocationManager.java"
13865 +.annotation system Ldalvik/annotation/EnclosingClass;
13866 + value = Landroid/privacy/surrogate/PrivacyLocationManager;
13869 +.annotation system Ldalvik/annotation/InnerClass;
13870 + accessFlags = 0x2
13871 + name = "PrivacyLocationUpdater"
13876 +.field private intent:Landroid/app/PendingIntent;
13878 +.field private latitude:D
13880 +.field private listener:Landroid/location/LocationListener;
13882 +.field private longitude:D
13884 +.field private provider:Ljava/lang/String;
13886 +.field final synthetic this$0:Landroid/privacy/surrogate/PrivacyLocationManager;
13890 +.method public constructor <init>(Landroid/privacy/surrogate/PrivacyLocationManager;Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;DD)V
13893 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->this$0:Landroid/privacy/surrogate/PrivacyLocationManager;
13895 + invoke-direct {p0}, Ljava/lang/Thread;-><init>()V
13897 + iput-object p2, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->provider:Ljava/lang/String;
13899 + iput-object p3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->listener:Landroid/location/LocationListener;
13901 + iput-object p4, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->intent:Landroid/app/PendingIntent;
13903 + iput-wide p5, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->latitude:D
13905 + iput-wide p7, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->longitude:D
13912 +.method public run()V
13915 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->provider:Ljava/lang/String;
13917 + if-eqz v3, :cond_43
13919 + new-instance v2, Landroid/location/Location;
13921 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->provider:Ljava/lang/String;
13923 + invoke-direct {v2, v3}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
13925 + iget-wide v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->latitude:D
13927 + invoke-virtual {v2, v3, v4}, Landroid/location/Location;->setLatitude(D)V
13929 + iget-wide v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->longitude:D
13931 + invoke-virtual {v2, v3, v4}, Landroid/location/Location;->setLongitude(D)V
13938 + if-ge v1, v3, :cond_43
13940 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->listener:Landroid/location/LocationListener;
13942 + if-eqz v3, :cond_34
13944 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->listener:Landroid/location/LocationListener;
13946 + invoke-interface {v3, v2}, Landroid/location/LocationListener;->onLocationChanged(Landroid/location/Location;)V
13951 + invoke-static {}, Ljava/lang/Math;->random()D
13953 + move-result-wide v3
13955 + const-wide v5, 0x408f400000000000L
13957 + mul-double/2addr v3, v5
13959 + double-to-int v3, v3
13961 + int-to-long v3, v3
13963 + invoke-static {v3, v4}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->sleep(J)V
13965 + .catch Ljava/lang/InterruptedException; {:try_start_22 .. :try_end_31} :catch_3e
13968 + add-int/lit8 v1, v1, 0x1
13973 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->intent:Landroid/app/PendingIntent;
13975 + if-eqz v3, :cond_22
13977 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->intent:Landroid/app/PendingIntent;
13979 + invoke-virtual {v3}, Landroid/app/PendingIntent;->cancel()V
13984 + move-exception v0
13986 + invoke-virtual {v0}, Ljava/lang/InterruptedException;->printStackTrace()V
13993 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyLocationManager.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyLocationManager.smali
13994 --- stock-framework/smali/android/privacy/surrogate/PrivacyLocationManager.smali 1969-12-31 18:00:00.000000000 -0600
13995 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyLocationManager.smali 2012-08-10 00:09:14.721407099 -0500
13997 +.class public final Landroid/privacy/surrogate/PrivacyLocationManager;
13998 +.super Landroid/location/LocationManager;
13999 +.source "PrivacyLocationManager.java"
14003 +.annotation system Ldalvik/annotation/MemberClasses;
14005 + Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
14011 +.field private static final CUSTOM_LOCATION_UPDATE_COUNT:I = 0x5
14013 +.field private static final TAG:Ljava/lang/String; = "PrivacyLocationManager"
14017 +.field private context:Landroid/content/Context;
14019 +.field private lock:Ljava/lang/Object;
14021 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
14025 +.method public constructor <init>(Landroid/location/ILocationManager;Landroid/content/Context;)V
14028 + invoke-direct {p0, p1}, Landroid/location/LocationManager;-><init>(Landroid/location/ILocationManager;)V
14030 + new-instance v0, Ljava/lang/Object;
14032 + invoke-direct {v0}, Ljava/lang/Object;-><init>()V
14034 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->lock:Ljava/lang/Object;
14036 + iput-object p2, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
14038 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
14040 + const-string/jumbo v1, "privacy"
14042 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
14044 + move-result-object v1
14046 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
14048 + move-result-object v1
14050 + invoke-direct {v0, p2, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
14052 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14057 +.method private requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
14062 + if-nez p1, :cond_5
14070 + invoke-virtual {p1}, Landroid/location/Criteria;->getAccuracy()I
14076 + if-eq v0, v1, :cond_24
14078 + invoke-virtual {p1}, Landroid/location/Criteria;->getBearingAccuracy()I
14082 + if-eq v0, v2, :cond_24
14084 + invoke-virtual {p1}, Landroid/location/Criteria;->getHorizontalAccuracy()I
14088 + if-eq v0, v2, :cond_24
14090 + invoke-virtual {p1}, Landroid/location/Criteria;->getVerticalAccuracy()I
14094 + if-eq v0, v2, :cond_24
14096 + invoke-virtual {p1}, Landroid/location/Criteria;->getSpeedAccuracy()I
14100 + if-ne v0, v2, :cond_2b
14103 + const-string v0, "gps"
14105 + invoke-direct {p0, v0, p2, p3}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
14112 + const-string/jumbo v0, "network"
14114 + invoke-direct {p0, v0, p2, p3}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
14121 +.method private requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
14124 + move-object/from16 v0, p0
14126 + iget-object v0, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->lock:Ljava/lang/Object;
14128 + move-object/from16 v19, v0
14130 + monitor-enter v19
14133 + move-object/from16 v0, p0
14135 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
14137 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
14139 + move-result-object v2
14141 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
14145 + move-object/from16 v0, p0
14147 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14149 + invoke-virtual {v1, v2, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
14151 + move-result-object v7
14153 + const/16 v18, 0x0
14155 + if-eqz v7, :cond_239
14157 + const-string v1, "gps"
14159 + move-object/from16 v0, p1
14161 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
14165 + if-eqz v1, :cond_111
14167 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
14171 + packed-switch v1, :pswitch_data_25e
14180 + move-object/from16 v0, p0
14182 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14186 + const-string v5, "locationGPS"
14190 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14195 + move-exception v1
14199 + .catchall {:try_start_7 .. :try_end_40} :catchall_3e
14204 + if-eqz p3, :cond_46
14207 + invoke-virtual/range {p3 .. p3}, Landroid/app/PendingIntent;->cancel()V
14210 + const/16 v18, 0x1
14212 + move-object/from16 v0, p0
14214 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14218 + const-string v5, "locationGPS"
14222 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14224 + .catchall {:try_start_43 .. :try_end_53} :catchall_3e
14230 + new-instance v8, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
14232 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
14234 + move-result-object v1
14236 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14238 + move-result-wide v13
14240 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
14242 + move-result-object v1
14244 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14246 + move-result-wide v15
14248 + move-object/from16 v9, p0
14250 + move-object/from16 v10, p1
14252 + move-object/from16 v11, p2
14254 + move-object/from16 v12, p3
14256 + 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
14258 + invoke-virtual {v8}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->start()V
14260 + .catchall {:try_start_54 .. :try_end_74} :catchall_3e
14261 + .catch Ljava/lang/NumberFormatException; {:try_start_54 .. :try_end_74} :catch_a6
14263 + const/16 v18, 0x1
14267 + move-object/from16 v0, p0
14269 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14273 + const-string v5, "locationGPS"
14275 + new-instance v6, Ljava/lang/StringBuilder;
14277 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
14279 + const-string v8, "Lat: "
14281 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14283 + move-result-object v6
14285 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
14287 + move-result-object v8
14289 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14291 + move-result-object v6
14293 + const-string v8, " Lon: "
14295 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14297 + move-result-object v6
14299 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
14301 + move-result-object v8
14303 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14305 + move-result-object v6
14307 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14309 + move-result-object v6
14311 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14316 + move-exception v17
14318 + const-string v1, "PrivacyLocationManager"
14320 + const-string/jumbo v4, "requestLocationUpdates: invalid coordinates"
14322 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
14324 + .catchall {:try_start_76 .. :try_end_af} :catchall_3e
14326 + const/16 v18, 0x1
14332 + new-instance v8, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
14334 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
14336 + move-result-object v1
14338 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14340 + move-result-wide v13
14342 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
14344 + move-result-object v1
14346 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14348 + move-result-wide v15
14350 + move-object/from16 v9, p0
14352 + move-object/from16 v10, p1
14354 + move-object/from16 v11, p2
14356 + move-object/from16 v12, p3
14358 + 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
14360 + invoke-virtual {v8}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->start()V
14362 + .catchall {:try_start_b2 .. :try_end_d2} :catchall_3e
14363 + .catch Ljava/lang/NumberFormatException; {:try_start_b2 .. :try_end_d2} :catch_105
14365 + const/16 v18, 0x1
14369 + move-object/from16 v0, p0
14371 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14375 + const-string v5, "locationGPS"
14377 + new-instance v6, Ljava/lang/StringBuilder;
14379 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
14381 + const-string v8, "Lat: "
14383 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14385 + move-result-object v6
14387 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
14389 + move-result-object v8
14391 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14393 + move-result-object v6
14395 + const-string v8, " Lon: "
14397 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14399 + move-result-object v6
14401 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
14403 + move-result-object v8
14405 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14407 + move-result-object v6
14409 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14411 + move-result-object v6
14413 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14418 + move-exception v17
14420 + const-string v1, "PrivacyLocationManager"
14422 + const-string/jumbo v4, "requestLocationUpdates: invalid coordinates"
14424 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
14426 + const/16 v18, 0x1
14431 + const-string/jumbo v1, "network"
14433 + move-object/from16 v0, p1
14435 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
14439 + if-eqz v1, :cond_204
14441 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
14445 + packed-switch v1, :pswitch_data_26a
14450 + move-object/from16 v0, p0
14452 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14456 + const-string v5, "locationNetwork"
14460 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14465 + if-eqz p3, :cond_137
14467 + invoke-virtual/range {p3 .. p3}, Landroid/app/PendingIntent;->cancel()V
14470 + const/16 v18, 0x1
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
14484 + .catchall {:try_start_d4 .. :try_end_144} :catchall_3e
14490 + new-instance v8, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
14492 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
14494 + move-result-object v1
14496 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14498 + move-result-wide v13
14500 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
14502 + move-result-object v1
14504 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14506 + move-result-wide v15
14508 + move-object/from16 v9, p0
14510 + move-object/from16 v10, p1
14512 + move-object/from16 v11, p2
14514 + move-object/from16 v12, p3
14516 + 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
14518 + invoke-virtual {v8}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->start()V
14520 + .catchall {:try_start_146 .. :try_end_166} :catchall_3e
14521 + .catch Ljava/lang/NumberFormatException; {:try_start_146 .. :try_end_166} :catch_199
14523 + const/16 v18, 0x1
14527 + move-object/from16 v0, p0
14529 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14533 + const-string v5, "locationNetwork"
14535 + new-instance v6, Ljava/lang/StringBuilder;
14537 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
14539 + const-string v8, "Lat: "
14541 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14543 + move-result-object v6
14545 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
14547 + move-result-object v8
14549 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14551 + move-result-object v6
14553 + const-string v8, " Lon: "
14555 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14557 + move-result-object v6
14559 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
14561 + move-result-object v8
14563 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14565 + move-result-object v6
14567 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14569 + move-result-object v6
14571 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14576 + move-exception v17
14578 + const-string v1, "PrivacyLocationManager"
14580 + const-string/jumbo v4, "requestLocationUpdates: invalid coordinates"
14582 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
14584 + .catchall {:try_start_168 .. :try_end_1a2} :catchall_3e
14586 + const/16 v18, 0x1
14592 + new-instance v8, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
14594 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
14596 + move-result-object v1
14598 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14600 + move-result-wide v13
14602 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
14604 + move-result-object v1
14606 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14608 + move-result-wide v15
14610 + move-object/from16 v9, p0
14612 + move-object/from16 v10, p1
14614 + move-object/from16 v11, p2
14616 + move-object/from16 v12, p3
14618 + 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
14620 + invoke-virtual {v8}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->start()V
14622 + .catchall {:try_start_1a5 .. :try_end_1c5} :catchall_3e
14623 + .catch Ljava/lang/NumberFormatException; {:try_start_1a5 .. :try_end_1c5} :catch_1f8
14625 + const/16 v18, 0x1
14629 + move-object/from16 v0, p0
14631 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14635 + const-string v5, "locationNetwork"
14637 + new-instance v6, Ljava/lang/StringBuilder;
14639 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
14641 + const-string v8, "Lat: "
14643 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14645 + move-result-object v6
14647 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
14649 + move-result-object v8
14651 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14653 + move-result-object v6
14655 + const-string v8, " Lon: "
14657 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14659 + move-result-object v6
14661 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
14663 + move-result-object v8
14665 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14667 + move-result-object v6
14669 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14671 + move-result-object v6
14673 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14678 + move-exception v17
14680 + const-string v1, "PrivacyLocationManager"
14682 + const-string/jumbo v4, "requestLocationUpdates: invalid coordinates"
14684 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
14686 + const/16 v18, 0x1
14691 + const-string/jumbo v1, "passive"
14693 + move-object/from16 v0, p1
14695 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
14699 + if-eqz v1, :cond_30
14701 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
14705 + if-nez v1, :cond_22a
14707 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
14711 + if-nez v1, :cond_22a
14713 + const/16 v18, 0x0
14715 + move-object/from16 v0, p0
14717 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14721 + const-string v5, "locationGPS"
14725 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14730 + const/16 v18, 0x1
14732 + move-object/from16 v0, p0
14734 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14738 + const-string v5, "locationGPS"
14742 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14747 + const-string/jumbo v1, "network"
14749 + move-object/from16 v0, p1
14751 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
14755 + if-eqz v1, :cond_251
14757 + move-object/from16 v0, p0
14759 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14763 + const-string v5, "locationNetwork"
14767 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14772 + move-object/from16 v0, p0
14774 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14778 + const-string v5, "locationGPS"
14782 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14784 + .catchall {:try_start_1c7 .. :try_end_25c} :catchall_3e
14788 + :pswitch_data_25e
14789 + .packed-switch 0x0
14794 + .end packed-switch
14796 + :pswitch_data_26a
14797 + .packed-switch 0x0
14802 + .end packed-switch
14807 +.method public addNmeaListener(Landroid/location/GpsStatus$NmeaListener;)Z
14814 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
14816 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
14818 + move-result-object v1
14820 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
14824 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14826 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
14828 + move-result-object v6
14830 + if-eqz v6, :cond_24
14832 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
14836 + if-eqz v0, :cond_24
14838 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14842 + const-string v4, "locationGPS"
14844 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14852 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14854 + const-string v4, "locationGPS"
14858 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14860 + invoke-super {p0, p1}, Landroid/location/LocationManager;->addNmeaListener(Landroid/location/GpsStatus$NmeaListener;)Z
14867 +.method public getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
14880 + if-nez p1, :cond_c
14882 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
14884 + move-result-object v7
14891 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
14893 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
14895 + move-result-object v1
14897 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
14901 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14903 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
14905 + move-result-object v6
14909 + if-eqz v6, :cond_22c
14911 + const-string v0, "gps"
14913 + invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
14917 + if-eqz v0, :cond_ff
14919 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
14923 + packed-switch v0, :pswitch_data_29a
14928 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
14930 + move-result-object v7
14932 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14934 + const-string v4, "locationGPS"
14936 + if-eqz v7, :cond_5e
14938 + new-instance v5, Ljava/lang/StringBuilder;
14940 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
14942 + const-string v8, "Lat: "
14944 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14946 + move-result-object v5
14948 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
14950 + move-result-wide v8
14952 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
14954 + move-result-object v5
14956 + const-string v8, " Lon: "
14958 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14960 + move-result-object v5
14962 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
14964 + move-result-wide v8
14966 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
14968 + move-result-object v5
14970 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14972 + move-result-object v5
14975 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14980 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14982 + const-string v4, "locationGPS"
14986 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14991 + new-instance v7, Landroid/location/Location;
14993 + invoke-direct {v7, p1}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
14995 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
14997 + move-result-object v0
14999 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
15001 + move-result-wide v3
15003 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLatitude(D)V
15005 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
15007 + move-result-object v0
15009 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
15011 + move-result-wide v3
15013 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLongitude(D)V
15015 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15017 + const-string v4, "locationGPS"
15019 + new-instance v3, Ljava/lang/StringBuilder;
15021 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
15023 + const-string v5, "Lat: "
15025 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15027 + move-result-object v3
15029 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15031 + move-result-wide v8
15033 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15035 + move-result-object v3
15037 + const-string v5, " Lon: "
15039 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15041 + move-result-object v3
15043 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15045 + move-result-wide v8
15047 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15049 + move-result-object v3
15051 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15053 + move-result-object v5
15057 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15062 + new-instance v7, Landroid/location/Location;
15064 + invoke-direct {v7, p1}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
15066 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
15068 + move-result-object v0
15070 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
15072 + move-result-wide v3
15074 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLatitude(D)V
15076 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
15078 + move-result-object v0
15080 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
15082 + move-result-wide v3
15084 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLongitude(D)V
15086 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15088 + const-string v4, "locationGPS"
15090 + new-instance v3, Ljava/lang/StringBuilder;
15092 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
15094 + const-string v5, "Lat: "
15096 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15098 + move-result-object v3
15100 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15102 + move-result-wide v8
15104 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15106 + move-result-object v3
15108 + const-string v5, " Lon: "
15110 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15112 + move-result-object v3
15114 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15116 + move-result-wide v8
15118 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15120 + move-result-object v3
15122 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15124 + move-result-object v5
15128 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15133 + const-string/jumbo v0, "network"
15135 + invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15139 + if-eqz v0, :cond_1e3
15141 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15145 + packed-switch v0, :pswitch_data_2a6
15150 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
15152 + move-result-object v7
15154 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15156 + const-string v4, "locationNetwork"
15158 + if-eqz v7, :cond_140
15160 + new-instance v5, Ljava/lang/StringBuilder;
15162 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
15164 + const-string v8, "Lat: "
15166 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15168 + move-result-object v5
15170 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15172 + move-result-wide v8
15174 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15176 + move-result-object v5
15178 + const-string v8, " Lon: "
15180 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15182 + move-result-object v5
15184 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15186 + move-result-wide v8
15188 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15190 + move-result-object v5
15192 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15194 + move-result-object v5
15197 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15202 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15204 + const-string v4, "locationNetwork"
15208 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15213 + new-instance v7, Landroid/location/Location;
15215 + invoke-direct {v7, p1}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
15217 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
15219 + move-result-object v0
15221 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
15223 + move-result-wide v3
15225 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLatitude(D)V
15227 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
15229 + move-result-object v0
15231 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
15233 + move-result-wide v3
15235 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLongitude(D)V
15237 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15239 + const-string v4, "locationNetwork"
15241 + new-instance v3, Ljava/lang/StringBuilder;
15243 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
15245 + const-string v5, "Lat: "
15247 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15249 + move-result-object v3
15251 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15253 + move-result-wide v8
15255 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15257 + move-result-object v3
15259 + const-string v5, " Lon: "
15261 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15263 + move-result-object v3
15265 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15267 + move-result-wide v8
15269 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15271 + move-result-object v3
15273 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15275 + move-result-object v5
15279 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15284 + new-instance v7, Landroid/location/Location;
15286 + invoke-direct {v7, p1}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
15288 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
15290 + move-result-object v0
15292 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
15294 + move-result-wide v3
15296 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLatitude(D)V
15298 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
15300 + move-result-object v0
15302 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
15304 + move-result-wide v3
15306 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLongitude(D)V
15308 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15310 + const-string v4, "locationNetwork"
15312 + new-instance v3, Ljava/lang/StringBuilder;
15314 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
15316 + const-string v5, "Lat: "
15318 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15320 + move-result-object v3
15322 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15324 + move-result-wide v8
15326 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15328 + move-result-object v3
15330 + const-string v5, " Lon: "
15332 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15334 + move-result-object v3
15336 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15338 + move-result-wide v8
15340 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15342 + move-result-object v3
15344 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15346 + move-result-object v5
15350 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15355 + const-string/jumbo v0, "passive"
15357 + invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15361 + if-eqz v0, :cond_b
15363 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
15367 + if-nez v0, :cond_b
15369 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15373 + if-nez v0, :cond_b
15375 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
15377 + move-result-object v7
15379 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15381 + const-string v4, "locationGPS"
15383 + if-eqz v7, :cond_227
15385 + new-instance v5, Ljava/lang/StringBuilder;
15387 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
15389 + const-string v8, "Lat: "
15391 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15393 + move-result-object v5
15395 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15397 + move-result-wide v8
15399 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15401 + move-result-object v5
15403 + const-string v8, " Lon: "
15405 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15407 + move-result-object v5
15409 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15411 + move-result-wide v8
15413 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15415 + move-result-object v5
15417 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15419 + move-result-object v5
15422 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15427 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
15429 + move-result-object v7
15431 + const-string/jumbo v0, "network"
15433 + invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15437 + if-eqz v0, :cond_269
15439 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15441 + const-string v4, "locationNetwork"
15443 + if-eqz v7, :cond_264
15445 + new-instance v5, Ljava/lang/StringBuilder;
15447 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
15449 + const-string v8, "Lat: "
15451 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15453 + move-result-object v5
15455 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15457 + move-result-wide v8
15459 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15461 + move-result-object v5
15463 + const-string v8, " Lon: "
15465 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15467 + move-result-object v5
15469 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15471 + move-result-wide v8
15473 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15475 + move-result-object v5
15477 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15479 + move-result-object v5
15482 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15487 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15489 + const-string v4, "locationGPS"
15491 + if-eqz v7, :cond_294
15493 + new-instance v5, Ljava/lang/StringBuilder;
15495 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
15497 + const-string v8, "Lat: "
15499 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15501 + move-result-object v5
15503 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15505 + move-result-wide v8
15507 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15509 + move-result-object v5
15511 + const-string v8, " Lon: "
15513 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15515 + move-result-object v5
15517 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15519 + move-result-wide v8
15521 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15523 + move-result-object v5
15525 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15527 + move-result-object v5
15530 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15536 + :pswitch_data_29a
15537 + .packed-switch 0x0
15542 + .end packed-switch
15544 + :pswitch_data_2a6
15545 + .packed-switch 0x0
15550 + .end packed-switch
15553 +.method public getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15556 + if-nez p1, :cond_7
15558 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15560 + move-result-object v0
15567 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15569 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
15571 + invoke-virtual {v3}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
15573 + move-result-object v3
15575 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
15579 + invoke-virtual {v2, v3, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
15581 + move-result-object v1
15585 + if-eqz v1, :cond_5f
15587 + const-string v2, "gps"
15589 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15593 + if-eqz v2, :cond_2f
15595 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
15599 + packed-switch v2, :pswitch_data_64
15605 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15607 + move-result-object v0
15612 + const-string/jumbo v2, "network"
15614 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15618 + if-eqz v2, :cond_45
15620 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15624 + packed-switch v2, :pswitch_data_70
15630 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15632 + move-result-object v0
15637 + const-string/jumbo v2, "passive"
15639 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15643 + if-eqz v2, :cond_6
15645 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
15649 + if-eqz v2, :cond_5a
15651 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15655 + if-nez v2, :cond_6
15658 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15660 + move-result-object v0
15665 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15667 + move-result-object v0
15672 + .packed-switch 0x0
15677 + .end packed-switch
15680 + .packed-switch 0x0
15685 + .end packed-switch
15688 +.method public isProviderEnabled(Ljava/lang/String;)Z
15691 + if-nez p1, :cond_7
15693 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
15703 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15705 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
15707 + invoke-virtual {v3}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
15709 + move-result-object v3
15711 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
15715 + invoke-virtual {v2, v3, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
15717 + move-result-object v1
15721 + if-eqz v1, :cond_65
15723 + const-string v2, "gps"
15725 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15729 + if-eqz v2, :cond_31
15731 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
15735 + packed-switch v2, :pswitch_data_6a
15740 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
15752 + const-string/jumbo v2, "network"
15754 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15758 + if-eqz v2, :cond_49
15760 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15764 + packed-switch v2, :pswitch_data_76
15769 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
15781 + const-string/jumbo v2, "passive"
15783 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15787 + if-eqz v2, :cond_6
15789 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
15793 + if-eqz v2, :cond_5e
15795 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15799 + if-nez v2, :cond_63
15802 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
15814 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
15821 + .packed-switch 0x0
15826 + .end packed-switch
15829 + .packed-switch 0x0
15834 + .end packed-switch
15837 +.method public requestLocationUpdates(JFLandroid/location/Criteria;Landroid/app/PendingIntent;)V
15840 + if-eqz p4, :cond_4
15842 + if-nez p5, :cond_8
15845 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/app/PendingIntent;)V
15854 + invoke-direct {p0, p4, v0, p5}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15858 + if-nez v0, :cond_7
15860 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/app/PendingIntent;)V
15865 +.method public requestLocationUpdates(JFLandroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
15868 + if-eqz p4, :cond_4
15870 + if-nez p5, :cond_8
15873 + invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
15882 + invoke-direct {p0, p4, p5, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15886 + if-nez v0, :cond_7
15888 + invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
15893 +.method public requestLocationUpdates(Ljava/lang/String;JFLandroid/app/PendingIntent;)V
15896 + if-eqz p1, :cond_4
15898 + if-nez p5, :cond_8
15901 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/app/PendingIntent;)V
15910 + invoke-direct {p0, p1, v0, p5}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15914 + if-nez v0, :cond_7
15916 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/app/PendingIntent;)V
15921 +.method public requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;)V
15924 + if-eqz p1, :cond_4
15926 + if-nez p5, :cond_8
15929 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;)V
15938 + invoke-direct {p0, p1, p5, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15942 + if-nez v0, :cond_7
15944 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;)V
15949 +.method public requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;Landroid/os/Looper;)V
15952 + if-eqz p1, :cond_4
15954 + if-nez p5, :cond_8
15957 + invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;Landroid/os/Looper;)V
15966 + invoke-direct {p0, p1, p5, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15970 + if-nez v0, :cond_7
15972 + invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;Landroid/os/Looper;)V
15977 +.method public requestSingleUpdate(Landroid/location/Criteria;Landroid/app/PendingIntent;)V
15980 + if-eqz p1, :cond_4
15982 + if-nez p2, :cond_8
15985 + invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/app/PendingIntent;)V
15994 + invoke-direct {p0, p1, v0, p2}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15998 + if-nez v0, :cond_7
16000 + invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/app/PendingIntent;)V
16005 +.method public requestSingleUpdate(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
16008 + if-eqz p1, :cond_4
16010 + if-nez p2, :cond_8
16013 + invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
16022 + invoke-direct {p0, p1, p2, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
16026 + if-nez v0, :cond_7
16028 + invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
16033 +.method public requestSingleUpdate(Ljava/lang/String;Landroid/app/PendingIntent;)V
16036 + if-eqz p1, :cond_4
16038 + if-nez p2, :cond_8
16041 + invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/app/PendingIntent;)V
16050 + invoke-direct {p0, p1, v0, p2}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
16054 + if-nez v0, :cond_7
16056 + invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/app/PendingIntent;)V
16061 +.method public requestSingleUpdate(Ljava/lang/String;Landroid/location/LocationListener;Landroid/os/Looper;)V
16064 + if-eqz p1, :cond_4
16066 + if-nez p2, :cond_8
16069 + invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/location/LocationListener;Landroid/os/Looper;)V
16078 + invoke-direct {p0, p1, p2, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
16082 + if-nez v0, :cond_7
16084 + invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/location/LocationListener;Landroid/os/Looper;)V
16088 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyTelephonyManager.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyTelephonyManager.smali
16089 --- stock-framework/smali/android/privacy/surrogate/PrivacyTelephonyManager.smali 1969-12-31 18:00:00.000000000 -0600
16090 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyTelephonyManager.smali 2012-08-10 00:09:14.725407121 -0500
16092 +.class public final Landroid/privacy/surrogate/PrivacyTelephonyManager;
16093 +.super Landroid/telephony/TelephonyManager;
16094 +.source "PrivacyTelephonyManager.java"
16098 +.field private static final TAG:Ljava/lang/String; = "PrivacyTelephonyManager"
16102 +.field private context:Landroid/content/Context;
16104 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
16108 +.method public constructor <init>(Landroid/content/Context;)V
16111 + invoke-direct {p0, p1}, Landroid/telephony/TelephonyManager;-><init>(Landroid/content/Context;)V
16113 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16115 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
16117 + const-string/jumbo v1, "privacy"
16119 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
16121 + move-result-object v1
16123 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
16125 + move-result-object v1
16127 + invoke-direct {v0, p1, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
16129 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16134 +.method private getNetworkInfo()Ljava/lang/String;
16139 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16141 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16143 + move-result-object v1
16145 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16149 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16151 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16153 + move-result-object v6
16155 + if-eqz v6, :cond_25
16157 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
16161 + if-eqz v0, :cond_25
16163 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16167 + const-string/jumbo v4, "networkInfoCurrent"
16169 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16171 + const-string v5, ""
16177 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16181 + const-string/jumbo v4, "networkInfoCurrent"
16183 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16188 +.method private getSimInfo()Ljava/lang/String;
16193 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16195 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16197 + move-result-object v1
16199 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16203 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16205 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16207 + move-result-object v6
16209 + if-eqz v6, :cond_25
16211 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSimInfoSetting()B
16215 + if-eqz v0, :cond_25
16217 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16221 + const-string/jumbo v4, "networkInfoSIM"
16223 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16225 + const-string v5, ""
16231 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16235 + const-string/jumbo v4, "networkInfoSIM"
16237 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16244 +.method public getDeviceId()Ljava/lang/String;
16247 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16249 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16251 + move-result-object v1
16253 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16257 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16259 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16261 + move-result-object v6
16263 + if-eqz v6, :cond_28
16265 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
16269 + if-eqz v0, :cond_28
16271 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceId()Ljava/lang/String;
16273 + move-result-object v5
16275 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16277 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
16281 + const-string v4, "deviceID"
16283 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16289 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getDeviceId()Ljava/lang/String;
16291 + move-result-object v5
16293 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16297 + const-string v4, "deviceID"
16299 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16304 +.method public getLine1Number()Ljava/lang/String;
16307 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16309 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16311 + move-result-object v1
16313 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16317 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16319 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16321 + move-result-object v6
16323 + if-eqz v6, :cond_28
16325 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
16329 + if-eqz v0, :cond_28
16331 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1Number()Ljava/lang/String;
16333 + move-result-object v5
16335 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16337 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
16341 + const-string v4, "line1Number"
16343 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16349 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getLine1Number()Ljava/lang/String;
16351 + move-result-object v5
16353 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16357 + const-string v4, "line1Number"
16359 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16364 +.method public getNeighboringCellInfo()Ljava/util/List;
16366 + .annotation system Ldalvik/annotation/Signature;
16369 + "Ljava/util/List",
16371 + "Landroid/telephony/NeighboringCellInfo;",
16376 + iget-object v6, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16378 + iget-object v7, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16380 + invoke-virtual {v7}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16382 + move-result-object v7
16384 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16388 + invoke-virtual {v6, v7, v8}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16390 + move-result-object v5
16394 + const-string v4, "[null]"
16396 + if-eqz v5, :cond_1c
16398 + invoke-virtual {v5}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
16404 + if-ne v6, v7, :cond_1d
16411 + invoke-virtual {v5}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
16415 + if-eqz v6, :cond_2b
16417 + new-instance v3, Ljava/util/ArrayList;
16419 + invoke-direct {v3}, Ljava/util/ArrayList;-><init>()V
16421 + const-string v4, "[empty list of cells]"
16426 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNeighboringCellInfo()Ljava/util/List;
16428 + move-result-object v3
16430 + const-string v0, ""
16432 + invoke-interface {v3}, Ljava/util/List;->iterator()Ljava/util/Iterator;
16434 + move-result-object v2
16437 + invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z
16441 + if-eqz v6, :cond_5f
16443 + invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
16445 + move-result-object v1
16447 + check-cast v1, Landroid/telephony/NeighboringCellInfo;
16449 + new-instance v6, Ljava/lang/StringBuilder;
16451 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
16453 + invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16455 + move-result-object v6
16457 + const-string v7, "\t"
16459 + invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16461 + move-result-object v6
16463 + invoke-virtual {v6, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
16465 + move-result-object v6
16467 + const-string v7, "\n"
16469 + invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16471 + move-result-object v6
16473 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
16475 + move-result-object v0
16480 + new-instance v6, Ljava/lang/StringBuilder;
16482 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
16484 + const-string v7, "[real value]:\n"
16486 + invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16488 + move-result-object v6
16490 + invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16492 + move-result-object v6
16494 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
16496 + move-result-object v4
16501 +.method public getNetworkCountryIso()Ljava/lang/String;
16504 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getNetworkInfo()Ljava/lang/String;
16506 + move-result-object v0
16508 + if-nez v0, :cond_a
16510 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNetworkCountryIso()Ljava/lang/String;
16512 + move-result-object v0
16518 +.method public getNetworkOperator()Ljava/lang/String;
16521 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getNetworkInfo()Ljava/lang/String;
16523 + move-result-object v0
16525 + if-nez v0, :cond_a
16527 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNetworkOperator()Ljava/lang/String;
16529 + move-result-object v0
16535 +.method public getNetworkOperatorName()Ljava/lang/String;
16538 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getNetworkInfo()Ljava/lang/String;
16540 + move-result-object v0
16542 + if-nez v0, :cond_a
16544 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNetworkOperatorName()Ljava/lang/String;
16546 + move-result-object v0
16552 +.method public getSimCountryIso()Ljava/lang/String;
16555 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getSimInfo()Ljava/lang/String;
16557 + move-result-object v0
16559 + if-nez v0, :cond_a
16561 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSimCountryIso()Ljava/lang/String;
16563 + move-result-object v0
16569 +.method public getSimOperator()Ljava/lang/String;
16572 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getSimInfo()Ljava/lang/String;
16574 + move-result-object v0
16576 + if-nez v0, :cond_a
16578 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSimOperator()Ljava/lang/String;
16580 + move-result-object v0
16586 +.method public getSimOperatorName()Ljava/lang/String;
16589 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getSimInfo()Ljava/lang/String;
16591 + move-result-object v0
16593 + if-nez v0, :cond_a
16595 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSimOperatorName()Ljava/lang/String;
16597 + move-result-object v0
16603 +.method public getSimSerialNumber()Ljava/lang/String;
16606 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16608 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16610 + move-result-object v1
16612 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16616 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16618 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16620 + move-result-object v6
16622 + if-eqz v6, :cond_29
16624 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSimSerialNumberSetting()B
16628 + if-eqz v0, :cond_29
16630 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSimSerialNumber()Ljava/lang/String;
16632 + move-result-object v5
16634 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16636 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSimSerialNumberSetting()B
16640 + const-string/jumbo v4, "simSerial"
16642 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16648 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSimSerialNumber()Ljava/lang/String;
16650 + move-result-object v5
16652 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16656 + const-string/jumbo v4, "simSerial"
16658 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16663 +.method public getSubscriberId()Ljava/lang/String;
16666 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16668 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16670 + move-result-object v1
16672 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16676 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16678 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16680 + move-result-object v6
16682 + if-eqz v6, :cond_29
16684 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberIdSetting()B
16688 + if-eqz v0, :cond_29
16690 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberId()Ljava/lang/String;
16692 + move-result-object v5
16694 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16696 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberIdSetting()B
16700 + const-string/jumbo v4, "subscriberID"
16702 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16708 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSubscriberId()Ljava/lang/String;
16710 + move-result-object v5
16712 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16716 + const-string/jumbo v4, "subscriberID"
16718 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16723 +.method public getVoiceMailNumber()Ljava/lang/String;
16726 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16728 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16730 + move-result-object v1
16732 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16736 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16738 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16740 + move-result-object v6
16742 + if-eqz v6, :cond_28
16744 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
16748 + if-eqz v0, :cond_28
16750 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1Number()Ljava/lang/String;
16752 + move-result-object v5
16754 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16756 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
16760 + const-string v4, "line1Number"
16762 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16768 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getVoiceMailNumber()Ljava/lang/String;
16770 + move-result-object v5
16772 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16776 + const-string v4, "line1Number"
16778 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16783 +.method public listen(Landroid/telephony/PhoneStateListener;I)V
16786 + and-int/lit8 v0, p2, 0x10
16788 + if-nez v0, :cond_8
16790 + and-int/lit8 v0, p2, 0x20
16792 + if-eqz v0, :cond_21
16795 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16797 + invoke-virtual {p1, v0}, Landroid/telephony/PhoneStateListener;->setContext(Landroid/content/Context;)V
16799 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16801 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16803 + move-result-object v0
16805 + invoke-virtual {p1, v0}, Landroid/telephony/PhoneStateListener;->setPackageName(Ljava/lang/String;)V
16807 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16811 + invoke-virtual {p1, v0}, Landroid/telephony/PhoneStateListener;->setUid(I)V
16813 + invoke-super {p0, p1, p2}, Landroid/telephony/TelephonyManager;->listen(Landroid/telephony/PhoneStateListener;I)V
16819 + invoke-super {p0, p1, p2}, Landroid/telephony/TelephonyManager;->listen(Landroid/telephony/PhoneStateListener;I)V
16823 diff -Npru stock-framework/smali/android/telephony/PhoneStateListener$1.smali pdroid-framework/smali/android/telephony/PhoneStateListener$1.smali
16824 --- stock-framework/smali/android/telephony/PhoneStateListener$1.smali 2012-08-10 00:09:36.605515616 -0500
16825 +++ pdroid-framework/smali/android/telephony/PhoneStateListener$1.smali 2012-08-10 00:09:15.017408563 -0500
16826 @@ -64,23 +64,196 @@
16829 .method public onCallStateChanged(ILjava/lang/String;)V
16833 - iget-object v0, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16834 + move-object/from16 v0, p0
16836 - iget-object v0, v0, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
16837 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16839 - const/16 v1, 0x20
16840 + #getter for: Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
16841 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
16844 + move-result-object v3
16846 - invoke-static {v0, v1, p1, v2, p2}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
16847 + if-eqz v3, :cond_99
16849 - move-result-object v0
16850 + if-eqz p2, :cond_99
16852 - invoke-virtual {v0}, Landroid/os/Message;->sendToTarget()V
16853 + invoke-virtual/range {p2 .. p2}, Ljava/lang/String;->isEmpty()Z
16857 + if-nez v3, :cond_99
16859 + move-object/from16 v0, p0
16861 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16863 + #getter for: Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
16864 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
16866 + move-result-object v3
16868 + const-string/jumbo v4, "privacy"
16870 + invoke-virtual {v3, v4}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
16872 + move-result-object v2
16874 + check-cast v2, Landroid/privacy/PrivacySettingsManager;
16876 + move-object/from16 v0, p0
16878 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16880 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
16881 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
16883 + move-result-object v3
16885 + move-object/from16 v0, p0
16887 + iget-object v4, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16889 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
16890 + invoke-static {v4}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
16894 + invoke-virtual {v2, v3, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16896 + move-result-object v8
16898 + if-eqz v8, :cond_6a
16900 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getIncomingCallsSetting()B
16904 + if-eqz v3, :cond_6a
16906 + const-string v7, ""
16908 + move-object/from16 v0, p0
16910 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16912 + iget-object v3, v3, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
16914 + const/16 v4, 0x20
16918 + move/from16 v0, p1
16920 + invoke-static {v3, v4, v0, v5, v7}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
16922 + move-result-object v3
16924 + invoke-virtual {v3}, Landroid/os/Message;->sendToTarget()V
16926 + move-object/from16 v0, p0
16928 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16930 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
16931 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
16933 + move-result-object v3
16935 + move-object/from16 v0, p0
16937 + iget-object v4, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16939 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
16940 + invoke-static {v4}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
16946 + const-string v6, "incomingCall"
16948 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16954 + move-object/from16 v0, p0
16956 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16958 + iget-object v3, v3, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
16960 + const/16 v4, 0x20
16964 + move/from16 v0, p1
16966 + move-object/from16 v1, p2
16968 + invoke-static {v3, v4, v0, v5, v1}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
16970 + move-result-object v3
16972 + invoke-virtual {v3}, Landroid/os/Message;->sendToTarget()V
16974 + move-object/from16 v0, p0
16976 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16978 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
16979 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
16981 + move-result-object v10
16983 + move-object/from16 v0, p0
16985 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16987 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
16988 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
16994 + const-string v13, "incomingCall"
16996 + move-object v9, v2
16998 + move-object/from16 v14, p2
17000 + move-object v15, v8
17002 + invoke-virtual/range {v9 .. v15}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
17007 + move-object/from16 v0, p0
17009 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
17011 + iget-object v3, v3, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
17013 + const/16 v4, 0x20
17017 + move/from16 v0, p1
17019 + move-object/from16 v1, p2
17021 + invoke-static {v3, v4, v0, v5, v1}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
17023 + move-result-object v3
17025 + invoke-virtual {v3}, Landroid/os/Message;->sendToTarget()V
17030 .method public onCellInfoChanged(Landroid/telephony/CellInfo;)V
17031 @@ -104,27 +277,124 @@
17034 .method public onCellLocationChanged(Landroid/os/Bundle;)V
17042 invoke-static {p1}, Landroid/telephony/CellLocation;->newFromBundle(Landroid/os/Bundle;)Landroid/telephony/CellLocation;
17044 + move-result-object v7
17046 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
17048 + #getter for: Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
17049 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
17051 + move-result-object v1
17053 + if-eqz v1, :cond_4a
17055 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
17057 + #getter for: Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
17058 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
17060 + move-result-object v1
17062 + const-string/jumbo v2, "privacy"
17064 + invoke-virtual {v1, v2}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
17066 move-result-object v0
17068 + check-cast v0, Landroid/privacy/PrivacySettingsManager;
17070 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
17072 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
17073 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
17075 + move-result-object v1
17077 + iget-object v2, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
17079 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
17080 + invoke-static {v2}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
17084 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
17086 + move-result-object v6
17088 + if-eqz v6, :cond_4b
17090 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
17094 + if-eqz v1, :cond_4b
17096 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
17098 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
17099 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
17101 + move-result-object v1
17103 + iget-object v2, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
17105 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
17106 + invoke-static {v2}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
17110 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
17114 + const-string v4, "locationNetwork"
17116 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
17123 iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
17125 iget-object v1, v1, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
17129 - invoke-static {v1, v2, v3, v3, v0}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
17130 + invoke-static {v1, v2, v3, v3, v7}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
17132 move-result-object v1
17134 invoke-virtual {v1}, Landroid/os/Message;->sendToTarget()V
17137 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
17139 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
17140 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
17142 + move-result-object v1
17144 + iget-object v2, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
17146 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
17147 + invoke-static {v2}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
17151 + const-string v4, "locationNetwork"
17153 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
17158 .method public onDataActivity(I)V
17159 diff -Npru stock-framework/smali/android/telephony/PhoneStateListener.smali pdroid-framework/smali/android/telephony/PhoneStateListener.smali
17160 --- stock-framework/smali/android/telephony/PhoneStateListener.smali 2012-08-10 00:09:35.453509907 -0500
17161 +++ pdroid-framework/smali/android/telephony/PhoneStateListener.smali 2012-08-10 00:09:13.901403032 -0500
17162 @@ -31,12 +31,20 @@
17164 .field public static final LISTEN_SIGNAL_STRENGTHS:I = 0x100
17166 +.field private static final TAG:Ljava/lang/String; = "PhoneStateListener"
17170 .field callback:Lcom/android/internal/telephony/IPhoneStateListener;
17172 +.field private context:Landroid/content/Context;
17174 .field mHandler:Landroid/os/Handler;
17176 +.field private packageName:Ljava/lang/String;
17178 +.field private uid:I
17182 .method public constructor <init>()V
17187 +.method static synthetic access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
17190 + iget-object v0, p0, Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
17195 +.method static synthetic access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
17198 + iget-object v0, p0, Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
17203 +.method static synthetic access$200(Landroid/telephony/PhoneStateListener;)I
17206 + iget v0, p0, Landroid/telephony/PhoneStateListener;->uid:I
17213 .method public onCallForwardingIndicatorChanged(Z)V
17214 @@ -134,3 +166,27 @@
17219 +.method public setContext(Landroid/content/Context;)V
17222 + iput-object p1, p0, Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
17227 +.method public setPackageName(Ljava/lang/String;)V
17230 + iput-object p1, p0, Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
17235 +.method public setUid(I)V
17238 + iput p1, p0, Landroid/telephony/PhoneStateListener;->uid:I
17242 diff -Npru stock-framework/smali/android/text/SpannableStringBuilder.smali pdroid-framework/smali/android/text/SpannableStringBuilder.smali
17243 --- stock-framework/smali/android/text/SpannableStringBuilder.smali 2012-08-10 00:09:36.665515913 -0500
17244 +++ pdroid-framework/smali/android/text/SpannableStringBuilder.smali 2012-08-10 00:09:15.069408824 -0500
17245 @@ -681,17 +681,17 @@
17249 - if-ge v4, v5, :cond_18f
17250 + if-ge v4, v5, :cond_190
17252 new-instance v4, Ljava/lang/Exception;
17254 - const-string v5, "mGapLength < 1"
17255 + const-string/jumbo v5, "mGapLength < 1"
17257 invoke-direct {v4, v5}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
17259 invoke-virtual {v4}, Ljava/lang/Exception;->printStackTrace()V
17263 move-object/from16 v0, p0
17265 iget-object v4, v0, Landroid/text/SpannableStringBuilder;->mText:[C
17266 @@ -706,7 +706,7 @@
17268 invoke-static {v0, v1, v2, v4, v3}, Landroid/text/TextUtils;->getChars(Ljava/lang/CharSequence;II[CI)V
17270 - if-lez v33, :cond_200
17271 + if-lez v33, :cond_201
17273 move-object/from16 v0, p0
17275 @@ -724,21 +724,21 @@
17277 array-length v5, v5
17279 - if-ne v4, v5, :cond_1fe
17280 + if-ne v4, v5, :cond_1ff
17290 move-object/from16 v0, p0
17292 iget v4, v0, Landroid/text/SpannableStringBuilder;->mSpanCount:I
17294 move/from16 v0, v30
17296 - if-ge v0, v4, :cond_200
17297 + if-ge v0, v4, :cond_201
17299 move-object/from16 v0, p0
17301 @@ -806,14 +806,14 @@
17303 add-int/lit8 v30, v30, 0x1
17317 move-object/from16 v0, p0
17319 iget v4, v0, Landroid/text/SpannableStringBuilder;->mSpanCount:I
17320 @@ -826,7 +826,7 @@
17322 instance-of v4, v0, Landroid/text/Spanned;
17324 - if-eqz v4, :cond_26d
17325 + if-eqz v4, :cond_26e
17327 move-object/from16 v35, p3
17329 @@ -846,14 +846,14 @@
17335 move-object/from16 v0, v36
17337 array-length v4, v0
17339 move/from16 v0, v30
17341 - if-ge v0, v4, :cond_26d
17342 + if-ge v0, v4, :cond_26e
17344 aget-object v4, v36, v30
17346 @@ -875,20 +875,20 @@
17350 - if-ge v0, v1, :cond_23f
17351 + if-ge v0, v1, :cond_240
17353 move/from16 v37, p4
17357 move/from16 v0, v28
17361 - if-le v0, v1, :cond_247
17362 + if-le v0, v1, :cond_248
17364 move/from16 v28, p5
17368 aget-object v4, v36, v30
17370 move-object/from16 v0, p0
17371 @@ -897,7 +897,7 @@
17375 - if-gez v4, :cond_26a
17376 + if-gez v4, :cond_26b
17380 @@ -923,12 +923,12 @@
17382 invoke-direct/range {v21 .. v26}, Landroid/text/SpannableStringBuilder;->setSpan(ZLjava/lang/Object;III)V
17386 add-int/lit8 v30, v30, 0x1
17396 @@ -1500,20 +1500,20 @@
17400 - if-ge v6, v7, :cond_3e
17401 + if-ge v6, v7, :cond_3f
17403 new-instance v6, Ljava/lang/Exception;
17405 - const-string v7, "mGapLength < 1"
17406 + const-string/jumbo v7, "mGapLength < 1"
17408 invoke-direct {v6, v7}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
17410 invoke-virtual {v6}, Ljava/lang/Exception;->printStackTrace()V
17418 iget v6, p0, Landroid/text/SpannableStringBuilder;->mSpanCount:I
17420 if-ge v2, v6, :cond_e
17421 @@ -1524,7 +1524,7 @@
17423 iget v7, p0, Landroid/text/SpannableStringBuilder;->mGapStart:I
17425 - if-le v6, v7, :cond_52
17426 + if-le v6, v7, :cond_53
17428 iget-object v6, p0, Landroid/text/SpannableStringBuilder;->mSpanStarts:[I
17430 @@ -1534,14 +1534,14 @@
17436 iget-object v6, p0, Landroid/text/SpannableStringBuilder;->mSpanEnds:[I
17440 iget v7, p0, Landroid/text/SpannableStringBuilder;->mGapStart:I
17442 - if-le v6, v7, :cond_61
17443 + if-le v6, v7, :cond_62
17445 iget-object v6, p0, Landroid/text/SpannableStringBuilder;->mSpanEnds:[I
17447 @@ -1551,10 +1551,10 @@
17453 add-int/lit8 v2, v2, 0x1
17459 .method private sendAfterTextChanged([Landroid/text/TextWatcher;)V