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-11-02 22:31:06.659965172 -0500
3 +++ pdroid-framework/smali/android/app/ContextImpl$20.smali 2012-11-02 22:30:26.107764090 -0500
5 .method public createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
8 - const-string v1, "location"
9 + const-string v2, "location"
11 - invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
12 + invoke-static {v2}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
16 - new-instance v1, Landroid/location/LocationManager;
18 invoke-static {v0}, Landroid/location/ILocationManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/location/ILocationManager;
20 - move-result-object v2
21 + move-result-object v1
23 + new-instance v2, Landroid/privacy/surrogate/PrivacyLocationManager;
25 - invoke-direct {v1, p1, v2}, Landroid/location/LocationManager;-><init>(Landroid/content/Context;Landroid/location/ILocationManager;)V
26 + invoke-direct {v2, v1, p1}, Landroid/privacy/surrogate/PrivacyLocationManager;-><init>(Landroid/location/ILocationManager;Landroid/content/Context;)V
31 diff -Npru stock-framework/smali/android/app/ContextImpl$29.smali pdroid-framework/smali/android/app/ContextImpl$29.smali
32 --- stock-framework/smali/android/app/ContextImpl$29.smali 2012-11-02 22:31:06.675965252 -0500
33 +++ pdroid-framework/smali/android/app/ContextImpl$29.smali 2012-11-02 22:30:26.119764144 -0500
35 .method public createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
38 - new-instance v0, Landroid/telephony/TelephonyManager;
39 + new-instance v0, Landroid/privacy/surrogate/PrivacyTelephonyManager;
41 invoke-virtual {p1}, Landroid/app/ContextImpl;->getOuterContext()Landroid/content/Context;
45 - invoke-direct {v0, v1}, Landroid/telephony/TelephonyManager;-><init>(Landroid/content/Context;)V
46 + invoke-direct {v0, v1}, Landroid/privacy/surrogate/PrivacyTelephonyManager;-><init>(Landroid/content/Context;)V
50 diff -Npru stock-framework/smali/android/app/ContextImpl$38.smali pdroid-framework/smali/android/app/ContextImpl$38.smali
51 --- stock-framework/smali/android/app/ContextImpl$38.smali 1969-12-31 18:00:00.000000000 -0600
52 +++ pdroid-framework/smali/android/app/ContextImpl$38.smali 2012-11-02 22:30:26.123764171 -0500
54 +.class final Landroid/app/ContextImpl$38;
55 +.super Landroid/app/ContextImpl$StaticServiceFetcher;
56 +.source "ContextImpl.java"
60 +.annotation system Ldalvik/annotation/EnclosingClass;
61 + value = Landroid/app/ContextImpl;
64 +.annotation system Ldalvik/annotation/InnerClass;
71 +.method constructor <init>()V
74 + invoke-direct {p0}, Landroid/app/ContextImpl$StaticServiceFetcher;-><init>()V
81 +.method public createStaticService()Ljava/lang/Object;
84 + const-string/jumbo v2, "privacy"
86 + invoke-static {v2}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
88 + move-result-object v0
90 + invoke-static {v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
92 + move-result-object v1
94 + new-instance v2, Landroid/privacy/PrivacySettingsManager;
96 + invoke-static {}, Landroid/app/ContextImpl;->getStaticOuterContext()Landroid/content/Context;
98 + move-result-object v3
100 + invoke-direct {v2, v3, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
104 diff -Npru stock-framework/smali/android/app/ContextImpl$3.smali pdroid-framework/smali/android/app/ContextImpl$3.smali
105 --- stock-framework/smali/android/app/ContextImpl$3.smali 2012-11-02 22:31:06.687965309 -0500
106 +++ pdroid-framework/smali/android/app/ContextImpl$3.smali 2012-11-02 22:30:26.123764171 -0500
109 move-result-object v1
111 - new-instance v2, Landroid/accounts/AccountManager;
112 + new-instance v2, Landroid/privacy/surrogate/PrivacyAccountManager;
114 - invoke-direct {v2, p1, v1}, Landroid/accounts/AccountManager;-><init>(Landroid/content/Context;Landroid/accounts/IAccountManager;)V
115 + invoke-direct {v2, p1, v1}, Landroid/privacy/surrogate/PrivacyAccountManager;-><init>(Landroid/content/Context;Landroid/accounts/IAccountManager;)V
119 diff -Npru stock-framework/smali/android/app/ContextImpl.smali pdroid-framework/smali/android/app/ContextImpl.smali
120 --- stock-framework/smali/android/app/ContextImpl.smali 2012-11-02 22:31:06.751965633 -0500
121 +++ pdroid-framework/smali/android/app/ContextImpl.smali 2012-11-02 22:30:26.155764324 -0500
124 .field private static sNextPerContextServiceCacheIndex:I
126 +.field private static sOuterContext:Landroid/content/Context;
128 .field private static final sSharedPrefs:Ljava/util/HashMap;
129 .annotation system Ldalvik/annotation/Signature;
133 invoke-static {v0, v1}, Landroid/app/ContextImpl;->registerService(Ljava/lang/String;Landroid/app/ContextImpl$ServiceFetcher;)V
135 + const-string/jumbo v0, "privacy"
137 + new-instance v1, Landroid/app/ContextImpl$38;
139 + invoke-direct {v1}, Landroid/app/ContextImpl$38;-><init>()V
141 + invoke-static {v0, v1}, Landroid/app/ContextImpl;->registerService(Ljava/lang/String;Landroid/app/ContextImpl$ServiceFetcher;)V
148 iput-object p0, p0, Landroid/app/ContextImpl;->mOuterContext:Landroid/content/Context;
150 + sput-object p0, Landroid/app/ContextImpl;->sOuterContext:Landroid/content/Context;
157 iput-object p0, p0, Landroid/app/ContextImpl;->mOuterContext:Landroid/content/Context;
159 + sput-object p0, Landroid/app/ContextImpl;->sOuterContext:Landroid/content/Context;
168 +.method static final getStaticOuterContext()Landroid/content/Context;
171 + sget-object v0, Landroid/app/ContextImpl;->sOuterContext:Landroid/content/Context;
176 .method private getWallpaperManager()Landroid/app/WallpaperManager;
179 @@ -4256,6 +4278,8 @@
181 iput-object p1, p0, Landroid/app/ContextImpl;->mOuterContext:Landroid/content/Context;
183 + sput-object p1, Landroid/app/ContextImpl;->sOuterContext:Landroid/content/Context;
188 diff -Npru stock-framework/smali/android/app/Fragment.smali pdroid-framework/smali/android/app/Fragment.smali
189 --- stock-framework/smali/android/app/Fragment.smali 2012-11-02 22:31:06.767965715 -0500
190 +++ pdroid-framework/smali/android/app/Fragment.smali 2012-11-02 22:30:26.167764376 -0500
193 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
195 - const-string v0, "mHidden="
196 + const-string/jumbo v0, "mHidden="
198 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
202 iget-object v0, p0, Landroid/app/Fragment;->mFragmentManager:Landroid/app/FragmentManagerImpl;
204 - if-eqz v0, :cond_e8
205 + if-eqz v0, :cond_e9
207 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
209 @@ -541,10 +541,10 @@
211 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
215 iget-object v0, p0, Landroid/app/Fragment;->mActivity:Landroid/app/Activity;
217 - if-eqz v0, :cond_f9
218 + if-eqz v0, :cond_fa
220 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
222 @@ -556,10 +556,10 @@
224 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
228 iget-object v0, p0, Landroid/app/Fragment;->mArguments:Landroid/os/Bundle;
230 - if-eqz v0, :cond_10a
231 + if-eqz v0, :cond_10b
233 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
235 @@ -571,10 +571,10 @@
237 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
241 iget-object v0, p0, Landroid/app/Fragment;->mSavedFragmentState:Landroid/os/Bundle;
243 - if-eqz v0, :cond_11c
244 + if-eqz v0, :cond_11d
246 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
248 @@ -586,10 +586,10 @@
250 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
254 iget-object v0, p0, Landroid/app/Fragment;->mSavedViewState:Landroid/util/SparseArray;
256 - if-eqz v0, :cond_12e
257 + if-eqz v0, :cond_12f
259 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
261 @@ -601,10 +601,10 @@
263 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
267 iget-object v0, p0, Landroid/app/Fragment;->mTarget:Landroid/app/Fragment;
269 - if-eqz v0, :cond_14a
270 + if-eqz v0, :cond_14b
272 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
274 @@ -624,10 +624,10 @@
276 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(I)V
280 iget v0, p0, Landroid/app/Fragment;->mNextAnim:I
282 - if-eqz v0, :cond_15c
283 + if-eqz v0, :cond_15d
285 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
287 @@ -639,10 +639,10 @@
289 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(I)V
293 iget-object v0, p0, Landroid/app/Fragment;->mContainer:Landroid/view/ViewGroup;
295 - if-eqz v0, :cond_16d
296 + if-eqz v0, :cond_16e
298 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
300 @@ -654,10 +654,10 @@
302 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
306 iget-object v0, p0, Landroid/app/Fragment;->mView:Landroid/view/View;
308 - if-eqz v0, :cond_17f
309 + if-eqz v0, :cond_180
311 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
313 @@ -669,10 +669,10 @@
315 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
319 iget-object v0, p0, Landroid/app/Fragment;->mAnimatingAway:Landroid/animation/Animator;
321 - if-eqz v0, :cond_19e
322 + if-eqz v0, :cond_19f
324 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
326 @@ -694,10 +694,10 @@
328 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(I)V
332 iget-object v0, p0, Landroid/app/Fragment;->mLoaderManager:Landroid/app/LoaderManagerImpl;
334 - if-eqz v0, :cond_1c2
335 + if-eqz v0, :cond_1c3
337 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
341 invoke-virtual {v0, v1, p2, p3, p4}, Landroid/app/LoaderManagerImpl;->dump(Ljava/lang/String;Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
348 diff -Npru stock-framework/smali/android/app/LoaderManagerImpl$LoaderInfo.smali pdroid-framework/smali/android/app/LoaderManagerImpl$LoaderInfo.smali
349 --- stock-framework/smali/android/app/LoaderManagerImpl$LoaderInfo.smali 2012-11-02 22:31:07.119967456 -0500
350 +++ pdroid-framework/smali/android/app/LoaderManagerImpl$LoaderInfo.smali 2012-11-02 22:30:26.447765773 -0500
351 @@ -575,12 +575,12 @@
353 iget-boolean v0, p0, Landroid/app/LoaderManagerImpl$LoaderInfo;->mDeliveredData:Z
355 - if-eqz v0, :cond_7b
356 + if-eqz v0, :cond_7c
359 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
361 - const-string v0, "mHaveData="
362 + const-string/jumbo v0, "mHaveData="
364 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
368 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
372 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
374 const-string/jumbo v0, "mStarted="
377 iget-object v0, p0, Landroid/app/LoaderManagerImpl$LoaderInfo;->mPendingLoader:Landroid/app/LoaderManagerImpl$LoaderInfo;
379 - if-eqz v0, :cond_ed
380 + if-eqz v0, :cond_ee
382 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
386 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
393 diff -Npru stock-framework/smali/android/content/ContentResolver.smali pdroid-framework/smali/android/content/ContentResolver.smali
394 --- stock-framework/smali/android/content/ContentResolver.smali 2012-11-02 22:31:06.723965487 -0500
395 +++ pdroid-framework/smali/android/content/ContentResolver.smali 2012-11-02 22:30:26.143764267 -0500
396 @@ -3523,8 +3523,8 @@
398 invoke-virtual {v0, v9}, Landroid/os/CancellationSignal;->setRemote(Landroid/os/ICancellationSignal;)V
400 - .catchall {:try_start_a .. :try_end_1d} :catchall_b9
401 - .catch Landroid/os/RemoteException; {:try_start_a .. :try_end_1d} :catch_a6
402 + .catchall {:try_start_a .. :try_end_1d} :catchall_c7
403 + .catch Landroid/os/RemoteException; {:try_start_a .. :try_end_1d} :catch_b4
406 move-object/from16 v4, p1
407 @@ -3540,24 +3540,42 @@
409 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;
411 - .catchall {:try_start_27 .. :try_end_2a} :catchall_b9
412 - .catch Landroid/os/DeadObjectException; {:try_start_27 .. :try_end_2a} :catch_3e
413 - .catch Landroid/os/RemoteException; {:try_start_27 .. :try_end_2a} :catch_a6
414 + .catchall {:try_start_27 .. :try_end_2a} :catchall_c7
415 + .catch Landroid/os/DeadObjectException; {:try_start_27 .. :try_end_2a} :catch_4c
416 + .catch Landroid/os/RemoteException; {:try_start_27 .. :try_end_2a} :catch_b4
418 move-result-object v19
421 - if-nez v19, :cond_6c
423 + move-object/from16 v0, p0
425 + iget-object v4, v0, Landroid/content/ContentResolver;->mContext:Landroid/content/Context;
427 + move-object/from16 v0, p1
429 + move-object/from16 v1, p2
431 + move-object/from16 v2, v19
433 + 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;
435 + .catchall {:try_start_2b .. :try_end_38} :catchall_c7
436 + .catch Landroid/os/RemoteException; {:try_start_2b .. :try_end_38} :catch_b4
438 + move-result-object v19
440 + if-nez v19, :cond_7a
444 - if-eqz v3, :cond_36
445 + if-eqz v3, :cond_44
447 move-object/from16 v0, p0
449 invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
455 move-object/from16 v0, p0
456 @@ -3566,32 +3584,32 @@
466 move-object/from16 v0, p0
468 invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->unstableProviderDied(Landroid/content/IContentProvider;)V
470 invoke-virtual/range {p0 .. p1}, Landroid/content/ContentResolver;->acquireProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
472 - .catchall {:try_start_3f .. :try_end_47} :catchall_b9
473 - .catch Landroid/os/RemoteException; {:try_start_3f .. :try_end_47} :catch_a6
475 + .catchall {:try_start_4d .. :try_end_55} :catchall_c7
476 + .catch Landroid/os/RemoteException; {:try_start_4d .. :try_end_55} :catch_b4
478 move-result-object v10
480 - if-nez v10, :cond_5b
481 + if-nez v10, :cond_69
485 - if-eqz v3, :cond_53
486 + if-eqz v3, :cond_61
488 move-object/from16 v0, p0
490 invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
496 move-object/from16 v0, p0
497 @@ -3600,7 +3618,7 @@
503 move-object/from16 v11, p1
505 move-object/from16 v12, p2
506 @@ -3613,14 +3631,14 @@
508 move-object/from16 v16, v9
512 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;
514 move-result-object v19
520 invoke-interface/range {v19 .. v19}, Landroid/database/Cursor;->getCount()I
522 invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
523 @@ -3643,11 +3661,11 @@
525 new-instance v22, Landroid/content/ContentResolver$CursorWrapperInner;
527 - if-eqz v10, :cond_a1
528 + if-eqz v10, :cond_af
534 move-object/from16 v0, v22
536 move-object/from16 v1, p0
537 @@ -3655,19 +3673,19 @@
538 move-object/from16 v2, v19
540 invoke-direct {v0, v1, v2, v4}, Landroid/content/ContentResolver$CursorWrapperInner;-><init>(Landroid/content/ContentResolver;Landroid/database/Cursor;Landroid/content/IContentProvider;)V
542 - .catchall {:try_start_67 .. :try_end_90} :catchall_b9
543 - .catch Landroid/os/RemoteException; {:try_start_67 .. :try_end_90} :catch_a6
545 + .catchall {:try_start_75 .. :try_end_9e} :catchall_c7
546 + .catch Landroid/os/RemoteException; {:try_start_75 .. :try_end_9e} :catch_b4
550 - if-eqz v3, :cond_98
551 + if-eqz v3, :cond_a6
553 move-object/from16 v0, p0
555 invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
561 move-object/from16 v0, p0
562 @@ -3676,29 +3694,29 @@
570 invoke-virtual/range {p0 .. p1}, Landroid/content/ContentResolver;->acquireProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
572 - .catchall {:try_start_a1 .. :try_end_a4} :catchall_b9
573 - .catch Landroid/os/RemoteException; {:try_start_a1 .. :try_end_a4} :catch_a6
575 + .catchall {:try_start_af .. :try_end_b2} :catchall_c7
576 + .catch Landroid/os/RemoteException; {:try_start_af .. :try_end_b2} :catch_b4
578 move-result-object v4
589 - if-eqz v3, :cond_b0
590 + if-eqz v3, :cond_be
592 move-object/from16 v0, p0
594 invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
600 move-object/from16 v0, p0
601 @@ -3707,23 +3725,23 @@
609 - if-eqz v3, :cond_c1
610 + if-eqz v3, :cond_cf
612 move-object/from16 v0, p0
614 invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
617 - if-eqz v10, :cond_c8
619 + if-eqz v10, :cond_d6
621 move-object/from16 v0, p0
623 invoke-virtual {v0, v10}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
630 diff -Npru stock-framework/smali/android/location/Location.smali pdroid-framework/smali/android/location/Location.smali
631 --- stock-framework/smali/android/location/Location.smali 2012-11-02 22:31:08.483974223 -0500
632 +++ pdroid-framework/smali/android/location/Location.smali 2012-11-02 22:30:27.875772858 -0500
633 @@ -1707,7 +1707,7 @@
635 move-result-object v0
637 - const-string v1, "mHasAltitude="
638 + const-string/jumbo v1, "mHasAltitude="
640 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
642 @@ -1745,7 +1745,7 @@
644 move-result-object v0
646 - const-string v1, "mHasSpeed="
647 + const-string/jumbo v1, "mHasSpeed="
649 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
651 @@ -1783,7 +1783,7 @@
653 move-result-object v0
655 - const-string v1, "mHasBearing="
656 + const-string/jumbo v1, "mHasBearing="
658 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
660 @@ -1821,7 +1821,7 @@
662 move-result-object v0
664 - const-string v1, "mHasAccuracy="
665 + const-string/jumbo v1, "mHasAccuracy="
667 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
669 diff -Npru stock-framework/smali/android/privacy/IPrivacySettingsManager.smali pdroid-framework/smali/android/privacy/IPrivacySettingsManager.smali
670 --- stock-framework/smali/android/privacy/IPrivacySettingsManager.smali 1969-12-31 18:00:00.000000000 -0600
671 +++ pdroid-framework/smali/android/privacy/IPrivacySettingsManager.smali 2012-11-02 22:30:28.531776104 -0500
673 +.class public interface abstract Landroid/privacy/IPrivacySettingsManager;
674 +.super Ljava/lang/Object;
675 +.source "IPrivacySettingsManager.java"
678 +.implements Landroid/os/IInterface;
682 +.annotation system Ldalvik/annotation/MemberClasses;
684 + Landroid/privacy/IPrivacySettingsManager$Stub;
690 +.method public abstract addObserver(Ljava/lang/String;)V
691 + .annotation system Ldalvik/annotation/Throws;
693 + Landroid/os/RemoteException;
698 +.method public abstract deleteSettings(Ljava/lang/String;)Z
699 + .annotation system Ldalvik/annotation/Throws;
701 + Landroid/os/RemoteException;
706 +.method public abstract getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
707 + .annotation system Ldalvik/annotation/Throws;
709 + Landroid/os/RemoteException;
714 +.method public abstract getVersion()D
715 + .annotation system Ldalvik/annotation/Throws;
717 + Landroid/os/RemoteException;
722 +.method public abstract notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
723 + .annotation system Ldalvik/annotation/Throws;
725 + Landroid/os/RemoteException;
730 +.method public abstract purgeSettings()Z
731 + .annotation system Ldalvik/annotation/Throws;
733 + Landroid/os/RemoteException;
738 +.method public abstract registerObservers()V
739 + .annotation system Ldalvik/annotation/Throws;
741 + Landroid/os/RemoteException;
746 +.method public abstract saveSettings(Landroid/privacy/PrivacySettings;)Z
747 + .annotation system Ldalvik/annotation/Throws;
749 + Landroid/os/RemoteException;
754 +.method public abstract setBootCompleted()V
755 + .annotation system Ldalvik/annotation/Throws;
757 + Landroid/os/RemoteException;
762 +.method public abstract setEnabled(Z)Z
763 + .annotation system Ldalvik/annotation/Throws;
765 + Landroid/os/RemoteException;
770 +.method public abstract setNotificationsEnabled(Z)Z
771 + .annotation system Ldalvik/annotation/Throws;
773 + Landroid/os/RemoteException;
777 diff -Npru stock-framework/smali/android/privacy/IPrivacySettingsManager$Stub$Proxy.smali pdroid-framework/smali/android/privacy/IPrivacySettingsManager$Stub$Proxy.smali
778 --- stock-framework/smali/android/privacy/IPrivacySettingsManager$Stub$Proxy.smali 1969-12-31 18:00:00.000000000 -0600
779 +++ pdroid-framework/smali/android/privacy/IPrivacySettingsManager$Stub$Proxy.smali 2012-11-02 22:30:28.531776104 -0500
781 +.class Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;
782 +.super Ljava/lang/Object;
783 +.source "IPrivacySettingsManager.java"
786 +.implements Landroid/privacy/IPrivacySettingsManager;
790 +.annotation system Ldalvik/annotation/EnclosingClass;
791 + value = Landroid/privacy/IPrivacySettingsManager$Stub;
794 +.annotation system Ldalvik/annotation/InnerClass;
801 +.field private mRemote:Landroid/os/IBinder;
805 +.method constructor <init>(Landroid/os/IBinder;)V
808 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
810 + iput-object p1, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
817 +.method public addObserver(Ljava/lang/String;)V
819 + .annotation system Ldalvik/annotation/Throws;
821 + Landroid/os/RemoteException;
825 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
827 + move-result-object v0
829 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
831 + move-result-object v1
834 + const-string v2, "android.privacy.IPrivacySettingsManager"
836 + invoke-virtual {v0, v2}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
838 + invoke-virtual {v0, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
840 + iget-object v2, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
846 + invoke-interface {v2, v3, v0, v1, v4}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
848 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
850 + .catchall {:try_start_8 .. :try_end_1a} :catchall_21
852 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
854 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
861 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
863 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
868 +.method public asBinder()Landroid/os/IBinder;
871 + iget-object v0, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
876 +.method public deleteSettings(Ljava/lang/String;)Z
878 + .annotation system Ldalvik/annotation/Throws;
880 + Landroid/os/RemoteException;
886 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
888 + move-result-object v0
890 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
892 + move-result-object v1
895 + const-string v3, "android.privacy.IPrivacySettingsManager"
897 + invoke-virtual {v0, v3}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
899 + invoke-virtual {v0, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
901 + iget-object v3, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
907 + invoke-interface {v3, v4, v0, v1, v5}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
909 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
911 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
913 + .catchall {:try_start_9 .. :try_end_1e} :catchall_29
917 + if-eqz v3, :cond_22
922 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
924 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
931 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
933 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
938 +.method public getInterfaceDescriptor()Ljava/lang/String;
941 + const-string v0, "android.privacy.IPrivacySettingsManager"
946 +.method public getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
948 + .annotation system Ldalvik/annotation/Throws;
950 + Landroid/os/RemoteException;
954 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
956 + move-result-object v0
958 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
960 + move-result-object v1
963 + const-string v3, "android.privacy.IPrivacySettingsManager"
965 + invoke-virtual {v0, v3}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
967 + invoke-virtual {v0, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
969 + iget-object v3, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
975 + invoke-interface {v3, v4, v0, v1, v5}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
977 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
979 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
983 + if-eqz v3, :cond_2f
985 + sget-object v3, Landroid/privacy/PrivacySettings;->CREATOR:Landroid/os/Parcelable$Creator;
987 + invoke-interface {v3, v1}, Landroid/os/Parcelable$Creator;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
989 + move-result-object v2
991 + check-cast v2, Landroid/privacy/PrivacySettings;
993 + .catchall {:try_start_8 .. :try_end_28} :catchall_31
996 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
998 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1010 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1012 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1017 +.method public getVersion()D
1019 + .annotation system Ldalvik/annotation/Throws;
1021 + Landroid/os/RemoteException;
1025 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1027 + move-result-object v0
1029 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1031 + move-result-object v1
1034 + const-string v4, "android.privacy.IPrivacySettingsManager"
1036 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
1038 + iget-object v4, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
1044 + invoke-interface {v4, v5, v0, v1, v6}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1046 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
1048 + invoke-virtual {v1}, Landroid/os/Parcel;->readDouble()D
1050 + .catchall {:try_start_8 .. :try_end_1b} :catchall_23
1052 + move-result-wide v2
1054 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1056 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1063 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1065 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1070 +.method public notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
1072 + .annotation system Ldalvik/annotation/Throws;
1074 + Landroid/os/RemoteException;
1078 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1080 + move-result-object v0
1082 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1084 + move-result-object v1
1087 + const-string v2, "android.privacy.IPrivacySettingsManager"
1089 + invoke-virtual {v0, v2}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
1091 + invoke-virtual {v0, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
1093 + invoke-virtual {v0, p2}, Landroid/os/Parcel;->writeByte(B)V
1095 + invoke-virtual {v0, p3}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
1097 + invoke-virtual {v0, p4}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
1099 + iget-object v2, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
1105 + invoke-interface {v2, v3, v0, v1, v4}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1107 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
1109 + .catchall {:try_start_8 .. :try_end_23} :catchall_2a
1111 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1113 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1120 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1122 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1127 +.method public purgeSettings()Z
1129 + .annotation system Ldalvik/annotation/Throws;
1131 + Landroid/os/RemoteException;
1137 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1139 + move-result-object v0
1141 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1143 + move-result-object v1
1146 + const-string v3, "android.privacy.IPrivacySettingsManager"
1148 + invoke-virtual {v0, v3}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
1150 + iget-object v3, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
1156 + invoke-interface {v3, v4, v0, v1, v5}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1158 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
1160 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
1162 + .catchall {:try_start_9 .. :try_end_1b} :catchall_26
1166 + if-eqz v3, :cond_1f
1171 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1173 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1180 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1182 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1187 +.method public registerObservers()V
1189 + .annotation system Ldalvik/annotation/Throws;
1191 + Landroid/os/RemoteException;
1195 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1197 + move-result-object v0
1199 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1201 + move-result-object v1
1204 + const-string v2, "android.privacy.IPrivacySettingsManager"
1206 + invoke-virtual {v0, v2}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
1208 + iget-object v2, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
1214 + invoke-interface {v2, v3, v0, v1, v4}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1216 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
1218 + .catchall {:try_start_8 .. :try_end_17} :catchall_1e
1220 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1222 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1229 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1231 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1236 +.method public saveSettings(Landroid/privacy/PrivacySettings;)Z
1238 + .annotation system Ldalvik/annotation/Throws;
1240 + Landroid/os/RemoteException;
1248 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1250 + move-result-object v0
1252 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1254 + move-result-object v1
1257 + const-string v4, "android.privacy.IPrivacySettingsManager"
1259 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
1261 + if-eqz p1, :cond_30
1265 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInt(I)V
1269 + invoke-virtual {p1, v0, v4}, Landroid/privacy/PrivacySettings;->writeToParcel(Landroid/os/Parcel;I)V
1272 + iget-object v4, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
1278 + invoke-interface {v4, v5, v0, v1, v6}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1280 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
1282 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
1284 + .catchall {:try_start_a .. :try_end_26} :catchall_35
1288 + if-eqz v4, :cond_3d
1291 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1293 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1301 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInt(I)V
1303 + .catchall {:try_start_31 .. :try_end_34} :catchall_35
1310 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1312 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1322 +.method public setBootCompleted()V
1324 + .annotation system Ldalvik/annotation/Throws;
1326 + Landroid/os/RemoteException;
1330 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1332 + move-result-object v0
1334 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1336 + move-result-object v1
1339 + const-string v2, "android.privacy.IPrivacySettingsManager"
1341 + invoke-virtual {v0, v2}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
1343 + iget-object v2, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
1349 + invoke-interface {v2, v3, v0, v1, v4}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1351 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
1353 + .catchall {:try_start_8 .. :try_end_18} :catchall_1f
1355 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1357 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1364 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1366 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1371 +.method public setEnabled(Z)Z
1373 + .annotation system Ldalvik/annotation/Throws;
1375 + Landroid/os/RemoteException;
1383 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1385 + move-result-object v0
1387 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1389 + move-result-object v1
1392 + const-string v4, "android.privacy.IPrivacySettingsManager"
1394 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
1396 + if-eqz p1, :cond_2d
1401 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInt(I)V
1403 + iget-object v4, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
1409 + invoke-interface {v4, v5, v0, v1, v6}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1411 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
1413 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
1415 + .catchall {:try_start_a .. :try_end_23} :catchall_31
1419 + if-eqz v4, :cond_2f
1422 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1424 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1441 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1443 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1448 +.method public setNotificationsEnabled(Z)Z
1450 + .annotation system Ldalvik/annotation/Throws;
1452 + Landroid/os/RemoteException;
1460 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1462 + move-result-object v0
1464 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1466 + move-result-object v1
1469 + const-string v4, "android.privacy.IPrivacySettingsManager"
1471 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
1473 + if-eqz p1, :cond_2d
1478 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInt(I)V
1480 + iget-object v4, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
1486 + invoke-interface {v4, v5, v0, v1, v6}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1488 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
1490 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
1492 + .catchall {:try_start_a .. :try_end_23} :catchall_31
1496 + if-eqz v4, :cond_2f
1499 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1501 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1518 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1520 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1524 diff -Npru stock-framework/smali/android/privacy/IPrivacySettingsManager$Stub.smali pdroid-framework/smali/android/privacy/IPrivacySettingsManager$Stub.smali
1525 --- stock-framework/smali/android/privacy/IPrivacySettingsManager$Stub.smali 1969-12-31 18:00:00.000000000 -0600
1526 +++ pdroid-framework/smali/android/privacy/IPrivacySettingsManager$Stub.smali 2012-11-02 22:30:28.531776104 -0500
1528 +.class public abstract Landroid/privacy/IPrivacySettingsManager$Stub;
1529 +.super Landroid/os/Binder;
1530 +.source "IPrivacySettingsManager.java"
1533 +.implements Landroid/privacy/IPrivacySettingsManager;
1537 +.annotation system Ldalvik/annotation/EnclosingClass;
1538 + value = Landroid/privacy/IPrivacySettingsManager;
1541 +.annotation system Ldalvik/annotation/InnerClass;
1542 + accessFlags = 0x409
1546 +.annotation system Ldalvik/annotation/MemberClasses;
1548 + Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;
1554 +.field private static final DESCRIPTOR:Ljava/lang/String; = "android.privacy.IPrivacySettingsManager"
1556 +.field static final TRANSACTION_addObserver:I = 0x6
1558 +.field static final TRANSACTION_deleteSettings:I = 0x3
1560 +.field static final TRANSACTION_getSettings:I = 0x1
1562 +.field static final TRANSACTION_getVersion:I = 0x8
1564 +.field static final TRANSACTION_notification:I = 0x4
1566 +.field static final TRANSACTION_purgeSettings:I = 0x7
1568 +.field static final TRANSACTION_registerObservers:I = 0x5
1570 +.field static final TRANSACTION_saveSettings:I = 0x2
1572 +.field static final TRANSACTION_setBootCompleted:I = 0xb
1574 +.field static final TRANSACTION_setEnabled:I = 0x9
1576 +.field static final TRANSACTION_setNotificationsEnabled:I = 0xa
1580 +.method public constructor <init>()V
1583 + invoke-direct {p0}, Landroid/os/Binder;-><init>()V
1585 + const-string v0, "android.privacy.IPrivacySettingsManager"
1587 + invoke-virtual {p0, p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->attachInterface(Landroid/os/IInterface;Ljava/lang/String;)V
1592 +.method public static asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
1595 + if-nez p0, :cond_4
1603 + const-string v1, "android.privacy.IPrivacySettingsManager"
1605 + invoke-interface {p0, v1}, Landroid/os/IBinder;->queryLocalInterface(Ljava/lang/String;)Landroid/os/IInterface;
1607 + move-result-object v0
1609 + if-eqz v0, :cond_13
1611 + instance-of v1, v0, Landroid/privacy/IPrivacySettingsManager;
1613 + if-eqz v1, :cond_13
1615 + check-cast v0, Landroid/privacy/IPrivacySettingsManager;
1620 + new-instance v0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;
1622 + invoke-direct {v0, p0}, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
1629 +.method public asBinder()Landroid/os/IBinder;
1635 +.method public onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1637 + .annotation system Ldalvik/annotation/Throws;
1639 + Landroid/os/RemoteException;
1647 + sparse-switch p1, :sswitch_data_10e
1649 + invoke-super {p0, p1, p2, p3, p4}, Landroid/os/Binder;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1657 + const-string v6, "android.privacy.IPrivacySettingsManager"
1659 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
1664 + const-string v8, "android.privacy.IPrivacySettingsManager"
1666 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1668 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
1670 + move-result-object v0
1672 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
1674 + move-result-object v4
1676 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1678 + if-eqz v4, :cond_29
1680 + invoke-virtual {p3, v7}, Landroid/os/Parcel;->writeInt(I)V
1682 + invoke-virtual {v4, p3, v7}, Landroid/privacy/PrivacySettings;->writeToParcel(Landroid/os/Parcel;I)V
1687 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
1692 + const-string v8, "android.privacy.IPrivacySettingsManager"
1694 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1696 + invoke-virtual {p2}, Landroid/os/Parcel;->readInt()I
1700 + if-eqz v8, :cond_4e
1702 + sget-object v8, Landroid/privacy/PrivacySettings;->CREATOR:Landroid/os/Parcelable$Creator;
1704 + invoke-interface {v8, p2}, Landroid/os/Parcelable$Creator;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
1706 + move-result-object v0
1708 + check-cast v0, Landroid/privacy/PrivacySettings;
1711 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->saveSettings(Landroid/privacy/PrivacySettings;)Z
1715 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1717 + if-eqz v4, :cond_4a
1722 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
1732 + const-string v8, "android.privacy.IPrivacySettingsManager"
1734 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1736 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
1738 + move-result-object v0
1740 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->deleteSettings(Ljava/lang/String;)Z
1744 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1746 + if-eqz v4, :cond_63
1751 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
1756 + const-string v6, "android.privacy.IPrivacySettingsManager"
1758 + invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1760 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
1762 + move-result-object v0
1764 + invoke-virtual {p2}, Landroid/os/Parcel;->readByte()B
1768 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
1770 + move-result-object v2
1772 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
1774 + move-result-object v3
1776 + invoke-virtual {p0, v0, v1, v2, v3}, Landroid/privacy/IPrivacySettingsManager$Stub;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
1778 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1783 + const-string v6, "android.privacy.IPrivacySettingsManager"
1785 + invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1787 + invoke-virtual {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;->registerObservers()V
1789 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1794 + const-string v6, "android.privacy.IPrivacySettingsManager"
1796 + invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1798 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
1800 + move-result-object v0
1802 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->addObserver(Ljava/lang/String;)V
1804 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1809 + const-string v8, "android.privacy.IPrivacySettingsManager"
1811 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1813 + invoke-virtual {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;->purgeSettings()Z
1817 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1819 + if-eqz v4, :cond_b0
1824 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
1829 + const-string v6, "android.privacy.IPrivacySettingsManager"
1831 + invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1833 + invoke-virtual {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;->getVersion()D
1835 + move-result-wide v4
1837 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1839 + invoke-virtual {p3, v4, v5}, Landroid/os/Parcel;->writeDouble(D)V
1844 + const-string v8, "android.privacy.IPrivacySettingsManager"
1846 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1848 + invoke-virtual {p2}, Landroid/os/Parcel;->readInt()I
1852 + if-eqz v8, :cond_e1
1857 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->setEnabled(Z)Z
1861 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1863 + if-eqz v4, :cond_dc
1868 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
1878 + const-string v8, "android.privacy.IPrivacySettingsManager"
1880 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1882 + invoke-virtual {p2}, Landroid/os/Parcel;->readInt()I
1886 + if-eqz v8, :cond_fe
1891 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->setNotificationsEnabled(Z)Z
1895 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1897 + if-eqz v4, :cond_f9
1902 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
1912 + const-string v6, "android.privacy.IPrivacySettingsManager"
1914 + invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1916 + invoke-virtual {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;->setBootCompleted()V
1918 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1926 + 0x1 -> :sswitch_10
1927 + 0x2 -> :sswitch_2d
1928 + 0x3 -> :sswitch_50
1929 + 0x4 -> :sswitch_67
1930 + 0x5 -> :sswitch_83
1931 + 0x6 -> :sswitch_90
1932 + 0x7 -> :sswitch_a1
1933 + 0x8 -> :sswitch_b5
1934 + 0x9 -> :sswitch_c6
1935 + 0xa -> :sswitch_e3
1936 + 0xb -> :sswitch_100
1937 + 0x5f4e5446 -> :sswitch_a
1938 + .end sparse-switch
1940 diff -Npru stock-framework/smali/android/privacy/PrivacyFileObserver.smali pdroid-framework/smali/android/privacy/PrivacyFileObserver.smali
1941 --- stock-framework/smali/android/privacy/PrivacyFileObserver.smali 1969-12-31 18:00:00.000000000 -0600
1942 +++ pdroid-framework/smali/android/privacy/PrivacyFileObserver.smali 2012-11-02 22:30:28.531776104 -0500
1944 +.class public Landroid/privacy/PrivacyFileObserver;
1945 +.super Landroid/os/FileObserver;
1946 +.source "PrivacyFileObserver.java"
1950 +.field public static final PACKAGE_PATH_INDEX:I = 0x3
1952 +.field public static final TAG:Ljava/lang/String; = "PrivacyFileObserver"
1956 +.field public absolutePath:Ljava/lang/String;
1958 +.field public children:Ljava/util/HashMap;
1959 + .annotation system Ldalvik/annotation/Signature;
1961 + "Ljava/util/HashMap",
1963 + "Ljava/lang/String;",
1964 + "Landroid/privacy/PrivacyFileObserver;",
1970 +.field private pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
1974 +.method public constructor <init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
1977 + const/16 v8, 0xfff
1979 + invoke-direct {p0, p1, v8}, Landroid/os/FileObserver;-><init>(Ljava/lang/String;I)V
1981 + iput-object p1, p0, Landroid/privacy/PrivacyFileObserver;->absolutePath:Ljava/lang/String;
1983 + iput-object p2, p0, Landroid/privacy/PrivacyFileObserver;->pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
1985 + new-instance v8, Ljava/util/HashMap;
1987 + invoke-direct {v8}, Ljava/util/HashMap;-><init>()V
1989 + iput-object v8, p0, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap;
1991 + new-instance v7, Ljava/io/File;
1993 + iget-object v8, p0, Landroid/privacy/PrivacyFileObserver;->absolutePath:Ljava/lang/String;
1995 + invoke-direct {v7, v8}, Ljava/io/File;-><init>(Ljava/lang/String;)V
1997 + invoke-virtual {v7}, Ljava/io/File;->isDirectory()Z
2001 + if-eqz v8, :cond_42
2003 + invoke-virtual {v7}, Ljava/io/File;->listFiles()[Ljava/io/File;
2005 + move-result-object v6
2007 + move-object v0, v6
2009 + array-length v4, v0
2014 + if-ge v3, v4, :cond_42
2016 + aget-object v2, v0, v3
2018 + invoke-virtual {v2}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
2020 + move-result-object v5
2022 + new-instance v1, Landroid/privacy/PrivacyFileObserver;
2024 + invoke-direct {v1, v5, p2}, Landroid/privacy/PrivacyFileObserver;-><init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
2026 + iget-object v8, p0, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap;
2028 + invoke-virtual {v8, v5, v1}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
2030 + invoke-virtual {v2}, Ljava/io/File;->isFile()Z
2034 + if-eqz v8, :cond_3f
2036 + invoke-virtual {v1}, Landroid/privacy/PrivacyFileObserver;->startWatching()V
2039 + add-int/lit8 v3, v3, 0x1
2049 +.method public addObserver(Ljava/lang/String;)V
2052 + new-instance v2, Ljava/lang/StringBuilder;
2054 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
2056 + iget-object v3, p0, Landroid/privacy/PrivacyFileObserver;->absolutePath:Ljava/lang/String;
2058 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2060 + move-result-object v2
2062 + const-string v3, "/"
2064 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2066 + move-result-object v2
2068 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2070 + move-result-object v2
2072 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2074 + move-result-object v1
2076 + iget-object v2, p0, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap;
2078 + invoke-virtual {v2, v1}, Ljava/util/HashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
2080 + new-instance v0, Landroid/privacy/PrivacyFileObserver;
2082 + iget-object v2, p0, Landroid/privacy/PrivacyFileObserver;->pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
2084 + invoke-direct {v0, v1, v2}, Landroid/privacy/PrivacyFileObserver;-><init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
2086 + iget-object v2, p0, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap;
2088 + invoke-virtual {v2, v1, v0}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
2093 +.method public onEvent(ILjava/lang/String;)V
2096 + and-int/lit8 v4, p1, 0x1
2098 + if-eqz v4, :cond_34
2100 + new-instance v3, Ljava/util/StringTokenizer;
2102 + iget-object v4, p0, Landroid/privacy/PrivacyFileObserver;->absolutePath:Ljava/lang/String;
2104 + const-string v5, "/"
2106 + invoke-direct {v3, v4, v5}, Ljava/util/StringTokenizer;-><init>(Ljava/lang/String;Ljava/lang/String;)V
2113 + if-ge v0, v4, :cond_1d
2115 + invoke-virtual {v3}, Ljava/util/StringTokenizer;->hasMoreElements()Z
2119 + if-eqz v4, :cond_1d
2121 + invoke-virtual {v3}, Ljava/util/StringTokenizer;->nextToken()Ljava/lang/String;
2123 + add-int/lit8 v0, v0, 0x1
2128 + invoke-virtual {v3}, Ljava/util/StringTokenizer;->nextToken()Ljava/lang/String;
2130 + move-result-object v2
2132 + iget-object v4, p0, Landroid/privacy/PrivacyFileObserver;->pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
2134 + invoke-virtual {v4, v2}, Landroid/privacy/PrivacySettingsManagerService;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
2136 + move-result-object v1
2138 + iget-object v4, p0, Landroid/privacy/PrivacyFileObserver;->pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
2140 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getSystemLogsSetting()B
2144 + const-string/jumbo v6, "systemLogs"
2148 + invoke-virtual {v4, v2, v5, v6, v7}, Landroid/privacy/PrivacySettingsManagerService;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
2154 +.method public startWatching()V
2157 + invoke-super {p0}, Landroid/os/FileObserver;->startWatching()V
2161 diff -Npru stock-framework/smali/android/privacy/PrivacyPersistenceAdapter.smali pdroid-framework/smali/android/privacy/PrivacyPersistenceAdapter.smali
2162 --- stock-framework/smali/android/privacy/PrivacyPersistenceAdapter.smali 1969-12-31 18:00:00.000000000 -0600
2163 +++ pdroid-framework/smali/android/privacy/PrivacyPersistenceAdapter.smali 2012-11-02 22:30:28.539776149 -0500
2165 +.class public Landroid/privacy/PrivacyPersistenceAdapter;
2166 +.super Ljava/lang/Object;
2167 +.source "PrivacyPersistenceAdapter.java"
2171 +.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) );"
2173 +.field private static final CREATE_TABLE_MAP:Ljava/lang/String; = "CREATE TABLE IF NOT EXISTS map ( name TEXT PRIMARY KEY, value TEXT );"
2175 +.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);"
2177 +.field private static final DATABASE_FIELDS:[Ljava/lang/String; = null
2179 +.field private static final DATABASE_FILE:Ljava/lang/String; = "/data/system/privacy.db"
2181 +.field private static final DATABASE_VERSION:I = 0x3
2183 +.field public static final DUMMY_UID:I = -0x1
2185 +.field private static final INSERT_ENABLED:Ljava/lang/String; = "INSERT OR REPLACE INTO map (name, value) VALUES (\"enabled\", \"1\");"
2187 +.field private static final INSERT_NOTIFICATIONS_ENABLED:Ljava/lang/String; = "INSERT OR REPLACE INTO map (name, value) VALUES (\"notifications_enabled\", \"1\");"
2189 +.field private static final INSERT_VERSION:Ljava/lang/String; = "INSERT OR REPLACE INTO map (name, value) VALUES (\"db_version\", 3);"
2191 +.field private static final RETRY_QUERY_COUNT:I = 0x5
2193 +.field public static final SETTINGS_DIRECTORY:Ljava/lang/String; = "/data/system/privacy"
2195 +.field public static final SETTING_DB_VERSION:Ljava/lang/String; = "db_version"
2197 +.field public static final SETTING_ENABLED:Ljava/lang/String; = "enabled"
2199 +.field public static final SETTING_NOTIFICATIONS_ENABLED:Ljava/lang/String; = "notifications_enabled"
2201 +.field private static final TABLE_ALLOWED_CONTACTS:Ljava/lang/String; = "allowed_contacts"
2203 +.field private static final TABLE_MAP:Ljava/lang/String; = "map"
2205 +.field private static final TABLE_SETTINGS:Ljava/lang/String; = "settings"
2207 +.field private static final TABLE_VERSION:Ljava/lang/String; = "version"
2209 +.field private static final TAG:Ljava/lang/String; = "PrivacyPersistenceAdapter"
2211 +.field public static final VALUE_FALSE:Ljava/lang/String; = "0"
2213 +.field public static final VALUE_TRUE:Ljava/lang/String; = "1"
2215 +.field public static readingThreads:Ljava/lang/Integer;
2219 +.field private context:Landroid/content/Context;
2221 +.field private db:Landroid/database/sqlite/SQLiteDatabase;
2225 +.method static constructor <clinit>()V
2230 + invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
2232 + move-result-object v0
2234 + sput-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2238 + new-array v0, v0, [Ljava/lang/String;
2240 + const-string v1, "_id"
2242 + aput-object v1, v0, v2
2246 + const-string/jumbo v2, "packageName"
2248 + aput-object v2, v0, v1
2252 + const-string/jumbo v2, "uid"
2254 + aput-object v2, v0, v1
2258 + const-string v2, "deviceIdSetting"
2260 + aput-object v2, v0, v1
2264 + const-string v2, "deviceId"
2266 + aput-object v2, v0, v1
2270 + const-string v2, "line1NumberSetting"
2272 + aput-object v2, v0, v1
2276 + const-string v2, "line1Number"
2278 + aput-object v2, v0, v1
2282 + const-string v2, "locationGpsSetting"
2284 + aput-object v2, v0, v1
2288 + const-string v2, "locationGpsLat"
2290 + aput-object v2, v0, v1
2294 + const-string v2, "locationGpsLon"
2296 + aput-object v2, v0, v1
2300 + const-string v2, "locationNetworkSetting"
2302 + aput-object v2, v0, v1
2306 + const-string v2, "locationNetworkLat"
2308 + aput-object v2, v0, v1
2312 + const-string v2, "locationNetworkLon"
2314 + aput-object v2, v0, v1
2318 + const-string/jumbo v2, "networkInfoSetting"
2320 + aput-object v2, v0, v1
2324 + const-string/jumbo v2, "simInfoSetting"
2326 + aput-object v2, v0, v1
2330 + const-string/jumbo v2, "simSerialNumberSetting"
2332 + aput-object v2, v0, v1
2336 + const-string/jumbo v2, "simSerialNumber"
2338 + aput-object v2, v0, v1
2342 + const-string/jumbo v2, "subscriberIdSetting"
2344 + aput-object v2, v0, v1
2348 + const-string/jumbo v2, "subscriberId"
2350 + aput-object v2, v0, v1
2354 + const-string v2, "accountsSetting"
2356 + aput-object v2, v0, v1
2360 + const-string v2, "accountsAuthTokensSetting"
2362 + aput-object v2, v0, v1
2366 + const-string/jumbo v2, "outgoingCallsSetting"
2368 + aput-object v2, v0, v1
2372 + const-string v2, "incomingCallsSetting"
2374 + aput-object v2, v0, v1
2378 + const-string v2, "contactsSetting"
2380 + aput-object v2, v0, v1
2384 + const-string v2, "calendarSetting"
2386 + aput-object v2, v0, v1
2390 + const-string/jumbo v2, "mmsSetting"
2392 + aput-object v2, v0, v1
2396 + const-string/jumbo v2, "smsSetting"
2398 + aput-object v2, v0, v1
2402 + const-string v2, "callLogSetting"
2404 + aput-object v2, v0, v1
2408 + const-string v2, "bookmarksSetting"
2410 + aput-object v2, v0, v1
2414 + const-string/jumbo v2, "systemLogsSetting"
2416 + aput-object v2, v0, v1
2420 + const-string v2, "externalStorageSetting"
2422 + aput-object v2, v0, v1
2426 + const-string v2, "cameraSetting"
2428 + aput-object v2, v0, v1
2432 + const-string/jumbo v2, "recordAudioSetting"
2434 + aput-object v2, v0, v1
2438 + const-string/jumbo v2, "notificationSetting"
2440 + aput-object v2, v0, v1
2444 + const-string v2, "intentBootCompletedSetting"
2446 + aput-object v2, v0, v1
2448 + sput-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->DATABASE_FIELDS:[Ljava/lang/String;
2453 +.method public constructor <init>(Landroid/content/Context;)V
2456 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
2458 + iput-object p1, p0, Landroid/privacy/PrivacyPersistenceAdapter;->context:Landroid/content/Context;
2460 + new-instance v2, Ljava/io/File;
2462 + const-string v3, "/data/system/"
2464 + invoke-direct {v2, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
2466 + invoke-virtual {v2}, Ljava/io/File;->canWrite()Z
2470 + if-eqz v0, :cond_3c
2472 + new-instance v2, Ljava/io/File;
2474 + const-string v3, "/data/system/privacy.db"
2476 + invoke-direct {v2, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
2478 + invoke-virtual {v2}, Ljava/io/File;->exists()Z
2482 + if-nez v2, :cond_22
2484 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->createDatabase()V
2487 + new-instance v2, Ljava/io/File;
2489 + const-string v3, "/data/system/privacy"
2491 + invoke-direct {v2, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
2493 + invoke-virtual {v2}, Ljava/io/File;->exists()Z
2497 + if-nez v2, :cond_32
2499 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->createSettingsDir()V
2502 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getDbVersion()I
2508 + if-ge v1, v2, :cond_3c
2510 + invoke-direct {p0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->upgradeDatabase(I)V
2516 +.method private declared-synchronized createDatabase()V
2522 + const-string v2, "PrivacyPersistenceAdapter"
2524 + const-string v3, "createDatabase - creating privacy database file"
2526 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
2528 + .catchall {:try_start_1 .. :try_end_8} :catchall_4c
2531 + const-string v2, "/data/system/privacy.db"
2535 + const/high16 v4, 0x1000
2537 + invoke-static {v2, v3, v4}, Landroid/database/sqlite/SQLiteDatabase;->openDatabase(Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;I)Landroid/database/sqlite/SQLiteDatabase;
2539 + move-result-object v0
2541 + const-string v2, "PrivacyPersistenceAdapter"
2543 + const-string v3, "createDatabase - creating privacy database"
2545 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
2547 + 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);"
2549 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
2551 + const-string v2, "CREATE TABLE IF NOT EXISTS allowed_contacts ( settings_id, contact_id, PRIMARY KEY(settings_id, contact_id) );"
2553 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
2555 + const-string v2, "CREATE TABLE IF NOT EXISTS map ( name TEXT PRIMARY KEY, value TEXT );"
2557 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
2559 + const-string v2, "INSERT OR REPLACE INTO map (name, value) VALUES (\"db_version\", 3);"
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 (\"enabled\", \"1\");"
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 (\"notifications_enabled\", \"1\");"
2569 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
2571 + if-eqz v0, :cond_41
2573 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
2577 + if-eqz v2, :cond_41
2579 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
2581 + .catchall {:try_start_8 .. :try_end_41} :catchall_4c
2582 + .catch Landroid/database/SQLException; {:try_start_8 .. :try_end_41} :catch_43
2594 + const-string v2, "PrivacyPersistenceAdapter"
2596 + const-string v3, "createDatabase - failed to create privacy database"
2598 + invoke-static {v2, v3, v1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
2600 + .catchall {:try_start_44 .. :try_end_4b} :catchall_4c
2612 +.method private declared-synchronized createSettingsDir()V
2618 + new-instance v0, Ljava/io/File;
2620 + const-string v1, "/data/system/privacy/"
2622 + invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
2624 + invoke-virtual {v0}, Ljava/io/File;->mkdirs()Z
2630 + invoke-virtual {v0, v1, v2}, Ljava/io/File;->setReadable(ZZ)Z
2636 + invoke-virtual {v0, v1, v2}, Ljava/io/File;->setExecutable(ZZ)Z
2638 + .catchall {:try_start_1 .. :try_end_15} :catchall_17
2652 +.method private deleteRecursive(Ljava/io/File;)V
2655 + invoke-virtual {p1}, Ljava/io/File;->isDirectory()Z
2659 + if-eqz v4, :cond_16
2661 + invoke-virtual {p1}, Ljava/io/File;->listFiles()[Ljava/io/File;
2663 + move-result-object v0
2665 + array-length v3, v0
2670 + if-ge v2, v3, :cond_16
2672 + aget-object v1, v0, v2
2674 + invoke-direct {p0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteRecursive(Ljava/io/File;)V
2676 + add-int/lit8 v2, v2, 0x1
2681 + invoke-virtual {p1}, Ljava/io/File;->delete()Z
2686 +.method private getDbVersion()I
2693 + sget-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2695 + sget-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2697 + invoke-virtual {v6}, Ljava/lang/Integer;->intValue()I
2701 + add-int/lit8 v6, v6, 0x1
2703 + invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
2705 + move-result-object v6
2707 + sput-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2709 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
2711 + move-result-object v1
2714 + const-string v6, "SELECT name FROM sqlite_master WHERE type=\'table\' AND name=\'map\';"
2716 + invoke-direct {p0, v1, v6}, Landroid/privacy/PrivacyPersistenceAdapter;->rawQuery(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;)Landroid/database/Cursor;
2718 + move-result-object v0
2720 + if-eqz v0, :cond_5e
2722 + invoke-interface {v0}, Landroid/database/Cursor;->getCount()I
2726 + if-nez v6, :cond_25
2731 + invoke-interface {v0}, Landroid/database/Cursor;->close()V
2733 + sget-object v7, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2737 + .catch Ljava/lang/Exception; {:try_start_16 .. :try_end_2b} :catch_55
2740 + sget-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2742 + sget-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2744 + invoke-virtual {v6}, Ljava/lang/Integer;->intValue()I
2748 + add-int/lit8 v6, v6, -0x1
2750 + invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
2752 + move-result-object v6
2754 + sput-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2756 + sget-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2758 + invoke-virtual {v6}, Ljava/lang/Integer;->intValue()I
2762 + if-nez v6, :cond_4e
2764 + if-eqz v1, :cond_4e
2766 + invoke-virtual {v1}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
2770 + if-eqz v6, :cond_4e
2772 + invoke-virtual {v1}, Landroid/database/sqlite/SQLiteDatabase;->close()V
2778 + if-ne v3, v4, :cond_66
2788 + .catchall {:try_start_2b .. :try_end_54} :catchall_52
2793 + .catch Ljava/lang/Exception; {:try_start_54 .. :try_end_55} :catch_55
2798 + const-string v6, "PrivacyPersistenceAdapter"
2800 + const-string v7, "getDbVersion - failed to check if table map exists (exception)"
2802 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
2808 + const-string v6, "PrivacyPersistenceAdapter"
2810 + const-string v7, "getDbVersion - failed to check if table map exists (cursor is null)"
2812 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
2814 + .catch Ljava/lang/Exception; {:try_start_5e .. :try_end_65} :catch_55
2819 + const-string v6, "db_version"
2821 + invoke-virtual {p0, v6}, Landroid/privacy/PrivacyPersistenceAdapter;->getValue(Ljava/lang/String;)Ljava/lang/String;
2823 + move-result-object v5
2825 + if-nez v5, :cond_70
2833 + invoke-static {v5}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
2835 + .catch Ljava/lang/Exception; {:try_start_70 .. :try_end_73} :catch_76
2846 + const-string v6, "PrivacyPersistenceAdapter"
2848 + const-string v7, "getDbVersion - failed to parse database version; returning 1"
2850 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
2857 +.method private declared-synchronized getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
2863 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2865 + if-eqz v0, :cond_11
2867 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2869 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
2873 + if-eqz v0, :cond_11
2875 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2877 + .catchall {:try_start_1 .. :try_end_f} :catchall_1e
2886 + const-string v0, "/data/system/privacy.db"
2892 + invoke-static {v0, v1, v2}, Landroid/database/sqlite/SQLiteDatabase;->openDatabase(Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;I)Landroid/database/sqlite/SQLiteDatabase;
2894 + move-result-object v0
2896 + iput-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2898 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2900 + .catchall {:try_start_11 .. :try_end_1d} :catchall_1e
2912 +.method private declared-synchronized getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
2918 + new-instance v0, Ljava/io/File;
2920 + const-string v1, "/data/system/privacy.db"
2922 + invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
2924 + invoke-virtual {v0}, Ljava/io/File;->exists()Z
2928 + if-nez v0, :cond_11
2930 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->createDatabase()V
2933 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2935 + if-eqz v0, :cond_29
2937 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2939 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
2943 + if-eqz v0, :cond_29
2945 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2947 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isReadOnly()Z
2951 + if-nez v0, :cond_29
2953 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2955 + .catchall {:try_start_1 .. :try_end_27} :catchall_36
2964 + const-string v0, "/data/system/privacy.db"
2970 + invoke-static {v0, v1, v2}, Landroid/database/sqlite/SQLiteDatabase;->openDatabase(Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;I)Landroid/database/sqlite/SQLiteDatabase;
2972 + move-result-object v0
2974 + iput-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2976 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2978 + .catchall {:try_start_29 .. :try_end_35} :catchall_36
2990 +.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;
2992 + .annotation system Ldalvik/annotation/Throws;
2994 + Ljava/lang/Exception;
3005 + if-nez v3, :cond_27
3009 + if-ge v2, v4, :cond_27
3011 + if-eqz v0, :cond_d
3014 + invoke-interface {v0}, Landroid/database/Cursor;->close()V
3017 + 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;
3019 + .catch Ljava/lang/IllegalStateException; {:try_start_a .. :try_end_10} :catch_15
3021 + move-result-object v0
3026 + add-int/lit8 v2, v2, 0x1
3035 + if-eqz p1, :cond_22
3037 + invoke-virtual {p1}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3041 + if-eqz v4, :cond_22
3043 + invoke-virtual {p1}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3046 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
3048 + move-result-object p1
3053 + if-nez v3, :cond_32
3055 + new-instance v4, Ljava/lang/Exception;
3057 + const-string/jumbo v5, "query - failed to execute query on the DB"
3059 + invoke-direct {v4, v5}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
3067 +.method private rawQuery(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;)Landroid/database/Cursor;
3069 + .annotation system Ldalvik/annotation/Throws;
3071 + Ljava/lang/Exception;
3082 + if-nez v3, :cond_28
3086 + if-ge v2, v4, :cond_28
3088 + if-eqz v0, :cond_d
3091 + invoke-interface {v0}, Landroid/database/Cursor;->close()V
3096 + invoke-virtual {p1, p2, v4}, Landroid/database/sqlite/SQLiteDatabase;->rawQuery(Ljava/lang/String;[Ljava/lang/String;)Landroid/database/Cursor;
3098 + .catch Ljava/lang/IllegalStateException; {:try_start_a .. :try_end_11} :catch_16
3100 + move-result-object v0
3105 + add-int/lit8 v2, v2, 0x1
3114 + if-eqz p1, :cond_23
3116 + invoke-virtual {p1}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3120 + if-eqz v4, :cond_23
3122 + invoke-virtual {p1}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3125 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
3127 + move-result-object p1
3132 + if-nez v3, :cond_33
3134 + new-instance v4, Ljava/lang/Exception;
3136 + const-string/jumbo v5, "query - failed to execute query on the DB"
3138 + invoke-direct {v4, v5}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
3146 +.method private declared-synchronized upgradeDatabase(I)V
3152 + const-string v17, "PrivacyPersistenceAdapter"
3154 + new-instance v18, Ljava/lang/StringBuilder;
3156 + invoke-direct/range {v18 .. v18}, Ljava/lang/StringBuilder;-><init>()V
3158 + const-string/jumbo v19, "upgradeDatabase - upgrading DB from version "
3160 + invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3162 + move-result-object v18
3164 + move-object/from16 v0, v18
3166 + move/from16 v1, p1
3168 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
3170 + move-result-object v18
3172 + const-string v19, " to "
3174 + invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3176 + move-result-object v18
3180 + invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
3182 + move-result-object v18
3184 + invoke-virtual/range {v18 .. v18}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3186 + move-result-object v18
3188 + invoke-static/range {v17 .. v18}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
3190 + new-instance v6, Ljava/io/File;
3192 + const-string v17, "/data/system/privacy.db"
3194 + move-object/from16 v0, v17
3196 + invoke-direct {v6, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
3198 + new-instance v5, Ljava/io/File;
3200 + const-string v17, "/data/system/privacy.db.bak"
3202 + move-object/from16 v0, v17
3204 + invoke-direct {v5, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
3206 + .catchall {:try_start_1 .. :try_end_3c} :catchall_66
3209 + invoke-virtual {v5}, Ljava/io/File;->delete()Z
3211 + .catchall {:try_start_3c .. :try_end_3f} :catchall_66
3212 + .catch Ljava/lang/SecurityException; {:try_start_3c .. :try_end_3f} :catch_5c
3216 + invoke-static {v6, v5}, Landroid/os/FileUtils;->copyFile(Ljava/io/File;Ljava/io/File;)Z
3218 + invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
3220 + move-result-wide v17
3222 + invoke-virtual {v5}, Ljava/io/File;->lastModified()J
3224 + move-result-wide v19
3226 + sub-long v17, v17, v19
3228 + const-wide/16 v19, 0x7d0
3230 + cmp-long v17, v17, v19
3232 + if-lez v17, :cond_69
3234 + const-string v17, "PrivacyPersistenceAdapter"
3236 + const-string/jumbo v18, "upgradeDatabase - could not create a database backup, aborting..."
3238 + invoke-static/range {v17 .. v18}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
3240 + .catchall {:try_start_3f .. :try_end_5a} :catchall_66
3251 + const-string v17, "PrivacyPersistenceAdapter"
3253 + const-string/jumbo v18, "upgradeDatabase - could not remove old backup"
3255 + invoke-static/range {v17 .. v18}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
3257 + .catchall {:try_start_5d .. :try_end_65} :catchall_66
3262 + move-exception v17
3270 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
3272 + move-result-object v4
3274 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->beginTransaction()V
3276 + packed-switch p1, :pswitch_data_164
3280 + if-eqz v4, :cond_159
3282 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3286 + if-eqz v17, :cond_159
3288 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
3290 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3293 + invoke-virtual/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->purgeSettings()Z
3295 + .catchall {:try_start_69 .. :try_end_84} :catchall_66
3300 + if-eqz v4, :cond_73
3303 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3307 + if-eqz v17, :cond_73
3309 + const-string v17, "DROP TABLE IF EXISTS version;"
3311 + move-object/from16 v0, v17
3313 + invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
3315 + const-string v17, "CREATE TABLE IF NOT EXISTS allowed_contacts ( settings_id, contact_id, PRIMARY KEY(settings_id, contact_id) );"
3317 + move-object/from16 v0, v17
3319 + invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
3321 + const-string v17, "CREATE TABLE IF NOT EXISTS map ( name TEXT PRIMARY KEY, value TEXT );"
3323 + move-object/from16 v0, v17
3325 + invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
3327 + const-string v17, "INSERT OR REPLACE INTO map (name, value) VALUES (\"db_version\", 3);"
3329 + move-object/from16 v0, v17
3331 + invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
3333 + const-string v17, "INSERT OR REPLACE INTO map (name, value) VALUES (\"enabled\", \"1\");"
3335 + move-object/from16 v0, v17
3337 + invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
3339 + const-string v17, "INSERT OR REPLACE INTO map (name, value) VALUES (\"notifications_enabled\", \"1\");"
3341 + move-object/from16 v0, v17
3343 + invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
3345 + new-instance v14, Ljava/io/File;
3347 + const-string v17, "/data/system/privacy"
3349 + move-object/from16 v0, v17
3351 + invoke-direct {v14, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
3353 + invoke-virtual {v14}, Ljava/io/File;->listFiles()[Ljava/io/File;
3355 + move-result-object v2
3357 + array-length v10, v2
3364 + if-ge v9, v10, :cond_127
3366 + aget-object v13, v2, v9
3368 + invoke-virtual {v13}, Ljava/io/File;->listFiles()[Ljava/io/File;
3370 + move-result-object v3
3372 + array-length v11, v3
3377 + if-ge v8, v11, :cond_123
3379 + aget-object v16, v3, v8
3381 + invoke-virtual/range {v16 .. v16}, Ljava/io/File;->isDirectory()Z
3385 + if-eqz v17, :cond_120
3387 + invoke-virtual/range {v16 .. v16}, Ljava/io/File;->listFiles()[Ljava/io/File;
3389 + move-result-object v15
3393 + aget-object v17, v15, v17
3395 + if-eqz v17, :cond_120
3397 + new-instance v12, Ljava/io/File;
3399 + new-instance v17, Ljava/lang/StringBuilder;
3401 + invoke-direct/range {v17 .. v17}, Ljava/lang/StringBuilder;-><init>()V
3403 + move-object/from16 v0, v17
3405 + invoke-virtual {v0, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
3407 + move-result-object v17
3409 + const-string v18, "/"
3411 + invoke-virtual/range {v17 .. v18}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3413 + move-result-object v17
3417 + aget-object v18, v15, v18
3419 + invoke-virtual/range {v18 .. v18}, Ljava/io/File;->getName()Ljava/lang/String;
3421 + move-result-object v18
3423 + invoke-virtual/range {v17 .. v18}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3425 + move-result-object v17
3427 + invoke-virtual/range {v17 .. v17}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3429 + move-result-object v17
3431 + move-object/from16 v0, v17
3433 + invoke-direct {v12, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
3435 + invoke-virtual {v12}, Ljava/io/File;->delete()Z
3439 + aget-object v17, v15, v17
3441 + move-object/from16 v0, v17
3443 + invoke-virtual {v0, v12}, Ljava/io/File;->renameTo(Ljava/io/File;)Z
3445 + move-object/from16 v0, p0
3447 + move-object/from16 v1, v16
3449 + invoke-direct {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteRecursive(Ljava/io/File;)V
3452 + add-int/lit8 v8, v8, 0x1
3457 + add-int/lit8 v8, v9, 0x1
3464 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->setTransactionSuccessful()V
3466 + .catchall {:try_start_87 .. :try_end_12a} :catchall_66
3467 + .catch Ljava/lang/Exception; {:try_start_87 .. :try_end_12a} :catch_12c
3474 + if-eqz v4, :cond_13b
3477 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3481 + if-eqz v17, :cond_13b
3483 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
3485 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3488 + const-string v17, "PrivacyPersistenceAdapter"
3490 + const-string/jumbo v18, "upgradeDatabase - could not upgrade DB; will restore backup"
3492 + move-object/from16 v0, v17
3494 + move-object/from16 v1, v18
3496 + invoke-static {v0, v1, v7}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
3498 + invoke-static {v5, v6}, Landroid/os/FileUtils;->copyFile(Ljava/io/File;Ljava/io/File;)Z
3500 + invoke-virtual {v5}, Ljava/io/File;->delete()Z
3505 + const-string v17, "PrivacyPersistenceAdapter"
3507 + const-string/jumbo v18, "upgradeDatabase - trying to upgrade most current DB version"
3509 + invoke-static/range {v17 .. v18}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
3514 + const-string v17, "PrivacyPersistenceAdapter"
3516 + const-string/jumbo v18, "upgradeDatabase - database is null or closed; cant call endTransaction()"
3518 + invoke-static/range {v17 .. v18}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
3520 + .catchall {:try_start_12f .. :try_end_161} :catchall_66
3527 + .packed-switch 0x1
3531 + .end packed-switch
3536 +.method public declared-synchronized deleteSettings(Ljava/lang/String;)Z
3544 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
3546 + move-result-object v0
3548 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->beginTransaction()V
3550 + .catchall {:try_start_2 .. :try_end_9} :catchall_107
3553 + const-string/jumbo v1, "settings"
3557 + new-array v2, v2, [Ljava/lang/String;
3561 + const-string v4, "_id"
3563 + aput-object v4, v2, v3
3565 + const-string/jumbo v3, "packageName=?"
3569 + new-array v4, v4, [Ljava/lang/String;
3573 + aput-object p1, v4, v5
3581 + 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;
3583 + move-result-object v8
3585 + if-eqz v8, :cond_4c
3587 + invoke-interface {v8}, Landroid/database/Cursor;->getCount()I
3591 + if-lez v1, :cond_4c
3593 + invoke-interface {v8}, Landroid/database/Cursor;->moveToFirst()Z
3597 + if-eqz v1, :cond_4c
3601 + invoke-interface {v8, v1}, Landroid/database/Cursor;->getInt(I)I
3605 + const-string v1, "allowed_contacts"
3607 + const-string/jumbo v2, "settings_id=?"
3611 + new-array v3, v3, [Ljava/lang/String;
3615 + invoke-static {v10}, Ljava/lang/Integer;->toString(I)Ljava/lang/String;
3617 + move-result-object v5
3619 + aput-object v5, v3, v4
3621 + invoke-virtual {v0, v1, v2, v3}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
3623 + invoke-interface {v8}, Landroid/database/Cursor;->close()V
3626 + const-string/jumbo v1, "settings"
3628 + const-string/jumbo v2, "packageName=?"
3632 + new-array v3, v3, [Ljava/lang/String;
3636 + aput-object p1, v3, v4
3638 + invoke-virtual {v0, v1, v2, v3}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
3642 + if-nez v1, :cond_8d
3644 + const-string v1, "PrivacyPersistenceAdapter"
3646 + new-instance v2, Ljava/lang/StringBuilder;
3648 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
3650 + const-string v3, "deleteSettings - database entry for "
3652 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3654 + move-result-object v2
3656 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3658 + move-result-object v2
3660 + const-string v3, " not found"
3662 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3664 + move-result-object v2
3666 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3668 + move-result-object v2
3670 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
3672 + .catchall {:try_start_9 .. :try_end_7c} :catchall_10a
3673 + .catch Ljava/lang/Exception; {:try_start_9 .. :try_end_7c} :catch_ef
3678 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
3680 + if-eqz v0, :cond_8b
3682 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3686 + if-eqz v2, :cond_8b
3688 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3690 + .catchall {:try_start_7d .. :try_end_8b} :catchall_107
3700 + new-instance v12, Ljava/io/File;
3702 + new-instance v1, Ljava/lang/StringBuilder;
3704 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
3706 + const-string v2, "/data/system/privacy/"
3708 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3710 + move-result-object v1
3712 + invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3714 + move-result-object v1
3716 + const-string v2, "/"
3718 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3720 + move-result-object v1
3722 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3724 + move-result-object v1
3726 + invoke-direct {v12, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
3728 + new-instance v13, Ljava/io/File;
3730 + new-instance v1, Ljava/lang/StringBuilder;
3732 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
3734 + const-string v2, "/data/system/privacy/"
3736 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3738 + move-result-object v1
3740 + invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3742 + move-result-object v1
3744 + const-string v2, "/systemLogsSetting"
3746 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3748 + move-result-object v1
3750 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3752 + move-result-object v1
3754 + invoke-direct {v13, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
3756 + invoke-virtual {v13}, Ljava/io/File;->delete()Z
3758 + invoke-virtual {v12}, Ljava/io/File;->list()[Ljava/lang/String;
3760 + move-result-object v1
3762 + if-eqz v1, :cond_d9
3764 + invoke-virtual {v12}, Ljava/io/File;->list()[Ljava/lang/String;
3766 + move-result-object v1
3768 + array-length v1, v1
3770 + if-nez v1, :cond_dc
3773 + invoke-virtual {v12}, Ljava/io/File;->delete()Z
3776 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->setTransactionSuccessful()V
3778 + .catchall {:try_start_8d .. :try_end_df} :catchall_10a
3779 + .catch Ljava/lang/Exception; {:try_start_8d .. :try_end_df} :catch_ef
3782 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
3784 + if-eqz v0, :cond_ed
3786 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3790 + if-eqz v1, :cond_ed
3792 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3794 + .catchall {:try_start_df .. :try_end_ed} :catchall_107
3808 + const-string v1, "PrivacyPersistenceAdapter"
3810 + const-string v2, "deleteSettings - could not delete settings"
3812 + invoke-static {v1, v2, v9}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
3814 + .catchall {:try_start_f1 .. :try_end_f8} :catchall_10a
3817 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
3819 + if-eqz v0, :cond_ed
3821 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3825 + if-eqz v1, :cond_ed
3827 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3829 + .catchall {:try_start_f8 .. :try_end_106} :catchall_107
3844 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
3846 + if-eqz v0, :cond_119
3848 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3852 + if-eqz v2, :cond_119
3854 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3859 + .catchall {:try_start_10b .. :try_end_11a} :catchall_107
3862 +.method public declared-synchronized getSettings(Ljava/lang/String;Z)Landroid/privacy/PrivacySettings;
3869 + if-nez p1, :cond_10
3872 + const-string v1, "PrivacyPersistenceAdapter"
3874 + const-string v4, "getSettings - insufficient application identifier - package name is required"
3876 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
3878 + .catchall {:try_start_5 .. :try_end_c} :catchall_2d8
3880 + move-object/from16 v3, v43
3889 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
3891 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
3893 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
3897 + add-int/lit8 v1, v1, 0x1
3899 + invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
3901 + move-result-object v1
3903 + sput-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
3905 + .catchall {:try_start_10 .. :try_end_20} :catchall_2d8
3908 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
3910 + .catchall {:try_start_20 .. :try_end_23} :catchall_2d8
3911 + .catch Landroid/database/sqlite/SQLiteException; {:try_start_20 .. :try_end_23} :catch_245
3913 + move-result-object v2
3918 + const-string/jumbo v3, "settings"
3920 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->DATABASE_FIELDS:[Ljava/lang/String;
3922 + const-string/jumbo v5, "packageName=?"
3926 + new-array v6, v1, [Ljava/lang/String;
3930 + aput-object p1, v6, v1
3940 + move-object/from16 v1, p0
3942 + 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;
3944 + move-result-object v41
3946 + if-eqz v41, :cond_2dc
3948 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->moveToFirst()Z
3952 + if-eqz v1, :cond_2dc
3954 + new-instance v3, Landroid/privacy/PrivacySettings;
3958 + move-object/from16 v0, v41
3960 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getInt(I)I
3964 + invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
3966 + move-result-object v4
3970 + move-object/from16 v0, v41
3972 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
3974 + move-result-object v5
3978 + move-object/from16 v0, v41
3980 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getInt(I)I
3986 + move-object/from16 v0, v41
3988 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3992 + int-to-byte v7, v1
3996 + move-object/from16 v0, v41
3998 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
4000 + move-result-object v8
4004 + move-object/from16 v0, v41
4006 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4010 + int-to-byte v9, v1
4014 + move-object/from16 v0, v41
4016 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
4018 + move-result-object v10
4022 + move-object/from16 v0, v41
4024 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4028 + int-to-byte v11, v1
4032 + move-object/from16 v0, v41
4034 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
4036 + move-result-object v12
4040 + move-object/from16 v0, v41
4042 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
4044 + move-result-object v13
4048 + move-object/from16 v0, v41
4050 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4054 + int-to-byte v14, v1
4058 + move-object/from16 v0, v41
4060 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
4062 + move-result-object v15
4066 + move-object/from16 v0, v41
4068 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
4070 + move-result-object v16
4074 + move-object/from16 v0, v41
4076 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4080 + int-to-byte v0, v1
4082 + move/from16 v17, v0
4086 + move-object/from16 v0, v41
4088 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4092 + int-to-byte v0, v1
4094 + move/from16 v18, v0
4098 + move-object/from16 v0, v41
4100 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4104 + int-to-byte v0, v1
4106 + move/from16 v19, v0
4110 + move-object/from16 v0, v41
4112 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
4114 + move-result-object v20
4118 + move-object/from16 v0, v41
4120 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4124 + int-to-byte v0, v1
4126 + move/from16 v21, v0
4130 + move-object/from16 v0, v41
4132 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
4134 + move-result-object v22
4138 + move-object/from16 v0, v41
4140 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4144 + int-to-byte v0, v1
4146 + move/from16 v23, v0
4150 + move-object/from16 v0, v41
4152 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4156 + int-to-byte v0, v1
4158 + move/from16 v24, v0
4162 + move-object/from16 v0, v41
4164 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4168 + int-to-byte v0, v1
4170 + move/from16 v25, v0
4174 + move-object/from16 v0, v41
4176 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4180 + int-to-byte v0, v1
4182 + move/from16 v26, v0
4186 + move-object/from16 v0, v41
4188 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4192 + int-to-byte v0, v1
4194 + move/from16 v27, v0
4198 + move-object/from16 v0, v41
4200 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4204 + int-to-byte v0, v1
4206 + move/from16 v28, v0
4210 + move-object/from16 v0, v41
4212 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4216 + int-to-byte v0, v1
4218 + move/from16 v29, v0
4222 + move-object/from16 v0, v41
4224 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4228 + int-to-byte v0, v1
4230 + move/from16 v30, v0
4234 + move-object/from16 v0, v41
4236 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4240 + int-to-byte v0, v1
4242 + move/from16 v31, v0
4246 + move-object/from16 v0, v41
4248 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4252 + int-to-byte v0, v1
4254 + move/from16 v32, v0
4258 + move-object/from16 v0, v41
4260 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4264 + int-to-byte v0, v1
4266 + move/from16 v33, v0
4270 + move-object/from16 v0, v41
4272 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4276 + int-to-byte v0, v1
4278 + move/from16 v34, v0
4282 + move-object/from16 v0, v41
4284 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4288 + int-to-byte v0, v1
4290 + move/from16 v35, v0
4294 + move-object/from16 v0, v41
4296 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4300 + int-to-byte v0, v1
4302 + move/from16 v36, v0
4306 + move-object/from16 v0, v41
4308 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4312 + int-to-byte v0, v1
4314 + move/from16 v37, v0
4318 + move-object/from16 v0, v41
4320 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4324 + int-to-byte v0, v1
4326 + move/from16 v38, v0
4330 + 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
4332 + .catchall {:try_start_26 .. :try_end_1a1} :catchall_29b
4333 + .catch Ljava/lang/Exception; {:try_start_26 .. :try_end_1a1} :catch_2d3
4336 + new-instance v1, Ljava/lang/StringBuilder;
4338 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
4340 + const-string v4, "SELECT * FROM allowed_contacts WHERE settings_id="
4342 + invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4344 + move-result-object v1
4346 + invoke-virtual {v3}, Landroid/privacy/PrivacySettings;->get_id()Ljava/lang/Integer;
4348 + move-result-object v4
4350 + invoke-virtual {v4}, Ljava/lang/Integer;->intValue()I
4354 + invoke-static {v4}, Ljava/lang/Integer;->toString(I)Ljava/lang/String;
4356 + move-result-object v4
4358 + invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4360 + move-result-object v1
4362 + const-string v4, ";"
4364 + invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4366 + move-result-object v1
4368 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4370 + move-result-object v1
4372 + move-object/from16 v0, p0
4374 + invoke-direct {v0, v2, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->rawQuery(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;)Landroid/database/Cursor;
4376 + move-result-object v41
4378 + if-eqz v41, :cond_268
4380 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->getCount()I
4384 + if-lez v1, :cond_268
4386 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->getCount()I
4390 + new-array v0, v1, [I
4392 + move-object/from16 v40, v0
4395 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->moveToNext()Z
4399 + if-eqz v1, :cond_263
4401 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->getPosition()I
4407 + move-object/from16 v0, v41
4409 + invoke-interface {v0, v4}, Landroid/database/Cursor;->getInt(I)I
4415 + .catchall {:try_start_1a1 .. :try_end_1ef} :catchall_2d1
4416 + .catch Ljava/lang/Exception; {:try_start_1a1 .. :try_end_1ef} :catch_1f0
4421 + move-exception v42
4425 + const-string v1, "PrivacyPersistenceAdapter"
4427 + new-instance v4, Ljava/lang/StringBuilder;
4429 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
4431 + const-string v5, "getSettings - failed to get settings for package: "
4433 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4435 + move-result-object v4
4437 + move-object/from16 v0, p1
4439 + invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4441 + move-result-object v4
4443 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4445 + move-result-object v4
4447 + move-object/from16 v0, v42
4449 + invoke-static {v1, v4, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
4451 + invoke-virtual/range {v42 .. v42}, Ljava/lang/Exception;->printStackTrace()V
4453 + if-eqz v41, :cond_215
4455 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->close()V
4457 + .catchall {:try_start_1f1 .. :try_end_215} :catchall_2d1
4460 + if-eqz v41, :cond_21a
4463 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->close()V
4466 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4470 + .catchall {:try_start_217 .. :try_end_21d} :catchall_298
4473 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4475 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4477 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
4481 + add-int/lit8 v1, v1, -0x1
4483 + invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4485 + move-result-object v1
4487 + sput-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4489 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4491 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
4495 + if-nez v1, :cond_240
4497 + if-eqz v2, :cond_240
4499 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
4503 + if-eqz v1, :cond_240
4505 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
4510 + .catchall {:try_start_21d .. :try_end_241} :catchall_2ce
4513 + move-object/from16 v43, v3
4518 + move-exception v42
4521 + const-string v1, "PrivacyPersistenceAdapter"
4523 + const-string v4, "getSettings - database could not be opened"
4525 + move-object/from16 v0, v42
4527 + invoke-static {v1, v4, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
4529 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4531 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4533 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
4537 + add-int/lit8 v1, v1, -0x1
4539 + invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4541 + move-result-object v1
4543 + sput-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4545 + .catchall {:try_start_246 .. :try_end_25f} :catchall_2d8
4547 + move-object/from16 v3, v43
4553 + move-object/from16 v0, v40
4555 + invoke-virtual {v3, v0}, Landroid/privacy/PrivacySettings;->setAllowedContacts([I)V
4557 + .catchall {:try_start_263 .. :try_end_268} :catchall_2d1
4558 + .catch Ljava/lang/Exception; {:try_start_263 .. :try_end_268} :catch_1f0
4562 + if-eqz v41, :cond_26d
4565 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->close()V
4568 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4572 + .catchall {:try_start_26a .. :try_end_270} :catchall_298
4575 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4577 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4579 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
4583 + add-int/lit8 v1, v1, -0x1
4585 + invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4587 + move-result-object v1
4589 + sput-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4591 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4593 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
4597 + if-nez v1, :cond_293
4599 + if-eqz v2, :cond_293
4601 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
4605 + if-eqz v1, :cond_293
4607 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
4619 + .catchall {:try_start_270 .. :try_end_297} :catchall_295
4624 + .catchall {:try_start_297 .. :try_end_298} :catchall_298
4637 + move-object/from16 v3, v43
4640 + if-eqz v41, :cond_2a3
4643 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->close()V
4646 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4650 + .catchall {:try_start_2a0 .. :try_end_2a6} :catchall_298
4653 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4655 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4657 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
4661 + add-int/lit8 v5, v5, -0x1
4663 + invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4665 + move-result-object v5
4667 + sput-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4669 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4671 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
4675 + if-nez v5, :cond_2c9
4677 + if-eqz v2, :cond_2c9
4679 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
4683 + if-eqz v5, :cond_2c9
4685 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
4690 + .catchall {:try_start_2a6 .. :try_end_2ca} :catchall_2cb
4695 + .catchall {:try_start_2ca .. :try_end_2cb} :catchall_298
4703 + .catchall {:try_start_2cc .. :try_end_2cd} :catchall_2cb
4708 + .catchall {:try_start_2cd .. :try_end_2ce} :catchall_298
4716 + .catchall {:try_start_2cf .. :try_end_2d0} :catchall_2ce
4721 + .catchall {:try_start_2d0 .. :try_end_2d1} :catchall_298
4729 + move-exception v42
4731 + move-object/from16 v3, v43
4738 + move-object/from16 v3, v43
4743 + move-object/from16 v3, v43
4748 +.method public getValue(Ljava/lang/String;)Ljava/lang/String;
4751 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4753 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4755 + invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
4759 + add-int/lit8 v0, v0, 0x1
4761 + invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4763 + move-result-object v0
4765 + sput-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4767 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
4769 + move-result-object v1
4774 + const-string/jumbo v2, "map"
4778 + new-array v3, v0, [Ljava/lang/String;
4782 + const-string/jumbo v4, "value"
4784 + aput-object v4, v3, v0
4786 + const-string/jumbo v4, "name=?"
4790 + new-array v5, v0, [Ljava/lang/String;
4794 + aput-object p1, v5, v0
4804 + move-object v0, p0
4806 + 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;
4808 + move-result-object v10
4810 + if-eqz v10, :cond_77
4812 + invoke-interface {v10}, Landroid/database/Cursor;->getCount()I
4816 + if-lez v0, :cond_77
4818 + invoke-interface {v10}, Landroid/database/Cursor;->moveToFirst()Z
4822 + if-eqz v0, :cond_77
4824 + const-string/jumbo v0, "value"
4826 + invoke-interface {v10, v0}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
4830 + invoke-interface {v10, v0}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
4832 + move-result-object v12
4834 + invoke-interface {v10}, Landroid/database/Cursor;->close()V
4836 + .catch Ljava/lang/Exception; {:try_start_15 .. :try_end_4f} :catch_90
4839 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4844 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4846 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4848 + invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
4852 + add-int/lit8 v0, v0, -0x1
4854 + invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4856 + move-result-object v0
4858 + sput-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4860 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4862 + invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
4866 + if-nez v0, :cond_75
4868 + if-eqz v1, :cond_75
4870 + invoke-virtual {v1}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
4874 + if-eqz v0, :cond_75
4876 + invoke-virtual {v1}, Landroid/database/sqlite/SQLiteDatabase;->close()V
4881 + .catchall {:try_start_52 .. :try_end_76} :catchall_aa
4887 + const-string v0, "PrivacyPersistenceAdapter"
4889 + new-instance v2, Ljava/lang/StringBuilder;
4891 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
4893 + const-string v3, "getValue - could not get value for name: "
4895 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4897 + move-result-object v2
4899 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4901 + move-result-object v2
4903 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4905 + move-result-object v2
4907 + invoke-static {v0, v2}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
4909 + .catch Ljava/lang/Exception; {:try_start_77 .. :try_end_8f} :catch_90
4914 + move-exception v11
4916 + const-string v0, "PrivacyPersistenceAdapter"
4918 + new-instance v2, Ljava/lang/StringBuilder;
4920 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
4922 + const-string v3, "getValue - could not get value for name: "
4924 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4926 + move-result-object v2
4928 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4930 + move-result-object v2
4932 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4934 + move-result-object v2
4936 + invoke-static {v0, v2, v11}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
4946 + .catchall {:try_start_ab .. :try_end_ac} :catchall_aa
4951 +.method public purgeSettings()Z
4956 + new-instance v13, Ljava/util/ArrayList;
4958 + invoke-direct {v13}, Ljava/util/ArrayList;-><init>()V
4960 + move-object/from16 v0, p0
4962 + iget-object v2, v0, Landroid/privacy/PrivacyPersistenceAdapter;->context:Landroid/content/Context;
4964 + invoke-virtual {v2}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
4966 + move-result-object v21
4970 + move-object/from16 v0, v21
4972 + invoke-virtual {v0, v2}, Landroid/content/pm/PackageManager;->getInstalledApplications(I)Ljava/util/List;
4974 + move-result-object v19
4976 + invoke-interface/range {v19 .. v19}, Ljava/util/List;->iterator()Ljava/util/Iterator;
4978 + move-result-object v18
4981 + invoke-interface/range {v18 .. v18}, Ljava/util/Iterator;->hasNext()Z
4985 + if-eqz v2, :cond_2d
4987 + invoke-interface/range {v18 .. v18}, Ljava/util/Iterator;->next()Ljava/lang/Object;
4989 + move-result-object v12
4991 + check-cast v12, Landroid/content/pm/ApplicationInfo;
4993 + iget-object v2, v12, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
4995 + invoke-interface {v13, v2}, Ljava/util/List;->add(Ljava/lang/Object;)Z
5000 + new-instance v26, Ljava/io/File;
5002 + const-string v2, "/data/system/privacy"
5004 + move-object/from16 v0, v26
5006 + invoke-direct {v0, v2}, Ljava/io/File;-><init>(Ljava/lang/String;)V
5008 + invoke-virtual/range {v26 .. v26}, Ljava/io/File;->listFiles()[Ljava/io/File;
5010 + move-result-object v15
5012 + array-length v0, v15
5014 + move/from16 v20, v0
5019 + move/from16 v0, v18
5021 + move/from16 v1, v20
5023 + if-ge v0, v1, :cond_5d
5025 + aget-object v23, v15, v18
5027 + invoke-virtual/range {v23 .. v23}, Ljava/io/File;->getName()Ljava/lang/String;
5029 + move-result-object v24
5031 + move-object/from16 v0, v24
5033 + invoke-interface {v13, v0}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
5037 + if-nez v2, :cond_5a
5039 + move-object/from16 v0, p0
5041 + move-object/from16 v1, v23
5043 + invoke-direct {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteRecursive(Ljava/io/File;)V
5046 + add-int/lit8 v18, v18, 0x1
5051 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5053 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5055 + invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
5059 + add-int/lit8 v2, v2, 0x1
5061 + invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5063 + move-result-object v2
5065 + sput-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5067 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
5069 + move-result-object v3
5074 + const-string/jumbo v4, "settings"
5078 + new-array v5, v2, [Ljava/lang/String;
5082 + const-string/jumbo v6, "packageName"
5084 + aput-object v6, v5, v2
5098 + move-object/from16 v2, p0
5100 + 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;
5102 + move-result-object v16
5104 + new-instance v14, Ljava/util/ArrayList;
5106 + invoke-direct {v14}, Ljava/util/ArrayList;-><init>()V
5109 + invoke-interface/range {v16 .. v16}, Landroid/database/Cursor;->moveToNext()Z
5113 + if-eqz v2, :cond_142
5117 + move-object/from16 v0, v16
5119 + invoke-interface {v0, v2}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
5121 + move-result-object v24
5123 + move-object/from16 v0, v24
5125 + invoke-interface {v13, v0}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
5129 + if-nez v2, :cond_e7
5131 + move-object/from16 v0, p0
5133 + move-object/from16 v1, v24
5135 + invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteSettings(Ljava/lang/String;)Z
5137 + .catchall {:try_start_73 .. :try_end_ac} :catchall_107
5138 + .catch Ljava/lang/Exception; {:try_start_73 .. :try_end_ac} :catch_ad
5143 + move-exception v17
5146 + const-string v2, "PrivacyPersistenceAdapter"
5148 + const-string/jumbo v4, "purgeSettings - purging DB failed"
5150 + move-object/from16 v0, v17
5152 + invoke-static {v2, v4, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
5154 + .catchall {:try_start_ae .. :try_end_b8} :catchall_107
5158 + if-eqz v16, :cond_bf
5160 + invoke-interface/range {v16 .. v16}, Landroid/database/Cursor;->close()V
5163 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5168 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5170 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5172 + invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
5176 + add-int/lit8 v2, v2, -0x1
5178 + invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5180 + move-result-object v2
5182 + sput-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5184 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5186 + invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
5190 + if-nez v2, :cond_e5
5192 + if-eqz v3, :cond_e5
5194 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
5198 + if-eqz v2, :cond_e5
5200 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->close()V
5205 + .catchall {:try_start_c2 .. :try_end_e6} :catchall_13f
5212 + move-object/from16 v0, v24
5214 + invoke-interface {v14, v0}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
5218 + if-eqz v2, :cond_135
5222 + move-object/from16 v0, p0
5224 + move-object/from16 v1, v24
5226 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacyPersistenceAdapter;->getSettings(Ljava/lang/String;Z)Landroid/privacy/PrivacySettings;
5228 + move-result-object v22
5230 + move-object/from16 v0, p0
5232 + move-object/from16 v1, v24
5234 + invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteSettings(Ljava/lang/String;)Z
5236 + move-object/from16 v0, p0
5238 + move-object/from16 v1, v22
5240 + invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->saveSettings(Landroid/privacy/PrivacySettings;)Z
5242 + .catchall {:try_start_e7 .. :try_end_106} :catchall_107
5243 + .catch Ljava/lang/Exception; {:try_start_e7 .. :try_end_106} :catch_ad
5250 + if-eqz v16, :cond_10d
5252 + invoke-interface/range {v16 .. v16}, Landroid/database/Cursor;->close()V
5255 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5260 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5262 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5264 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
5268 + add-int/lit8 v5, v5, -0x1
5270 + invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5272 + move-result-object v5
5274 + sput-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5276 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5278 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
5282 + if-nez v5, :cond_133
5284 + if-eqz v3, :cond_133
5286 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
5290 + if-eqz v5, :cond_133
5292 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->close()V
5297 + .catchall {:try_start_110 .. :try_end_134} :catchall_13c
5303 + move-object/from16 v0, v24
5305 + invoke-interface {v14, v0}, Ljava/util/List;->add(Ljava/lang/Object;)Z
5307 + .catchall {:try_start_135 .. :try_end_13a} :catchall_107
5308 + .catch Ljava/lang/Exception; {:try_start_135 .. :try_end_13a} :catch_ad
5318 + .catchall {:try_start_13d .. :try_end_13e} :catchall_13c
5328 + .catchall {:try_start_140 .. :try_end_141} :catchall_13f
5333 + if-eqz v16, :cond_147
5335 + invoke-interface/range {v16 .. v16}, Landroid/database/Cursor;->close()V
5338 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5343 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5345 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5347 + invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
5351 + add-int/lit8 v2, v2, -0x1
5353 + invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5355 + move-result-object v2
5357 + sput-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5359 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5361 + invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
5365 + if-nez v2, :cond_16d
5367 + if-eqz v3, :cond_16d
5369 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
5373 + if-eqz v2, :cond_16d
5375 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->close()V
5387 + .catchall {:try_start_14a .. :try_end_172} :catchall_170
5392 +.method public declared-synchronized saveSettings(Landroid/privacy/PrivacySettings;)Z
5400 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getPackageName()Ljava/lang/String;
5402 + move-result-object v17
5404 + if-eqz v17, :cond_f
5406 + invoke-virtual/range {v17 .. v17}, Ljava/lang/String;->isEmpty()Z
5410 + if-eqz v3, :cond_1a
5413 + const-string v3, "PrivacyPersistenceAdapter"
5415 + const-string/jumbo v4, "saveSettings - either package name, UID or both is missing"
5417 + invoke-static {v3, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
5419 + .catchall {:try_start_3 .. :try_end_17} :catchall_2c2
5430 + new-instance v23, Landroid/content/ContentValues;
5432 + invoke-direct/range {v23 .. v23}, Landroid/content/ContentValues;-><init>()V
5434 + const-string/jumbo v3, "packageName"
5436 + move-object/from16 v0, v23
5438 + move-object/from16 v1, v17
5440 + invoke-virtual {v0, v3, v1}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5442 + const-string/jumbo v3, "uid"
5446 + invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5448 + move-result-object v4
5450 + move-object/from16 v0, v23
5452 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
5454 + const-string v3, "deviceIdSetting"
5456 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
5460 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5462 + move-result-object v4
5464 + move-object/from16 v0, v23
5466 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5468 + const-string v3, "deviceId"
5470 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getDeviceId()Ljava/lang/String;
5472 + move-result-object v4
5474 + move-object/from16 v0, v23
5476 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5478 + const-string v3, "line1NumberSetting"
5480 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
5484 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5486 + move-result-object v4
5488 + move-object/from16 v0, v23
5490 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5492 + const-string v3, "line1Number"
5494 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLine1Number()Ljava/lang/String;
5496 + move-result-object v4
5498 + move-object/from16 v0, v23
5500 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5502 + const-string v3, "locationGpsSetting"
5504 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
5508 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5510 + move-result-object v4
5512 + move-object/from16 v0, v23
5514 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5516 + const-string v3, "locationGpsLat"
5518 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
5520 + move-result-object v4
5522 + move-object/from16 v0, v23
5524 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5526 + const-string v3, "locationGpsLon"
5528 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
5530 + move-result-object v4
5532 + move-object/from16 v0, v23
5534 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5536 + const-string v3, "locationNetworkSetting"
5538 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
5542 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5544 + move-result-object v4
5546 + move-object/from16 v0, v23
5548 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5550 + const-string v3, "locationNetworkLat"
5552 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
5554 + move-result-object v4
5556 + move-object/from16 v0, v23
5558 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5560 + const-string v3, "locationNetworkLon"
5562 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
5564 + move-result-object v4
5566 + move-object/from16 v0, v23
5568 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5570 + const-string/jumbo v3, "networkInfoSetting"
5572 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
5576 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5578 + move-result-object v4
5580 + move-object/from16 v0, v23
5582 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5584 + const-string/jumbo v3, "simInfoSetting"
5586 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSimInfoSetting()B
5590 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5592 + move-result-object v4
5594 + move-object/from16 v0, v23
5596 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5598 + const-string/jumbo v3, "simSerialNumberSetting"
5600 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSimSerialNumberSetting()B
5604 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5606 + move-result-object v4
5608 + move-object/from16 v0, v23
5610 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5612 + const-string/jumbo v3, "simSerialNumber"
5614 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSimSerialNumber()Ljava/lang/String;
5616 + move-result-object v4
5618 + move-object/from16 v0, v23
5620 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5622 + const-string/jumbo v3, "subscriberIdSetting"
5624 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSubscriberIdSetting()B
5628 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5630 + move-result-object v4
5632 + move-object/from16 v0, v23
5634 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5636 + const-string/jumbo v3, "subscriberId"
5638 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSubscriberId()Ljava/lang/String;
5640 + move-result-object v4
5642 + move-object/from16 v0, v23
5644 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5646 + const-string v3, "accountsSetting"
5648 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
5652 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5654 + move-result-object v4
5656 + move-object/from16 v0, v23
5658 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5660 + const-string v3, "accountsAuthTokensSetting"
5662 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
5666 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5668 + move-result-object v4
5670 + move-object/from16 v0, v23
5672 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5674 + const-string/jumbo v3, "outgoingCallsSetting"
5676 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getOutgoingCallsSetting()B
5680 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5682 + move-result-object v4
5684 + move-object/from16 v0, v23
5686 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5688 + const-string v3, "incomingCallsSetting"
5690 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getIncomingCallsSetting()B
5694 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5696 + move-result-object v4
5698 + move-object/from16 v0, v23
5700 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5702 + const-string v3, "contactsSetting"
5704 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getContactsSetting()B
5708 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5710 + move-result-object v4
5712 + move-object/from16 v0, v23
5714 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5716 + const-string v3, "calendarSetting"
5718 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getCalendarSetting()B
5722 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5724 + move-result-object v4
5726 + move-object/from16 v0, v23
5728 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5730 + const-string/jumbo v3, "mmsSetting"
5732 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getMmsSetting()B
5736 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5738 + move-result-object v4
5740 + move-object/from16 v0, v23
5742 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5744 + const-string/jumbo v3, "smsSetting"
5746 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSmsSetting()B
5750 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5752 + move-result-object v4
5754 + move-object/from16 v0, v23
5756 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5758 + const-string v3, "callLogSetting"
5760 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getCallLogSetting()B
5764 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5766 + move-result-object v4
5768 + move-object/from16 v0, v23
5770 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5772 + const-string v3, "bookmarksSetting"
5774 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getBookmarksSetting()B
5778 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5780 + move-result-object v4
5782 + move-object/from16 v0, v23
5784 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5786 + const-string/jumbo v3, "systemLogsSetting"
5788 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSystemLogsSetting()B
5792 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5794 + move-result-object v4
5796 + move-object/from16 v0, v23
5798 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5800 + const-string/jumbo v3, "notificationSetting"
5802 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getNotificationSetting()B
5806 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5808 + move-result-object v4
5810 + move-object/from16 v0, v23
5812 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5814 + const-string v3, "intentBootCompletedSetting"
5816 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getIntentBootCompletedSetting()B
5820 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5822 + move-result-object v4
5824 + move-object/from16 v0, v23
5826 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5828 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5830 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5832 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
5836 + add-int/lit8 v3, v3, 0x1
5838 + invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5840 + move-result-object v3
5842 + sput-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5844 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
5846 + move-result-object v2
5848 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->beginTransaction()V
5850 + .catchall {:try_start_1a .. :try_end_1eb} :catchall_2c2
5855 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->get_id()Ljava/lang/Integer;
5857 + move-result-object v15
5859 + if-eqz v15, :cond_2c8
5861 + const-string/jumbo v3, "settings"
5863 + const-string v4, "_id=?"
5867 + new-array v5, v5, [Ljava/lang/String;
5871 + invoke-virtual {v15}, Ljava/lang/Integer;->toString()Ljava/lang/String;
5873 + move-result-object v7
5875 + aput-object v7, v5, v6
5877 + move-object/from16 v0, v23
5879 + 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
5885 + if-ge v3, v4, :cond_249
5887 + new-instance v3, Ljava/lang/Exception;
5889 + const-string/jumbo v4, "saveSettings - failed to update database entry"
5891 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
5895 + .catchall {:try_start_1ec .. :try_end_213} :catchall_291
5896 + .catch Ljava/lang/Exception; {:try_start_1ec .. :try_end_213} :catch_213
5899 + move-exception v13
5904 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
5906 + if-eqz v11, :cond_21e
5908 + invoke-interface {v11}, Landroid/database/Cursor;->close()V
5911 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5915 + .catchall {:try_start_216 .. :try_end_221} :catchall_2c2
5918 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5920 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5922 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
5926 + add-int/lit8 v3, v3, -0x1
5928 + invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5930 + move-result-object v3
5932 + sput-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5934 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5936 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
5940 + if-nez v3, :cond_244
5942 + if-eqz v2, :cond_244
5944 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
5948 + if-eqz v3, :cond_244
5950 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
5955 + .catchall {:try_start_221 .. :try_end_245} :catchall_4ca
5958 + move/from16 v3, v18
5964 + const-string v3, "allowed_contacts"
5966 + const-string/jumbo v4, "settings_id=?"
5970 + new-array v5, v5, [Ljava/lang/String;
5974 + invoke-virtual {v15}, Ljava/lang/Integer;->toString()Ljava/lang/String;
5976 + move-result-object v7
5978 + aput-object v7, v5, v6
5980 + invoke-virtual {v2, v3, v4, v5}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
5982 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAllowedContacts()[I
5984 + move-result-object v10
5986 + if-eqz v10, :cond_3f2
5988 + new-instance v12, Landroid/content/ContentValues;
5990 + invoke-direct {v12}, Landroid/content/ContentValues;-><init>()V
5995 + array-length v3, v10
5997 + if-ge v14, v3, :cond_3f2
5999 + const-string/jumbo v3, "settings_id"
6001 + invoke-virtual {v12, v3, v15}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
6003 + const-string v3, "contact_id"
6007 + invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
6009 + move-result-object v4
6011 + invoke-virtual {v12, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
6013 + const-string v3, "allowed_contacts"
6017 + invoke-virtual {v2, v3, v4, v12}, Landroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
6019 + move-result-wide v3
6021 + const-wide/16 v5, -0x1
6023 + cmp-long v3, v3, v5
6025 + if-nez v3, :cond_2c5
6027 + new-instance v3, Ljava/lang/Exception;
6029 + const-string/jumbo v4, "saveSettings - failed to update database entry (contacts)"
6031 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
6035 + .catchall {:try_start_249 .. :try_end_291} :catchall_291
6036 + .catch Ljava/lang/Exception; {:try_start_249 .. :try_end_291} :catch_213
6042 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
6044 + if-eqz v11, :cond_29a
6046 + invoke-interface {v11}, Landroid/database/Cursor;->close()V
6049 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6053 + .catchall {:try_start_292 .. :try_end_29d} :catchall_2c2
6056 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6058 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6060 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
6064 + add-int/lit8 v5, v5, -0x1
6066 + invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
6068 + move-result-object v5
6070 + sput-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6072 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6074 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
6078 + if-nez v5, :cond_2c0
6080 + if-eqz v2, :cond_2c0
6082 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
6086 + if-eqz v5, :cond_2c0
6088 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
6093 + .catchall {:try_start_29d .. :try_end_2c1} :catchall_4cd
6098 + .catchall {:try_start_2c1 .. :try_end_2c2} :catchall_2c2
6108 + add-int/lit8 v14, v14, 0x1
6114 + const-string/jumbo v3, "settings"
6118 + new-array v4, v4, [Ljava/lang/String;
6122 + const-string v6, "_id"
6124 + aput-object v6, v4, v5
6126 + const-string/jumbo v5, "packageName=?"
6130 + new-array v6, v6, [Ljava/lang/String;
6134 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getPackageName()Ljava/lang/String;
6136 + move-result-object v8
6138 + aput-object v8, v6, v7
6146 + 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;
6148 + move-result-object v11
6150 + if-eqz v11, :cond_3e7
6152 + invoke-interface {v11}, Landroid/database/Cursor;->getCount()I
6158 + if-ne v3, v4, :cond_36e
6160 + const-string/jumbo v3, "settings"
6162 + const-string/jumbo v4, "packageName=?"
6166 + new-array v5, v5, [Ljava/lang/String;
6170 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getPackageName()Ljava/lang/String;
6172 + move-result-object v7
6174 + aput-object v7, v5, v6
6176 + move-object/from16 v0, v23
6178 + 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
6184 + if-ge v3, v4, :cond_312
6186 + new-instance v3, Ljava/lang/Exception;
6188 + const-string/jumbo v4, "saveSettings - failed to update database entry"
6190 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
6195 + invoke-interface {v11}, Landroid/database/Cursor;->moveToFirst()Z
6199 + if-eqz v3, :cond_3f2
6203 + invoke-interface {v11, v3}, Landroid/database/Cursor;->getInt(I)I
6207 + invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
6209 + move-result-object v16
6211 + const-string v3, "allowed_contacts"
6213 + const-string/jumbo v4, "settings_id=?"
6217 + new-array v5, v5, [Ljava/lang/String;
6221 + invoke-virtual/range {v16 .. v16}, Ljava/lang/Integer;->toString()Ljava/lang/String;
6223 + move-result-object v7
6225 + aput-object v7, v5, v6
6227 + invoke-virtual {v2, v3, v4, v5}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
6229 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAllowedContacts()[I
6231 + move-result-object v10
6233 + if-eqz v10, :cond_3f2
6235 + new-instance v12, Landroid/content/ContentValues;
6237 + invoke-direct {v12}, Landroid/content/ContentValues;-><init>()V
6242 + array-length v3, v10
6244 + if-ge v14, v3, :cond_3f2
6246 + const-string/jumbo v3, "settings_id"
6248 + move-object/from16 v0, v16
6250 + invoke-virtual {v12, v3, v0}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
6252 + const-string v3, "contact_id"
6256 + invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
6258 + move-result-object v4
6260 + invoke-virtual {v12, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
6262 + const-string v3, "allowed_contacts"
6266 + invoke-virtual {v2, v3, v4, v12}, Landroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
6268 + move-result-wide v3
6270 + const-wide/16 v5, -0x1
6272 + cmp-long v3, v3, v5
6274 + if-nez v3, :cond_36b
6276 + new-instance v3, Ljava/lang/Exception;
6278 + const-string/jumbo v4, "saveSettings - failed to update database entry (contacts)"
6280 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
6285 + add-int/lit8 v14, v14, 0x1
6290 + invoke-interface {v11}, Landroid/database/Cursor;->getCount()I
6294 + if-nez v3, :cond_3dc
6296 + const-string/jumbo v3, "settings"
6300 + move-object/from16 v0, v23
6302 + invoke-virtual {v2, v3, v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
6304 + move-result-wide v19
6306 + const-wide/16 v3, -0x1
6308 + cmp-long v3, v19, v3
6310 + if-nez v3, :cond_38d
6312 + new-instance v3, Ljava/lang/Exception;
6314 + const-string/jumbo v4, "saveSettings - failed to insert new record into DB"
6316 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
6321 + const-string v3, "allowed_contacts"
6323 + const-string/jumbo v4, "settings_id=?"
6327 + new-array v5, v5, [Ljava/lang/String;
6331 + invoke-static/range {v19 .. v20}, Ljava/lang/Long;->toString(J)Ljava/lang/String;
6333 + move-result-object v7
6335 + aput-object v7, v5, v6
6337 + invoke-virtual {v2, v3, v4, v5}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
6339 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAllowedContacts()[I
6341 + move-result-object v10
6343 + if-eqz v10, :cond_3f2
6345 + new-instance v12, Landroid/content/ContentValues;
6347 + invoke-direct {v12}, Landroid/content/ContentValues;-><init>()V
6352 + array-length v3, v10
6354 + if-ge v14, v3, :cond_3f2
6356 + const-string/jumbo v3, "settings_id"
6358 + invoke-static/range {v19 .. v20}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
6360 + move-result-object v4
6362 + invoke-virtual {v12, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Long;)V
6364 + const-string v3, "contact_id"
6368 + invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
6370 + move-result-object v4
6372 + invoke-virtual {v12, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
6374 + const-string v3, "allowed_contacts"
6378 + invoke-virtual {v2, v3, v4, v12}, Landroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
6380 + move-result-wide v3
6382 + const-wide/16 v5, -0x1
6384 + cmp-long v3, v3, v5
6386 + if-nez v3, :cond_3d9
6388 + new-instance v3, Ljava/lang/Exception;
6390 + const-string/jumbo v4, "saveSettings - failed to update database entry (contacts)"
6392 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
6397 + add-int/lit8 v14, v14, 0x1
6404 + new-instance v3, Ljava/lang/Exception;
6406 + const-string/jumbo v4, "saveSettings - duplicate entries in the privacy.db"
6408 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
6415 + new-instance v3, Ljava/lang/Exception;
6417 + const-string/jumbo v4, "saveSettings - cursor is null, database access failed"
6419 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
6424 + new-instance v21, Ljava/io/File;
6426 + new-instance v3, Ljava/lang/StringBuilder;
6428 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
6430 + const-string v4, "/data/system/privacy/"
6432 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6434 + move-result-object v3
6436 + move-object/from16 v0, v17
6438 + invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6440 + move-result-object v3
6442 + const-string v4, "/"
6444 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6446 + move-result-object v3
6448 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6450 + move-result-object v3
6452 + move-object/from16 v0, v21
6454 + invoke-direct {v0, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
6456 + new-instance v22, Ljava/io/File;
6458 + new-instance v3, Ljava/lang/StringBuilder;
6460 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
6462 + const-string v4, "/data/system/privacy/"
6464 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6466 + move-result-object v3
6468 + move-object/from16 v0, v17
6470 + invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6472 + move-result-object v3
6474 + const-string v4, "/"
6476 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6478 + move-result-object v3
6480 + const-string v4, "/systemLogsSetting"
6482 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6484 + move-result-object v3
6486 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6488 + move-result-object v3
6490 + move-object/from16 v0, v22
6492 + invoke-direct {v0, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
6494 + .catchall {:try_start_2c8 .. :try_end_43c} :catchall_291
6495 + .catch Ljava/lang/Exception; {:try_start_2c8 .. :try_end_43c} :catch_213
6498 + invoke-virtual/range {v21 .. v21}, Ljava/io/File;->mkdirs()Z
6504 + move-object/from16 v0, v21
6506 + invoke-virtual {v0, v3, v4}, Ljava/io/File;->setReadable(ZZ)Z
6512 + move-object/from16 v0, v21
6514 + invoke-virtual {v0, v3, v4}, Ljava/io/File;->setExecutable(ZZ)Z
6516 + invoke-virtual/range {v22 .. v22}, Ljava/io/File;->createNewFile()Z
6522 + move-object/from16 v0, v22
6524 + invoke-virtual {v0, v3, v4}, Ljava/io/File;->setReadable(ZZ)Z
6526 + new-instance v24, Ljava/io/OutputStreamWriter;
6528 + new-instance v3, Ljava/io/FileOutputStream;
6530 + move-object/from16 v0, v22
6532 + invoke-direct {v3, v0}, Ljava/io/FileOutputStream;-><init>(Ljava/io/File;)V
6534 + move-object/from16 v0, v24
6536 + invoke-direct {v0, v3}, Ljava/io/OutputStreamWriter;-><init>(Ljava/io/OutputStream;)V
6538 + new-instance v3, Ljava/lang/StringBuilder;
6540 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
6542 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSystemLogsSetting()B
6546 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
6548 + move-result-object v3
6550 + const-string v4, ""
6552 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6554 + move-result-object v3
6556 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6558 + move-result-object v3
6560 + move-object/from16 v0, v24
6562 + invoke-virtual {v0, v3}, Ljava/io/OutputStreamWriter;->append(Ljava/lang/CharSequence;)Ljava/io/Writer;
6564 + invoke-virtual/range {v24 .. v24}, Ljava/io/OutputStreamWriter;->flush()V
6566 + invoke-virtual/range {v24 .. v24}, Ljava/io/OutputStreamWriter;->close()V
6568 + .catchall {:try_start_43c .. :try_end_487} :catchall_291
6569 + .catch Ljava/io/IOException; {:try_start_43c .. :try_end_487} :catch_4be
6570 + .catch Ljava/lang/Exception; {:try_start_43c .. :try_end_487} :catch_213
6573 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->setTransactionSuccessful()V
6575 + .catchall {:try_start_487 .. :try_end_48a} :catchall_291
6576 + .catch Ljava/lang/Exception; {:try_start_487 .. :try_end_48a} :catch_213
6579 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
6581 + if-eqz v11, :cond_492
6583 + invoke-interface {v11}, Landroid/database/Cursor;->close()V
6586 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6590 + .catchall {:try_start_48a .. :try_end_495} :catchall_2c2
6593 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6595 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6597 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
6601 + add-int/lit8 v3, v3, -0x1
6603 + invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
6605 + move-result-object v3
6607 + sput-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6609 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6611 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
6615 + if-nez v3, :cond_4b8
6617 + if-eqz v2, :cond_4b8
6619 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
6623 + if-eqz v3, :cond_4b8
6625 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
6637 + .catchall {:try_start_495 .. :try_end_4bd} :catchall_4bb
6642 + .catchall {:try_start_4bd .. :try_end_4be} :catchall_2c2
6645 + move-exception v13
6650 + new-instance v3, Ljava/lang/Exception;
6652 + const-string/jumbo v4, "saveSettings - could not write settings to file"
6654 + invoke-direct {v3, v4, v13}, Ljava/lang/Exception;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
6658 + .catchall {:try_start_4c1 .. :try_end_4ca} :catchall_291
6659 + .catch Ljava/lang/Exception; {:try_start_4c1 .. :try_end_4ca} :catch_213
6667 + .catchall {:try_start_4cb .. :try_end_4cc} :catchall_4ca
6672 + .catchall {:try_start_4cc .. :try_end_4cd} :catchall_2c2
6680 + .catchall {:try_start_4ce .. :try_end_4cf} :catchall_4cd
6685 + .catchall {:try_start_4cf .. :try_end_4d0} :catchall_2c2
6688 +.method public declared-synchronized setValue(Ljava/lang/String;Ljava/lang/String;)Z
6694 + const-string v3, "PrivacyPersistenceAdapter"
6696 + new-instance v4, Ljava/lang/StringBuilder;
6698 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
6700 + const-string/jumbo v5, "setValue - name "
6702 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6704 + move-result-object v4
6706 + invoke-virtual {v4, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6708 + move-result-object v4
6710 + const-string v5, " value "
6712 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6714 + move-result-object v4
6716 + invoke-virtual {v4, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6718 + move-result-object v4
6720 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6722 + move-result-object v4
6724 + invoke-static {v3, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
6726 + new-instance v2, Landroid/content/ContentValues;
6728 + invoke-direct {v2}, Landroid/content/ContentValues;-><init>()V
6730 + const-string/jumbo v3, "name"
6732 + invoke-virtual {v2, v3, p1}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
6734 + const-string/jumbo v3, "value"
6736 + invoke-virtual {v2, v3, p2}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
6738 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
6740 + move-result-object v0
6742 + const-string/jumbo v3, "map"
6746 + invoke-virtual {v0, v3, v4, v2}, Landroid/database/sqlite/SQLiteDatabase;->replace(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
6748 + move-result-wide v3
6750 + const-wide/16 v5, -0x1
6752 + cmp-long v3, v3, v5
6754 + if-eqz v3, :cond_5d
6759 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6761 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
6765 + if-nez v3, :cond_5b
6767 + if-eqz v0, :cond_5b
6769 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
6773 + if-eqz v3, :cond_5b
6775 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
6777 + .catchall {:try_start_1 .. :try_end_5b} :catchall_5f
6796 diff -Npru stock-framework/smali/android/privacy/PrivacySettings$1.smali pdroid-framework/smali/android/privacy/PrivacySettings$1.smali
6797 --- stock-framework/smali/android/privacy/PrivacySettings$1.smali 1969-12-31 18:00:00.000000000 -0600
6798 +++ pdroid-framework/smali/android/privacy/PrivacySettings$1.smali 2012-11-02 22:30:28.539776149 -0500
6800 +.class final Landroid/privacy/PrivacySettings$1;
6801 +.super Ljava/lang/Object;
6802 +.source "PrivacySettings.java"
6805 +.implements Landroid/os/Parcelable$Creator;
6809 +.annotation system Ldalvik/annotation/EnclosingClass;
6810 + value = Landroid/privacy/PrivacySettings;
6813 +.annotation system Ldalvik/annotation/InnerClass;
6818 +.annotation system Ldalvik/annotation/Signature;
6820 + "Ljava/lang/Object;",
6821 + "Landroid/os/Parcelable$Creator",
6823 + "Landroid/privacy/PrivacySettings;",
6830 +.method constructor <init>()V
6833 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
6840 +.method public createFromParcel(Landroid/os/Parcel;)Landroid/privacy/PrivacySettings;
6843 + new-instance v0, Landroid/privacy/PrivacySettings;
6845 + invoke-direct {v0, p1}, Landroid/privacy/PrivacySettings;-><init>(Landroid/os/Parcel;)V
6850 +.method public bridge synthetic createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
6853 + invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettings$1;->createFromParcel(Landroid/os/Parcel;)Landroid/privacy/PrivacySettings;
6855 + move-result-object v0
6860 +.method public newArray(I)[Landroid/privacy/PrivacySettings;
6863 + new-array v0, p1, [Landroid/privacy/PrivacySettings;
6868 +.method public bridge synthetic newArray(I)[Ljava/lang/Object;
6871 + invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettings$1;->newArray(I)[Landroid/privacy/PrivacySettings;
6873 + move-result-object v0
6877 diff -Npru stock-framework/smali/android/privacy/PrivacySettingsManagerService.smali pdroid-framework/smali/android/privacy/PrivacySettingsManagerService.smali
6878 --- stock-framework/smali/android/privacy/PrivacySettingsManagerService.smali 1969-12-31 18:00:00.000000000 -0600
6879 +++ pdroid-framework/smali/android/privacy/PrivacySettingsManagerService.smali 2012-11-02 22:30:28.543776164 -0500
6881 +.class public Landroid/privacy/PrivacySettingsManagerService;
6882 +.super Landroid/privacy/IPrivacySettingsManager$Stub;
6883 +.source "PrivacySettingsManagerService.java"
6887 +.field private static final TAG:Ljava/lang/String; = "PrivacySettingsManagerService"
6889 +.field private static final VERSION:D = 1.32
6891 +.field private static final WRITE_PRIVACY_SETTINGS:Ljava/lang/String; = "android.privacy.WRITE_PRIVACY_SETTINGS"
6893 +.field public static obs:Landroid/privacy/PrivacyFileObserver;
6897 +.field private bootCompleted:Z
6899 +.field private context:Landroid/content/Context;
6901 +.field private enabled:Z
6903 +.field private notificationsEnabled:Z
6905 +.field private persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
6909 +.method public constructor <init>(Landroid/content/Context;)V
6912 + invoke-direct {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;-><init>()V
6914 + const-string v0, "PrivacySettingsManagerService"
6916 + new-instance v1, Ljava/lang/StringBuilder;
6918 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
6920 + const-string v2, "PrivacySettingsManagerService - initializing for package: "
6922 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6924 + move-result-object v1
6926 + invoke-virtual {p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
6928 + move-result-object v2
6930 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6932 + move-result-object v1
6934 + const-string v2, " UID: "
6936 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6938 + move-result-object v1
6940 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
6944 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
6946 + move-result-object v1
6948 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6950 + move-result-object v1
6952 + invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
6954 + iput-object p1, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
6956 + new-instance v0, Landroid/privacy/PrivacyPersistenceAdapter;
6958 + invoke-direct {v0, p1}, Landroid/privacy/PrivacyPersistenceAdapter;-><init>(Landroid/content/Context;)V
6960 + iput-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
6962 + new-instance v0, Landroid/privacy/PrivacyFileObserver;
6964 + const-string v1, "/data/system/privacy"
6966 + invoke-direct {v0, v1, p0}, Landroid/privacy/PrivacyFileObserver;-><init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
6968 + sput-object v0, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
6970 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
6972 + const-string v1, "enabled"
6974 + invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->getValue(Ljava/lang/String;)Ljava/lang/String;
6976 + move-result-object v0
6978 + const-string v1, "1"
6980 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
6984 + iput-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->enabled:Z
6986 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
6988 + const-string/jumbo v1, "notifications_enabled"
6990 + invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->getValue(Ljava/lang/String;)Ljava/lang/String;
6992 + move-result-object v0
6994 + const-string v1, "1"
6996 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
7000 + iput-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->notificationsEnabled:Z
7004 + iput-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->bootCompleted:Z
7011 +.method public addObserver(Ljava/lang/String;)V
7014 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
7016 + const-string v1, "android.privacy.WRITE_PRIVACY_SETTINGS"
7018 + const-string v2, "Requires WRITE_PRIVACY_SETTINGS"
7020 + invoke-virtual {v0, v1, v2}, Landroid/content/Context;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
7022 + sget-object v0, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
7024 + invoke-virtual {v0, p1}, Landroid/privacy/PrivacyFileObserver;->addObserver(Ljava/lang/String;)V
7029 +.method public deleteSettings(Ljava/lang/String;)Z
7034 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
7038 + const/16 v3, 0x3e8
7040 + if-eq v2, v3, :cond_12
7042 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
7044 + const-string v3, "android.privacy.WRITE_PRIVACY_SETTINGS"
7046 + const-string v4, "Requires WRITE_PRIVACY_SETTINGS"
7048 + invoke-virtual {v2, v3, v4}, Landroid/content/Context;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
7051 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
7053 + invoke-virtual {v2, p1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteSettings(Ljava/lang/String;)Z
7057 + new-instance v2, Ljava/lang/StringBuilder;
7059 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
7061 + const-string v3, "/data/system/privacy/"
7063 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7065 + move-result-object v2
7067 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7069 + move-result-object v2
7071 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
7073 + move-result-object v0
7075 + new-instance v2, Ljava/io/File;
7077 + invoke-direct {v2, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
7079 + invoke-virtual {v2}, Ljava/io/File;->exists()Z
7083 + if-eqz v2, :cond_3e
7085 + if-ne v1, v5, :cond_3e
7087 + sget-object v2, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
7089 + invoke-virtual {v2, v0}, Landroid/privacy/PrivacyFileObserver;->addObserver(Ljava/lang/String;)V
7096 + if-ne v1, v5, :cond_3d
7098 + sget-object v2, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
7100 + iget-object v2, v2, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap;
7102 + invoke-virtual {v2, v0}, Ljava/util/HashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
7107 +.method public getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
7110 + iget-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->enabled:Z
7112 + if-nez v0, :cond_12
7114 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
7116 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
7118 + move-result-object v0
7120 + const-string v1, "com.privacy.pdroid"
7122 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
7126 + if-eqz v0, :cond_1a
7129 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
7133 + invoke-virtual {v0, p1, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->getSettings(Ljava/lang/String;Z)Landroid/privacy/PrivacySettings;
7135 + move-result-object v0
7146 +.method public getVersion()D
7149 + const-wide v0, 0x3ff51eb851eb851fL
7154 +.method public notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
7157 + iget-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->bootCompleted:Z
7159 + if-eqz v1, :cond_34
7161 + iget-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->notificationsEnabled:Z
7163 + if-eqz v1, :cond_34
7165 + new-instance v0, Landroid/content/Intent;
7167 + invoke-direct {v0}, Landroid/content/Intent;-><init>()V
7169 + const-string v1, "com.privacy.pdroid.PRIVACY_NOTIFICATION"
7171 + invoke-virtual {v0, v1}, Landroid/content/Intent;->setAction(Ljava/lang/String;)Landroid/content/Intent;
7173 + const-string/jumbo v1, "packageName"
7175 + invoke-virtual {v0, v1, p1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
7177 + const-string/jumbo v1, "uid"
7181 + invoke-virtual {v0, v1, v2}, Landroid/content/Intent;->putExtra(Ljava/lang/String;I)Landroid/content/Intent;
7183 + const-string v1, "accessMode"
7185 + invoke-virtual {v0, v1, p2}, Landroid/content/Intent;->putExtra(Ljava/lang/String;B)Landroid/content/Intent;
7187 + const-string v1, "dataType"
7189 + invoke-virtual {v0, v1, p3}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
7191 + const-string/jumbo v1, "output"
7193 + invoke-virtual {v0, v1, p4}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
7195 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
7197 + invoke-virtual {v1, v0}, Landroid/content/Context;->sendBroadcast(Landroid/content/Intent;)V
7203 +.method public purgeSettings()Z
7206 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
7208 + invoke-virtual {v0}, Landroid/privacy/PrivacyPersistenceAdapter;->purgeSettings()Z
7215 +.method public registerObservers()V
7218 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
7220 + const-string v1, "android.privacy.WRITE_PRIVACY_SETTINGS"
7222 + const-string v2, "Requires WRITE_PRIVACY_SETTINGS"
7224 + invoke-virtual {v0, v1, v2}, Landroid/content/Context;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
7226 + new-instance v0, Landroid/privacy/PrivacyFileObserver;
7228 + const-string v1, "/data/system/privacy"
7230 + invoke-direct {v0, v1, p0}, Landroid/privacy/PrivacyFileObserver;-><init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
7232 + sput-object v0, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
7237 +.method public saveSettings(Landroid/privacy/PrivacySettings;)Z
7240 + const-string v1, "PrivacySettingsManagerService"
7242 + new-instance v2, Ljava/lang/StringBuilder;
7244 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
7246 + const-string/jumbo v3, "saveSettings - checking if caller (UID: "
7248 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7250 + move-result-object v2
7252 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
7256 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
7258 + move-result-object v2
7260 + const-string v3, ") has sufficient permissions"
7262 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7264 + move-result-object v2
7266 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
7268 + move-result-object v2
7270 + invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
7272 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
7276 + const/16 v2, 0x3e8
7278 + if-eq v1, v2, :cond_34
7280 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
7282 + const-string v2, "android.privacy.WRITE_PRIVACY_SETTINGS"
7284 + const-string v3, "Requires WRITE_PRIVACY_SETTINGS"
7286 + invoke-virtual {v1, v2, v3}, Landroid/content/Context;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
7289 + const-string v1, "PrivacySettingsManagerService"
7291 + new-instance v2, Ljava/lang/StringBuilder;
7293 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
7295 + const-string/jumbo v3, "saveSettings - "
7297 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7299 + move-result-object v2
7301 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
7303 + move-result-object v2
7305 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
7307 + move-result-object v2
7309 + invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
7311 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
7313 + invoke-virtual {v1, p1}, Landroid/privacy/PrivacyPersistenceAdapter;->saveSettings(Landroid/privacy/PrivacySettings;)Z
7319 + if-ne v0, v1, :cond_5f
7321 + sget-object v1, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
7323 + invoke-virtual {p1}, Landroid/privacy/PrivacySettings;->getPackageName()Ljava/lang/String;
7325 + move-result-object v2
7327 + invoke-virtual {v1, v2}, Landroid/privacy/PrivacyFileObserver;->addObserver(Ljava/lang/String;)V
7333 +.method public setBootCompleted()V
7338 + iput-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->bootCompleted:Z
7343 +.method public setEnabled(Z)Z
7348 + if-eqz p1, :cond_12
7350 + const-string v0, "1"
7353 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
7355 + const-string v3, "enabled"
7357 + invoke-virtual {v2, v3, v0}, Landroid/privacy/PrivacyPersistenceAdapter;->setValue(Ljava/lang/String;Ljava/lang/String;)Z
7361 + if-eqz v2, :cond_15
7363 + iput-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->enabled:Z
7369 + const-string v0, "0"
7379 +.method public setNotificationsEnabled(Z)Z
7384 + if-eqz p1, :cond_15
7386 + const-string v0, "1"
7389 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
7391 + const-string/jumbo v3, "notifications_enabled"
7393 + invoke-virtual {v2, v3, v0}, Landroid/privacy/PrivacyPersistenceAdapter;->setValue(Ljava/lang/String;Ljava/lang/String;)Z
7397 + if-eqz v2, :cond_18
7399 + iput-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->notificationsEnabled:Z
7401 + iput-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->bootCompleted:Z
7407 + const-string v0, "0"
7416 diff -Npru stock-framework/smali/android/privacy/PrivacySettingsManager.smali pdroid-framework/smali/android/privacy/PrivacySettingsManager.smali
7417 --- stock-framework/smali/android/privacy/PrivacySettingsManager.smali 1969-12-31 18:00:00.000000000 -0600
7418 +++ pdroid-framework/smali/android/privacy/PrivacySettingsManager.smali 2012-11-02 22:30:28.543776164 -0500
7420 +.class public Landroid/privacy/PrivacySettingsManager;
7421 +.super Ljava/lang/Object;
7422 +.source "PrivacySettingsManager.java"
7426 +.field public static final ACTION_PRIVACY_NOTIFICATION:Ljava/lang/String; = "com.privacy.pdroid.PRIVACY_NOTIFICATION"
7428 +.field private static final TAG:Ljava/lang/String; = "PrivacySettingsManager"
7432 +.field private service:Landroid/privacy/IPrivacySettingsManager;
7436 +.method public constructor <init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
7439 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
7441 + iput-object p2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7448 +.method public addObserver(Ljava/lang/String;)V
7452 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7454 + if-eqz v1, :cond_a
7456 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7458 + invoke-interface {v1, p1}, Landroid/privacy/IPrivacySettingsManager;->addObserver(Ljava/lang/String;)V
7464 + const-string v1, "PrivacySettingsManager"
7466 + const-string v2, "deleteSettings - PrivacySettingsManagerService is null"
7468 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7470 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_11} :catch_12
7477 + const-string v1, "PrivacySettingsManager"
7479 + const-string v2, "RemoteException in addObserver: "
7481 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7486 +.method public deleteSettings(Ljava/lang/String;)Z
7489 + invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettingsManager;->deleteSettings(Ljava/lang/String;)Z
7496 +.method public deleteSettings(Ljava/lang/String;I)Z
7502 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7504 + if-eqz v2, :cond_c
7506 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7508 + invoke-interface {v2, p1}, Landroid/privacy/IPrivacySettingsManager;->deleteSettings(Ljava/lang/String;)Z
7516 + const-string v2, "PrivacySettingsManager"
7518 + const-string v3, "deleteSettings - PrivacySettingsManagerService is null"
7520 + invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7522 + .catch Landroid/os/RemoteException; {:try_start_1 .. :try_end_13} :catch_14
7529 + const-string v2, "PrivacySettingsManager"
7531 + const-string v3, "RemoteException in deleteSettings: "
7533 + invoke-static {v2, v3, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7538 +.method public getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
7544 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7546 + if-eqz v2, :cond_c
7548 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7550 + invoke-interface {v2, p1}, Landroid/privacy/IPrivacySettingsManager;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
7552 + move-result-object v1
7558 + const-string v2, "PrivacySettingsManager"
7560 + const-string v3, "getSettings - PrivacySettingsManagerService is null"
7562 + invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7564 + .catch Landroid/os/RemoteException; {:try_start_1 .. :try_end_13} :catch_14
7571 + invoke-virtual {v0}, Landroid/os/RemoteException;->printStackTrace()V
7576 +.method public getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
7579 + invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
7581 + move-result-object v0
7586 +.method public getVersion()D
7590 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7592 + if-eqz v1, :cond_b
7594 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7596 + invoke-interface {v1}, Landroid/privacy/IPrivacySettingsManager;->getVersion()D
7598 + move-result-wide v1
7604 + const-string v1, "PrivacySettingsManager"
7606 + const-string v2, "getVersion - PrivacySettingsManagerService is null"
7608 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7610 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_12} :catch_15
7613 + const-wide/16 v1, 0x0
7620 + const-string v1, "PrivacySettingsManager"
7622 + const-string v2, "RemoteException in getVersion: "
7624 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7629 +.method public isServiceAvailable()Z
7632 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7634 + if-eqz v0, :cond_6
7647 +.method public notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
7651 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7653 + if-eqz v1, :cond_a
7655 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7657 + invoke-interface {v1, p1, p2, p3, p4}, Landroid/privacy/IPrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
7663 + const-string v1, "PrivacySettingsManager"
7665 + const-string v2, "deleteSettings - PrivacySettingsManagerService is null"
7667 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7669 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_11} :catch_12
7676 + const-string v1, "PrivacySettingsManager"
7678 + const-string v2, "RemoteException in notification: "
7680 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7685 +.method public notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
7688 + move-object v0, p0
7690 + move-object v1, p1
7694 + move-object v3, p4
7696 + move-object v4, p5
7698 + move-object v5, p6
7700 + invoke-virtual/range {v0 .. v5}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
7705 +.method public purgeSettings()Z
7709 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7711 + if-eqz v1, :cond_b
7713 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7715 + invoke-interface {v1}, Landroid/privacy/IPrivacySettingsManager;->purgeSettings()Z
7723 + const-string v1, "PrivacySettingsManager"
7725 + const-string v2, "deleteSettings - PrivacySettingsManagerService is null"
7727 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7729 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_12} :catch_14
7739 + const-string v1, "PrivacySettingsManager"
7741 + const-string v2, "RemoteException in purgeSettings: "
7743 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7748 +.method public registerObservers()V
7752 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7754 + if-eqz v1, :cond_a
7756 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7758 + invoke-interface {v1}, Landroid/privacy/IPrivacySettingsManager;->registerObservers()V
7764 + const-string v1, "PrivacySettingsManager"
7766 + const-string v2, "deleteSettings - PrivacySettingsManagerService is null"
7768 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7770 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_11} :catch_12
7777 + const-string v1, "PrivacySettingsManager"
7779 + const-string v2, "RemoteException in registerObservers: "
7781 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7786 +.method public saveSettings(Landroid/privacy/PrivacySettings;)Z
7792 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7794 + if-eqz v2, :cond_c
7796 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7798 + invoke-interface {v2, p1}, Landroid/privacy/IPrivacySettingsManager;->saveSettings(Landroid/privacy/PrivacySettings;)Z
7806 + const-string v2, "PrivacySettingsManager"
7808 + const-string/jumbo v3, "saveSettings - PrivacySettingsManagerService is null"
7810 + invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7812 + .catch Landroid/os/RemoteException; {:try_start_1 .. :try_end_14} :catch_15
7819 + const-string v2, "PrivacySettingsManager"
7821 + const-string v3, "RemoteException in saveSettings: "
7823 + invoke-static {v2, v3, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7828 +.method public setBootCompleted()V
7832 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7834 + if-eqz v1, :cond_a
7836 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7838 + invoke-interface {v1}, Landroid/privacy/IPrivacySettingsManager;->setBootCompleted()V
7844 + const-string v1, "PrivacySettingsManager"
7846 + const-string/jumbo v2, "setBootCompleted - PrivacySettingsManagerService is null"
7848 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7850 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_12} :catch_13
7857 + const-string v1, "PrivacySettingsManager"
7859 + const-string v2, "RemoteException in setBootCompleted: "
7861 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7866 +.method public setEnabled(Z)Z
7870 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7872 + if-eqz v1, :cond_b
7874 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7876 + invoke-interface {v1, p1}, Landroid/privacy/IPrivacySettingsManager;->setEnabled(Z)Z
7884 + const-string v1, "PrivacySettingsManager"
7886 + const-string/jumbo v2, "setEnabled - PrivacySettingsManagerService is null"
7888 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7890 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_13} :catch_15
7900 + const-string v1, "PrivacySettingsManager"
7902 + const-string v2, "RemoteException in setEnabled: "
7904 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7909 +.method public setNotificationsEnabled(Z)Z
7913 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7915 + if-eqz v1, :cond_b
7917 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7919 + invoke-interface {v1, p1}, Landroid/privacy/IPrivacySettingsManager;->setNotificationsEnabled(Z)Z
7927 + const-string v1, "PrivacySettingsManager"
7929 + const-string/jumbo v2, "setNotificationsEnabled - PrivacySettingsManagerService is null"
7931 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7933 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_13} :catch_15
7943 + const-string v1, "PrivacySettingsManager"
7945 + const-string v2, "RemoteException in setNotificationsEnabled: "
7947 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7951 diff -Npru stock-framework/smali/android/privacy/PrivacySettings.smali pdroid-framework/smali/android/privacy/PrivacySettings.smali
7952 --- stock-framework/smali/android/privacy/PrivacySettings.smali 1969-12-31 18:00:00.000000000 -0600
7953 +++ pdroid-framework/smali/android/privacy/PrivacySettings.smali 2012-11-02 22:30:28.539776149 -0500
7955 +.class public final Landroid/privacy/PrivacySettings;
7956 +.super Ljava/lang/Object;
7957 +.source "PrivacySettings.java"
7960 +.implements Landroid/os/Parcelable;
7964 +.field public static final CREATOR:Landroid/os/Parcelable$Creator; = null
7965 + .annotation system Ldalvik/annotation/Signature;
7967 + "Landroid/os/Parcelable$Creator",
7969 + "Landroid/privacy/PrivacySettings;",
7975 +.field public static final CUSTOM:B = 0x2t
7977 +.field public static final DATA_ACCOUNTS_LIST:Ljava/lang/String; = "accountsList"
7979 +.field public static final DATA_AUTH_TOKENS:Ljava/lang/String; = "authTokens"
7981 +.field public static final DATA_BOOKMARKS:Ljava/lang/String; = "bookmarks"
7983 +.field public static final DATA_CALENDAR:Ljava/lang/String; = "calendar"
7985 +.field public static final DATA_CALL_LOG:Ljava/lang/String; = "callLog"
7987 +.field public static final DATA_CONTACTS:Ljava/lang/String; = "contacts"
7989 +.field public static final DATA_DEVICE_ID:Ljava/lang/String; = "deviceID"
7991 +.field public static final DATA_INCOMING_CALL:Ljava/lang/String; = "incomingCall"
7993 +.field public static final DATA_INTENT_BOOT_COMPLETED:Ljava/lang/String; = "intentBootCompleted"
7995 +.field public static final DATA_LINE_1_NUMBER:Ljava/lang/String; = "line1Number"
7997 +.field public static final DATA_LOCATION_GPS:Ljava/lang/String; = "locationGPS"
7999 +.field public static final DATA_LOCATION_NETWORK:Ljava/lang/String; = "locationNetwork"
8001 +.field public static final DATA_MMS:Ljava/lang/String; = "mms"
8003 +.field public static final DATA_MMS_SMS:Ljava/lang/String; = "mmsSms"
8005 +.field public static final DATA_NETWORK_INFO_CURRENT:Ljava/lang/String; = "networkInfoCurrent"
8007 +.field public static final DATA_NETWORK_INFO_SIM:Ljava/lang/String; = "networkInfoSIM"
8009 +.field public static final DATA_OUTGOING_CALL:Ljava/lang/String; = "outgoingCall"
8011 +.field public static final DATA_SIM_SERIAL:Ljava/lang/String; = "simSerial"
8013 +.field public static final DATA_SMS:Ljava/lang/String; = "sms"
8015 +.field public static final DATA_SUBSCRIBER_ID:Ljava/lang/String; = "subscriberID"
8017 +.field public static final DATA_SYSTEM_LOGS:Ljava/lang/String; = "systemLogs"
8019 +.field public static final EMPTY:B = 0x1t
8021 +.field public static final RANDOM:B = 0x3t
8023 +.field public static final REAL:B = 0x0t
8025 +.field public static final SETTING_NOTIFY_OFF:B = 0x0t
8027 +.field public static final SETTING_NOTIFY_ON:B = 0x1t
8031 +.field private final _id:Ljava/lang/Integer;
8033 +.field private accountsAuthTokensSetting:B
8035 +.field private accountsSetting:B
8037 +.field private allowedContacts:[I
8039 +.field private bookmarksSetting:B
8041 +.field private calendarSetting:B
8043 +.field private callLogSetting:B
8045 +.field private contactsSetting:B
8047 +.field private deviceId:Ljava/lang/String;
8049 +.field private deviceIdSetting:B
8051 +.field private incomingCallsSetting:B
8053 +.field private intentBootCompletedSetting:B
8055 +.field private line1Number:Ljava/lang/String;
8057 +.field private line1NumberSetting:B
8059 +.field private locationGpsLat:Ljava/lang/String;
8061 +.field private locationGpsLon:Ljava/lang/String;
8063 +.field private locationGpsSetting:B
8065 +.field private locationNetworkLat:Ljava/lang/String;
8067 +.field private locationNetworkLon:Ljava/lang/String;
8069 +.field private locationNetworkSetting:B
8071 +.field private mmsSetting:B
8073 +.field private networkInfoSetting:B
8075 +.field private notificationSetting:B
8077 +.field private outgoingCallsSetting:B
8079 +.field private packageName:Ljava/lang/String;
8081 +.field private simInfoSetting:B
8083 +.field private simSerialNumber:Ljava/lang/String;
8085 +.field private simSerialNumberSetting:B
8087 +.field private smsSetting:B
8089 +.field private subscriberId:Ljava/lang/String;
8091 +.field private subscriberIdSetting:B
8093 +.field private systemLogsSetting:B
8095 +.field private uid:I
8099 +.method static constructor <clinit>()V
8102 + new-instance v0, Landroid/privacy/PrivacySettings$1;
8104 + invoke-direct {v0}, Landroid/privacy/PrivacySettings$1;-><init>()V
8106 + sput-object v0, Landroid/privacy/PrivacySettings;->CREATOR:Landroid/os/Parcelable$Creator;
8111 +.method public constructor <init>(Landroid/os/Parcel;)V
8114 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
8116 + invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I
8122 + if-ne v0, v1, :cond_ce
8127 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
8129 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
8131 + move-result-object v1
8133 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
8135 + invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I
8139 + iput v1, p0, Landroid/privacy/PrivacySettings;->uid:I
8141 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8145 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
8147 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
8149 + move-result-object v1
8151 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
8153 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8157 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
8159 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
8161 + move-result-object v1
8163 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
8165 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8169 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8171 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
8173 + move-result-object v1
8175 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
8177 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
8179 + move-result-object v1
8181 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
8183 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8187 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8189 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
8191 + move-result-object v1
8193 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
8195 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
8197 + move-result-object v1
8199 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
8201 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8205 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
8207 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8211 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
8213 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8217 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
8219 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
8221 + move-result-object v1
8223 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
8225 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8229 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
8231 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
8233 + move-result-object v1
8235 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
8237 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8241 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
8243 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8247 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
8249 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8253 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
8255 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8259 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
8261 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8265 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
8267 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8271 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
8273 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8277 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
8279 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8283 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
8285 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8289 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
8291 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8295 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
8297 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8301 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
8303 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8307 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
8309 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8313 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
8315 + invoke-virtual {p1}, Landroid/os/Parcel;->createIntArray()[I
8317 + move-result-object v1
8319 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
8324 + invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
8326 + move-result-object v1
8331 +.method public constructor <init>(Ljava/lang/Integer;Ljava/lang/String;I)V
8338 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
8340 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
8342 + iput-object p2, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
8344 + iput p3, p0, Landroid/privacy/PrivacySettings;->uid:I
8346 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
8348 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
8350 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
8352 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
8354 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8356 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
8358 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
8360 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8362 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
8364 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
8366 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
8368 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
8370 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
8372 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
8374 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
8376 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
8378 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
8380 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
8382 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
8384 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
8386 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
8388 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
8390 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
8392 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
8394 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
8396 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
8398 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
8400 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
8402 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
8404 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
8409 +.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
8412 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
8414 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
8416 + iput-object p2, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
8418 + iput p3, p0, Landroid/privacy/PrivacySettings;->uid:I
8420 + iput-byte p4, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
8422 + iput-object p5, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
8424 + iput-byte p6, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
8426 + iput-object p7, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
8428 + iput-byte p8, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8430 + iput-object p9, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
8432 + iput-object p10, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
8434 + iput-byte p11, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8436 + iput-object p12, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
8438 + iput-object p13, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
8440 + iput-byte p14, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
8442 + move/from16 v0, p15
8444 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
8446 + move/from16 v0, p16
8448 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
8450 + move-object/from16 v0, p17
8452 + iput-object v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
8454 + move/from16 v0, p18
8456 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
8458 + move-object/from16 v0, p19
8460 + iput-object v0, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
8462 + move/from16 v0, p20
8464 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
8466 + move/from16 v0, p21
8468 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
8470 + move/from16 v0, p22
8472 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
8474 + move/from16 v0, p23
8476 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
8478 + move/from16 v0, p24
8480 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
8482 + move/from16 v0, p25
8484 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
8486 + move/from16 v0, p26
8488 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
8490 + move/from16 v0, p27
8492 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
8494 + move/from16 v0, p28
8496 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
8498 + move/from16 v0, p29
8500 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
8502 + move/from16 v0, p30
8504 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
8506 + move/from16 v0, p34
8508 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
8510 + move/from16 v0, p35
8512 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
8514 + move-object/from16 v0, p36
8516 + iput-object v0, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
8521 +.method private getRandomLat()Ljava/lang/String;
8524 + const-wide v7, 0x4056800000000000L
8526 + invoke-static {}, Ljava/lang/Math;->random()D
8528 + move-result-wide v3
8530 + const-wide v5, 0x4066800000000000L
8532 + mul-double v0, v3, v5
8534 + cmpl-double v3, v0, v7
8536 + if-lez v3, :cond_35
8538 + new-instance v2, Ljava/math/BigDecimal;
8540 + sub-double v3, v0, v7
8542 + invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;-><init>(D)V
8545 + new-instance v3, Ljava/lang/StringBuilder;
8547 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
8553 + invoke-virtual {v2, v4, v5}, Ljava/math/BigDecimal;->setScale(II)Ljava/math/BigDecimal;
8555 + move-result-object v4
8557 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
8559 + move-result-object v3
8561 + const-string v4, ""
8563 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8565 + move-result-object v3
8567 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8569 + move-result-object v3
8574 + new-instance v2, Ljava/math/BigDecimal;
8578 + invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;-><init>(D)V
8583 +.method private getRandomLon()Ljava/lang/String;
8586 + const-wide v7, 0x4066800000000000L
8588 + invoke-static {}, Ljava/lang/Math;->random()D
8590 + move-result-wide v3
8592 + const-wide v5, 0x4076800000000000L
8594 + mul-double v0, v3, v5
8596 + cmpl-double v3, v0, v7
8598 + if-lez v3, :cond_35
8600 + new-instance v2, Ljava/math/BigDecimal;
8602 + sub-double v3, v0, v7
8604 + invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;-><init>(D)V
8607 + new-instance v3, Ljava/lang/StringBuilder;
8609 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
8615 + invoke-virtual {v2, v4, v5}, Ljava/math/BigDecimal;->setScale(II)Ljava/math/BigDecimal;
8617 + move-result-object v4
8619 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
8621 + move-result-object v3
8623 + const-string v4, ""
8625 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8627 + move-result-object v3
8629 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8631 + move-result-object v3
8636 + new-instance v2, Ljava/math/BigDecimal;
8640 + invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;-><init>(D)V
8647 +.method public describeContents()I
8655 +.method public getAccountsAuthTokensSetting()B
8658 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
8663 +.method public getAccountsSetting()B
8666 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
8671 +.method public getAllowedContacts()[I
8674 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
8679 +.method public getBookmarksSetting()B
8682 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
8687 +.method public getCalendarSetting()B
8690 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
8695 +.method public getCallLogSetting()B
8698 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
8703 +.method public getContactsSetting()B
8706 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
8711 +.method public getDeviceId()Ljava/lang/String;
8714 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
8718 + if-ne v2, v3, :cond_8
8720 + const-string v2, ""
8726 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
8730 + if-ne v2, v3, :cond_35
8732 + new-instance v0, Ljava/util/Random;
8734 + invoke-direct {v0}, Ljava/util/Random;-><init>()V
8736 + new-instance v2, Ljava/lang/StringBuilder;
8738 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
8740 + invoke-virtual {v0}, Ljava/util/Random;->nextLong()J
8742 + move-result-wide v3
8744 + invoke-static {v3, v4}, Ljava/lang/Math;->abs(J)J
8746 + move-result-wide v3
8748 + invoke-virtual {v2, v3, v4}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
8750 + move-result-object v2
8752 + const-string v3, ""
8754 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8756 + move-result-object v2
8758 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8760 + move-result-object v1
8766 + invoke-virtual {v1, v2, v3}, Ljava/lang/String;->substring(II)Ljava/lang/String;
8768 + move-result-object v2
8773 + iget-object v2, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
8778 +.method public getDeviceIdSetting()B
8781 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
8786 +.method public getIncomingCallsSetting()B
8789 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
8794 +.method public getIntentBootCompletedSetting()B
8797 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
8802 +.method public getLine1Number()Ljava/lang/String;
8805 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
8809 + if-ne v2, v3, :cond_8
8811 + const-string v2, ""
8817 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
8821 + if-ne v2, v3, :cond_3b
8823 + new-instance v0, Ljava/util/Random;
8825 + invoke-direct {v0}, Ljava/util/Random;-><init>()V
8827 + new-instance v2, Ljava/lang/StringBuilder;
8829 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
8831 + const-string v3, "+"
8833 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8835 + move-result-object v2
8837 + invoke-virtual {v0}, Ljava/util/Random;->nextLong()J
8839 + move-result-wide v3
8841 + invoke-static {v3, v4}, Ljava/lang/Math;->abs(J)J
8843 + move-result-wide v3
8845 + invoke-virtual {v2, v3, v4}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
8847 + move-result-object v2
8849 + const-string v3, ""
8851 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8853 + move-result-object v2
8855 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8857 + move-result-object v1
8863 + invoke-virtual {v1, v2, v3}, Ljava/lang/String;->substring(II)Ljava/lang/String;
8865 + move-result-object v2
8870 + iget-object v2, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
8875 +.method public getLine1NumberSetting()B
8878 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
8883 +.method public getLocationGpsLat()Ljava/lang/String;
8886 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8890 + if-ne v0, v1, :cond_8
8892 + const-string v0, ""
8898 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8902 + if-ne v0, v1, :cond_12
8904 + invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLat()Ljava/lang/String;
8906 + move-result-object v0
8911 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
8916 +.method public getLocationGpsLon()Ljava/lang/String;
8919 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8923 + if-ne v0, v1, :cond_8
8925 + const-string v0, ""
8931 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8935 + if-ne v0, v1, :cond_12
8937 + invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLon()Ljava/lang/String;
8939 + move-result-object v0
8944 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
8949 +.method public getLocationGpsSetting()B
8952 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8957 +.method public getLocationNetworkLat()Ljava/lang/String;
8960 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8964 + if-ne v0, v1, :cond_8
8966 + const-string v0, ""
8972 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8976 + if-ne v0, v1, :cond_12
8978 + invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLat()Ljava/lang/String;
8980 + move-result-object v0
8985 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
8990 +.method public getLocationNetworkLon()Ljava/lang/String;
8993 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8997 + if-ne v0, v1, :cond_8
8999 + const-string v0, ""
9005 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
9009 + if-ne v0, v1, :cond_12
9011 + invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLon()Ljava/lang/String;
9013 + move-result-object v0
9018 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
9023 +.method public getLocationNetworkSetting()B
9026 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
9031 +.method public getMmsSetting()B
9034 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
9039 +.method public getNetworkInfoSetting()B
9042 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
9047 +.method public getNotificationSetting()B
9050 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
9055 +.method public getOutgoingCallsSetting()B
9058 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
9063 +.method public getPackageName()Ljava/lang/String;
9066 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
9071 +.method public getSimInfoSetting()B
9074 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
9079 +.method public getSimSerialNumber()Ljava/lang/String;
9082 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
9086 + if-ne v1, v2, :cond_8
9088 + const-string v1, ""
9094 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
9098 + if-ne v1, v2, :cond_2e
9100 + new-instance v0, Ljava/util/Random;
9102 + invoke-direct {v0}, Ljava/util/Random;-><init>()V
9104 + new-instance v1, Ljava/lang/StringBuilder;
9106 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
9108 + invoke-virtual {v0}, Ljava/util/Random;->nextLong()J
9110 + move-result-wide v2
9112 + invoke-static {v2, v3}, Ljava/lang/Math;->abs(J)J
9114 + move-result-wide v2
9116 + invoke-virtual {v1, v2, v3}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
9118 + move-result-object v1
9120 + const-string v2, ""
9122 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9124 + move-result-object v1
9126 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
9128 + move-result-object v1
9133 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
9138 +.method public getSimSerialNumberSetting()B
9141 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
9146 +.method public getSmsSetting()B
9149 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
9154 +.method public getSubscriberId()Ljava/lang/String;
9157 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
9161 + if-ne v2, v3, :cond_8
9163 + const-string v2, ""
9169 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
9173 + if-ne v2, v3, :cond_35
9175 + new-instance v0, Ljava/util/Random;
9177 + invoke-direct {v0}, Ljava/util/Random;-><init>()V
9179 + new-instance v2, Ljava/lang/StringBuilder;
9181 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
9183 + invoke-virtual {v0}, Ljava/util/Random;->nextLong()J
9185 + move-result-wide v3
9187 + invoke-static {v3, v4}, Ljava/lang/Math;->abs(J)J
9189 + move-result-wide v3
9191 + invoke-virtual {v2, v3, v4}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
9193 + move-result-object v2
9195 + const-string v3, ""
9197 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9199 + move-result-object v2
9201 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
9203 + move-result-object v1
9209 + invoke-virtual {v1, v2, v3}, Ljava/lang/String;->substring(II)Ljava/lang/String;
9211 + move-result-object v2
9216 + iget-object v2, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
9221 +.method public getSubscriberIdSetting()B
9224 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
9229 +.method public getSystemLogsSetting()B
9232 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
9237 +.method public getUid()I
9240 + iget v0, p0, Landroid/privacy/PrivacySettings;->uid:I
9245 +.method public get_id()Ljava/lang/Integer;
9248 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
9253 +.method public setAccountsAuthTokensSetting(B)V
9256 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
9261 +.method public setAccountsSetting(B)V
9264 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
9269 +.method public setAllowedContacts([I)V
9272 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
9277 +.method public setBookmarksSetting(B)V
9280 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
9285 +.method public setCalendarSetting(B)V
9288 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
9293 +.method public setCallLogSetting(B)V
9296 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
9301 +.method public setContactsSetting(B)V
9304 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
9309 +.method public setDeviceId(Ljava/lang/String;)V
9312 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
9317 +.method public setDeviceIdSetting(B)V
9320 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
9325 +.method public setIncomingCallsSetting(B)V
9328 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
9333 +.method public setIntentBootCompletedSetting(B)V
9336 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
9341 +.method public setLine1Number(Ljava/lang/String;)V
9344 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
9349 +.method public setLine1NumberSetting(B)V
9352 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
9357 +.method public setLocationGpsLat(Ljava/lang/String;)V
9360 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
9365 +.method public setLocationGpsLon(Ljava/lang/String;)V
9368 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
9373 +.method public setLocationGpsSetting(B)V
9376 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
9381 +.method public setLocationNetworkLat(Ljava/lang/String;)V
9384 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
9389 +.method public setLocationNetworkLon(Ljava/lang/String;)V
9392 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
9397 +.method public setLocationNetworkSetting(B)V
9400 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
9405 +.method public setMmsSetting(B)V
9408 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
9413 +.method public setNetworkInfoSetting(B)V
9416 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
9421 +.method public setNotificationSetting(B)V
9424 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
9429 +.method public setOutgoingCallsSetting(B)V
9432 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
9437 +.method public setPackageName(Ljava/lang/String;)V
9440 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
9445 +.method public setSimInfoSetting(B)V
9448 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
9453 +.method public setSimSerialNumber(Ljava/lang/String;)V
9456 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
9461 +.method public setSimSerialNumberSetting(B)V
9464 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
9469 +.method public setSmsSetting(B)V
9472 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
9477 +.method public setSubscriberId(Ljava/lang/String;)V
9480 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
9485 +.method public setSubscriberIdSetting(B)V
9488 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
9493 +.method public setSystemLogsSetting(B)V
9496 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
9501 +.method public setUid(I)V
9504 + iput p1, p0, Landroid/privacy/PrivacySettings;->uid:I
9509 +.method public toString()Ljava/lang/String;
9512 + new-instance v0, Ljava/lang/StringBuilder;
9514 + invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
9516 + const-string v1, "PrivacySettings [_id="
9518 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9520 + move-result-object v0
9522 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
9524 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
9526 + move-result-object v0
9528 + const-string v1, ", accountsAuthTokensSetting="
9530 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9532 + move-result-object v0
9534 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
9536 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9538 + move-result-object v0
9540 + const-string v1, ", accountsSetting="
9542 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9544 + move-result-object v0
9546 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
9548 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9550 + move-result-object v0
9552 + const-string v1, ", bookmarksSetting="
9554 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9556 + move-result-object v0
9558 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
9560 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9562 + move-result-object v0
9564 + const-string v1, ", calendarSetting="
9566 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9568 + move-result-object v0
9570 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
9572 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9574 + move-result-object v0
9576 + const-string v1, ", callLogSetting="
9578 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9580 + move-result-object v0
9582 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
9584 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9586 + move-result-object v0
9588 + const-string v1, ", contactsSetting="
9590 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9592 + move-result-object v0
9594 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
9596 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9598 + move-result-object v0
9600 + const-string v1, ", deviceId="
9602 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9604 + move-result-object v0
9606 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
9608 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9610 + move-result-object v0
9612 + const-string v1, ", deviceIdSetting="
9614 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9616 + move-result-object v0
9618 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
9620 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9622 + move-result-object v0
9624 + const-string v1, ", incomingCallsSetting="
9626 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9628 + move-result-object v0
9630 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
9632 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9634 + move-result-object v0
9636 + const-string v1, ", intentBootCompletedSetting="
9638 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9640 + move-result-object v0
9642 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
9644 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9646 + move-result-object v0
9648 + const-string v1, ", line1Number="
9650 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9652 + move-result-object v0
9654 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
9656 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9658 + move-result-object v0
9660 + const-string v1, ", line1NumberSetting="
9662 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9664 + move-result-object v0
9666 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
9668 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9670 + move-result-object v0
9672 + const-string v1, ", locationGpsLat="
9674 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9676 + move-result-object v0
9678 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
9680 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9682 + move-result-object v0
9684 + const-string v1, ", locationGpsLon="
9686 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9688 + move-result-object v0
9690 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
9692 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9694 + move-result-object v0
9696 + const-string v1, ", locationGpsSetting="
9698 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9700 + move-result-object v0
9702 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
9704 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9706 + move-result-object v0
9708 + const-string v1, ", locationNetworkLat="
9710 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9712 + move-result-object v0
9714 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
9716 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9718 + move-result-object v0
9720 + const-string v1, ", locationNetworkLon="
9722 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9724 + move-result-object v0
9726 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
9728 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9730 + move-result-object v0
9732 + const-string v1, ", locationNetworkSetting="
9734 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9736 + move-result-object v0
9738 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
9740 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9742 + move-result-object v0
9744 + const-string v1, ", mmsSetting="
9746 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9748 + move-result-object v0
9750 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
9752 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9754 + move-result-object v0
9756 + const-string v1, ", networkInfoSetting="
9758 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9760 + move-result-object v0
9762 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
9764 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9766 + move-result-object v0
9768 + const-string v1, ", notificationSetting="
9770 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9772 + move-result-object v0
9774 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
9776 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9778 + move-result-object v0
9780 + const-string v1, ", outgoingCallsSetting="
9782 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9784 + move-result-object v0
9786 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
9788 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9790 + move-result-object v0
9792 + const-string v1, ", packageName="
9794 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9796 + move-result-object v0
9798 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
9800 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9802 + move-result-object v0
9804 + const-string v1, ", simInfoSetting="
9806 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9808 + move-result-object v0
9810 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
9812 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9814 + move-result-object v0
9816 + const-string v1, ", simSerialNumber="
9818 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9820 + move-result-object v0
9822 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
9824 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9826 + move-result-object v0
9828 + const-string v1, ", simSerialNumberSetting="
9830 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9832 + move-result-object v0
9834 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
9836 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9838 + move-result-object v0
9840 + const-string v1, ", smsSetting="
9842 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9844 + move-result-object v0
9846 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
9848 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9850 + move-result-object v0
9852 + const-string v1, ", subscriberId="
9854 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9856 + move-result-object v0
9858 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
9860 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9862 + move-result-object v0
9864 + const-string v1, ", subscriberIdSetting="
9866 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9868 + move-result-object v0
9870 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
9872 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9874 + move-result-object v0
9876 + const-string v1, ", systemLogsSetting="
9878 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9880 + move-result-object v0
9882 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
9884 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9886 + move-result-object v0
9888 + const-string v1, ", uid="
9890 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9892 + move-result-object v0
9894 + iget v1, p0, Landroid/privacy/PrivacySettings;->uid:I
9896 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9898 + move-result-object v0
9900 + const-string v1, "]"
9902 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9904 + move-result-object v0
9906 + invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
9908 + move-result-object v0
9913 +.method public writeToParcel(Landroid/os/Parcel;I)V
9916 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
9918 + if-nez v0, :cond_a9
9923 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeInt(I)V
9925 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
9927 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9929 + iget v0, p0, Landroid/privacy/PrivacySettings;->uid:I
9931 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeInt(I)V
9933 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
9935 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9937 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
9939 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9941 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
9943 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9945 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
9947 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9949 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
9951 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9953 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
9955 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9957 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
9959 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9961 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
9963 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9965 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
9967 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9969 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
9971 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9973 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
9975 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9977 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
9979 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9981 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
9983 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9985 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
9987 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9989 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
9991 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9993 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
9995 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9997 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
9999 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
10001 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
10003 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
10005 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
10007 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
10009 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
10011 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
10013 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
10015 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
10017 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
10019 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
10021 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
10023 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
10025 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
10027 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
10029 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
10031 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
10033 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
10035 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
10037 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
10039 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
10041 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
10043 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
10045 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
10047 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
10049 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
10051 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeIntArray([I)V
10056 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
10058 + invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
10064 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali
10065 --- stock-framework/smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali 1969-12-31 18:00:00.000000000 -0600
10066 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali 2012-11-02 22:30:28.543776164 -0500
10068 +.class Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10069 +.super Ljava/lang/Object;
10070 +.source "PrivacyAccountManager.java"
10073 +.implements Landroid/accounts/AccountManagerFuture;
10077 +.annotation system Ldalvik/annotation/EnclosingClass;
10078 + value = Landroid/privacy/surrogate/PrivacyAccountManager;
10081 +.annotation system Ldalvik/annotation/InnerClass;
10082 + accessFlags = 0x2
10083 + name = "PrivacyAccountManagerFuture"
10086 +.annotation system Ldalvik/annotation/Signature;
10089 + "Ljava/lang/Object;",
10091 + "Ljava/lang/Object;",
10092 + "Landroid/accounts/AccountManagerFuture",
10099 +.field private result:Ljava/lang/Object;
10100 + .annotation system Ldalvik/annotation/Signature;
10107 +.field final synthetic this$0:Landroid/privacy/surrogate/PrivacyAccountManager;
10111 +.method public constructor <init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
10113 + .annotation system Ldalvik/annotation/Signature;
10119 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->this$0:Landroid/privacy/surrogate/PrivacyAccountManager;
10121 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
10123 + iput-object p2, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->result:Ljava/lang/Object;
10130 +.method public cancel(Z)Z
10138 +.method public getResult()Ljava/lang/Object;
10140 + .annotation system Ldalvik/annotation/Signature;
10146 + .annotation system Ldalvik/annotation/Throws;
10148 + Landroid/accounts/OperationCanceledException;,
10149 + Ljava/io/IOException;,
10150 + Landroid/accounts/AuthenticatorException;
10154 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->result:Ljava/lang/Object;
10159 +.method public getResult(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;
10161 + .annotation system Ldalvik/annotation/Signature;
10164 + "Ljava/util/concurrent/TimeUnit;",
10169 + .annotation system Ldalvik/annotation/Throws;
10171 + Landroid/accounts/OperationCanceledException;,
10172 + Ljava/io/IOException;,
10173 + Landroid/accounts/AuthenticatorException;
10177 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->result:Ljava/lang/Object;
10182 +.method public isCancelled()Z
10190 +.method public isDone()Z
10197 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyAccountManager.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyAccountManager.smali
10198 --- stock-framework/smali/android/privacy/surrogate/PrivacyAccountManager.smali 1969-12-31 18:00:00.000000000 -0600
10199 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyAccountManager.smali 2012-11-02 22:30:28.543776164 -0500
10201 +.class public final Landroid/privacy/surrogate/PrivacyAccountManager;
10202 +.super Landroid/accounts/AccountManager;
10203 +.source "PrivacyAccountManager.java"
10207 +.annotation system Ldalvik/annotation/MemberClasses;
10209 + Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10215 +.field private static final TAG:Ljava/lang/String; = "PrivacyAccountManager"
10219 +.field private context:Landroid/content/Context;
10221 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
10225 +.method public constructor <init>(Landroid/content/Context;Landroid/accounts/IAccountManager;)V
10228 + invoke-direct {p0, p1, p2}, Landroid/accounts/AccountManager;-><init>(Landroid/content/Context;Landroid/accounts/IAccountManager;)V
10230 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10232 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
10234 + const-string/jumbo v1, "privacy"
10236 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
10238 + move-result-object v1
10240 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
10242 + move-result-object v1
10244 + invoke-direct {v0, p1, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
10246 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10251 +.method public constructor <init>(Landroid/content/Context;Landroid/accounts/IAccountManager;Landroid/os/Handler;)V
10254 + invoke-direct {p0, p1, p2, p3}, Landroid/accounts/AccountManager;-><init>(Landroid/content/Context;Landroid/accounts/IAccountManager;Landroid/os/Handler;)V
10256 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10258 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
10260 + const-string/jumbo v1, "privacy"
10262 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
10264 + move-result-object v1
10266 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
10268 + move-result-object v1
10270 + invoke-direct {v0, p1, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
10272 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10279 +.method public blockingGetAuthToken(Landroid/accounts/Account;Ljava/lang/String;Z)Ljava/lang/String;
10281 + .annotation system Ldalvik/annotation/Throws;
10283 + Landroid/accounts/OperationCanceledException;,
10284 + Ljava/io/IOException;,
10285 + Landroid/accounts/AuthenticatorException;
10291 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10293 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10295 + move-result-object v1
10297 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10301 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10303 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10305 + move-result-object v6
10307 + if-eqz v6, :cond_23
10309 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
10313 + if-eqz v0, :cond_23
10317 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10321 + const-string v4, "authTokens"
10323 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10329 + invoke-super {p0, p1, p2, p3}, Landroid/accounts/AccountManager;->blockingGetAuthToken(Landroid/accounts/Account;Ljava/lang/String;Z)Ljava/lang/String;
10331 + move-result-object v7
10333 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10337 + const-string v4, "authTokens"
10339 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10344 +.method public getAccounts()[Landroid/accounts/Account;
10351 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10353 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10355 + move-result-object v1
10357 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10361 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10363 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10365 + move-result-object v6
10367 + if-eqz v6, :cond_27
10369 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
10373 + if-eqz v0, :cond_27
10375 + const-string v8, "[empty accounts list]"
10377 + new-array v7, v3, [Landroid/accounts/Account;
10379 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10383 + const-string v4, "accountsList"
10385 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10391 + const-string v8, "[real value]"
10393 + invoke-super {p0}, Landroid/accounts/AccountManager;->getAccounts()[Landroid/accounts/Account;
10395 + move-result-object v7
10397 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10399 + const-string v4, "accountsList"
10401 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10406 +.method public getAccountsByType(Ljava/lang/String;)[Landroid/accounts/Account;
10413 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10415 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10417 + move-result-object v1
10419 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10423 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10425 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10427 + move-result-object v6
10429 + if-eqz v6, :cond_27
10431 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
10435 + if-eqz v0, :cond_27
10437 + const-string v8, "[empty accounts list]"
10439 + new-array v7, v3, [Landroid/accounts/Account;
10441 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10445 + const-string v4, "accountsList"
10447 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10453 + const-string v8, "[real value]"
10455 + invoke-super {p0, p1}, Landroid/accounts/AccountManager;->getAccountsByType(Ljava/lang/String;)[Landroid/accounts/Account;
10457 + move-result-object v7
10459 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10461 + const-string v4, "accountsList"
10463 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10468 +.method public getAccountsByTypeAndFeatures(Ljava/lang/String;[Ljava/lang/String;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
10470 + .annotation system Ldalvik/annotation/Signature;
10473 + "Ljava/lang/String;",
10475 + "Ljava/lang/String;",
10476 + "Landroid/accounts/AccountManagerCallback",
10478 + "Landroid/accounts/Account;",
10480 + "Landroid/os/Handler;",
10482 + "Landroid/accounts/AccountManagerFuture",
10484 + "Landroid/accounts/Account;",
10493 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10495 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10497 + move-result-object v1
10499 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10503 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10505 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10507 + move-result-object v6
10509 + if-eqz v6, :cond_2c
10511 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
10515 + if-eqz v0, :cond_2c
10517 + const-string v8, "[false]"
10519 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10521 + new-array v0, v3, [Landroid/accounts/Account;
10523 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
10525 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10529 + const-string v4, "accountsList"
10531 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10537 + const-string v8, "[real value]"
10539 + 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;
10541 + move-result-object v7
10543 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10545 + const-string v4, "accountsList"
10547 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10552 +.method public getAuthToken(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;Landroid/app/Activity;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
10554 + .annotation system Ldalvik/annotation/Signature;
10557 + "Landroid/accounts/Account;",
10558 + "Ljava/lang/String;",
10559 + "Landroid/os/Bundle;",
10560 + "Landroid/app/Activity;",
10561 + "Landroid/accounts/AccountManagerCallback",
10563 + "Landroid/os/Bundle;",
10565 + "Landroid/os/Handler;",
10567 + "Landroid/accounts/AccountManagerFuture",
10569 + "Landroid/os/Bundle;",
10576 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10578 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10580 + move-result-object v1
10582 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10586 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10588 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10590 + move-result-object v6
10592 + if-eqz v6, :cond_2e
10594 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
10598 + if-eqz v0, :cond_2e
10600 + const-string v8, "[empty]"
10602 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10604 + new-instance v0, Landroid/os/Bundle;
10606 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
10608 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
10610 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10614 + const-string v4, "authTokens"
10616 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10622 + const-string v8, "[real value]"
10624 + 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;
10626 + move-result-object v7
10628 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10632 + const-string v4, "authTokens"
10634 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10639 +.method public getAuthToken(Landroid/accounts/Account;Ljava/lang/String;ZLandroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
10641 + .annotation system Ldalvik/annotation/Signature;
10644 + "Landroid/accounts/Account;",
10645 + "Ljava/lang/String;",
10647 + "Landroid/accounts/AccountManagerCallback",
10649 + "Landroid/os/Bundle;",
10651 + "Landroid/os/Handler;",
10653 + "Landroid/accounts/AccountManagerFuture",
10655 + "Landroid/os/Bundle;",
10662 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10664 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10666 + move-result-object v1
10668 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10672 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10674 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10676 + move-result-object v6
10678 + if-eqz v6, :cond_2e
10680 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
10684 + if-eqz v0, :cond_2e
10686 + const-string v8, "[empty]"
10688 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10690 + new-instance v0, Landroid/os/Bundle;
10692 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
10694 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
10696 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10700 + const-string v4, "authTokens"
10702 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10708 + const-string v8, "[real value]"
10710 + invoke-super/range {p0 .. p5}, Landroid/accounts/AccountManager;->getAuthToken(Landroid/accounts/Account;Ljava/lang/String;ZLandroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
10712 + move-result-object v7
10714 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10718 + const-string v4, "authTokens"
10720 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10725 +.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;
10727 + .annotation system Ldalvik/annotation/Signature;
10730 + "Ljava/lang/String;",
10731 + "Ljava/lang/String;",
10733 + "Ljava/lang/String;",
10734 + "Landroid/app/Activity;",
10735 + "Landroid/os/Bundle;",
10736 + "Landroid/os/Bundle;",
10737 + "Landroid/accounts/AccountManagerCallback",
10739 + "Landroid/os/Bundle;",
10741 + "Landroid/os/Handler;",
10743 + "Landroid/accounts/AccountManagerFuture",
10745 + "Landroid/os/Bundle;",
10750 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10752 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10754 + move-result-object v1
10756 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10760 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10762 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10764 + move-result-object v6
10766 + if-eqz v6, :cond_2e
10768 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
10772 + if-eqz v0, :cond_2e
10774 + const-string v8, "[empty]"
10776 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10778 + new-instance v0, Landroid/os/Bundle;
10780 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
10782 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
10784 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10788 + const-string v4, "authTokens"
10792 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10798 + const-string v8, "[real value]"
10800 + 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;
10802 + move-result-object v7
10804 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10808 + const-string v4, "authTokens"
10812 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10817 +.method public hasFeatures(Landroid/accounts/Account;[Ljava/lang/String;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
10819 + .annotation system Ldalvik/annotation/Signature;
10822 + "Landroid/accounts/Account;",
10824 + "Ljava/lang/String;",
10825 + "Landroid/accounts/AccountManagerCallback",
10827 + "Ljava/lang/Boolean;",
10829 + "Landroid/os/Handler;",
10831 + "Landroid/accounts/AccountManagerFuture",
10833 + "Ljava/lang/Boolean;",
10842 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10844 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10846 + move-result-object v1
10848 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10852 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10854 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10856 + move-result-object v6
10858 + if-eqz v6, :cond_2e
10860 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
10864 + if-eqz v0, :cond_2e
10866 + const-string v8, "[false]"
10868 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10870 + invoke-static {v3}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
10872 + move-result-object v0
10874 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
10876 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10880 + const-string v4, "accountsList"
10882 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10888 + const-string v8, "[real value]"
10890 + 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;
10892 + move-result-object v7
10894 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10896 + const-string v4, "accountsList"
10898 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10902 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyActivityManagerService.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyActivityManagerService.smali
10903 --- stock-framework/smali/android/privacy/surrogate/PrivacyActivityManagerService.smali 1969-12-31 18:00:00.000000000 -0600
10904 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyActivityManagerService.smali 2012-11-02 22:30:28.547776184 -0500
10906 +.class public final Landroid/privacy/surrogate/PrivacyActivityManagerService;
10907 +.super Ljava/lang/Object;
10908 +.source "PrivacyActivityManagerService.java"
10912 +.field private static final TAG:Ljava/lang/String; = "PrivacyActivityManagerService"
10914 +.field private static pSetMan:Landroid/privacy/PrivacySettingsManager;
10916 +.field private static tmpIn:Landroid/content/Intent;
10918 +.field private static tmpInHash:J
10920 +.field private static tmpInReceivers:I
10922 +.field private static tmpMms:Landroid/content/Intent;
10924 +.field private static tmpMmsHash:J
10926 +.field private static tmpMmsReceivers:I
10928 +.field private static tmpOut:Landroid/content/Intent;
10930 +.field private static tmpOutHash:J
10932 +.field private static tmpOutReceivers:I
10934 +.field private static tmpPackageAddedHash:J
10936 +.field private static tmpSms:Landroid/content/Intent;
10938 +.field private static tmpSmsHash:J
10940 +.field private static tmpSmsReceivers:I
10944 +.method static constructor <clinit>()V
10949 + const-wide/16 v0, 0x0
10951 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInHash:J
10953 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
10955 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutHash:J
10957 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
10959 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsHash:J
10961 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
10963 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsHash:J
10965 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
10967 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpPackageAddedHash:J
10972 +.method public constructor <init>()V
10975 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
10980 +.method public static enforcePrivacyPermission(Ljava/lang/String;ILandroid/content/Intent;Landroid/content/Context;I)V
10983 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10985 + if-nez v2, :cond_11
10987 + const-string/jumbo v2, "privacy"
10989 + move-object/from16 v0, p3
10991 + invoke-virtual {v0, v2}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
10993 + move-result-object v2
10995 + check-cast v2, Landroid/privacy/PrivacySettingsManager;
10997 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11000 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->getAction()Ljava/lang/String;
11002 + move-result-object v9
11004 + const-string v2, "android.intent.action.NEW_OUTGOING_CALL"
11006 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11010 + if-eqz v2, :cond_ad
11012 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11014 + move-object/from16 v0, p0
11016 + move/from16 v1, p1
11018 + invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
11020 + move-result-object v8
11022 + const-string v2, "android.intent.extra.PHONE_NUMBER"
11024 + move-object/from16 v0, p2
11026 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
11028 + move-result-object v16
11030 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutHash:J
11032 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11034 + move-result-wide v4
11036 + cmp-long v2, v2, v4
11038 + if-eqz v2, :cond_49
11040 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->clone()Ljava/lang/Object;
11042 + move-result-object v2
11044 + check-cast v2, Landroid/content/Intent;
11046 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOut:Landroid/content/Intent;
11048 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11050 + move-result-wide v2
11052 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutHash:J
11054 + sput p4, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
11057 + if-eqz v8, :cond_76
11060 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getOutgoingCallsSetting()B
11064 + if-eqz v2, :cond_76
11066 + const-string v16, ""
11068 + const-string v2, "android.intent.extra.PHONE_NUMBER"
11070 + move-object/from16 v0, p2
11072 + move-object/from16 v1, v16
11074 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
11076 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11080 + const-string/jumbo v6, "outgoingCall"
11084 + move-object/from16 v3, p0
11086 + move/from16 v4, p1
11088 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11090 + .catch Ljava/lang/Exception; {:try_start_4b .. :try_end_6a} :catch_a0
11094 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
11098 + if-le v2, v3, :cond_a9
11100 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
11102 + add-int/lit8 v2, v2, -0x1
11104 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
11112 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutHash:J
11114 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11116 + move-result-wide v4
11118 + cmp-long v2, v2, v4
11120 + if-nez v2, :cond_6a
11122 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOut:Landroid/content/Intent;
11124 + const-string v3, "android.intent.extra.PHONE_NUMBER"
11126 + invoke-virtual {v2, v3}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
11128 + move-result-object v16
11130 + const-string v2, "android.intent.extra.PHONE_NUMBER"
11132 + move-object/from16 v0, p2
11134 + move-object/from16 v1, v16
11136 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
11138 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11142 + const-string/jumbo v6, "outgoingCall"
11146 + move-object/from16 v3, p0
11148 + move/from16 v4, p1
11150 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11152 + .catch Ljava/lang/Exception; {:try_start_76 .. :try_end_9f} :catch_a0
11157 + move-exception v13
11159 + const-string v2, "PrivacyActivityManagerService"
11161 + const-string v3, "failed to enforce intent broadcast permission"
11163 + invoke-static {v2, v3, v13}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
11170 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOut:Landroid/content/Intent;
11175 + const-string v2, "android.intent.action.PHONE_STATE"
11177 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11181 + if-eqz v2, :cond_14d
11183 + const-string v2, "incoming_number"
11185 + move-object/from16 v0, p2
11187 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
11189 + move-result-object v16
11191 + if-eqz v16, :cond_75
11193 + invoke-virtual/range {v16 .. v16}, Ljava/lang/String;->isEmpty()Z
11197 + if-nez v2, :cond_75
11199 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11201 + move-object/from16 v0, p0
11203 + move/from16 v1, p1
11205 + invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
11207 + move-result-object v8
11209 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInHash:J
11211 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11213 + move-result-wide v4
11215 + cmp-long v2, v2, v4
11217 + if-eqz v2, :cond_e9
11219 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->clone()Ljava/lang/Object;
11221 + move-result-object v2
11223 + check-cast v2, Landroid/content/Intent;
11225 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpIn:Landroid/content/Intent;
11227 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11229 + move-result-wide v2
11231 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInHash:J
11233 + sput p4, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
11236 + if-eqz v8, :cond_116
11239 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getIncomingCallsSetting()B
11243 + if-eqz v2, :cond_116
11245 + const-string v16, ""
11247 + const-string v2, "incoming_number"
11249 + move-object/from16 v0, p2
11251 + move-object/from16 v1, v16
11253 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
11255 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11259 + const-string v6, "incomingCall"
11263 + move-object/from16 v3, p0
11265 + move/from16 v4, p1
11267 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11269 + .catch Ljava/lang/Exception; {:try_start_eb .. :try_end_109} :catch_13f
11273 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
11277 + if-le v2, v3, :cond_148
11279 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
11281 + add-int/lit8 v2, v2, -0x1
11283 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
11289 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInHash:J
11291 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11293 + move-result-wide v4
11295 + cmp-long v2, v2, v4
11297 + if-nez v2, :cond_109
11299 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpIn:Landroid/content/Intent;
11301 + const-string v3, "incoming_number"
11303 + invoke-virtual {v2, v3}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
11305 + move-result-object v16
11307 + const-string v2, "incoming_number"
11309 + move-object/from16 v0, p2
11311 + move-object/from16 v1, v16
11313 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
11315 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11319 + const-string v6, "incomingCall"
11323 + move-object/from16 v3, p0
11325 + move/from16 v4, p1
11327 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11329 + .catch Ljava/lang/Exception; {:try_start_116 .. :try_end_13e} :catch_13f
11334 + move-exception v13
11336 + const-string v2, "PrivacyActivityManagerService"
11338 + const-string v3, "failed to enforce intent broadcast permission"
11340 + invoke-static {v2, v3, v13}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
11347 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpIn:Landroid/content/Intent;
11352 + const-string v2, "android.provider.Telephony.SMS_RECEIVED"
11354 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11358 + if-eqz v2, :cond_222
11360 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11362 + move-object/from16 v0, p0
11364 + move/from16 v1, p1
11366 + invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
11368 + move-result-object v8
11370 + const-string v16, "[real]"
11372 + const-string/jumbo v2, "pdus"
11374 + move-object/from16 v0, p2
11376 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
11378 + move-result-object v2
11380 + check-cast v2, [Ljava/lang/Object;
11382 + move-object v15, v2
11384 + check-cast v15, [Ljava/lang/Object;
11386 + if-eqz v15, :cond_1cd
11390 + aget-object v2, v15, v2
11392 + check-cast v2, [B
11394 + check-cast v2, [B
11396 + move-object v12, v2
11399 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsHash:J
11401 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11403 + move-result-wide v4
11405 + cmp-long v2, v2, v4
11407 + if-eqz v2, :cond_193
11409 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->clone()Ljava/lang/Object;
11411 + move-result-object v2
11413 + check-cast v2, Landroid/content/Intent;
11415 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSms:Landroid/content/Intent;
11417 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11419 + move-result-wide v2
11421 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsHash:J
11423 + sput p4, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
11426 + if-eqz v8, :cond_1cf
11429 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getSmsSetting()B
11433 + if-eqz v2, :cond_1cf
11435 + const-string v16, "[empty]"
11439 + new-array v14, v2, [Ljava/lang/Object;
11443 + const/16 v3, 0x10
11445 + new-array v3, v3, [B
11447 + fill-array-data v3, :array_350
11449 + aput-object v3, v14, v2
11451 + const-string/jumbo v2, "pdus"
11453 + move-object/from16 v0, p2
11455 + invoke-virtual {v0, v2, v14}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent;
11457 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11461 + const-string/jumbo v6, "sms"
11465 + move-object/from16 v3, p0
11467 + move/from16 v4, p1
11469 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11471 + .catch Ljava/lang/Exception; {:try_start_195 .. :try_end_1c0} :catch_212
11475 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
11479 + if-le v2, v3, :cond_21d
11481 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
11483 + add-int/lit8 v2, v2, -0x1
11485 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
11496 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsHash:J
11498 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11500 + move-result-wide v4
11502 + cmp-long v2, v2, v4
11504 + if-nez v2, :cond_1c0
11506 + const-string/jumbo v2, "pdus"
11508 + sget-object v3, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSms:Landroid/content/Intent;
11510 + const-string/jumbo v4, "pdus"
11512 + invoke-virtual {v3, v4}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
11514 + move-result-object v3
11516 + move-object/from16 v0, p2
11518 + invoke-virtual {v0, v2, v3}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent;
11520 + const-string/jumbo v2, "pdus"
11522 + move-object/from16 v0, p2
11524 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
11526 + move-result-object v2
11528 + check-cast v2, [Ljava/lang/Object;
11530 + move-object v0, v2
11532 + check-cast v0, [Ljava/lang/Object;
11534 + move-object v15, v0
11536 + if-eqz v15, :cond_21b
11540 + aget-object v2, v15, v2
11542 + check-cast v2, [B
11544 + check-cast v2, [B
11546 + move-object v12, v2
11549 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11553 + const-string/jumbo v6, "sms"
11557 + move-object/from16 v3, p0
11559 + move/from16 v4, p1
11561 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11563 + .catch Ljava/lang/Exception; {:try_start_1cf .. :try_end_211} :catch_212
11568 + move-exception v13
11570 + const-string v2, "PrivacyActivityManagerService"
11572 + const-string v3, "failed to enforce intent broadcast permission"
11574 + invoke-static {v2, v3, v13}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
11586 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSms:Landroid/content/Intent;
11591 + const-string v2, "android.provider.Telephony.WAP_PUSH_RECEIVED"
11593 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11597 + if-nez v2, :cond_232
11599 + const-string v2, "android.intent.action.DATA_SMS_RECEIVED"
11601 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11605 + if-eqz v2, :cond_2ff
11608 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11610 + move-object/from16 v0, p0
11612 + move/from16 v1, p1
11614 + invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
11616 + move-result-object v8
11618 + const-string v16, "[real]"
11620 + const-string/jumbo v2, "pdus"
11622 + move-object/from16 v0, p2
11624 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
11626 + move-result-object v2
11628 + check-cast v2, [Ljava/lang/Object;
11630 + move-object v15, v2
11632 + check-cast v15, [Ljava/lang/Object;
11634 + if-eqz v15, :cond_2aa
11638 + aget-object v2, v15, v2
11640 + check-cast v2, [B
11642 + check-cast v2, [B
11644 + move-object v12, v2
11647 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsHash:J
11649 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11651 + move-result-wide v4
11653 + cmp-long v2, v2, v4
11655 + if-eqz v2, :cond_270
11657 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->clone()Ljava/lang/Object;
11659 + move-result-object v2
11661 + check-cast v2, Landroid/content/Intent;
11663 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMms:Landroid/content/Intent;
11665 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11667 + move-result-wide v2
11669 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsHash:J
11671 + sput p4, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
11674 + if-eqz v8, :cond_2ac
11677 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getMmsSetting()B
11681 + if-eqz v2, :cond_2ac
11683 + const-string v16, "[empty]"
11687 + new-array v14, v2, [Ljava/lang/Object;
11691 + const/16 v3, 0x10
11693 + new-array v3, v3, [B
11695 + fill-array-data v3, :array_35c
11697 + aput-object v3, v14, v2
11699 + const-string/jumbo v2, "pdus"
11701 + move-object/from16 v0, p2
11703 + invoke-virtual {v0, v2, v14}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent;
11705 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11709 + const-string/jumbo v6, "mms"
11713 + move-object/from16 v3, p0
11715 + move/from16 v4, p1
11717 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11719 + .catch Ljava/lang/Exception; {:try_start_272 .. :try_end_29d} :catch_2ef
11723 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
11727 + if-le v2, v3, :cond_2fa
11729 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
11731 + add-int/lit8 v2, v2, -0x1
11733 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
11744 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsHash:J
11746 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11748 + move-result-wide v4
11750 + cmp-long v2, v2, v4
11752 + if-nez v2, :cond_29d
11754 + const-string/jumbo v2, "pdus"
11756 + sget-object v3, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMms:Landroid/content/Intent;
11758 + const-string/jumbo v4, "pdus"
11760 + invoke-virtual {v3, v4}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
11762 + move-result-object v3
11764 + move-object/from16 v0, p2
11766 + invoke-virtual {v0, v2, v3}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent;
11768 + const-string/jumbo v2, "pdus"
11770 + move-object/from16 v0, p2
11772 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
11774 + move-result-object v2
11776 + check-cast v2, [Ljava/lang/Object;
11778 + move-object v0, v2
11780 + check-cast v0, [Ljava/lang/Object;
11782 + move-object v15, v0
11784 + if-eqz v15, :cond_2f8
11788 + aget-object v2, v15, v2
11790 + check-cast v2, [B
11792 + check-cast v2, [B
11794 + move-object v12, v2
11797 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11801 + const-string/jumbo v6, "mms"
11805 + move-object/from16 v3, p0
11807 + move/from16 v4, p1
11809 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11811 + .catch Ljava/lang/Exception; {:try_start_2ac .. :try_end_2ee} :catch_2ef
11816 + move-exception v13
11818 + const-string v2, "PrivacyActivityManagerService"
11820 + const-string v3, "failed to enforce intent broadcast permission"
11822 + invoke-static {v2, v3, v13}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
11834 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMms:Landroid/content/Intent;
11839 + const-string v2, "android.intent.action.BOOT_COMPLETED"
11841 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11845 + if-eqz v2, :cond_30e
11847 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11849 + invoke-virtual {v2}, Landroid/privacy/PrivacySettingsManager;->setBootCompleted()V
11854 + const-string v2, "android.intent.action.PACKAGE_ADDED"
11856 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11860 + if-eqz v2, :cond_75
11862 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpPackageAddedHash:J
11864 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11866 + move-result-wide v4
11868 + cmp-long v2, v2, v4
11870 + if-eqz v2, :cond_75
11872 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11874 + move-result-wide v2
11876 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpPackageAddedHash:J
11878 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->getData()Landroid/net/Uri;
11880 + move-result-object v2
11882 + invoke-virtual {v2}, Landroid/net/Uri;->getSchemeSpecificPart()Ljava/lang/String;
11884 + move-result-object v10
11886 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->getExtras()Landroid/os/Bundle;
11888 + move-result-object v2
11890 + const-string v3, "android.intent.extra.UID"
11892 + invoke-virtual {v2, v3}, Landroid/os/Bundle;->getInt(Ljava/lang/String;)I
11896 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11898 + invoke-virtual {v2, v10, v11}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
11900 + move-result-object v8
11902 + if-eqz v8, :cond_75
11904 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getUid()I
11908 + if-eq v2, v11, :cond_75
11910 + invoke-virtual {v8, v11}, Landroid/privacy/PrivacySettings;->setUid(I)V
11912 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11914 + invoke-virtual {v2, v8}, Landroid/privacy/PrivacySettingsManager;->saveSettings(Landroid/privacy/PrivacySettings;)Z
11959 +.method private static hashCode(Landroid/content/Intent;)J
11962 + const-wide/16 v3, 0x0
11964 + const-string/jumbo v2, "privacy_hash"
11966 + invoke-virtual {p0, v2, v3, v4}, Landroid/content/Intent;->getLongExtra(Ljava/lang/String;J)J
11968 + move-result-wide v0
11970 + cmp-long v2, v0, v3
11972 + if-nez v2, :cond_1e
11974 + invoke-virtual {p0}, Landroid/content/Intent;->filterHashCode()I
11978 + int-to-long v2, v2
11980 + invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
11982 + move-result-wide v4
11984 + add-long v0, v2, v4
11986 + const-string/jumbo v2, "privacy_hash"
11988 + invoke-virtual {p0, v2, v0, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;J)Landroid/content/Intent;
11993 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyContentResolver.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyContentResolver.smali
11994 --- stock-framework/smali/android/privacy/surrogate/PrivacyContentResolver.smali 1969-12-31 18:00:00.000000000 -0600
11995 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyContentResolver.smali 2012-11-02 22:30:28.547776184 -0500
11997 +.class public final Landroid/privacy/surrogate/PrivacyContentResolver;
11998 +.super Ljava/lang/Object;
11999 +.source "PrivacyContentResolver.java"
12003 +.field private static final TAG:Ljava/lang/String; = "PrivacyContentResolver"
12005 +.field private static pSetMan:Landroid/privacy/PrivacySettingsManager;
12009 +.method public constructor <init>()V
12012 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
12017 +.method private static arrayToString([Ljava/lang/String;)Ljava/lang/String;
12020 + new-instance v4, Ljava/lang/StringBuffer;
12022 + invoke-direct {v4}, Ljava/lang/StringBuffer;-><init>()V
12024 + if-eqz p0, :cond_2d
12026 + move-object v0, p0
12028 + array-length v3, v0
12033 + if-ge v2, v3, :cond_30
12035 + aget-object v1, v0, v2
12037 + new-instance v5, Ljava/lang/StringBuilder;
12039 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
12041 + const-string v6, "["
12043 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
12045 + move-result-object v5
12047 + invoke-virtual {v5, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
12049 + move-result-object v5
12051 + const-string v6, "]"
12053 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
12055 + move-result-object v5
12057 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
12059 + move-result-object v5
12061 + invoke-virtual {v4, v5}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
12063 + add-int/lit8 v2, v2, 0x1
12068 + const-string v5, ""
12074 + invoke-virtual {v4}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String;
12076 + move-result-object v5
12081 +.method public static enforcePrivacyPermission(Landroid/net/Uri;[Ljava/lang/String;Landroid/content/Context;Landroid/database/Cursor;)Landroid/database/Cursor;
12083 + .annotation system Ldalvik/annotation/Throws;
12085 + Landroid/os/RemoteException;
12089 + if-eqz p0, :cond_1e4
12091 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12093 + if-nez v1, :cond_13
12095 + const-string/jumbo v1, "privacy"
12097 + move-object/from16 v0, p2
12099 + invoke-virtual {v0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
12101 + move-result-object v1
12103 + check-cast v1, Landroid/privacy/PrivacySettingsManager;
12105 + sput-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12108 + invoke-virtual/range {p2 .. p2}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
12110 + move-result-object v2
12112 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
12116 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12118 + invoke-virtual {v1, v2, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
12120 + move-result-object v7
12122 + invoke-virtual/range {p0 .. p0}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
12124 + move-result-object v9
12126 + const-string v15, "[real]"
12128 + move-object/from16 v13, p3
12130 + if-eqz v9, :cond_54
12132 + const-string v1, "contacts"
12134 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12138 + if-nez v1, :cond_3b
12140 + const-string v1, "com.android.contacts"
12142 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12146 + if-eqz v1, :cond_ab
12149 + if-eqz v7, :cond_54
12151 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getContactsSetting()B
12157 + if-ne v1, v4, :cond_55
12159 + const-string v15, "[empty]"
12161 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12163 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12165 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12169 + const-string v5, "contacts"
12173 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12177 + return-object v13
12180 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getContactsSetting()B
12186 + if-ne v1, v4, :cond_a1
12188 + invoke-virtual/range {p0 .. p0}, Landroid/net/Uri;->toString()Ljava/lang/String;
12190 + move-result-object v1
12192 + sget-object v4, Landroid/provider/ContactsContract$Contacts;->CONTENT_URI:Landroid/net/Uri;
12194 + invoke-virtual {v4}, Landroid/net/Uri;->toString()Ljava/lang/String;
12196 + move-result-object v4
12198 + invoke-virtual {v1, v4}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
12202 + if-eqz v1, :cond_a1
12206 + if-eqz p1, :cond_82
12208 + move-object/from16 v8, p1
12210 + array-length v12, v8
12215 + if-ge v10, v12, :cond_82
12217 + aget-object v16, v8, v10
12219 + const-string v1, "_id"
12221 + move-object/from16 v0, v16
12223 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12227 + if-eqz v1, :cond_93
12232 + if-nez v11, :cond_96
12234 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12236 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12239 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12243 + const-string v5, "contacts"
12247 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12252 + add-int/lit8 v10, v10, 0x1
12257 + new-instance v14, Landroid/privacy/surrogate/PrivacyCursor;
12259 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getAllowedContacts()[I
12261 + move-result-object v1
12263 + invoke-direct {v14, v13, v1}, Landroid/privacy/surrogate/PrivacyCursor;-><init>(Landroid/database/Cursor;[I)V
12265 + move-object v13, v14
12270 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12274 + const-string v5, "contacts"
12278 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12283 + const-string v1, "com.android.calendar"
12285 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12289 + if-eqz v1, :cond_d8
12291 + if-eqz v7, :cond_cd
12293 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getCalendarSetting()B
12299 + if-ne v1, v4, :cond_cd
12301 + const-string v15, "[empty]"
12303 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12305 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12307 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12311 + const-string v5, "calendar"
12315 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12320 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12324 + const-string v5, "calendar"
12328 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12333 + sget-object v1, Landroid/provider/Telephony$Mms;->CONTENT_URI:Landroid/net/Uri;
12335 + invoke-virtual {v1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
12337 + move-result-object v1
12339 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12343 + if-eqz v1, :cond_10c
12345 + if-eqz v7, :cond_100
12347 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getMmsSetting()B
12353 + if-ne v1, v4, :cond_100
12355 + const-string v15, "[empty]"
12357 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12359 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12361 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12365 + const-string/jumbo v5, "mms"
12369 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12374 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12378 + const-string/jumbo v5, "mms"
12382 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12387 + sget-object v1, Landroid/provider/Telephony$Sms;->CONTENT_URI:Landroid/net/Uri;
12389 + invoke-virtual {v1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
12391 + move-result-object v1
12393 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12397 + if-eqz v1, :cond_140
12399 + if-eqz v7, :cond_134
12401 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getSmsSetting()B
12407 + if-ne v1, v4, :cond_134
12409 + const-string v15, "[empty]"
12411 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12413 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12415 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12419 + const-string/jumbo v5, "sms"
12423 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12428 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12432 + const-string/jumbo v5, "sms"
12436 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12441 + sget-object v1, Landroid/provider/Telephony$MmsSms;->CONTENT_URI:Landroid/net/Uri;
12443 + invoke-virtual {v1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
12445 + move-result-object v1
12447 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12451 + if-nez v1, :cond_155
12453 + const-string/jumbo v1, "mms-sms-v2"
12455 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12459 + if-eqz v1, :cond_184
12462 + if-eqz v7, :cond_178
12464 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getMmsSetting()B
12470 + if-eq v1, v4, :cond_165
12472 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getSmsSetting()B
12478 + if-ne v1, v4, :cond_178
12481 + const-string v15, "[empty]"
12483 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12485 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12487 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12491 + const-string/jumbo v5, "mmsSms"
12495 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12500 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12504 + const-string/jumbo v5, "mmsSms"
12508 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12513 + const-string v1, "call_log"
12515 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12519 + if-eqz v1, :cond_1b2
12521 + if-eqz v7, :cond_1a7
12523 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getCallLogSetting()B
12529 + if-ne v1, v4, :cond_1a7
12531 + const-string v15, "[empty]"
12533 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12535 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12537 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12541 + const-string v5, "callLog"
12545 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12550 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12554 + const-string v5, "callLog"
12558 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12563 + sget-object v1, Landroid/provider/Browser;->BOOKMARKS_URI:Landroid/net/Uri;
12565 + invoke-virtual {v1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
12567 + move-result-object v1
12569 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12573 + if-eqz v1, :cond_54
12575 + if-eqz v7, :cond_1d9
12577 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getBookmarksSetting()B
12583 + if-ne v1, v4, :cond_1d9
12585 + const-string v15, "[empty]"
12587 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12589 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12591 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12595 + const-string v5, "bookmarks"
12599 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12604 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12608 + const-string v5, "bookmarks"
12612 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12617 + move-object/from16 v13, p3
12621 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyCursor.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyCursor.smali
12622 --- stock-framework/smali/android/privacy/surrogate/PrivacyCursor.smali 1969-12-31 18:00:00.000000000 -0600
12623 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyCursor.smali 2012-11-02 22:30:28.547776184 -0500
12625 +.class public Landroid/privacy/surrogate/PrivacyCursor;
12626 +.super Ljava/lang/Object;
12627 +.source "PrivacyCursor.java"
12630 +.implements Landroid/database/Cursor;
12634 +.field private static final TAG:Ljava/lang/String; = "PrivacyCursor"
12638 +.field private allowedIdMapping:[I
12640 +.field private allowedIds:[I
12642 +.field private realCursor:Landroid/database/Cursor;
12646 +.method public constructor <init>()V
12649 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
12654 +.method public constructor <init>(Landroid/database/Cursor;[I)V
12657 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
12659 + if-eqz p2, :cond_8
12661 + array-length v2, p2
12663 + if-nez v2, :cond_9
12669 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12671 + iput-object p2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIds:[I
12673 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12675 + if-eqz v2, :cond_3f
12677 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12679 + invoke-interface {v2}, Landroid/database/Cursor;->getPosition()I
12683 + array-length v2, p2
12685 + new-array v2, v2, [I
12687 + iput-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
12693 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12695 + invoke-interface {v2}, Landroid/database/Cursor;->moveToNext()Z
12699 + if-eqz v2, :cond_3a
12701 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12703 + invoke-direct {p0, v2}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(Landroid/database/Cursor;)Z
12707 + if-eqz v2, :cond_1d
12709 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
12711 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12713 + invoke-interface {v3}, Landroid/database/Cursor;->getPosition()I
12719 + add-int/lit8 v1, v1, 0x1
12724 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12726 + invoke-interface {v2, v0}, Landroid/database/Cursor;->moveToPosition(I)Z
12732 +.method private getContactId(Landroid/database/Cursor;)I
12735 + const-string v2, "_id"
12737 + invoke-interface {p1, v2}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
12745 + if-eq v0, v2, :cond_e
12747 + invoke-interface {p1, v0}, Landroid/database/Cursor;->getInt(I)I
12755 +.method private getMappedPos(I)I
12761 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
12763 + array-length v1, v1
12765 + if-ge v0, v1, :cond_10
12767 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
12771 + if-ne v1, p1, :cond_d
12777 + add-int/lit8 v0, v0, 0x1
12787 +.method private isAllowed(I)Z
12792 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIds:[I
12794 + array-length v3, v0
12799 + if-ge v2, v3, :cond_c
12803 + if-ne p1, v1, :cond_d
12811 + add-int/lit8 v2, v2, 0x1
12816 +.method private isAllowed(Landroid/database/Cursor;)Z
12819 + invoke-direct {p0, p1}, Landroid/privacy/surrogate/PrivacyCursor;->getContactId(Landroid/database/Cursor;)I
12823 + invoke-direct {p0, v0}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(I)Z
12832 +.method public close()V
12835 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12837 + if-eqz v0, :cond_9
12839 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12841 + invoke-interface {v0}, Landroid/database/Cursor;->close()V
12847 +.method public copyStringToBuffer(ILandroid/database/CharArrayBuffer;)V
12850 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12852 + if-eqz v0, :cond_9
12854 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12856 + invoke-interface {v0, p1, p2}, Landroid/database/Cursor;->copyStringToBuffer(ILandroid/database/CharArrayBuffer;)V
12862 +.method public deactivate()V
12865 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12867 + if-eqz v0, :cond_9
12869 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12871 + invoke-interface {v0}, Landroid/database/Cursor;->deactivate()V
12877 +.method public getBlob(I)[B
12880 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12882 + if-eqz v0, :cond_b
12884 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12886 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getBlob(I)[B
12888 + move-result-object v0
12896 + new-array v0, v0, [B
12901 +.method public getColumnCount()I
12904 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12906 + if-eqz v0, :cond_b
12908 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12910 + invoke-interface {v0}, Landroid/database/Cursor;->getColumnCount()I
12923 +.method public getColumnIndex(Ljava/lang/String;)I
12926 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12928 + if-eqz v0, :cond_b
12930 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12932 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
12945 +.method public getColumnIndexOrThrow(Ljava/lang/String;)I
12947 + .annotation system Ldalvik/annotation/Throws;
12949 + Ljava/lang/IllegalArgumentException;
12953 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12955 + if-eqz v0, :cond_b
12957 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12959 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getColumnIndexOrThrow(Ljava/lang/String;)I
12972 +.method public getColumnName(I)Ljava/lang/String;
12975 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12977 + if-eqz v0, :cond_b
12979 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12981 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getColumnName(I)Ljava/lang/String;
12983 + move-result-object v0
12989 + const-string v0, ""
12994 +.method public getColumnNames()[Ljava/lang/String;
12997 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12999 + if-eqz v0, :cond_b
13001 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13003 + invoke-interface {v0}, Landroid/database/Cursor;->getColumnNames()[Ljava/lang/String;
13005 + move-result-object v0
13013 + new-array v0, v0, [Ljava/lang/String;
13017 + const-string v2, ""
13019 + aput-object v2, v0, v1
13024 +.method public getCount()I
13027 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13029 + if-eqz v0, :cond_23
13031 + const-string v0, "PrivacyCursor"
13033 + new-instance v1, Ljava/lang/StringBuilder;
13035 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
13037 + const-string v2, "getCount: "
13039 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13041 + move-result-object v1
13043 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13045 + array-length v2, v2
13047 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
13049 + move-result-object v1
13051 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
13053 + move-result-object v1
13055 + invoke-static {v0, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
13057 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13059 + array-length v0, v0
13070 +.method public getDouble(I)D
13073 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13075 + if-eqz v0, :cond_b
13077 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13079 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getDouble(I)D
13081 + move-result-wide v0
13087 + const-wide/16 v0, 0x0
13092 +.method public getExtras()Landroid/os/Bundle;
13095 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13097 + if-eqz v0, :cond_b
13099 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13101 + invoke-interface {v0}, Landroid/database/Cursor;->getExtras()Landroid/os/Bundle;
13103 + move-result-object v0
13109 + new-instance v0, Landroid/os/Bundle;
13111 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
13116 +.method public getFloat(I)F
13119 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13121 + if-eqz v0, :cond_b
13123 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13125 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getFloat(I)F
13138 +.method public getInt(I)I
13141 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13143 + if-eqz v1, :cond_b
13145 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13147 + invoke-interface {v1, p1}, Landroid/database/Cursor;->getInt(I)I
13160 +.method public getLong(I)J
13163 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13165 + if-eqz v0, :cond_b
13167 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13169 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getLong(I)J
13171 + move-result-wide v0
13177 + const-wide/16 v0, 0x0
13182 +.method public getPosition()I
13185 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13187 + if-eqz v1, :cond_37
13189 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13191 + invoke-interface {v1}, Landroid/database/Cursor;->getPosition()I
13195 + invoke-direct {p0, v1}, Landroid/privacy/surrogate/PrivacyCursor;->getMappedPos(I)I
13199 + const-string v1, "PrivacyCursor"
13201 + new-instance v2, Ljava/lang/StringBuilder;
13203 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
13205 + const-string v3, "getPosition - mapped position: "
13207 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13209 + move-result-object v2
13211 + invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
13213 + move-result-object v2
13215 + const-string v3, " real position: "
13217 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13219 + move-result-object v2
13221 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13223 + invoke-interface {v3}, Landroid/database/Cursor;->getPosition()I
13227 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
13229 + move-result-object v2
13231 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
13233 + move-result-object v2
13235 + invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
13246 +.method public getShort(I)S
13249 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13251 + if-eqz v0, :cond_b
13253 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13255 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getShort(I)S
13268 +.method public getString(I)Ljava/lang/String;
13271 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13273 + if-eqz v0, :cond_b
13275 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13277 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
13279 + move-result-object v0
13285 + const-string v0, ""
13290 +.method public getType(I)I
13293 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13295 + if-eqz v0, :cond_b
13297 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13299 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getType(I)I
13307 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13314 +.method public getWantsAllOnMoveCalls()Z
13317 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13319 + if-eqz v0, :cond_b
13321 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13323 + invoke-interface {v0}, Landroid/database/Cursor;->getWantsAllOnMoveCalls()Z
13336 +.method public isAfterLast()Z
13339 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13341 + if-eqz v0, :cond_b
13343 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13345 + invoke-interface {v0}, Landroid/database/Cursor;->isAfterLast()Z
13358 +.method public isBeforeFirst()Z
13361 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13363 + if-eqz v0, :cond_b
13365 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13367 + invoke-interface {v0}, Landroid/database/Cursor;->isBeforeFirst()Z
13380 +.method public isClosed()Z
13383 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13385 + if-eqz v0, :cond_b
13387 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13389 + invoke-interface {v0}, Landroid/database/Cursor;->isClosed()Z
13402 +.method public isFirst()Z
13407 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13409 + if-eqz v1, :cond_12
13411 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13413 + invoke-interface {v1}, Landroid/database/Cursor;->getPosition()I
13417 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13421 + if-ne v1, v2, :cond_12
13429 +.method public isLast()Z
13432 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13434 + if-eqz v0, :cond_17
13436 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13438 + invoke-interface {v0}, Landroid/database/Cursor;->getPosition()I
13442 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13444 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13446 + array-length v2, v2
13448 + add-int/lit8 v2, v2, -0x1
13452 + if-ne v0, v1, :cond_17
13465 +.method public isNull(I)Z
13468 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13470 + if-eqz v0, :cond_b
13472 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13474 + invoke-interface {v0, p1}, Landroid/database/Cursor;->isNull(I)Z
13487 +.method public move(I)Z
13492 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13494 + if-eqz v3, :cond_33
13496 + const-string v3, "PrivacyCursor"
13498 + new-instance v4, Ljava/lang/StringBuilder;
13500 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
13502 + const-string/jumbo v5, "move - offset: "
13504 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13506 + move-result-object v4
13508 + invoke-virtual {v4, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
13510 + move-result-object v4
13512 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
13514 + move-result-object v4
13516 + invoke-static {v3, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
13519 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13521 + iget-object v4, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13523 + invoke-interface {v4}, Landroid/database/Cursor;->getPosition()I
13527 + invoke-direct {p0, v4}, Landroid/privacy/surrogate/PrivacyCursor;->getMappedPos(I)I
13531 + add-int/2addr v4, p1
13535 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13537 + invoke-interface {v3, v1}, Landroid/database/Cursor;->moveToPosition(I)Z
13539 + .catch Ljava/lang/ArrayIndexOutOfBoundsException; {:try_start_1e .. :try_end_32} :catch_34
13548 + move-exception v0
13553 +.method public moveToFirst()Z
13558 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13560 + if-eqz v1, :cond_f
13562 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13564 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13568 + invoke-interface {v1, v2}, Landroid/database/Cursor;->moveToPosition(I)Z
13576 +.method public moveToLast()Z
13579 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13581 + if-eqz v1, :cond_14
13583 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13585 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13587 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13589 + array-length v3, v3
13591 + add-int/lit8 v3, v3, -0x1
13595 + invoke-interface {v1, v2}, Landroid/database/Cursor;->moveToPosition(I)Z
13608 +.method public moveToNext()Z
13613 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13615 + if-eqz v1, :cond_d
13617 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13619 + invoke-interface {v1}, Landroid/database/Cursor;->moveToNext()Z
13623 + if-nez v1, :cond_e
13634 + if-ne v0, v1, :cond_d
13636 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13638 + invoke-direct {p0, v1}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(Landroid/database/Cursor;)Z
13642 + if-nez v1, :cond_d
13644 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13646 + invoke-interface {v1}, Landroid/database/Cursor;->moveToNext()Z
13653 +.method public moveToPosition(I)Z
13658 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13660 + if-eqz v2, :cond_f
13663 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13665 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13669 + invoke-interface {v2, v3}, Landroid/database/Cursor;->moveToPosition(I)Z
13671 + .catch Ljava/lang/ArrayIndexOutOfBoundsException; {:try_start_5 .. :try_end_e} :catch_10
13680 + move-exception v0
13685 +.method public moveToPrevious()Z
13690 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13692 + if-eqz v1, :cond_d
13694 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13696 + invoke-interface {v1}, Landroid/database/Cursor;->moveToPrevious()Z
13700 + if-nez v1, :cond_e
13711 + if-ne v0, v1, :cond_d
13713 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13715 + invoke-direct {p0, v1}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(Landroid/database/Cursor;)Z
13719 + if-nez v1, :cond_d
13721 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13723 + invoke-interface {v1}, Landroid/database/Cursor;->moveToPrevious()Z
13730 +.method public registerContentObserver(Landroid/database/ContentObserver;)V
13733 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13735 + if-eqz v0, :cond_9
13737 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13739 + invoke-interface {v0, p1}, Landroid/database/Cursor;->registerContentObserver(Landroid/database/ContentObserver;)V
13745 +.method public registerDataSetObserver(Landroid/database/DataSetObserver;)V
13748 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13750 + if-eqz v0, :cond_9
13752 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13754 + invoke-interface {v0, p1}, Landroid/database/Cursor;->registerDataSetObserver(Landroid/database/DataSetObserver;)V
13760 +.method public requery()Z
13763 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13765 + if-eqz v0, :cond_b
13767 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13769 + invoke-interface {v0}, Landroid/database/Cursor;->requery()Z
13782 +.method public respond(Landroid/os/Bundle;)Landroid/os/Bundle;
13785 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13787 + if-eqz v0, :cond_b
13789 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13791 + invoke-interface {v0, p1}, Landroid/database/Cursor;->respond(Landroid/os/Bundle;)Landroid/os/Bundle;
13793 + move-result-object v0
13799 + new-instance v0, Landroid/os/Bundle;
13801 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
13806 +.method public setNotificationUri(Landroid/content/ContentResolver;Landroid/net/Uri;)V
13809 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13811 + if-eqz v0, :cond_9
13813 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13815 + invoke-interface {v0, p1, p2}, Landroid/database/Cursor;->setNotificationUri(Landroid/content/ContentResolver;Landroid/net/Uri;)V
13821 +.method public unregisterContentObserver(Landroid/database/ContentObserver;)V
13824 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13826 + if-eqz v0, :cond_9
13828 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13830 + invoke-interface {v0, p1}, Landroid/database/Cursor;->unregisterContentObserver(Landroid/database/ContentObserver;)V
13836 +.method public unregisterDataSetObserver(Landroid/database/DataSetObserver;)V
13839 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13841 + if-eqz v0, :cond_9
13843 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13845 + invoke-interface {v0, p1}, Landroid/database/Cursor;->unregisterDataSetObserver(Landroid/database/DataSetObserver;)V
13850 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali
13851 --- stock-framework/smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali 1969-12-31 18:00:00.000000000 -0600
13852 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali 2012-11-02 22:30:28.547776184 -0500
13854 +.class Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
13855 +.super Ljava/lang/Thread;
13856 +.source "PrivacyLocationManager.java"
13860 +.annotation system Ldalvik/annotation/EnclosingClass;
13861 + value = Landroid/privacy/surrogate/PrivacyLocationManager;
13864 +.annotation system Ldalvik/annotation/InnerClass;
13865 + accessFlags = 0x2
13866 + name = "PrivacyLocationUpdater"
13871 +.field private intent:Landroid/app/PendingIntent;
13873 +.field private latitude:D
13875 +.field private listener:Landroid/location/LocationListener;
13877 +.field private longitude:D
13879 +.field private provider:Ljava/lang/String;
13881 +.field final synthetic this$0:Landroid/privacy/surrogate/PrivacyLocationManager;
13885 +.method public constructor <init>(Landroid/privacy/surrogate/PrivacyLocationManager;Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;DD)V
13888 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->this$0:Landroid/privacy/surrogate/PrivacyLocationManager;
13890 + invoke-direct {p0}, Ljava/lang/Thread;-><init>()V
13892 + iput-object p2, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->provider:Ljava/lang/String;
13894 + iput-object p3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->listener:Landroid/location/LocationListener;
13896 + iput-object p4, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->intent:Landroid/app/PendingIntent;
13898 + iput-wide p5, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->latitude:D
13900 + iput-wide p7, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->longitude:D
13907 +.method public run()V
13910 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->provider:Ljava/lang/String;
13912 + if-eqz v3, :cond_43
13914 + new-instance v2, Landroid/location/Location;
13916 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->provider:Ljava/lang/String;
13918 + invoke-direct {v2, v3}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
13920 + iget-wide v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->latitude:D
13922 + invoke-virtual {v2, v3, v4}, Landroid/location/Location;->setLatitude(D)V
13924 + iget-wide v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->longitude:D
13926 + invoke-virtual {v2, v3, v4}, Landroid/location/Location;->setLongitude(D)V
13933 + if-ge v1, v3, :cond_43
13935 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->listener:Landroid/location/LocationListener;
13937 + if-eqz v3, :cond_34
13939 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->listener:Landroid/location/LocationListener;
13941 + invoke-interface {v3, v2}, Landroid/location/LocationListener;->onLocationChanged(Landroid/location/Location;)V
13946 + invoke-static {}, Ljava/lang/Math;->random()D
13948 + move-result-wide v3
13950 + const-wide v5, 0x408f400000000000L
13952 + mul-double/2addr v3, v5
13954 + double-to-int v3, v3
13956 + int-to-long v3, v3
13958 + invoke-static {v3, v4}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->sleep(J)V
13960 + .catch Ljava/lang/InterruptedException; {:try_start_22 .. :try_end_31} :catch_3e
13963 + add-int/lit8 v1, v1, 0x1
13968 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->intent:Landroid/app/PendingIntent;
13970 + if-eqz v3, :cond_22
13972 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->intent:Landroid/app/PendingIntent;
13974 + invoke-virtual {v3}, Landroid/app/PendingIntent;->cancel()V
13979 + move-exception v0
13981 + invoke-virtual {v0}, Ljava/lang/InterruptedException;->printStackTrace()V
13988 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyLocationManager.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyLocationManager.smali
13989 --- stock-framework/smali/android/privacy/surrogate/PrivacyLocationManager.smali 1969-12-31 18:00:00.000000000 -0600
13990 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyLocationManager.smali 2012-11-02 22:30:28.551776211 -0500
13992 +.class public final Landroid/privacy/surrogate/PrivacyLocationManager;
13993 +.super Landroid/location/LocationManager;
13994 +.source "PrivacyLocationManager.java"
13998 +.annotation system Ldalvik/annotation/MemberClasses;
14000 + Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
14006 +.field private static final CUSTOM_LOCATION_UPDATE_COUNT:I = 0x5
14008 +.field private static final TAG:Ljava/lang/String; = "PrivacyLocationManager"
14012 +.field private context:Landroid/content/Context;
14014 +.field private lock:Ljava/lang/Object;
14016 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
14020 +.method public constructor <init>(Landroid/location/ILocationManager;Landroid/content/Context;)V
14023 + invoke-direct {p0, p2, p1}, Landroid/location/LocationManager;-><init>(Landroid/content/Context;Landroid/location/ILocationManager;)V
14025 + new-instance v0, Ljava/lang/Object;
14027 + invoke-direct {v0}, Ljava/lang/Object;-><init>()V
14029 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->lock:Ljava/lang/Object;
14031 + iput-object p2, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
14033 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
14035 + const-string/jumbo v1, "privacy"
14037 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
14039 + move-result-object v1
14041 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
14043 + move-result-object v1
14045 + invoke-direct {v0, p2, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
14047 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14052 +.method private requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
14057 + if-nez p1, :cond_5
14065 + invoke-virtual {p1}, Landroid/location/Criteria;->getAccuracy()I
14071 + if-eq v0, v1, :cond_24
14073 + invoke-virtual {p1}, Landroid/location/Criteria;->getBearingAccuracy()I
14077 + if-eq v0, v2, :cond_24
14079 + invoke-virtual {p1}, Landroid/location/Criteria;->getHorizontalAccuracy()I
14083 + if-eq v0, v2, :cond_24
14085 + invoke-virtual {p1}, Landroid/location/Criteria;->getVerticalAccuracy()I
14089 + if-eq v0, v2, :cond_24
14091 + invoke-virtual {p1}, Landroid/location/Criteria;->getSpeedAccuracy()I
14095 + if-ne v0, v2, :cond_2b
14098 + const-string v0, "gps"
14100 + invoke-direct {p0, v0, p2, p3}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
14107 + const-string/jumbo v0, "network"
14109 + invoke-direct {p0, v0, p2, p3}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
14116 +.method private requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
14119 + move-object/from16 v0, p0
14121 + iget-object v0, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->lock:Ljava/lang/Object;
14123 + move-object/from16 v19, v0
14125 + monitor-enter v19
14128 + move-object/from16 v0, p0
14130 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
14132 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
14134 + move-result-object v2
14136 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
14140 + move-object/from16 v0, p0
14142 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14144 + invoke-virtual {v1, v2, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
14146 + move-result-object v7
14148 + const/16 v18, 0x0
14150 + if-eqz v7, :cond_239
14152 + const-string v1, "gps"
14154 + move-object/from16 v0, p1
14156 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
14160 + if-eqz v1, :cond_111
14162 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
14166 + packed-switch v1, :pswitch_data_25e
14175 + move-object/from16 v0, p0
14177 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14181 + const-string v5, "locationGPS"
14185 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14190 + move-exception v1
14194 + .catchall {:try_start_7 .. :try_end_40} :catchall_3e
14199 + if-eqz p3, :cond_46
14202 + invoke-virtual/range {p3 .. p3}, Landroid/app/PendingIntent;->cancel()V
14205 + const/16 v18, 0x1
14207 + move-object/from16 v0, p0
14209 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14213 + const-string v5, "locationGPS"
14217 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14219 + .catchall {:try_start_43 .. :try_end_53} :catchall_3e
14225 + new-instance v8, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
14227 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
14229 + move-result-object v1
14231 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14233 + move-result-wide v13
14235 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
14237 + move-result-object v1
14239 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14241 + move-result-wide v15
14243 + move-object/from16 v9, p0
14245 + move-object/from16 v10, p1
14247 + move-object/from16 v11, p2
14249 + move-object/from16 v12, p3
14251 + 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
14253 + invoke-virtual {v8}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->start()V
14255 + .catchall {:try_start_54 .. :try_end_74} :catchall_3e
14256 + .catch Ljava/lang/NumberFormatException; {:try_start_54 .. :try_end_74} :catch_a6
14258 + const/16 v18, 0x1
14262 + move-object/from16 v0, p0
14264 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14268 + const-string v5, "locationGPS"
14270 + new-instance v6, Ljava/lang/StringBuilder;
14272 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
14274 + const-string v8, "Lat: "
14276 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14278 + move-result-object v6
14280 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
14282 + move-result-object v8
14284 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14286 + move-result-object v6
14288 + const-string v8, " Lon: "
14290 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14292 + move-result-object v6
14294 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
14296 + move-result-object v8
14298 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14300 + move-result-object v6
14302 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14304 + move-result-object v6
14306 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14311 + move-exception v17
14313 + const-string v1, "PrivacyLocationManager"
14315 + const-string/jumbo v4, "requestLocationUpdates: invalid coordinates"
14317 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
14319 + .catchall {:try_start_76 .. :try_end_af} :catchall_3e
14321 + const/16 v18, 0x1
14327 + new-instance v8, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
14329 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
14331 + move-result-object v1
14333 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14335 + move-result-wide v13
14337 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
14339 + move-result-object v1
14341 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14343 + move-result-wide v15
14345 + move-object/from16 v9, p0
14347 + move-object/from16 v10, p1
14349 + move-object/from16 v11, p2
14351 + move-object/from16 v12, p3
14353 + 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
14355 + invoke-virtual {v8}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->start()V
14357 + .catchall {:try_start_b2 .. :try_end_d2} :catchall_3e
14358 + .catch Ljava/lang/NumberFormatException; {:try_start_b2 .. :try_end_d2} :catch_105
14360 + const/16 v18, 0x1
14364 + move-object/from16 v0, p0
14366 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14370 + const-string v5, "locationGPS"
14372 + new-instance v6, Ljava/lang/StringBuilder;
14374 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
14376 + const-string v8, "Lat: "
14378 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14380 + move-result-object v6
14382 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
14384 + move-result-object v8
14386 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14388 + move-result-object v6
14390 + const-string v8, " Lon: "
14392 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14394 + move-result-object v6
14396 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
14398 + move-result-object v8
14400 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14402 + move-result-object v6
14404 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14406 + move-result-object v6
14408 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14413 + move-exception v17
14415 + const-string v1, "PrivacyLocationManager"
14417 + const-string/jumbo v4, "requestLocationUpdates: invalid coordinates"
14419 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
14421 + const/16 v18, 0x1
14426 + const-string/jumbo v1, "network"
14428 + move-object/from16 v0, p1
14430 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
14434 + if-eqz v1, :cond_204
14436 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
14440 + packed-switch v1, :pswitch_data_26a
14445 + move-object/from16 v0, p0
14447 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14451 + const-string v5, "locationNetwork"
14455 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14460 + if-eqz p3, :cond_137
14462 + invoke-virtual/range {p3 .. p3}, Landroid/app/PendingIntent;->cancel()V
14465 + const/16 v18, 0x1
14467 + move-object/from16 v0, p0
14469 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14473 + const-string v5, "locationNetwork"
14477 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14479 + .catchall {:try_start_d4 .. :try_end_144} :catchall_3e
14485 + new-instance v8, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
14487 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
14489 + move-result-object v1
14491 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14493 + move-result-wide v13
14495 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
14497 + move-result-object v1
14499 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14501 + move-result-wide v15
14503 + move-object/from16 v9, p0
14505 + move-object/from16 v10, p1
14507 + move-object/from16 v11, p2
14509 + move-object/from16 v12, p3
14511 + 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
14513 + invoke-virtual {v8}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->start()V
14515 + .catchall {:try_start_146 .. :try_end_166} :catchall_3e
14516 + .catch Ljava/lang/NumberFormatException; {:try_start_146 .. :try_end_166} :catch_199
14518 + const/16 v18, 0x1
14522 + move-object/from16 v0, p0
14524 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14528 + const-string v5, "locationNetwork"
14530 + new-instance v6, Ljava/lang/StringBuilder;
14532 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
14534 + const-string v8, "Lat: "
14536 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14538 + move-result-object v6
14540 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
14542 + move-result-object v8
14544 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14546 + move-result-object v6
14548 + const-string v8, " Lon: "
14550 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14552 + move-result-object v6
14554 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
14556 + move-result-object v8
14558 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14560 + move-result-object v6
14562 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14564 + move-result-object v6
14566 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14571 + move-exception v17
14573 + const-string v1, "PrivacyLocationManager"
14575 + const-string/jumbo v4, "requestLocationUpdates: invalid coordinates"
14577 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
14579 + .catchall {:try_start_168 .. :try_end_1a2} :catchall_3e
14581 + const/16 v18, 0x1
14587 + new-instance v8, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
14589 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
14591 + move-result-object v1
14593 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14595 + move-result-wide v13
14597 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
14599 + move-result-object v1
14601 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14603 + move-result-wide v15
14605 + move-object/from16 v9, p0
14607 + move-object/from16 v10, p1
14609 + move-object/from16 v11, p2
14611 + move-object/from16 v12, p3
14613 + 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
14615 + invoke-virtual {v8}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->start()V
14617 + .catchall {:try_start_1a5 .. :try_end_1c5} :catchall_3e
14618 + .catch Ljava/lang/NumberFormatException; {:try_start_1a5 .. :try_end_1c5} :catch_1f8
14620 + const/16 v18, 0x1
14624 + move-object/from16 v0, p0
14626 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14630 + const-string v5, "locationNetwork"
14632 + new-instance v6, Ljava/lang/StringBuilder;
14634 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
14636 + const-string v8, "Lat: "
14638 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14640 + move-result-object v6
14642 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
14644 + move-result-object v8
14646 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14648 + move-result-object v6
14650 + const-string v8, " Lon: "
14652 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14654 + move-result-object v6
14656 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
14658 + move-result-object v8
14660 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14662 + move-result-object v6
14664 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14666 + move-result-object v6
14668 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14673 + move-exception v17
14675 + const-string v1, "PrivacyLocationManager"
14677 + const-string/jumbo v4, "requestLocationUpdates: invalid coordinates"
14679 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
14681 + const/16 v18, 0x1
14686 + const-string/jumbo v1, "passive"
14688 + move-object/from16 v0, p1
14690 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
14694 + if-eqz v1, :cond_30
14696 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
14700 + if-nez v1, :cond_22a
14702 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
14706 + if-nez v1, :cond_22a
14708 + const/16 v18, 0x0
14710 + move-object/from16 v0, p0
14712 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14716 + const-string v5, "locationGPS"
14720 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14725 + const/16 v18, 0x1
14727 + move-object/from16 v0, p0
14729 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14733 + const-string v5, "locationGPS"
14737 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14742 + const-string/jumbo v1, "network"
14744 + move-object/from16 v0, p1
14746 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
14750 + if-eqz v1, :cond_251
14752 + move-object/from16 v0, p0
14754 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14758 + const-string v5, "locationNetwork"
14762 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14767 + move-object/from16 v0, p0
14769 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14773 + const-string v5, "locationGPS"
14777 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14779 + .catchall {:try_start_1c7 .. :try_end_25c} :catchall_3e
14783 + :pswitch_data_25e
14784 + .packed-switch 0x0
14789 + .end packed-switch
14791 + :pswitch_data_26a
14792 + .packed-switch 0x0
14797 + .end packed-switch
14802 +.method public addNmeaListener(Landroid/location/GpsStatus$NmeaListener;)Z
14809 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
14811 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
14813 + move-result-object v1
14815 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
14819 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14821 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
14823 + move-result-object v6
14825 + if-eqz v6, :cond_24
14827 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
14831 + if-eqz v0, :cond_24
14833 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14837 + const-string v4, "locationGPS"
14839 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14847 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14849 + const-string v4, "locationGPS"
14853 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14855 + invoke-super {p0, p1}, Landroid/location/LocationManager;->addNmeaListener(Landroid/location/GpsStatus$NmeaListener;)Z
14862 +.method public getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
14875 + if-nez p1, :cond_c
14877 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
14879 + move-result-object v7
14886 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
14888 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
14890 + move-result-object v1
14892 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
14896 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14898 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
14900 + move-result-object v6
14904 + if-eqz v6, :cond_22c
14906 + const-string v0, "gps"
14908 + invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
14912 + if-eqz v0, :cond_ff
14914 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
14918 + packed-switch v0, :pswitch_data_29a
14923 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
14925 + move-result-object v7
14927 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14929 + const-string v4, "locationGPS"
14931 + if-eqz v7, :cond_5e
14933 + new-instance v5, Ljava/lang/StringBuilder;
14935 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
14937 + const-string v8, "Lat: "
14939 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14941 + move-result-object v5
14943 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
14945 + move-result-wide v8
14947 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
14949 + move-result-object v5
14951 + const-string v8, " Lon: "
14953 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14955 + move-result-object v5
14957 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
14959 + move-result-wide v8
14961 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
14963 + move-result-object v5
14965 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14967 + move-result-object v5
14970 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14975 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14977 + const-string v4, "locationGPS"
14981 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14986 + new-instance v7, Landroid/location/Location;
14988 + invoke-direct {v7, p1}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
14990 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
14992 + move-result-object v0
14994 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14996 + move-result-wide v3
14998 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLatitude(D)V
15000 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
15002 + move-result-object v0
15004 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
15006 + move-result-wide v3
15008 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLongitude(D)V
15010 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15012 + const-string v4, "locationGPS"
15014 + new-instance v3, Ljava/lang/StringBuilder;
15016 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
15018 + const-string v5, "Lat: "
15020 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15022 + move-result-object v3
15024 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15026 + move-result-wide v8
15028 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15030 + move-result-object v3
15032 + const-string v5, " Lon: "
15034 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15036 + move-result-object v3
15038 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15040 + move-result-wide v8
15042 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15044 + move-result-object v3
15046 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15048 + move-result-object v5
15052 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15057 + new-instance v7, Landroid/location/Location;
15059 + invoke-direct {v7, p1}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
15061 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
15063 + move-result-object v0
15065 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
15067 + move-result-wide v3
15069 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLatitude(D)V
15071 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
15073 + move-result-object v0
15075 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
15077 + move-result-wide v3
15079 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLongitude(D)V
15081 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15083 + const-string v4, "locationGPS"
15085 + new-instance v3, Ljava/lang/StringBuilder;
15087 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
15089 + const-string v5, "Lat: "
15091 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15093 + move-result-object v3
15095 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15097 + move-result-wide v8
15099 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15101 + move-result-object v3
15103 + const-string v5, " Lon: "
15105 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15107 + move-result-object v3
15109 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15111 + move-result-wide v8
15113 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15115 + move-result-object v3
15117 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15119 + move-result-object v5
15123 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15128 + const-string/jumbo v0, "network"
15130 + invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15134 + if-eqz v0, :cond_1e3
15136 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15140 + packed-switch v0, :pswitch_data_2a6
15145 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
15147 + move-result-object v7
15149 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15151 + const-string v4, "locationNetwork"
15153 + if-eqz v7, :cond_140
15155 + new-instance v5, Ljava/lang/StringBuilder;
15157 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
15159 + const-string v8, "Lat: "
15161 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15163 + move-result-object v5
15165 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15167 + move-result-wide v8
15169 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15171 + move-result-object v5
15173 + const-string v8, " Lon: "
15175 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15177 + move-result-object v5
15179 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15181 + move-result-wide v8
15183 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15185 + move-result-object v5
15187 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15189 + move-result-object v5
15192 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15197 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15199 + const-string v4, "locationNetwork"
15203 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15208 + new-instance v7, Landroid/location/Location;
15210 + invoke-direct {v7, p1}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
15212 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
15214 + move-result-object v0
15216 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
15218 + move-result-wide v3
15220 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLatitude(D)V
15222 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
15224 + move-result-object v0
15226 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
15228 + move-result-wide v3
15230 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLongitude(D)V
15232 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15234 + const-string v4, "locationNetwork"
15236 + new-instance v3, Ljava/lang/StringBuilder;
15238 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
15240 + const-string v5, "Lat: "
15242 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15244 + move-result-object v3
15246 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15248 + move-result-wide v8
15250 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15252 + move-result-object v3
15254 + const-string v5, " Lon: "
15256 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15258 + move-result-object v3
15260 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15262 + move-result-wide v8
15264 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15266 + move-result-object v3
15268 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15270 + move-result-object v5
15274 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15279 + new-instance v7, Landroid/location/Location;
15281 + invoke-direct {v7, p1}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
15283 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
15285 + move-result-object v0
15287 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
15289 + move-result-wide v3
15291 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLatitude(D)V
15293 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
15295 + move-result-object v0
15297 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
15299 + move-result-wide v3
15301 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLongitude(D)V
15303 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15305 + const-string v4, "locationNetwork"
15307 + new-instance v3, Ljava/lang/StringBuilder;
15309 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
15311 + const-string v5, "Lat: "
15313 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15315 + move-result-object v3
15317 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15319 + move-result-wide v8
15321 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15323 + move-result-object v3
15325 + const-string v5, " Lon: "
15327 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15329 + move-result-object v3
15331 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15333 + move-result-wide v8
15335 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15337 + move-result-object v3
15339 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15341 + move-result-object v5
15345 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15350 + const-string/jumbo v0, "passive"
15352 + invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15356 + if-eqz v0, :cond_b
15358 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
15362 + if-nez v0, :cond_b
15364 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15368 + if-nez v0, :cond_b
15370 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
15372 + move-result-object v7
15374 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15376 + const-string v4, "locationGPS"
15378 + if-eqz v7, :cond_227
15380 + new-instance v5, Ljava/lang/StringBuilder;
15382 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
15384 + const-string v8, "Lat: "
15386 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15388 + move-result-object v5
15390 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15392 + move-result-wide v8
15394 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15396 + move-result-object v5
15398 + const-string v8, " Lon: "
15400 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15402 + move-result-object v5
15404 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15406 + move-result-wide v8
15408 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15410 + move-result-object v5
15412 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15414 + move-result-object v5
15417 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15422 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
15424 + move-result-object v7
15426 + const-string/jumbo v0, "network"
15428 + invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15432 + if-eqz v0, :cond_269
15434 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15436 + const-string v4, "locationNetwork"
15438 + if-eqz v7, :cond_264
15440 + new-instance v5, Ljava/lang/StringBuilder;
15442 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
15444 + const-string v8, "Lat: "
15446 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15448 + move-result-object v5
15450 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15452 + move-result-wide v8
15454 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15456 + move-result-object v5
15458 + const-string v8, " Lon: "
15460 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15462 + move-result-object v5
15464 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15466 + move-result-wide v8
15468 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15470 + move-result-object v5
15472 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15474 + move-result-object v5
15477 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15482 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15484 + const-string v4, "locationGPS"
15486 + if-eqz v7, :cond_294
15488 + new-instance v5, Ljava/lang/StringBuilder;
15490 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
15492 + const-string v8, "Lat: "
15494 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15496 + move-result-object v5
15498 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15500 + move-result-wide v8
15502 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15504 + move-result-object v5
15506 + const-string v8, " Lon: "
15508 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15510 + move-result-object v5
15512 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15514 + move-result-wide v8
15516 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15518 + move-result-object v5
15520 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15522 + move-result-object v5
15525 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15531 + :pswitch_data_29a
15532 + .packed-switch 0x0
15537 + .end packed-switch
15539 + :pswitch_data_2a6
15540 + .packed-switch 0x0
15545 + .end packed-switch
15548 +.method public getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15551 + if-nez p1, :cond_7
15553 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15555 + move-result-object v0
15562 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15564 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
15566 + invoke-virtual {v3}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
15568 + move-result-object v3
15570 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
15574 + invoke-virtual {v2, v3, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
15576 + move-result-object v1
15580 + if-eqz v1, :cond_5f
15582 + const-string v2, "gps"
15584 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15588 + if-eqz v2, :cond_2f
15590 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
15594 + packed-switch v2, :pswitch_data_64
15600 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15602 + move-result-object v0
15607 + const-string/jumbo v2, "network"
15609 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15613 + if-eqz v2, :cond_45
15615 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15619 + packed-switch v2, :pswitch_data_70
15625 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15627 + move-result-object v0
15632 + const-string/jumbo v2, "passive"
15634 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15638 + if-eqz v2, :cond_6
15640 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
15644 + if-eqz v2, :cond_5a
15646 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15650 + if-nez v2, :cond_6
15653 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15655 + move-result-object v0
15660 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15662 + move-result-object v0
15667 + .packed-switch 0x0
15672 + .end packed-switch
15675 + .packed-switch 0x0
15680 + .end packed-switch
15683 +.method public isProviderEnabled(Ljava/lang/String;)Z
15686 + if-nez p1, :cond_7
15688 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
15698 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15700 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
15702 + invoke-virtual {v3}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
15704 + move-result-object v3
15706 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
15710 + invoke-virtual {v2, v3, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
15712 + move-result-object v1
15716 + if-eqz v1, :cond_65
15718 + const-string v2, "gps"
15720 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15724 + if-eqz v2, :cond_31
15726 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
15730 + packed-switch v2, :pswitch_data_6a
15735 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
15747 + const-string/jumbo v2, "network"
15749 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15753 + if-eqz v2, :cond_49
15755 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15759 + packed-switch v2, :pswitch_data_76
15764 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
15776 + const-string/jumbo v2, "passive"
15778 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15782 + if-eqz v2, :cond_6
15784 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
15788 + if-eqz v2, :cond_5e
15790 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15794 + if-nez v2, :cond_63
15797 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
15809 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
15816 + .packed-switch 0x0
15821 + .end packed-switch
15824 + .packed-switch 0x0
15829 + .end packed-switch
15832 +.method public requestLocationUpdates(JFLandroid/location/Criteria;Landroid/app/PendingIntent;)V
15835 + if-eqz p4, :cond_4
15837 + if-nez p5, :cond_8
15840 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/app/PendingIntent;)V
15849 + invoke-direct {p0, p4, v0, p5}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15853 + if-nez v0, :cond_7
15855 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/app/PendingIntent;)V
15860 +.method public requestLocationUpdates(JFLandroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
15863 + if-eqz p4, :cond_4
15865 + if-nez p5, :cond_8
15868 + invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
15877 + invoke-direct {p0, p4, p5, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15881 + if-nez v0, :cond_7
15883 + invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
15888 +.method public requestLocationUpdates(Ljava/lang/String;JFLandroid/app/PendingIntent;)V
15891 + if-eqz p1, :cond_4
15893 + if-nez p5, :cond_8
15896 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/app/PendingIntent;)V
15905 + invoke-direct {p0, p1, v0, p5}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15909 + if-nez v0, :cond_7
15911 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/app/PendingIntent;)V
15916 +.method public requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;)V
15919 + if-eqz p1, :cond_4
15921 + if-nez p5, :cond_8
15924 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;)V
15933 + invoke-direct {p0, p1, p5, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15937 + if-nez v0, :cond_7
15939 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;)V
15944 +.method public requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;Landroid/os/Looper;)V
15947 + if-eqz p1, :cond_4
15949 + if-nez p5, :cond_8
15952 + invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;Landroid/os/Looper;)V
15961 + invoke-direct {p0, p1, p5, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15965 + if-nez v0, :cond_7
15967 + invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;Landroid/os/Looper;)V
15972 +.method public requestSingleUpdate(Landroid/location/Criteria;Landroid/app/PendingIntent;)V
15975 + if-eqz p1, :cond_4
15977 + if-nez p2, :cond_8
15980 + invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/app/PendingIntent;)V
15989 + invoke-direct {p0, p1, v0, p2}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15993 + if-nez v0, :cond_7
15995 + invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/app/PendingIntent;)V
16000 +.method public requestSingleUpdate(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
16003 + if-eqz p1, :cond_4
16005 + if-nez p2, :cond_8
16008 + invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
16017 + invoke-direct {p0, p1, p2, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
16021 + if-nez v0, :cond_7
16023 + invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
16028 +.method public requestSingleUpdate(Ljava/lang/String;Landroid/app/PendingIntent;)V
16031 + if-eqz p1, :cond_4
16033 + if-nez p2, :cond_8
16036 + invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/app/PendingIntent;)V
16045 + invoke-direct {p0, p1, v0, p2}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
16049 + if-nez v0, :cond_7
16051 + invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/app/PendingIntent;)V
16056 +.method public requestSingleUpdate(Ljava/lang/String;Landroid/location/LocationListener;Landroid/os/Looper;)V
16059 + if-eqz p1, :cond_4
16061 + if-nez p2, :cond_8
16064 + invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/location/LocationListener;Landroid/os/Looper;)V
16073 + invoke-direct {p0, p1, p2, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
16077 + if-nez v0, :cond_7
16079 + invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/location/LocationListener;Landroid/os/Looper;)V
16083 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyTelephonyManager.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyTelephonyManager.smali
16084 --- stock-framework/smali/android/privacy/surrogate/PrivacyTelephonyManager.smali 1969-12-31 18:00:00.000000000 -0600
16085 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyTelephonyManager.smali 2012-11-02 22:30:28.555776223 -0500
16087 +.class public final Landroid/privacy/surrogate/PrivacyTelephonyManager;
16088 +.super Landroid/telephony/TelephonyManager;
16089 +.source "PrivacyTelephonyManager.java"
16093 +.field private static final TAG:Ljava/lang/String; = "PrivacyTelephonyManager"
16097 +.field private context:Landroid/content/Context;
16099 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
16103 +.method public constructor <init>(Landroid/content/Context;)V
16106 + invoke-direct {p0, p1}, Landroid/telephony/TelephonyManager;-><init>(Landroid/content/Context;)V
16108 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16110 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
16112 + const-string/jumbo v1, "privacy"
16114 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
16116 + move-result-object v1
16118 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
16120 + move-result-object v1
16122 + invoke-direct {v0, p1, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
16124 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16129 +.method private getNetworkInfo()Ljava/lang/String;
16134 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16136 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16138 + move-result-object v1
16140 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16144 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16146 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16148 + move-result-object v6
16150 + if-eqz v6, :cond_25
16152 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
16156 + if-eqz v0, :cond_25
16158 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16162 + const-string/jumbo v4, "networkInfoCurrent"
16164 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16166 + const-string v5, ""
16172 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16176 + const-string/jumbo v4, "networkInfoCurrent"
16178 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16183 +.method private getSimInfo()Ljava/lang/String;
16188 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16190 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16192 + move-result-object v1
16194 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16198 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16200 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16202 + move-result-object v6
16204 + if-eqz v6, :cond_25
16206 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSimInfoSetting()B
16210 + if-eqz v0, :cond_25
16212 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16216 + const-string/jumbo v4, "networkInfoSIM"
16218 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16220 + const-string v5, ""
16226 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16230 + const-string/jumbo v4, "networkInfoSIM"
16232 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16239 +.method public getDeviceId()Ljava/lang/String;
16242 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16244 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16246 + move-result-object v1
16248 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16252 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16254 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16256 + move-result-object v6
16258 + if-eqz v6, :cond_28
16260 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
16264 + if-eqz v0, :cond_28
16266 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceId()Ljava/lang/String;
16268 + move-result-object v5
16270 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16272 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
16276 + const-string v4, "deviceID"
16278 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16284 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getDeviceId()Ljava/lang/String;
16286 + move-result-object v5
16288 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16292 + const-string v4, "deviceID"
16294 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16299 +.method public getLine1Number()Ljava/lang/String;
16302 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16304 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16306 + move-result-object v1
16308 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16312 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16314 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16316 + move-result-object v6
16318 + if-eqz v6, :cond_28
16320 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
16324 + if-eqz v0, :cond_28
16326 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1Number()Ljava/lang/String;
16328 + move-result-object v5
16330 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16332 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
16336 + const-string v4, "line1Number"
16338 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16344 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getLine1Number()Ljava/lang/String;
16346 + move-result-object v5
16348 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16352 + const-string v4, "line1Number"
16354 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16359 +.method public getNeighboringCellInfo()Ljava/util/List;
16361 + .annotation system Ldalvik/annotation/Signature;
16364 + "Ljava/util/List",
16366 + "Landroid/telephony/NeighboringCellInfo;",
16371 + iget-object v6, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16373 + iget-object v7, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16375 + invoke-virtual {v7}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16377 + move-result-object v7
16379 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16383 + invoke-virtual {v6, v7, v8}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16385 + move-result-object v5
16389 + const-string v4, "[null]"
16391 + if-eqz v5, :cond_1c
16393 + invoke-virtual {v5}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
16399 + if-ne v6, v7, :cond_1d
16406 + invoke-virtual {v5}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
16410 + if-eqz v6, :cond_2b
16412 + new-instance v3, Ljava/util/ArrayList;
16414 + invoke-direct {v3}, Ljava/util/ArrayList;-><init>()V
16416 + const-string v4, "[empty list of cells]"
16421 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNeighboringCellInfo()Ljava/util/List;
16423 + move-result-object v3
16425 + const-string v0, ""
16427 + invoke-interface {v3}, Ljava/util/List;->iterator()Ljava/util/Iterator;
16429 + move-result-object v2
16432 + invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z
16436 + if-eqz v6, :cond_5f
16438 + invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
16440 + move-result-object v1
16442 + check-cast v1, Landroid/telephony/NeighboringCellInfo;
16444 + new-instance v6, Ljava/lang/StringBuilder;
16446 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
16448 + invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16450 + move-result-object v6
16452 + const-string v7, "\t"
16454 + invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16456 + move-result-object v6
16458 + invoke-virtual {v6, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
16460 + move-result-object v6
16462 + const-string v7, "\n"
16464 + invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16466 + move-result-object v6
16468 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
16470 + move-result-object v0
16475 + new-instance v6, Ljava/lang/StringBuilder;
16477 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
16479 + const-string v7, "[real value]:\n"
16481 + invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16483 + move-result-object v6
16485 + invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16487 + move-result-object v6
16489 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
16491 + move-result-object v4
16496 +.method public getNetworkCountryIso()Ljava/lang/String;
16499 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getNetworkInfo()Ljava/lang/String;
16501 + move-result-object v0
16503 + if-nez v0, :cond_a
16505 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNetworkCountryIso()Ljava/lang/String;
16507 + move-result-object v0
16513 +.method public getNetworkOperator()Ljava/lang/String;
16516 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getNetworkInfo()Ljava/lang/String;
16518 + move-result-object v0
16520 + if-nez v0, :cond_a
16522 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNetworkOperator()Ljava/lang/String;
16524 + move-result-object v0
16530 +.method public getNetworkOperatorName()Ljava/lang/String;
16533 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getNetworkInfo()Ljava/lang/String;
16535 + move-result-object v0
16537 + if-nez v0, :cond_a
16539 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNetworkOperatorName()Ljava/lang/String;
16541 + move-result-object v0
16547 +.method public getSimCountryIso()Ljava/lang/String;
16550 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getSimInfo()Ljava/lang/String;
16552 + move-result-object v0
16554 + if-nez v0, :cond_a
16556 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSimCountryIso()Ljava/lang/String;
16558 + move-result-object v0
16564 +.method public getSimOperator()Ljava/lang/String;
16567 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getSimInfo()Ljava/lang/String;
16569 + move-result-object v0
16571 + if-nez v0, :cond_a
16573 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSimOperator()Ljava/lang/String;
16575 + move-result-object v0
16581 +.method public getSimOperatorName()Ljava/lang/String;
16584 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getSimInfo()Ljava/lang/String;
16586 + move-result-object v0
16588 + if-nez v0, :cond_a
16590 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSimOperatorName()Ljava/lang/String;
16592 + move-result-object v0
16598 +.method public getSimSerialNumber()Ljava/lang/String;
16601 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16603 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16605 + move-result-object v1
16607 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16611 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16613 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16615 + move-result-object v6
16617 + if-eqz v6, :cond_29
16619 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSimSerialNumberSetting()B
16623 + if-eqz v0, :cond_29
16625 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSimSerialNumber()Ljava/lang/String;
16627 + move-result-object v5
16629 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16631 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSimSerialNumberSetting()B
16635 + const-string/jumbo v4, "simSerial"
16637 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16643 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSimSerialNumber()Ljava/lang/String;
16645 + move-result-object v5
16647 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16651 + const-string/jumbo v4, "simSerial"
16653 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16658 +.method public getSubscriberId()Ljava/lang/String;
16661 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16663 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16665 + move-result-object v1
16667 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16671 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16673 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16675 + move-result-object v6
16677 + if-eqz v6, :cond_29
16679 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberIdSetting()B
16683 + if-eqz v0, :cond_29
16685 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberId()Ljava/lang/String;
16687 + move-result-object v5
16689 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16691 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberIdSetting()B
16695 + const-string/jumbo v4, "subscriberID"
16697 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16703 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSubscriberId()Ljava/lang/String;
16705 + move-result-object v5
16707 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16711 + const-string/jumbo v4, "subscriberID"
16713 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16718 +.method public getVoiceMailNumber()Ljava/lang/String;
16721 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16723 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16725 + move-result-object v1
16727 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16731 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16733 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16735 + move-result-object v6
16737 + if-eqz v6, :cond_28
16739 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
16743 + if-eqz v0, :cond_28
16745 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1Number()Ljava/lang/String;
16747 + move-result-object v5
16749 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16751 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
16755 + const-string v4, "line1Number"
16757 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16763 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getVoiceMailNumber()Ljava/lang/String;
16765 + move-result-object v5
16767 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16771 + const-string v4, "line1Number"
16773 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16778 +.method public listen(Landroid/telephony/PhoneStateListener;I)V
16781 + and-int/lit8 v0, p2, 0x10
16783 + if-nez v0, :cond_8
16785 + and-int/lit8 v0, p2, 0x20
16787 + if-eqz v0, :cond_21
16790 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16792 + invoke-virtual {p1, v0}, Landroid/telephony/PhoneStateListener;->setContext(Landroid/content/Context;)V
16794 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16796 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16798 + move-result-object v0
16800 + invoke-virtual {p1, v0}, Landroid/telephony/PhoneStateListener;->setPackageName(Ljava/lang/String;)V
16802 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16806 + invoke-virtual {p1, v0}, Landroid/telephony/PhoneStateListener;->setUid(I)V
16808 + invoke-super {p0, p1, p2}, Landroid/telephony/TelephonyManager;->listen(Landroid/telephony/PhoneStateListener;I)V
16814 + invoke-super {p0, p1, p2}, Landroid/telephony/TelephonyManager;->listen(Landroid/telephony/PhoneStateListener;I)V
16818 diff -Npru stock-framework/smali/android/telephony/PhoneStateListener$1.smali pdroid-framework/smali/android/telephony/PhoneStateListener$1.smali
16819 --- stock-framework/smali/android/telephony/PhoneStateListener$1.smali 2012-11-02 22:31:09.543979472 -0500
16820 +++ pdroid-framework/smali/android/telephony/PhoneStateListener$1.smali 2012-11-02 22:30:28.883777849 -0500
16821 @@ -64,23 +64,196 @@
16824 .method public onCallStateChanged(ILjava/lang/String;)V
16828 - iget-object v0, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16829 + move-object/from16 v0, p0
16831 - iget-object v0, v0, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
16832 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16834 - const/16 v1, 0x20
16835 + #getter for: Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
16836 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
16839 + move-result-object v3
16841 - invoke-static {v0, v1, p1, v2, p2}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
16842 + if-eqz v3, :cond_99
16844 - move-result-object v0
16845 + if-eqz p2, :cond_99
16847 - invoke-virtual {v0}, Landroid/os/Message;->sendToTarget()V
16848 + invoke-virtual/range {p2 .. p2}, Ljava/lang/String;->isEmpty()Z
16852 + if-nez v3, :cond_99
16854 + move-object/from16 v0, p0
16856 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16858 + #getter for: Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
16859 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
16861 + move-result-object v3
16863 + const-string/jumbo v4, "privacy"
16865 + invoke-virtual {v3, v4}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
16867 + move-result-object v2
16869 + check-cast v2, Landroid/privacy/PrivacySettingsManager;
16871 + move-object/from16 v0, p0
16873 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16875 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
16876 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
16878 + move-result-object v3
16880 + move-object/from16 v0, p0
16882 + iget-object v4, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16884 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
16885 + invoke-static {v4}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
16889 + invoke-virtual {v2, v3, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16891 + move-result-object v8
16893 + if-eqz v8, :cond_6a
16895 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getIncomingCallsSetting()B
16899 + if-eqz v3, :cond_6a
16901 + const-string v7, ""
16903 + move-object/from16 v0, p0
16905 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16907 + iget-object v3, v3, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
16909 + const/16 v4, 0x20
16913 + move/from16 v0, p1
16915 + invoke-static {v3, v4, v0, v5, v7}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
16917 + move-result-object v3
16919 + invoke-virtual {v3}, Landroid/os/Message;->sendToTarget()V
16921 + move-object/from16 v0, p0
16923 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16925 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
16926 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
16928 + move-result-object v3
16930 + move-object/from16 v0, p0
16932 + iget-object v4, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16934 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
16935 + invoke-static {v4}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
16941 + const-string v6, "incomingCall"
16943 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16949 + move-object/from16 v0, p0
16951 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16953 + iget-object v3, v3, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
16955 + const/16 v4, 0x20
16959 + move/from16 v0, p1
16961 + move-object/from16 v1, p2
16963 + invoke-static {v3, v4, v0, v5, v1}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
16965 + move-result-object v3
16967 + invoke-virtual {v3}, Landroid/os/Message;->sendToTarget()V
16969 + move-object/from16 v0, p0
16971 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16973 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
16974 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
16976 + move-result-object v10
16978 + move-object/from16 v0, p0
16980 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16982 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
16983 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
16989 + const-string v13, "incomingCall"
16991 + move-object v9, v2
16993 + move-object/from16 v14, p2
16995 + move-object v15, v8
16997 + invoke-virtual/range {v9 .. v15}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
17002 + move-object/from16 v0, p0
17004 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
17006 + iget-object v3, v3, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
17008 + const/16 v4, 0x20
17012 + move/from16 v0, p1
17014 + move-object/from16 v1, p2
17016 + invoke-static {v3, v4, v0, v5, v1}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
17018 + move-result-object v3
17020 + invoke-virtual {v3}, Landroid/os/Message;->sendToTarget()V
17025 .method public onCellInfoChanged(Landroid/telephony/CellInfo;)V
17026 @@ -104,27 +277,124 @@
17029 .method public onCellLocationChanged(Landroid/os/Bundle;)V
17037 invoke-static {p1}, Landroid/telephony/CellLocation;->newFromBundle(Landroid/os/Bundle;)Landroid/telephony/CellLocation;
17039 + move-result-object v7
17041 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
17043 + #getter for: Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
17044 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
17046 + move-result-object v1
17048 + if-eqz v1, :cond_4a
17050 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
17052 + #getter for: Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
17053 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
17055 + move-result-object v1
17057 + const-string/jumbo v2, "privacy"
17059 + invoke-virtual {v1, v2}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
17061 move-result-object v0
17063 + check-cast v0, Landroid/privacy/PrivacySettingsManager;
17065 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
17067 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
17068 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
17070 + move-result-object v1
17072 + iget-object v2, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
17074 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
17075 + invoke-static {v2}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
17079 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
17081 + move-result-object v6
17083 + if-eqz v6, :cond_4b
17085 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
17089 + if-eqz v1, :cond_4b
17091 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
17093 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
17094 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
17096 + move-result-object v1
17098 + iget-object v2, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
17100 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
17101 + invoke-static {v2}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
17105 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
17109 + const-string v4, "locationNetwork"
17111 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
17118 iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
17120 iget-object v1, v1, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
17124 - invoke-static {v1, v2, v3, v3, v0}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
17125 + invoke-static {v1, v2, v3, v3, v7}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
17127 move-result-object v1
17129 invoke-virtual {v1}, Landroid/os/Message;->sendToTarget()V
17132 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
17134 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
17135 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
17137 + move-result-object v1
17139 + iget-object v2, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
17141 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
17142 + invoke-static {v2}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
17146 + const-string v4, "locationNetwork"
17148 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
17153 .method public onDataActivity(I)V
17154 diff -Npru stock-framework/smali/android/telephony/PhoneStateListener.smali pdroid-framework/smali/android/telephony/PhoneStateListener.smali
17155 --- stock-framework/smali/android/telephony/PhoneStateListener.smali 2012-11-02 22:31:08.503974315 -0500
17156 +++ pdroid-framework/smali/android/telephony/PhoneStateListener.smali 2012-11-02 22:30:27.895772950 -0500
17157 @@ -31,12 +31,20 @@
17159 .field public static final LISTEN_SIGNAL_STRENGTHS:I = 0x100
17161 +.field private static final TAG:Ljava/lang/String; = "PhoneStateListener"
17165 .field callback:Lcom/android/internal/telephony/IPhoneStateListener;
17167 +.field private context:Landroid/content/Context;
17169 .field mHandler:Landroid/os/Handler;
17171 +.field private packageName:Ljava/lang/String;
17173 +.field private uid:I
17177 .method public constructor <init>()V
17182 +.method static synthetic access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
17185 + iget-object v0, p0, Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
17190 +.method static synthetic access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
17193 + iget-object v0, p0, Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
17198 +.method static synthetic access$200(Landroid/telephony/PhoneStateListener;)I
17201 + iget v0, p0, Landroid/telephony/PhoneStateListener;->uid:I
17208 .method public onCallForwardingIndicatorChanged(Z)V
17209 @@ -134,3 +166,27 @@
17214 +.method public setContext(Landroid/content/Context;)V
17217 + iput-object p1, p0, Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
17222 +.method public setPackageName(Ljava/lang/String;)V
17225 + iput-object p1, p0, Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
17230 +.method public setUid(I)V
17233 + iput p1, p0, Landroid/telephony/PhoneStateListener;->uid:I