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-10-05 10:16:07.705222441 -0500
3 +++ pdroid-framework/smali/android/app/ContextImpl$20.smali 2012-10-05 10:15:45.005109883 -0500
7 .method public createStaticService()Ljava/lang/Object;
11 - const-string v1, "location"
12 + const-string v2, "location"
14 - invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
15 + invoke-static {v2}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
19 - new-instance v1, Landroid/location/LocationManager;
21 invoke-static {v0}, Landroid/location/ILocationManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/location/ILocationManager;
23 - move-result-object v2
24 + move-result-object v1
26 + new-instance v2, Landroid/privacy/surrogate/PrivacyLocationManager;
28 + invoke-static {}, Landroid/app/ContextImpl;->getStaticOuterContext()Landroid/content/Context;
30 + move-result-object v3
32 - invoke-direct {v1, v2}, Landroid/location/LocationManager;-><init>(Landroid/location/ILocationManager;)V
33 + invoke-direct {v2, v1, v3}, Landroid/privacy/surrogate/PrivacyLocationManager;-><init>(Landroid/location/ILocationManager;Landroid/content/Context;)V
38 diff -Npru stock-framework/smali/android/app/ContextImpl$29.smali pdroid-framework/smali/android/app/ContextImpl$29.smali
39 --- stock-framework/smali/android/app/ContextImpl$29.smali 2012-10-05 10:16:07.713222481 -0500
40 +++ pdroid-framework/smali/android/app/ContextImpl$29.smali 2012-10-05 10:15:45.013109917 -0500
42 .method public createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
45 - new-instance v0, Landroid/telephony/TelephonyManager;
46 + new-instance v0, Landroid/privacy/surrogate/PrivacyTelephonyManager;
48 invoke-virtual {p1}, Landroid/app/ContextImpl;->getOuterContext()Landroid/content/Context;
52 - invoke-direct {v0, v1}, Landroid/telephony/TelephonyManager;-><init>(Landroid/content/Context;)V
53 + invoke-direct {v0, v1}, Landroid/privacy/surrogate/PrivacyTelephonyManager;-><init>(Landroid/content/Context;)V
57 diff -Npru stock-framework/smali/android/app/ContextImpl$38.smali pdroid-framework/smali/android/app/ContextImpl$38.smali
58 --- stock-framework/smali/android/app/ContextImpl$38.smali 1969-12-31 18:00:00.000000000 -0600
59 +++ pdroid-framework/smali/android/app/ContextImpl$38.smali 2012-10-05 10:15:45.021109956 -0500
61 +.class final Landroid/app/ContextImpl$38;
62 +.super Landroid/app/ContextImpl$StaticServiceFetcher;
63 +.source "ContextImpl.java"
67 +.annotation system Ldalvik/annotation/EnclosingClass;
68 + value = Landroid/app/ContextImpl;
71 +.annotation system Ldalvik/annotation/InnerClass;
78 +.method constructor <init>()V
81 + invoke-direct {p0}, Landroid/app/ContextImpl$StaticServiceFetcher;-><init>()V
88 +.method public createStaticService()Ljava/lang/Object;
91 + const-string/jumbo v2, "privacy"
93 + invoke-static {v2}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
95 + move-result-object v0
97 + invoke-static {v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
99 + move-result-object v1
101 + new-instance v2, Landroid/privacy/PrivacySettingsManager;
103 + invoke-static {}, Landroid/app/ContextImpl;->getStaticOuterContext()Landroid/content/Context;
105 + move-result-object v3
107 + invoke-direct {v2, v3, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
111 diff -Npru stock-framework/smali/android/app/ContextImpl$3.smali pdroid-framework/smali/android/app/ContextImpl$3.smali
112 --- stock-framework/smali/android/app/ContextImpl$3.smali 2012-10-05 10:16:07.721222521 -0500
113 +++ pdroid-framework/smali/android/app/ContextImpl$3.smali 2012-10-05 10:15:45.021109956 -0500
116 move-result-object v1
118 - new-instance v2, Landroid/accounts/AccountManager;
119 + new-instance v2, Landroid/privacy/surrogate/PrivacyAccountManager;
121 - invoke-direct {v2, p1, v1}, Landroid/accounts/AccountManager;-><init>(Landroid/content/Context;Landroid/accounts/IAccountManager;)V
122 + invoke-direct {v2, p1, v1}, Landroid/privacy/surrogate/PrivacyAccountManager;-><init>(Landroid/content/Context;Landroid/accounts/IAccountManager;)V
126 diff -Npru stock-framework/smali/android/app/ContextImpl.smali pdroid-framework/smali/android/app/ContextImpl.smali
127 --- stock-framework/smali/android/app/ContextImpl.smali 2012-10-05 10:16:07.753222679 -0500
128 +++ pdroid-framework/smali/android/app/ContextImpl.smali 2012-10-05 10:15:45.057110138 -0500
131 .field private static sNextPerContextServiceCacheIndex:I
133 +.field private static sOuterContext:Landroid/content/Context;
135 .field private static final sSharedPrefs:Ljava/util/HashMap;
136 .annotation system Ldalvik/annotation/Signature;
140 invoke-static {v0, v1}, Landroid/app/ContextImpl;->registerService(Ljava/lang/String;Landroid/app/ContextImpl$ServiceFetcher;)V
142 + const-string/jumbo v0, "privacy"
144 + new-instance v1, Landroid/app/ContextImpl$38;
146 + invoke-direct {v1}, Landroid/app/ContextImpl$38;-><init>()V
148 + invoke-static {v0, v1}, Landroid/app/ContextImpl;->registerService(Ljava/lang/String;Landroid/app/ContextImpl$ServiceFetcher;)V
155 iput-object p0, p0, Landroid/app/ContextImpl;->mOuterContext:Landroid/content/Context;
157 + sput-object p0, Landroid/app/ContextImpl;->sOuterContext:Landroid/content/Context;
164 iput-object p0, p0, Landroid/app/ContextImpl;->mOuterContext:Landroid/content/Context;
166 + sput-object p0, Landroid/app/ContextImpl;->sOuterContext:Landroid/content/Context;
175 +.method static final getStaticOuterContext()Landroid/content/Context;
178 + sget-object v0, Landroid/app/ContextImpl;->sOuterContext:Landroid/content/Context;
183 .method private getWallpaperManager()Landroid/app/WallpaperManager;
186 @@ -4221,6 +4243,8 @@
188 iput-object p1, p0, Landroid/app/ContextImpl;->mOuterContext:Landroid/content/Context;
190 + sput-object p1, Landroid/app/ContextImpl;->sOuterContext:Landroid/content/Context;
195 diff -Npru stock-framework/smali/android/content/ContentResolver.smali pdroid-framework/smali/android/content/ContentResolver.smali
196 --- stock-framework/smali/android/content/ContentResolver.smali 2012-10-05 10:16:07.737222605 -0500
197 +++ pdroid-framework/smali/android/content/ContentResolver.smali 2012-10-05 10:15:45.041110057 -0500
198 @@ -3506,8 +3506,8 @@
200 invoke-virtual {v0, v9}, Landroid/os/CancellationSignal;->setRemote(Landroid/os/ICancellationSignal;)V
202 - .catchall {:try_start_a .. :try_end_1d} :catchall_a8
203 - .catch Landroid/os/RemoteException; {:try_start_a .. :try_end_1d} :catch_9b
204 + .catchall {:try_start_a .. :try_end_1d} :catchall_b6
205 + .catch Landroid/os/RemoteException; {:try_start_a .. :try_end_1d} :catch_a9
208 move-object/from16 v4, p1
209 @@ -3523,64 +3523,82 @@
211 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;
213 - .catchall {:try_start_27 .. :try_end_2a} :catchall_a8
214 - .catch Landroid/os/DeadObjectException; {:try_start_27 .. :try_end_2a} :catch_3e
215 - .catch Landroid/os/RemoteException; {:try_start_27 .. :try_end_2a} :catch_9b
216 + .catchall {:try_start_27 .. :try_end_2a} :catchall_b6
217 + .catch Landroid/os/DeadObjectException; {:try_start_27 .. :try_end_2a} :catch_4c
218 + .catch Landroid/os/RemoteException; {:try_start_27 .. :try_end_2a} :catch_a9
220 move-result-object v19
223 - if-nez v19, :cond_67
225 + move-object/from16 v0, p0
227 + iget-object v4, v0, Landroid/content/ContentResolver;->mContext:Landroid/content/Context;
229 + move-object/from16 v0, p1
231 + move-object/from16 v1, p2
233 + move-object/from16 v2, v19
235 + 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;
237 + .catchall {:try_start_2b .. :try_end_38} :catchall_b6
238 + .catch Landroid/os/RemoteException; {:try_start_2b .. :try_end_38} :catch_a9
240 + move-result-object v19
242 + if-nez v19, :cond_75
246 - if-eqz v3, :cond_36
247 + if-eqz v3, :cond_44
249 move-object/from16 v0, p0
251 invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
259 move-object/from16 v0, p0
261 invoke-virtual {v0, v10}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
271 move-object/from16 v0, p0
273 invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->unstableProviderDied(Landroid/content/IContentProvider;)V
275 invoke-virtual/range {p0 .. p1}, Landroid/content/ContentResolver;->acquireProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
277 - .catchall {:try_start_3f .. :try_end_47} :catchall_a8
278 - .catch Landroid/os/RemoteException; {:try_start_3f .. :try_end_47} :catch_9b
280 + .catchall {:try_start_4d .. :try_end_55} :catchall_b6
281 + .catch Landroid/os/RemoteException; {:try_start_4d .. :try_end_55} :catch_a9
283 move-result-object v10
285 - if-nez v10, :cond_56
286 + if-nez v10, :cond_64
290 - if-eqz v3, :cond_53
291 + if-eqz v3, :cond_61
293 move-object/from16 v0, p0
295 invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
306 move-object/from16 v11, p1
308 move-object/from16 v12, p2
309 @@ -3593,14 +3611,14 @@
311 move-object/from16 v16, v9
315 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;
317 move-result-object v19
323 invoke-interface/range {v19 .. v19}, Landroid/database/Cursor;->getCount()I
325 invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
326 @@ -3623,11 +3641,11 @@
328 new-instance v22, Landroid/content/ContentResolver$CursorWrapperInner;
330 - if-eqz v10, :cond_96
331 + if-eqz v10, :cond_a4
337 move-object/from16 v0, v22
339 move-object/from16 v1, p0
340 @@ -3635,67 +3653,67 @@
341 move-object/from16 v2, v19
343 invoke-direct {v0, v1, v2, v4}, Landroid/content/ContentResolver$CursorWrapperInner;-><init>(Landroid/content/ContentResolver;Landroid/database/Cursor;Landroid/content/IContentProvider;)V
345 - .catchall {:try_start_62 .. :try_end_8b} :catchall_a8
346 - .catch Landroid/os/RemoteException; {:try_start_62 .. :try_end_8b} :catch_9b
348 + .catchall {:try_start_70 .. :try_end_99} :catchall_b6
349 + .catch Landroid/os/RemoteException; {:try_start_70 .. :try_end_99} :catch_a9
353 - if-eqz v3, :cond_93
354 + if-eqz v3, :cond_a1
356 move-object/from16 v0, p0
358 invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
371 invoke-virtual/range {p0 .. p1}, Landroid/content/ContentResolver;->acquireProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
373 - .catchall {:try_start_96 .. :try_end_99} :catchall_a8
374 - .catch Landroid/os/RemoteException; {:try_start_96 .. :try_end_99} :catch_9b
376 + .catchall {:try_start_a4 .. :try_end_a7} :catchall_b6
377 + .catch Landroid/os/RemoteException; {:try_start_a4 .. :try_end_a7} :catch_a9
379 move-result-object v4
390 - if-eqz v3, :cond_a5
391 + if-eqz v3, :cond_b3
393 move-object/from16 v0, p0
395 invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
408 - if-eqz v3, :cond_b0
409 + if-eqz v3, :cond_be
411 move-object/from16 v0, p0
413 invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
416 - if-eqz v10, :cond_b7
418 + if-eqz v10, :cond_c5
420 move-object/from16 v0, p0
422 invoke-virtual {v0, v10}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
429 diff -Npru stock-framework/smali/android/net/wifi/WifiStateMachine.smali pdroid-framework/smali/android/net/wifi/WifiStateMachine.smali
430 --- stock-framework/smali/android/net/wifi/WifiStateMachine.smali 2012-10-05 10:16:10.345235537 -0500
431 +++ pdroid-framework/smali/android/net/wifi/WifiStateMachine.smali 2012-10-05 10:15:48.001124739 -0500
432 @@ -6015,7 +6015,7 @@
434 invoke-virtual {v2, v0}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
436 - const-string v2, "mIsScanMode "
437 + const-string/jumbo v2, "mIsScanMode "
439 invoke-virtual {v1, v2}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
441 diff -Npru stock-framework/smali/android/privacy/IPrivacySettingsManager.smali pdroid-framework/smali/android/privacy/IPrivacySettingsManager.smali
442 --- stock-framework/smali/android/privacy/IPrivacySettingsManager.smali 1969-12-31 18:00:00.000000000 -0600
443 +++ pdroid-framework/smali/android/privacy/IPrivacySettingsManager.smali 2012-10-05 10:15:48.425126841 -0500
445 +.class public interface abstract Landroid/privacy/IPrivacySettingsManager;
446 +.super Ljava/lang/Object;
447 +.source "IPrivacySettingsManager.java"
450 +.implements Landroid/os/IInterface;
454 +.annotation system Ldalvik/annotation/MemberClasses;
456 + Landroid/privacy/IPrivacySettingsManager$Stub;
462 +.method public abstract addObserver(Ljava/lang/String;)V
463 + .annotation system Ldalvik/annotation/Throws;
465 + Landroid/os/RemoteException;
470 +.method public abstract deleteSettings(Ljava/lang/String;)Z
471 + .annotation system Ldalvik/annotation/Throws;
473 + Landroid/os/RemoteException;
478 +.method public abstract getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
479 + .annotation system Ldalvik/annotation/Throws;
481 + Landroid/os/RemoteException;
486 +.method public abstract getVersion()D
487 + .annotation system Ldalvik/annotation/Throws;
489 + Landroid/os/RemoteException;
494 +.method public abstract notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
495 + .annotation system Ldalvik/annotation/Throws;
497 + Landroid/os/RemoteException;
502 +.method public abstract purgeSettings()Z
503 + .annotation system Ldalvik/annotation/Throws;
505 + Landroid/os/RemoteException;
510 +.method public abstract registerObservers()V
511 + .annotation system Ldalvik/annotation/Throws;
513 + Landroid/os/RemoteException;
518 +.method public abstract saveSettings(Landroid/privacy/PrivacySettings;)Z
519 + .annotation system Ldalvik/annotation/Throws;
521 + Landroid/os/RemoteException;
526 +.method public abstract setBootCompleted()V
527 + .annotation system Ldalvik/annotation/Throws;
529 + Landroid/os/RemoteException;
534 +.method public abstract setEnabled(Z)Z
535 + .annotation system Ldalvik/annotation/Throws;
537 + Landroid/os/RemoteException;
542 +.method public abstract setNotificationsEnabled(Z)Z
543 + .annotation system Ldalvik/annotation/Throws;
545 + Landroid/os/RemoteException;
549 diff -Npru stock-framework/smali/android/privacy/IPrivacySettingsManager$Stub$Proxy.smali pdroid-framework/smali/android/privacy/IPrivacySettingsManager$Stub$Proxy.smali
550 --- stock-framework/smali/android/privacy/IPrivacySettingsManager$Stub$Proxy.smali 1969-12-31 18:00:00.000000000 -0600
551 +++ pdroid-framework/smali/android/privacy/IPrivacySettingsManager$Stub$Proxy.smali 2012-10-05 10:15:48.425126841 -0500
553 +.class Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;
554 +.super Ljava/lang/Object;
555 +.source "IPrivacySettingsManager.java"
558 +.implements Landroid/privacy/IPrivacySettingsManager;
562 +.annotation system Ldalvik/annotation/EnclosingClass;
563 + value = Landroid/privacy/IPrivacySettingsManager$Stub;
566 +.annotation system Ldalvik/annotation/InnerClass;
573 +.field private mRemote:Landroid/os/IBinder;
577 +.method constructor <init>(Landroid/os/IBinder;)V
580 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
582 + iput-object p1, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
589 +.method public addObserver(Ljava/lang/String;)V
591 + .annotation system Ldalvik/annotation/Throws;
593 + Landroid/os/RemoteException;
597 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
599 + move-result-object v0
601 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
603 + move-result-object v1
606 + const-string v2, "android.privacy.IPrivacySettingsManager"
608 + invoke-virtual {v0, v2}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
610 + invoke-virtual {v0, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
612 + iget-object v2, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
618 + invoke-interface {v2, v3, v0, v1, v4}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
620 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
622 + .catchall {:try_start_8 .. :try_end_1a} :catchall_21
624 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
626 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
633 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
635 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
640 +.method public asBinder()Landroid/os/IBinder;
643 + iget-object v0, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
648 +.method public deleteSettings(Ljava/lang/String;)Z
650 + .annotation system Ldalvik/annotation/Throws;
652 + Landroid/os/RemoteException;
658 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
660 + move-result-object v0
662 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
664 + move-result-object v1
667 + const-string v3, "android.privacy.IPrivacySettingsManager"
669 + invoke-virtual {v0, v3}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
671 + invoke-virtual {v0, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
673 + iget-object v3, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
679 + invoke-interface {v3, v4, v0, v1, v5}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
681 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
683 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
685 + .catchall {:try_start_9 .. :try_end_1e} :catchall_29
689 + if-eqz v3, :cond_22
694 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
696 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
703 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
705 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
710 +.method public getInterfaceDescriptor()Ljava/lang/String;
713 + const-string v0, "android.privacy.IPrivacySettingsManager"
718 +.method public getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
720 + .annotation system Ldalvik/annotation/Throws;
722 + Landroid/os/RemoteException;
726 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
728 + move-result-object v0
730 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
732 + move-result-object v1
735 + const-string v3, "android.privacy.IPrivacySettingsManager"
737 + invoke-virtual {v0, v3}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
739 + invoke-virtual {v0, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
741 + iget-object v3, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
747 + invoke-interface {v3, v4, v0, v1, v5}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
749 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
751 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
755 + if-eqz v3, :cond_2f
757 + sget-object v3, Landroid/privacy/PrivacySettings;->CREATOR:Landroid/os/Parcelable$Creator;
759 + invoke-interface {v3, v1}, Landroid/os/Parcelable$Creator;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
761 + move-result-object v2
763 + check-cast v2, Landroid/privacy/PrivacySettings;
765 + .catchall {:try_start_8 .. :try_end_28} :catchall_31
768 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
770 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
782 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
784 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
789 +.method public getVersion()D
791 + .annotation system Ldalvik/annotation/Throws;
793 + Landroid/os/RemoteException;
797 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
799 + move-result-object v0
801 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
803 + move-result-object v1
806 + const-string v4, "android.privacy.IPrivacySettingsManager"
808 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
810 + iget-object v4, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
816 + invoke-interface {v4, v5, v0, v1, v6}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
818 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
820 + invoke-virtual {v1}, Landroid/os/Parcel;->readDouble()D
822 + .catchall {:try_start_8 .. :try_end_1b} :catchall_23
824 + move-result-wide v2
826 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
828 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
835 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
837 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
842 +.method public notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
844 + .annotation system Ldalvik/annotation/Throws;
846 + Landroid/os/RemoteException;
850 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
852 + move-result-object v0
854 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
856 + move-result-object v1
859 + const-string v2, "android.privacy.IPrivacySettingsManager"
861 + invoke-virtual {v0, v2}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
863 + invoke-virtual {v0, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
865 + invoke-virtual {v0, p2}, Landroid/os/Parcel;->writeByte(B)V
867 + invoke-virtual {v0, p3}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
869 + invoke-virtual {v0, p4}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
871 + iget-object v2, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
877 + invoke-interface {v2, v3, v0, v1, v4}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
879 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
881 + .catchall {:try_start_8 .. :try_end_23} :catchall_2a
883 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
885 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
892 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
894 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
899 +.method public purgeSettings()Z
901 + .annotation system Ldalvik/annotation/Throws;
903 + Landroid/os/RemoteException;
909 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
911 + move-result-object v0
913 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
915 + move-result-object v1
918 + const-string v3, "android.privacy.IPrivacySettingsManager"
920 + invoke-virtual {v0, v3}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
922 + iget-object v3, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
928 + invoke-interface {v3, v4, v0, v1, v5}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
930 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
932 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
934 + .catchall {:try_start_9 .. :try_end_1b} :catchall_26
938 + if-eqz v3, :cond_1f
943 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
945 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
952 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
954 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
959 +.method public registerObservers()V
961 + .annotation system Ldalvik/annotation/Throws;
963 + Landroid/os/RemoteException;
967 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
969 + move-result-object v0
971 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
973 + move-result-object v1
976 + const-string v2, "android.privacy.IPrivacySettingsManager"
978 + invoke-virtual {v0, v2}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
980 + iget-object v2, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
986 + invoke-interface {v2, v3, v0, v1, v4}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
988 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
990 + .catchall {:try_start_8 .. :try_end_17} :catchall_1e
992 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
994 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1001 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1003 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1008 +.method public saveSettings(Landroid/privacy/PrivacySettings;)Z
1010 + .annotation system Ldalvik/annotation/Throws;
1012 + Landroid/os/RemoteException;
1020 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1022 + move-result-object v0
1024 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1026 + move-result-object v1
1029 + const-string v4, "android.privacy.IPrivacySettingsManager"
1031 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
1033 + if-eqz p1, :cond_30
1037 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInt(I)V
1041 + invoke-virtual {p1, v0, v4}, Landroid/privacy/PrivacySettings;->writeToParcel(Landroid/os/Parcel;I)V
1044 + iget-object v4, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
1050 + invoke-interface {v4, v5, v0, v1, v6}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1052 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
1054 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
1056 + .catchall {:try_start_a .. :try_end_26} :catchall_35
1060 + if-eqz v4, :cond_3d
1063 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1065 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1073 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInt(I)V
1075 + .catchall {:try_start_31 .. :try_end_34} :catchall_35
1082 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1084 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1094 +.method public setBootCompleted()V
1096 + .annotation system Ldalvik/annotation/Throws;
1098 + Landroid/os/RemoteException;
1102 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1104 + move-result-object v0
1106 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1108 + move-result-object v1
1111 + const-string v2, "android.privacy.IPrivacySettingsManager"
1113 + invoke-virtual {v0, v2}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
1115 + iget-object v2, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
1121 + invoke-interface {v2, v3, v0, v1, v4}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1123 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
1125 + .catchall {:try_start_8 .. :try_end_18} :catchall_1f
1127 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1129 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1136 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1138 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1143 +.method public setEnabled(Z)Z
1145 + .annotation system Ldalvik/annotation/Throws;
1147 + Landroid/os/RemoteException;
1155 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1157 + move-result-object v0
1159 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1161 + move-result-object v1
1164 + const-string v4, "android.privacy.IPrivacySettingsManager"
1166 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
1168 + if-eqz p1, :cond_2d
1173 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInt(I)V
1175 + iget-object v4, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
1181 + invoke-interface {v4, v5, v0, v1, v6}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1183 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
1185 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
1187 + .catchall {:try_start_a .. :try_end_23} :catchall_31
1191 + if-eqz v4, :cond_2f
1194 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1196 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1213 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1215 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1220 +.method public setNotificationsEnabled(Z)Z
1222 + .annotation system Ldalvik/annotation/Throws;
1224 + Landroid/os/RemoteException;
1232 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1234 + move-result-object v0
1236 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1238 + move-result-object v1
1241 + const-string v4, "android.privacy.IPrivacySettingsManager"
1243 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
1245 + if-eqz p1, :cond_2d
1250 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInt(I)V
1252 + iget-object v4, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
1258 + invoke-interface {v4, v5, v0, v1, v6}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1260 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
1262 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
1264 + .catchall {:try_start_a .. :try_end_23} :catchall_31
1268 + if-eqz v4, :cond_2f
1271 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1273 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1290 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1292 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1296 diff -Npru stock-framework/smali/android/privacy/IPrivacySettingsManager$Stub.smali pdroid-framework/smali/android/privacy/IPrivacySettingsManager$Stub.smali
1297 --- stock-framework/smali/android/privacy/IPrivacySettingsManager$Stub.smali 1969-12-31 18:00:00.000000000 -0600
1298 +++ pdroid-framework/smali/android/privacy/IPrivacySettingsManager$Stub.smali 2012-10-05 10:15:48.425126841 -0500
1300 +.class public abstract Landroid/privacy/IPrivacySettingsManager$Stub;
1301 +.super Landroid/os/Binder;
1302 +.source "IPrivacySettingsManager.java"
1305 +.implements Landroid/privacy/IPrivacySettingsManager;
1309 +.annotation system Ldalvik/annotation/EnclosingClass;
1310 + value = Landroid/privacy/IPrivacySettingsManager;
1313 +.annotation system Ldalvik/annotation/InnerClass;
1314 + accessFlags = 0x409
1318 +.annotation system Ldalvik/annotation/MemberClasses;
1320 + Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;
1326 +.field private static final DESCRIPTOR:Ljava/lang/String; = "android.privacy.IPrivacySettingsManager"
1328 +.field static final TRANSACTION_addObserver:I = 0x6
1330 +.field static final TRANSACTION_deleteSettings:I = 0x3
1332 +.field static final TRANSACTION_getSettings:I = 0x1
1334 +.field static final TRANSACTION_getVersion:I = 0x8
1336 +.field static final TRANSACTION_notification:I = 0x4
1338 +.field static final TRANSACTION_purgeSettings:I = 0x7
1340 +.field static final TRANSACTION_registerObservers:I = 0x5
1342 +.field static final TRANSACTION_saveSettings:I = 0x2
1344 +.field static final TRANSACTION_setBootCompleted:I = 0xb
1346 +.field static final TRANSACTION_setEnabled:I = 0x9
1348 +.field static final TRANSACTION_setNotificationsEnabled:I = 0xa
1352 +.method public constructor <init>()V
1355 + invoke-direct {p0}, Landroid/os/Binder;-><init>()V
1357 + const-string v0, "android.privacy.IPrivacySettingsManager"
1359 + invoke-virtual {p0, p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->attachInterface(Landroid/os/IInterface;Ljava/lang/String;)V
1364 +.method public static asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
1367 + if-nez p0, :cond_4
1375 + const-string v1, "android.privacy.IPrivacySettingsManager"
1377 + invoke-interface {p0, v1}, Landroid/os/IBinder;->queryLocalInterface(Ljava/lang/String;)Landroid/os/IInterface;
1379 + move-result-object v0
1381 + if-eqz v0, :cond_13
1383 + instance-of v1, v0, Landroid/privacy/IPrivacySettingsManager;
1385 + if-eqz v1, :cond_13
1387 + check-cast v0, Landroid/privacy/IPrivacySettingsManager;
1392 + new-instance v0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;
1394 + invoke-direct {v0, p0}, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
1401 +.method public asBinder()Landroid/os/IBinder;
1407 +.method public onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1409 + .annotation system Ldalvik/annotation/Throws;
1411 + Landroid/os/RemoteException;
1419 + sparse-switch p1, :sswitch_data_10e
1421 + invoke-super {p0, p1, p2, p3, p4}, Landroid/os/Binder;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1429 + const-string v6, "android.privacy.IPrivacySettingsManager"
1431 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
1436 + const-string v8, "android.privacy.IPrivacySettingsManager"
1438 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1440 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
1442 + move-result-object v0
1444 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
1446 + move-result-object v4
1448 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1450 + if-eqz v4, :cond_29
1452 + invoke-virtual {p3, v7}, Landroid/os/Parcel;->writeInt(I)V
1454 + invoke-virtual {v4, p3, v7}, Landroid/privacy/PrivacySettings;->writeToParcel(Landroid/os/Parcel;I)V
1459 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
1464 + const-string v8, "android.privacy.IPrivacySettingsManager"
1466 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1468 + invoke-virtual {p2}, Landroid/os/Parcel;->readInt()I
1472 + if-eqz v8, :cond_4e
1474 + sget-object v8, Landroid/privacy/PrivacySettings;->CREATOR:Landroid/os/Parcelable$Creator;
1476 + invoke-interface {v8, p2}, Landroid/os/Parcelable$Creator;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
1478 + move-result-object v0
1480 + check-cast v0, Landroid/privacy/PrivacySettings;
1483 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->saveSettings(Landroid/privacy/PrivacySettings;)Z
1487 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1489 + if-eqz v4, :cond_4a
1494 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
1504 + const-string v8, "android.privacy.IPrivacySettingsManager"
1506 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1508 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
1510 + move-result-object v0
1512 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->deleteSettings(Ljava/lang/String;)Z
1516 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1518 + if-eqz v4, :cond_63
1523 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
1528 + const-string v6, "android.privacy.IPrivacySettingsManager"
1530 + invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1532 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
1534 + move-result-object v0
1536 + invoke-virtual {p2}, Landroid/os/Parcel;->readByte()B
1540 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
1542 + move-result-object v2
1544 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
1546 + move-result-object v3
1548 + invoke-virtual {p0, v0, v1, v2, v3}, Landroid/privacy/IPrivacySettingsManager$Stub;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
1550 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1555 + const-string v6, "android.privacy.IPrivacySettingsManager"
1557 + invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1559 + invoke-virtual {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;->registerObservers()V
1561 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1566 + const-string v6, "android.privacy.IPrivacySettingsManager"
1568 + invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1570 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
1572 + move-result-object v0
1574 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->addObserver(Ljava/lang/String;)V
1576 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1581 + const-string v8, "android.privacy.IPrivacySettingsManager"
1583 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1585 + invoke-virtual {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;->purgeSettings()Z
1589 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1591 + if-eqz v4, :cond_b0
1596 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
1601 + const-string v6, "android.privacy.IPrivacySettingsManager"
1603 + invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1605 + invoke-virtual {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;->getVersion()D
1607 + move-result-wide v4
1609 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1611 + invoke-virtual {p3, v4, v5}, Landroid/os/Parcel;->writeDouble(D)V
1616 + const-string v8, "android.privacy.IPrivacySettingsManager"
1618 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1620 + invoke-virtual {p2}, Landroid/os/Parcel;->readInt()I
1624 + if-eqz v8, :cond_e1
1629 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->setEnabled(Z)Z
1633 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1635 + if-eqz v4, :cond_dc
1640 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
1650 + const-string v8, "android.privacy.IPrivacySettingsManager"
1652 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1654 + invoke-virtual {p2}, Landroid/os/Parcel;->readInt()I
1658 + if-eqz v8, :cond_fe
1663 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->setNotificationsEnabled(Z)Z
1667 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1669 + if-eqz v4, :cond_f9
1674 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
1684 + const-string v6, "android.privacy.IPrivacySettingsManager"
1686 + invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1688 + invoke-virtual {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;->setBootCompleted()V
1690 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1698 + 0x1 -> :sswitch_10
1699 + 0x2 -> :sswitch_2d
1700 + 0x3 -> :sswitch_50
1701 + 0x4 -> :sswitch_67
1702 + 0x5 -> :sswitch_83
1703 + 0x6 -> :sswitch_90
1704 + 0x7 -> :sswitch_a1
1705 + 0x8 -> :sswitch_b5
1706 + 0x9 -> :sswitch_c6
1707 + 0xa -> :sswitch_e3
1708 + 0xb -> :sswitch_100
1709 + 0x5f4e5446 -> :sswitch_a
1710 + .end sparse-switch
1712 diff -Npru stock-framework/smali/android/privacy/PrivacyFileObserver.smali pdroid-framework/smali/android/privacy/PrivacyFileObserver.smali
1713 --- stock-framework/smali/android/privacy/PrivacyFileObserver.smali 1969-12-31 18:00:00.000000000 -0600
1714 +++ pdroid-framework/smali/android/privacy/PrivacyFileObserver.smali 2012-10-05 10:15:48.425126841 -0500
1716 +.class public Landroid/privacy/PrivacyFileObserver;
1717 +.super Landroid/os/FileObserver;
1718 +.source "PrivacyFileObserver.java"
1722 +.field public static final PACKAGE_PATH_INDEX:I = 0x3
1724 +.field public static final TAG:Ljava/lang/String; = "PrivacyFileObserver"
1728 +.field public absolutePath:Ljava/lang/String;
1730 +.field public children:Ljava/util/HashMap;
1731 + .annotation system Ldalvik/annotation/Signature;
1733 + "Ljava/util/HashMap",
1735 + "Ljava/lang/String;",
1736 + "Landroid/privacy/PrivacyFileObserver;",
1742 +.field private pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
1746 +.method public constructor <init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
1749 + const/16 v8, 0xfff
1751 + invoke-direct {p0, p1, v8}, Landroid/os/FileObserver;-><init>(Ljava/lang/String;I)V
1753 + iput-object p1, p0, Landroid/privacy/PrivacyFileObserver;->absolutePath:Ljava/lang/String;
1755 + iput-object p2, p0, Landroid/privacy/PrivacyFileObserver;->pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
1757 + new-instance v8, Ljava/util/HashMap;
1759 + invoke-direct {v8}, Ljava/util/HashMap;-><init>()V
1761 + iput-object v8, p0, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap;
1763 + new-instance v7, Ljava/io/File;
1765 + iget-object v8, p0, Landroid/privacy/PrivacyFileObserver;->absolutePath:Ljava/lang/String;
1767 + invoke-direct {v7, v8}, Ljava/io/File;-><init>(Ljava/lang/String;)V
1769 + invoke-virtual {v7}, Ljava/io/File;->isDirectory()Z
1773 + if-eqz v8, :cond_42
1775 + invoke-virtual {v7}, Ljava/io/File;->listFiles()[Ljava/io/File;
1777 + move-result-object v6
1779 + move-object v0, v6
1781 + array-length v4, v0
1786 + if-ge v3, v4, :cond_42
1788 + aget-object v2, v0, v3
1790 + invoke-virtual {v2}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
1792 + move-result-object v5
1794 + new-instance v1, Landroid/privacy/PrivacyFileObserver;
1796 + invoke-direct {v1, v5, p2}, Landroid/privacy/PrivacyFileObserver;-><init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
1798 + iget-object v8, p0, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap;
1800 + invoke-virtual {v8, v5, v1}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
1802 + invoke-virtual {v2}, Ljava/io/File;->isFile()Z
1806 + if-eqz v8, :cond_3f
1808 + invoke-virtual {v1}, Landroid/privacy/PrivacyFileObserver;->startWatching()V
1811 + add-int/lit8 v3, v3, 0x1
1821 +.method public addObserver(Ljava/lang/String;)V
1824 + new-instance v2, Ljava/lang/StringBuilder;
1826 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
1828 + iget-object v3, p0, Landroid/privacy/PrivacyFileObserver;->absolutePath:Ljava/lang/String;
1830 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1832 + move-result-object v2
1834 + const-string v3, "/"
1836 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1838 + move-result-object v2
1840 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1842 + move-result-object v2
1844 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
1846 + move-result-object v1
1848 + iget-object v2, p0, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap;
1850 + invoke-virtual {v2, v1}, Ljava/util/HashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
1852 + new-instance v0, Landroid/privacy/PrivacyFileObserver;
1854 + iget-object v2, p0, Landroid/privacy/PrivacyFileObserver;->pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
1856 + invoke-direct {v0, v1, v2}, Landroid/privacy/PrivacyFileObserver;-><init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
1858 + iget-object v2, p0, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap;
1860 + invoke-virtual {v2, v1, v0}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
1865 +.method public onEvent(ILjava/lang/String;)V
1868 + and-int/lit8 v4, p1, 0x1
1870 + if-eqz v4, :cond_34
1872 + new-instance v3, Ljava/util/StringTokenizer;
1874 + iget-object v4, p0, Landroid/privacy/PrivacyFileObserver;->absolutePath:Ljava/lang/String;
1876 + const-string v5, "/"
1878 + invoke-direct {v3, v4, v5}, Ljava/util/StringTokenizer;-><init>(Ljava/lang/String;Ljava/lang/String;)V
1885 + if-ge v0, v4, :cond_1d
1887 + invoke-virtual {v3}, Ljava/util/StringTokenizer;->hasMoreElements()Z
1891 + if-eqz v4, :cond_1d
1893 + invoke-virtual {v3}, Ljava/util/StringTokenizer;->nextToken()Ljava/lang/String;
1895 + add-int/lit8 v0, v0, 0x1
1900 + invoke-virtual {v3}, Ljava/util/StringTokenizer;->nextToken()Ljava/lang/String;
1902 + move-result-object v2
1904 + iget-object v4, p0, Landroid/privacy/PrivacyFileObserver;->pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
1906 + invoke-virtual {v4, v2}, Landroid/privacy/PrivacySettingsManagerService;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
1908 + move-result-object v1
1910 + iget-object v4, p0, Landroid/privacy/PrivacyFileObserver;->pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
1912 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getSystemLogsSetting()B
1916 + const-string/jumbo v6, "systemLogs"
1920 + invoke-virtual {v4, v2, v5, v6, v7}, Landroid/privacy/PrivacySettingsManagerService;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
1926 +.method public startWatching()V
1929 + invoke-super {p0}, Landroid/os/FileObserver;->startWatching()V
1933 diff -Npru stock-framework/smali/android/privacy/PrivacyPersistenceAdapter.smali pdroid-framework/smali/android/privacy/PrivacyPersistenceAdapter.smali
1934 --- stock-framework/smali/android/privacy/PrivacyPersistenceAdapter.smali 1969-12-31 18:00:00.000000000 -0600
1935 +++ pdroid-framework/smali/android/privacy/PrivacyPersistenceAdapter.smali 2012-10-05 10:15:48.433126881 -0500
1937 +.class public Landroid/privacy/PrivacyPersistenceAdapter;
1938 +.super Ljava/lang/Object;
1939 +.source "PrivacyPersistenceAdapter.java"
1943 +.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) );"
1945 +.field private static final CREATE_TABLE_MAP:Ljava/lang/String; = "CREATE TABLE IF NOT EXISTS map ( name TEXT PRIMARY KEY, value TEXT );"
1947 +.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);"
1949 +.field private static final DATABASE_FIELDS:[Ljava/lang/String; = null
1951 +.field private static final DATABASE_FILE:Ljava/lang/String; = "/data/system/privacy.db"
1953 +.field private static final DATABASE_VERSION:I = 0x3
1955 +.field public static final DUMMY_UID:I = -0x1
1957 +.field private static final INSERT_ENABLED:Ljava/lang/String; = "INSERT OR REPLACE INTO map (name, value) VALUES (\"enabled\", \"1\");"
1959 +.field private static final INSERT_NOTIFICATIONS_ENABLED:Ljava/lang/String; = "INSERT OR REPLACE INTO map (name, value) VALUES (\"notifications_enabled\", \"1\");"
1961 +.field private static final INSERT_VERSION:Ljava/lang/String; = "INSERT OR REPLACE INTO map (name, value) VALUES (\"db_version\", 3);"
1963 +.field private static final RETRY_QUERY_COUNT:I = 0x5
1965 +.field public static final SETTINGS_DIRECTORY:Ljava/lang/String; = "/data/system/privacy"
1967 +.field public static final SETTING_DB_VERSION:Ljava/lang/String; = "db_version"
1969 +.field public static final SETTING_ENABLED:Ljava/lang/String; = "enabled"
1971 +.field public static final SETTING_NOTIFICATIONS_ENABLED:Ljava/lang/String; = "notifications_enabled"
1973 +.field private static final TABLE_ALLOWED_CONTACTS:Ljava/lang/String; = "allowed_contacts"
1975 +.field private static final TABLE_MAP:Ljava/lang/String; = "map"
1977 +.field private static final TABLE_SETTINGS:Ljava/lang/String; = "settings"
1979 +.field private static final TABLE_VERSION:Ljava/lang/String; = "version"
1981 +.field private static final TAG:Ljava/lang/String; = "PrivacyPersistenceAdapter"
1983 +.field public static final VALUE_FALSE:Ljava/lang/String; = "0"
1985 +.field public static final VALUE_TRUE:Ljava/lang/String; = "1"
1987 +.field public static readingThreads:Ljava/lang/Integer;
1991 +.field private context:Landroid/content/Context;
1993 +.field private db:Landroid/database/sqlite/SQLiteDatabase;
1997 +.method static constructor <clinit>()V
2002 + invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
2004 + move-result-object v0
2006 + sput-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2010 + new-array v0, v0, [Ljava/lang/String;
2012 + const-string v1, "_id"
2014 + aput-object v1, v0, v2
2018 + const-string/jumbo v2, "packageName"
2020 + aput-object v2, v0, v1
2024 + const-string/jumbo v2, "uid"
2026 + aput-object v2, v0, v1
2030 + const-string v2, "deviceIdSetting"
2032 + aput-object v2, v0, v1
2036 + const-string v2, "deviceId"
2038 + aput-object v2, v0, v1
2042 + const-string v2, "line1NumberSetting"
2044 + aput-object v2, v0, v1
2048 + const-string v2, "line1Number"
2050 + aput-object v2, v0, v1
2054 + const-string v2, "locationGpsSetting"
2056 + aput-object v2, v0, v1
2060 + const-string v2, "locationGpsLat"
2062 + aput-object v2, v0, v1
2066 + const-string v2, "locationGpsLon"
2068 + aput-object v2, v0, v1
2072 + const-string v2, "locationNetworkSetting"
2074 + aput-object v2, v0, v1
2078 + const-string v2, "locationNetworkLat"
2080 + aput-object v2, v0, v1
2084 + const-string v2, "locationNetworkLon"
2086 + aput-object v2, v0, v1
2090 + const-string/jumbo v2, "networkInfoSetting"
2092 + aput-object v2, v0, v1
2096 + const-string/jumbo v2, "simInfoSetting"
2098 + aput-object v2, v0, v1
2102 + const-string/jumbo v2, "simSerialNumberSetting"
2104 + aput-object v2, v0, v1
2108 + const-string/jumbo v2, "simSerialNumber"
2110 + aput-object v2, v0, v1
2114 + const-string/jumbo v2, "subscriberIdSetting"
2116 + aput-object v2, v0, v1
2120 + const-string/jumbo v2, "subscriberId"
2122 + aput-object v2, v0, v1
2126 + const-string v2, "accountsSetting"
2128 + aput-object v2, v0, v1
2132 + const-string v2, "accountsAuthTokensSetting"
2134 + aput-object v2, v0, v1
2138 + const-string/jumbo v2, "outgoingCallsSetting"
2140 + aput-object v2, v0, v1
2144 + const-string v2, "incomingCallsSetting"
2146 + aput-object v2, v0, v1
2150 + const-string v2, "contactsSetting"
2152 + aput-object v2, v0, v1
2156 + const-string v2, "calendarSetting"
2158 + aput-object v2, v0, v1
2162 + const-string/jumbo v2, "mmsSetting"
2164 + aput-object v2, v0, v1
2168 + const-string/jumbo v2, "smsSetting"
2170 + aput-object v2, v0, v1
2174 + const-string v2, "callLogSetting"
2176 + aput-object v2, v0, v1
2180 + const-string v2, "bookmarksSetting"
2182 + aput-object v2, v0, v1
2186 + const-string/jumbo v2, "systemLogsSetting"
2188 + aput-object v2, v0, v1
2192 + const-string v2, "externalStorageSetting"
2194 + aput-object v2, v0, v1
2198 + const-string v2, "cameraSetting"
2200 + aput-object v2, v0, v1
2204 + const-string/jumbo v2, "recordAudioSetting"
2206 + aput-object v2, v0, v1
2210 + const-string/jumbo v2, "notificationSetting"
2212 + aput-object v2, v0, v1
2216 + const-string v2, "intentBootCompletedSetting"
2218 + aput-object v2, v0, v1
2220 + sput-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->DATABASE_FIELDS:[Ljava/lang/String;
2225 +.method public constructor <init>(Landroid/content/Context;)V
2228 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
2230 + iput-object p1, p0, Landroid/privacy/PrivacyPersistenceAdapter;->context:Landroid/content/Context;
2232 + new-instance v2, Ljava/io/File;
2234 + const-string v3, "/data/system/"
2236 + invoke-direct {v2, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
2238 + invoke-virtual {v2}, Ljava/io/File;->canWrite()Z
2242 + if-eqz v0, :cond_3c
2244 + new-instance v2, Ljava/io/File;
2246 + const-string v3, "/data/system/privacy.db"
2248 + invoke-direct {v2, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
2250 + invoke-virtual {v2}, Ljava/io/File;->exists()Z
2254 + if-nez v2, :cond_22
2256 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->createDatabase()V
2259 + new-instance v2, Ljava/io/File;
2261 + const-string v3, "/data/system/privacy"
2263 + invoke-direct {v2, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
2265 + invoke-virtual {v2}, Ljava/io/File;->exists()Z
2269 + if-nez v2, :cond_32
2271 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->createSettingsDir()V
2274 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getDbVersion()I
2280 + if-ge v1, v2, :cond_3c
2282 + invoke-direct {p0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->upgradeDatabase(I)V
2288 +.method private declared-synchronized createDatabase()V
2294 + const-string v2, "PrivacyPersistenceAdapter"
2296 + const-string v3, "createDatabase - creating privacy database file"
2298 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
2300 + .catchall {:try_start_1 .. :try_end_8} :catchall_4c
2303 + const-string v2, "/data/system/privacy.db"
2307 + const/high16 v4, 0x1000
2309 + invoke-static {v2, v3, v4}, Landroid/database/sqlite/SQLiteDatabase;->openDatabase(Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;I)Landroid/database/sqlite/SQLiteDatabase;
2311 + move-result-object v0
2313 + const-string v2, "PrivacyPersistenceAdapter"
2315 + const-string v3, "createDatabase - creating privacy database"
2317 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
2319 + 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);"
2321 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
2323 + const-string v2, "CREATE TABLE IF NOT EXISTS allowed_contacts ( settings_id, contact_id, PRIMARY KEY(settings_id, contact_id) );"
2325 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
2327 + const-string v2, "CREATE TABLE IF NOT EXISTS map ( name TEXT PRIMARY KEY, value TEXT );"
2329 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
2331 + const-string v2, "INSERT OR REPLACE INTO map (name, value) VALUES (\"db_version\", 3);"
2333 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
2335 + const-string v2, "INSERT OR REPLACE INTO map (name, value) VALUES (\"enabled\", \"1\");"
2337 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
2339 + const-string v2, "INSERT OR REPLACE INTO map (name, value) VALUES (\"notifications_enabled\", \"1\");"
2341 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
2343 + if-eqz v0, :cond_41
2345 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
2349 + if-eqz v2, :cond_41
2351 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
2353 + .catchall {:try_start_8 .. :try_end_41} :catchall_4c
2354 + .catch Landroid/database/SQLException; {:try_start_8 .. :try_end_41} :catch_43
2366 + const-string v2, "PrivacyPersistenceAdapter"
2368 + const-string v3, "createDatabase - failed to create privacy database"
2370 + invoke-static {v2, v3, v1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
2372 + .catchall {:try_start_44 .. :try_end_4b} :catchall_4c
2384 +.method private declared-synchronized createSettingsDir()V
2390 + new-instance v0, Ljava/io/File;
2392 + const-string v1, "/data/system/privacy/"
2394 + invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
2396 + invoke-virtual {v0}, Ljava/io/File;->mkdirs()Z
2402 + invoke-virtual {v0, v1, v2}, Ljava/io/File;->setReadable(ZZ)Z
2408 + invoke-virtual {v0, v1, v2}, Ljava/io/File;->setExecutable(ZZ)Z
2410 + .catchall {:try_start_1 .. :try_end_15} :catchall_17
2424 +.method private deleteRecursive(Ljava/io/File;)V
2427 + invoke-virtual {p1}, Ljava/io/File;->isDirectory()Z
2431 + if-eqz v4, :cond_16
2433 + invoke-virtual {p1}, Ljava/io/File;->listFiles()[Ljava/io/File;
2435 + move-result-object v0
2437 + array-length v3, v0
2442 + if-ge v2, v3, :cond_16
2444 + aget-object v1, v0, v2
2446 + invoke-direct {p0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteRecursive(Ljava/io/File;)V
2448 + add-int/lit8 v2, v2, 0x1
2453 + invoke-virtual {p1}, Ljava/io/File;->delete()Z
2458 +.method private getDbVersion()I
2465 + sget-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2467 + sget-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2469 + invoke-virtual {v6}, Ljava/lang/Integer;->intValue()I
2473 + add-int/lit8 v6, v6, 0x1
2475 + invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
2477 + move-result-object v6
2479 + sput-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2481 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
2483 + move-result-object v1
2486 + const-string v6, "SELECT name FROM sqlite_master WHERE type=\'table\' AND name=\'map\';"
2488 + invoke-direct {p0, v1, v6}, Landroid/privacy/PrivacyPersistenceAdapter;->rawQuery(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;)Landroid/database/Cursor;
2490 + move-result-object v0
2492 + if-eqz v0, :cond_5e
2494 + invoke-interface {v0}, Landroid/database/Cursor;->getCount()I
2498 + if-nez v6, :cond_25
2503 + invoke-interface {v0}, Landroid/database/Cursor;->close()V
2505 + sget-object v7, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2509 + .catch Ljava/lang/Exception; {:try_start_16 .. :try_end_2b} :catch_55
2512 + sget-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2514 + sget-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2516 + invoke-virtual {v6}, Ljava/lang/Integer;->intValue()I
2520 + add-int/lit8 v6, v6, -0x1
2522 + invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
2524 + move-result-object v6
2526 + sput-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2528 + sget-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2530 + invoke-virtual {v6}, Ljava/lang/Integer;->intValue()I
2534 + if-nez v6, :cond_4e
2536 + if-eqz v1, :cond_4e
2538 + invoke-virtual {v1}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
2542 + if-eqz v6, :cond_4e
2544 + invoke-virtual {v1}, Landroid/database/sqlite/SQLiteDatabase;->close()V
2550 + if-ne v3, v4, :cond_66
2560 + .catchall {:try_start_2b .. :try_end_54} :catchall_52
2565 + .catch Ljava/lang/Exception; {:try_start_54 .. :try_end_55} :catch_55
2570 + const-string v6, "PrivacyPersistenceAdapter"
2572 + const-string v7, "getDbVersion - failed to check if table map exists (exception)"
2574 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
2580 + const-string v6, "PrivacyPersistenceAdapter"
2582 + const-string v7, "getDbVersion - failed to check if table map exists (cursor is null)"
2584 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
2586 + .catch Ljava/lang/Exception; {:try_start_5e .. :try_end_65} :catch_55
2591 + const-string v6, "db_version"
2593 + invoke-virtual {p0, v6}, Landroid/privacy/PrivacyPersistenceAdapter;->getValue(Ljava/lang/String;)Ljava/lang/String;
2595 + move-result-object v5
2597 + if-nez v5, :cond_70
2605 + invoke-static {v5}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
2607 + .catch Ljava/lang/Exception; {:try_start_70 .. :try_end_73} :catch_76
2618 + const-string v6, "PrivacyPersistenceAdapter"
2620 + const-string v7, "getDbVersion - failed to parse database version; returning 1"
2622 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
2629 +.method private declared-synchronized getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
2635 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2637 + if-eqz v0, :cond_11
2639 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2641 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
2645 + if-eqz v0, :cond_11
2647 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2649 + .catchall {:try_start_1 .. :try_end_f} :catchall_1e
2658 + const-string v0, "/data/system/privacy.db"
2664 + invoke-static {v0, v1, v2}, Landroid/database/sqlite/SQLiteDatabase;->openDatabase(Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;I)Landroid/database/sqlite/SQLiteDatabase;
2666 + move-result-object v0
2668 + iput-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2670 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2672 + .catchall {:try_start_11 .. :try_end_1d} :catchall_1e
2684 +.method private declared-synchronized getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
2690 + new-instance v0, Ljava/io/File;
2692 + const-string v1, "/data/system/privacy.db"
2694 + invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
2696 + invoke-virtual {v0}, Ljava/io/File;->exists()Z
2700 + if-nez v0, :cond_11
2702 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->createDatabase()V
2705 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2707 + if-eqz v0, :cond_29
2709 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2711 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
2715 + if-eqz v0, :cond_29
2717 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2719 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isReadOnly()Z
2723 + if-nez v0, :cond_29
2725 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2727 + .catchall {:try_start_1 .. :try_end_27} :catchall_36
2736 + const-string v0, "/data/system/privacy.db"
2742 + invoke-static {v0, v1, v2}, Landroid/database/sqlite/SQLiteDatabase;->openDatabase(Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;I)Landroid/database/sqlite/SQLiteDatabase;
2744 + move-result-object v0
2746 + iput-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2748 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2750 + .catchall {:try_start_29 .. :try_end_35} :catchall_36
2762 +.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;
2764 + .annotation system Ldalvik/annotation/Throws;
2766 + Ljava/lang/Exception;
2777 + if-nez v3, :cond_27
2781 + if-ge v2, v4, :cond_27
2783 + if-eqz v0, :cond_d
2786 + invoke-interface {v0}, Landroid/database/Cursor;->close()V
2789 + 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;
2791 + .catch Ljava/lang/IllegalStateException; {:try_start_a .. :try_end_10} :catch_15
2793 + move-result-object v0
2798 + add-int/lit8 v2, v2, 0x1
2807 + if-eqz p1, :cond_22
2809 + invoke-virtual {p1}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
2813 + if-eqz v4, :cond_22
2815 + invoke-virtual {p1}, Landroid/database/sqlite/SQLiteDatabase;->close()V
2818 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
2820 + move-result-object p1
2825 + if-nez v3, :cond_32
2827 + new-instance v4, Ljava/lang/Exception;
2829 + const-string/jumbo v5, "query - failed to execute query on the DB"
2831 + invoke-direct {v4, v5}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
2839 +.method private rawQuery(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;)Landroid/database/Cursor;
2841 + .annotation system Ldalvik/annotation/Throws;
2843 + Ljava/lang/Exception;
2854 + if-nez v3, :cond_28
2858 + if-ge v2, v4, :cond_28
2860 + if-eqz v0, :cond_d
2863 + invoke-interface {v0}, Landroid/database/Cursor;->close()V
2868 + invoke-virtual {p1, p2, v4}, Landroid/database/sqlite/SQLiteDatabase;->rawQuery(Ljava/lang/String;[Ljava/lang/String;)Landroid/database/Cursor;
2870 + .catch Ljava/lang/IllegalStateException; {:try_start_a .. :try_end_11} :catch_16
2872 + move-result-object v0
2877 + add-int/lit8 v2, v2, 0x1
2886 + if-eqz p1, :cond_23
2888 + invoke-virtual {p1}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
2892 + if-eqz v4, :cond_23
2894 + invoke-virtual {p1}, Landroid/database/sqlite/SQLiteDatabase;->close()V
2897 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
2899 + move-result-object p1
2904 + if-nez v3, :cond_33
2906 + new-instance v4, Ljava/lang/Exception;
2908 + const-string/jumbo v5, "query - failed to execute query on the DB"
2910 + invoke-direct {v4, v5}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
2918 +.method private declared-synchronized upgradeDatabase(I)V
2924 + const-string v17, "PrivacyPersistenceAdapter"
2926 + new-instance v18, Ljava/lang/StringBuilder;
2928 + invoke-direct/range {v18 .. v18}, Ljava/lang/StringBuilder;-><init>()V
2930 + const-string/jumbo v19, "upgradeDatabase - upgrading DB from version "
2932 + invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2934 + move-result-object v18
2936 + move-object/from16 v0, v18
2938 + move/from16 v1, p1
2940 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
2942 + move-result-object v18
2944 + const-string v19, " to "
2946 + invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2948 + move-result-object v18
2952 + invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
2954 + move-result-object v18
2956 + invoke-virtual/range {v18 .. v18}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2958 + move-result-object v18
2960 + invoke-static/range {v17 .. v18}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
2962 + new-instance v6, Ljava/io/File;
2964 + const-string v17, "/data/system/privacy.db"
2966 + move-object/from16 v0, v17
2968 + invoke-direct {v6, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
2970 + new-instance v5, Ljava/io/File;
2972 + const-string v17, "/data/system/privacy.db.bak"
2974 + move-object/from16 v0, v17
2976 + invoke-direct {v5, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
2978 + .catchall {:try_start_1 .. :try_end_3c} :catchall_66
2981 + invoke-virtual {v5}, Ljava/io/File;->delete()Z
2983 + .catchall {:try_start_3c .. :try_end_3f} :catchall_66
2984 + .catch Ljava/lang/SecurityException; {:try_start_3c .. :try_end_3f} :catch_5c
2988 + invoke-static {v6, v5}, Landroid/os/FileUtils;->copyFile(Ljava/io/File;Ljava/io/File;)Z
2990 + invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
2992 + move-result-wide v17
2994 + invoke-virtual {v5}, Ljava/io/File;->lastModified()J
2996 + move-result-wide v19
2998 + sub-long v17, v17, v19
3000 + const-wide/16 v19, 0x7d0
3002 + cmp-long v17, v17, v19
3004 + if-lez v17, :cond_69
3006 + const-string v17, "PrivacyPersistenceAdapter"
3008 + const-string/jumbo v18, "upgradeDatabase - could not create a database backup, aborting..."
3010 + invoke-static/range {v17 .. v18}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
3012 + .catchall {:try_start_3f .. :try_end_5a} :catchall_66
3023 + const-string v17, "PrivacyPersistenceAdapter"
3025 + const-string/jumbo v18, "upgradeDatabase - could not remove old backup"
3027 + invoke-static/range {v17 .. v18}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
3029 + .catchall {:try_start_5d .. :try_end_65} :catchall_66
3034 + move-exception v17
3042 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
3044 + move-result-object v4
3046 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->beginTransaction()V
3048 + packed-switch p1, :pswitch_data_164
3052 + if-eqz v4, :cond_159
3054 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3058 + if-eqz v17, :cond_159
3060 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
3062 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3065 + invoke-virtual/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->purgeSettings()Z
3067 + .catchall {:try_start_69 .. :try_end_84} :catchall_66
3072 + if-eqz v4, :cond_73
3075 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3079 + if-eqz v17, :cond_73
3081 + const-string v17, "DROP TABLE IF EXISTS version;"
3083 + move-object/from16 v0, v17
3085 + invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
3087 + const-string v17, "CREATE TABLE IF NOT EXISTS allowed_contacts ( settings_id, contact_id, PRIMARY KEY(settings_id, contact_id) );"
3089 + move-object/from16 v0, v17
3091 + invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
3093 + const-string v17, "CREATE TABLE IF NOT EXISTS map ( name TEXT PRIMARY KEY, value TEXT );"
3095 + move-object/from16 v0, v17
3097 + invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
3099 + const-string v17, "INSERT OR REPLACE INTO map (name, value) VALUES (\"db_version\", 3);"
3101 + move-object/from16 v0, v17
3103 + invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
3105 + const-string v17, "INSERT OR REPLACE INTO map (name, value) VALUES (\"enabled\", \"1\");"
3107 + move-object/from16 v0, v17
3109 + invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
3111 + const-string v17, "INSERT OR REPLACE INTO map (name, value) VALUES (\"notifications_enabled\", \"1\");"
3113 + move-object/from16 v0, v17
3115 + invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
3117 + new-instance v14, Ljava/io/File;
3119 + const-string v17, "/data/system/privacy"
3121 + move-object/from16 v0, v17
3123 + invoke-direct {v14, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
3125 + invoke-virtual {v14}, Ljava/io/File;->listFiles()[Ljava/io/File;
3127 + move-result-object v2
3129 + array-length v10, v2
3136 + if-ge v9, v10, :cond_127
3138 + aget-object v13, v2, v9
3140 + invoke-virtual {v13}, Ljava/io/File;->listFiles()[Ljava/io/File;
3142 + move-result-object v3
3144 + array-length v11, v3
3149 + if-ge v8, v11, :cond_123
3151 + aget-object v16, v3, v8
3153 + invoke-virtual/range {v16 .. v16}, Ljava/io/File;->isDirectory()Z
3157 + if-eqz v17, :cond_120
3159 + invoke-virtual/range {v16 .. v16}, Ljava/io/File;->listFiles()[Ljava/io/File;
3161 + move-result-object v15
3165 + aget-object v17, v15, v17
3167 + if-eqz v17, :cond_120
3169 + new-instance v12, Ljava/io/File;
3171 + new-instance v17, Ljava/lang/StringBuilder;
3173 + invoke-direct/range {v17 .. v17}, Ljava/lang/StringBuilder;-><init>()V
3175 + move-object/from16 v0, v17
3177 + invoke-virtual {v0, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
3179 + move-result-object v17
3181 + const-string v18, "/"
3183 + invoke-virtual/range {v17 .. v18}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3185 + move-result-object v17
3189 + aget-object v18, v15, v18
3191 + invoke-virtual/range {v18 .. v18}, Ljava/io/File;->getName()Ljava/lang/String;
3193 + move-result-object v18
3195 + invoke-virtual/range {v17 .. v18}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3197 + move-result-object v17
3199 + invoke-virtual/range {v17 .. v17}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3201 + move-result-object v17
3203 + move-object/from16 v0, v17
3205 + invoke-direct {v12, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
3207 + invoke-virtual {v12}, Ljava/io/File;->delete()Z
3211 + aget-object v17, v15, v17
3213 + move-object/from16 v0, v17
3215 + invoke-virtual {v0, v12}, Ljava/io/File;->renameTo(Ljava/io/File;)Z
3217 + move-object/from16 v0, p0
3219 + move-object/from16 v1, v16
3221 + invoke-direct {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteRecursive(Ljava/io/File;)V
3224 + add-int/lit8 v8, v8, 0x1
3229 + add-int/lit8 v8, v9, 0x1
3236 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->setTransactionSuccessful()V
3238 + .catchall {:try_start_87 .. :try_end_12a} :catchall_66
3239 + .catch Ljava/lang/Exception; {:try_start_87 .. :try_end_12a} :catch_12c
3246 + if-eqz v4, :cond_13b
3249 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3253 + if-eqz v17, :cond_13b
3255 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
3257 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3260 + const-string v17, "PrivacyPersistenceAdapter"
3262 + const-string/jumbo v18, "upgradeDatabase - could not upgrade DB; will restore backup"
3264 + move-object/from16 v0, v17
3266 + move-object/from16 v1, v18
3268 + invoke-static {v0, v1, v7}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
3270 + invoke-static {v5, v6}, Landroid/os/FileUtils;->copyFile(Ljava/io/File;Ljava/io/File;)Z
3272 + invoke-virtual {v5}, Ljava/io/File;->delete()Z
3277 + const-string v17, "PrivacyPersistenceAdapter"
3279 + const-string/jumbo v18, "upgradeDatabase - trying to upgrade most current DB version"
3281 + invoke-static/range {v17 .. v18}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
3286 + const-string v17, "PrivacyPersistenceAdapter"
3288 + const-string/jumbo v18, "upgradeDatabase - database is null or closed; cant call endTransaction()"
3290 + invoke-static/range {v17 .. v18}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
3292 + .catchall {:try_start_12f .. :try_end_161} :catchall_66
3299 + .packed-switch 0x1
3303 + .end packed-switch
3308 +.method public declared-synchronized deleteSettings(Ljava/lang/String;)Z
3316 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
3318 + move-result-object v0
3320 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->beginTransaction()V
3322 + .catchall {:try_start_2 .. :try_end_9} :catchall_107
3325 + const-string/jumbo v1, "settings"
3329 + new-array v2, v2, [Ljava/lang/String;
3333 + const-string v4, "_id"
3335 + aput-object v4, v2, v3
3337 + const-string/jumbo v3, "packageName=?"
3341 + new-array v4, v4, [Ljava/lang/String;
3345 + aput-object p1, v4, v5
3353 + 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;
3355 + move-result-object v8
3357 + if-eqz v8, :cond_4c
3359 + invoke-interface {v8}, Landroid/database/Cursor;->getCount()I
3363 + if-lez v1, :cond_4c
3365 + invoke-interface {v8}, Landroid/database/Cursor;->moveToFirst()Z
3369 + if-eqz v1, :cond_4c
3373 + invoke-interface {v8, v1}, Landroid/database/Cursor;->getInt(I)I
3377 + const-string v1, "allowed_contacts"
3379 + const-string/jumbo v2, "settings_id=?"
3383 + new-array v3, v3, [Ljava/lang/String;
3387 + invoke-static {v10}, Ljava/lang/Integer;->toString(I)Ljava/lang/String;
3389 + move-result-object v5
3391 + aput-object v5, v3, v4
3393 + invoke-virtual {v0, v1, v2, v3}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
3395 + invoke-interface {v8}, Landroid/database/Cursor;->close()V
3398 + const-string/jumbo v1, "settings"
3400 + const-string/jumbo v2, "packageName=?"
3404 + new-array v3, v3, [Ljava/lang/String;
3408 + aput-object p1, v3, v4
3410 + invoke-virtual {v0, v1, v2, v3}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
3414 + if-nez v1, :cond_8d
3416 + const-string v1, "PrivacyPersistenceAdapter"
3418 + new-instance v2, Ljava/lang/StringBuilder;
3420 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
3422 + const-string v3, "deleteSettings - database entry for "
3424 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3426 + move-result-object v2
3428 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3430 + move-result-object v2
3432 + const-string v3, " not found"
3434 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3436 + move-result-object v2
3438 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3440 + move-result-object v2
3442 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
3444 + .catchall {:try_start_9 .. :try_end_7c} :catchall_10a
3445 + .catch Ljava/lang/Exception; {:try_start_9 .. :try_end_7c} :catch_ef
3450 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
3452 + if-eqz v0, :cond_8b
3454 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3458 + if-eqz v2, :cond_8b
3460 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3462 + .catchall {:try_start_7d .. :try_end_8b} :catchall_107
3472 + new-instance v12, Ljava/io/File;
3474 + new-instance v1, Ljava/lang/StringBuilder;
3476 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
3478 + const-string v2, "/data/system/privacy/"
3480 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3482 + move-result-object v1
3484 + invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3486 + move-result-object v1
3488 + const-string v2, "/"
3490 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3492 + move-result-object v1
3494 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3496 + move-result-object v1
3498 + invoke-direct {v12, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
3500 + new-instance v13, Ljava/io/File;
3502 + new-instance v1, Ljava/lang/StringBuilder;
3504 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
3506 + const-string v2, "/data/system/privacy/"
3508 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3510 + move-result-object v1
3512 + invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3514 + move-result-object v1
3516 + const-string v2, "/systemLogsSetting"
3518 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3520 + move-result-object v1
3522 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3524 + move-result-object v1
3526 + invoke-direct {v13, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
3528 + invoke-virtual {v13}, Ljava/io/File;->delete()Z
3530 + invoke-virtual {v12}, Ljava/io/File;->list()[Ljava/lang/String;
3532 + move-result-object v1
3534 + if-eqz v1, :cond_d9
3536 + invoke-virtual {v12}, Ljava/io/File;->list()[Ljava/lang/String;
3538 + move-result-object v1
3540 + array-length v1, v1
3542 + if-nez v1, :cond_dc
3545 + invoke-virtual {v12}, Ljava/io/File;->delete()Z
3548 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->setTransactionSuccessful()V
3550 + .catchall {:try_start_8d .. :try_end_df} :catchall_10a
3551 + .catch Ljava/lang/Exception; {:try_start_8d .. :try_end_df} :catch_ef
3554 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
3556 + if-eqz v0, :cond_ed
3558 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3562 + if-eqz v1, :cond_ed
3564 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3566 + .catchall {:try_start_df .. :try_end_ed} :catchall_107
3580 + const-string v1, "PrivacyPersistenceAdapter"
3582 + const-string v2, "deleteSettings - could not delete settings"
3584 + invoke-static {v1, v2, v9}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
3586 + .catchall {:try_start_f1 .. :try_end_f8} :catchall_10a
3589 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
3591 + if-eqz v0, :cond_ed
3593 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3597 + if-eqz v1, :cond_ed
3599 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3601 + .catchall {:try_start_f8 .. :try_end_106} :catchall_107
3616 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
3618 + if-eqz v0, :cond_119
3620 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3624 + if-eqz v2, :cond_119
3626 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3631 + .catchall {:try_start_10b .. :try_end_11a} :catchall_107
3634 +.method public declared-synchronized getSettings(Ljava/lang/String;Z)Landroid/privacy/PrivacySettings;
3641 + if-nez p1, :cond_10
3644 + const-string v1, "PrivacyPersistenceAdapter"
3646 + const-string v4, "getSettings - insufficient application identifier - package name is required"
3648 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
3650 + .catchall {:try_start_5 .. :try_end_c} :catchall_2d8
3652 + move-object/from16 v3, v43
3661 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
3663 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
3665 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
3669 + add-int/lit8 v1, v1, 0x1
3671 + invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
3673 + move-result-object v1
3675 + sput-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
3677 + .catchall {:try_start_10 .. :try_end_20} :catchall_2d8
3680 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
3682 + .catchall {:try_start_20 .. :try_end_23} :catchall_2d8
3683 + .catch Landroid/database/sqlite/SQLiteException; {:try_start_20 .. :try_end_23} :catch_245
3685 + move-result-object v2
3690 + const-string/jumbo v3, "settings"
3692 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->DATABASE_FIELDS:[Ljava/lang/String;
3694 + const-string/jumbo v5, "packageName=?"
3698 + new-array v6, v1, [Ljava/lang/String;
3702 + aput-object p1, v6, v1
3712 + move-object/from16 v1, p0
3714 + 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;
3716 + move-result-object v41
3718 + if-eqz v41, :cond_2dc
3720 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->moveToFirst()Z
3724 + if-eqz v1, :cond_2dc
3726 + new-instance v3, Landroid/privacy/PrivacySettings;
3730 + move-object/from16 v0, v41
3732 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getInt(I)I
3736 + invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
3738 + move-result-object v4
3742 + move-object/from16 v0, v41
3744 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
3746 + move-result-object v5
3750 + move-object/from16 v0, v41
3752 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getInt(I)I
3758 + move-object/from16 v0, v41
3760 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3764 + int-to-byte v7, v1
3768 + move-object/from16 v0, v41
3770 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
3772 + move-result-object v8
3776 + move-object/from16 v0, v41
3778 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3782 + int-to-byte v9, v1
3786 + move-object/from16 v0, v41
3788 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
3790 + move-result-object v10
3794 + move-object/from16 v0, v41
3796 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3800 + int-to-byte v11, v1
3804 + move-object/from16 v0, v41
3806 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
3808 + move-result-object v12
3812 + move-object/from16 v0, v41
3814 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
3816 + move-result-object v13
3820 + move-object/from16 v0, v41
3822 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3826 + int-to-byte v14, v1
3830 + move-object/from16 v0, v41
3832 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
3834 + move-result-object v15
3838 + move-object/from16 v0, v41
3840 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
3842 + move-result-object v16
3846 + move-object/from16 v0, v41
3848 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3852 + int-to-byte v0, v1
3854 + move/from16 v17, v0
3858 + move-object/from16 v0, v41
3860 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3864 + int-to-byte v0, v1
3866 + move/from16 v18, v0
3870 + move-object/from16 v0, v41
3872 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3876 + int-to-byte v0, v1
3878 + move/from16 v19, v0
3882 + move-object/from16 v0, v41
3884 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
3886 + move-result-object v20
3890 + move-object/from16 v0, v41
3892 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3896 + int-to-byte v0, v1
3898 + move/from16 v21, v0
3902 + move-object/from16 v0, v41
3904 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
3906 + move-result-object v22
3910 + move-object/from16 v0, v41
3912 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3916 + int-to-byte v0, v1
3918 + move/from16 v23, v0
3922 + move-object/from16 v0, v41
3924 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3928 + int-to-byte v0, v1
3930 + move/from16 v24, v0
3934 + move-object/from16 v0, v41
3936 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3940 + int-to-byte v0, v1
3942 + move/from16 v25, v0
3946 + move-object/from16 v0, v41
3948 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3952 + int-to-byte v0, v1
3954 + move/from16 v26, v0
3958 + move-object/from16 v0, v41
3960 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3964 + int-to-byte v0, v1
3966 + move/from16 v27, v0
3970 + move-object/from16 v0, v41
3972 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3976 + int-to-byte v0, v1
3978 + move/from16 v28, v0
3982 + move-object/from16 v0, v41
3984 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3988 + int-to-byte v0, v1
3990 + move/from16 v29, v0
3994 + move-object/from16 v0, v41
3996 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4000 + int-to-byte v0, v1
4002 + move/from16 v30, v0
4006 + move-object/from16 v0, v41
4008 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4012 + int-to-byte v0, v1
4014 + move/from16 v31, v0
4018 + move-object/from16 v0, v41
4020 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4024 + int-to-byte v0, v1
4026 + move/from16 v32, v0
4030 + move-object/from16 v0, v41
4032 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4036 + int-to-byte v0, v1
4038 + move/from16 v33, v0
4042 + move-object/from16 v0, v41
4044 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4048 + int-to-byte v0, v1
4050 + move/from16 v34, v0
4054 + move-object/from16 v0, v41
4056 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4060 + int-to-byte v0, v1
4062 + move/from16 v35, v0
4066 + move-object/from16 v0, v41
4068 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4072 + int-to-byte v0, v1
4074 + move/from16 v36, v0
4078 + move-object/from16 v0, v41
4080 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4084 + int-to-byte v0, v1
4086 + move/from16 v37, v0
4090 + move-object/from16 v0, v41
4092 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4096 + int-to-byte v0, v1
4098 + move/from16 v38, v0
4102 + 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
4104 + .catchall {:try_start_26 .. :try_end_1a1} :catchall_29b
4105 + .catch Ljava/lang/Exception; {:try_start_26 .. :try_end_1a1} :catch_2d3
4108 + new-instance v1, Ljava/lang/StringBuilder;
4110 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
4112 + const-string v4, "SELECT * FROM allowed_contacts WHERE settings_id="
4114 + invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4116 + move-result-object v1
4118 + invoke-virtual {v3}, Landroid/privacy/PrivacySettings;->get_id()Ljava/lang/Integer;
4120 + move-result-object v4
4122 + invoke-virtual {v4}, Ljava/lang/Integer;->intValue()I
4126 + invoke-static {v4}, Ljava/lang/Integer;->toString(I)Ljava/lang/String;
4128 + move-result-object v4
4130 + invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4132 + move-result-object v1
4134 + const-string v4, ";"
4136 + invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4138 + move-result-object v1
4140 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4142 + move-result-object v1
4144 + move-object/from16 v0, p0
4146 + invoke-direct {v0, v2, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->rawQuery(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;)Landroid/database/Cursor;
4148 + move-result-object v41
4150 + if-eqz v41, :cond_268
4152 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->getCount()I
4156 + if-lez v1, :cond_268
4158 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->getCount()I
4162 + new-array v0, v1, [I
4164 + move-object/from16 v40, v0
4167 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->moveToNext()Z
4171 + if-eqz v1, :cond_263
4173 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->getPosition()I
4179 + move-object/from16 v0, v41
4181 + invoke-interface {v0, v4}, Landroid/database/Cursor;->getInt(I)I
4187 + .catchall {:try_start_1a1 .. :try_end_1ef} :catchall_2d1
4188 + .catch Ljava/lang/Exception; {:try_start_1a1 .. :try_end_1ef} :catch_1f0
4193 + move-exception v42
4197 + const-string v1, "PrivacyPersistenceAdapter"
4199 + new-instance v4, Ljava/lang/StringBuilder;
4201 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
4203 + const-string v5, "getSettings - failed to get settings for package: "
4205 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4207 + move-result-object v4
4209 + move-object/from16 v0, p1
4211 + invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4213 + move-result-object v4
4215 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4217 + move-result-object v4
4219 + move-object/from16 v0, v42
4221 + invoke-static {v1, v4, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
4223 + invoke-virtual/range {v42 .. v42}, Ljava/lang/Exception;->printStackTrace()V
4225 + if-eqz v41, :cond_215
4227 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->close()V
4229 + .catchall {:try_start_1f1 .. :try_end_215} :catchall_2d1
4232 + if-eqz v41, :cond_21a
4235 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->close()V
4238 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4242 + .catchall {:try_start_217 .. :try_end_21d} :catchall_298
4245 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4247 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4249 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
4253 + add-int/lit8 v1, v1, -0x1
4255 + invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4257 + move-result-object v1
4259 + sput-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4261 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4263 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
4267 + if-nez v1, :cond_240
4269 + if-eqz v2, :cond_240
4271 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
4275 + if-eqz v1, :cond_240
4277 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
4282 + .catchall {:try_start_21d .. :try_end_241} :catchall_2ce
4285 + move-object/from16 v43, v3
4290 + move-exception v42
4293 + const-string v1, "PrivacyPersistenceAdapter"
4295 + const-string v4, "getSettings - database could not be opened"
4297 + move-object/from16 v0, v42
4299 + invoke-static {v1, v4, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
4301 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4303 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4305 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
4309 + add-int/lit8 v1, v1, -0x1
4311 + invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4313 + move-result-object v1
4315 + sput-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4317 + .catchall {:try_start_246 .. :try_end_25f} :catchall_2d8
4319 + move-object/from16 v3, v43
4325 + move-object/from16 v0, v40
4327 + invoke-virtual {v3, v0}, Landroid/privacy/PrivacySettings;->setAllowedContacts([I)V
4329 + .catchall {:try_start_263 .. :try_end_268} :catchall_2d1
4330 + .catch Ljava/lang/Exception; {:try_start_263 .. :try_end_268} :catch_1f0
4334 + if-eqz v41, :cond_26d
4337 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->close()V
4340 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4344 + .catchall {:try_start_26a .. :try_end_270} :catchall_298
4347 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4349 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4351 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
4355 + add-int/lit8 v1, v1, -0x1
4357 + invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4359 + move-result-object v1
4361 + sput-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4363 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4365 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
4369 + if-nez v1, :cond_293
4371 + if-eqz v2, :cond_293
4373 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
4377 + if-eqz v1, :cond_293
4379 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
4391 + .catchall {:try_start_270 .. :try_end_297} :catchall_295
4396 + .catchall {:try_start_297 .. :try_end_298} :catchall_298
4409 + move-object/from16 v3, v43
4412 + if-eqz v41, :cond_2a3
4415 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->close()V
4418 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4422 + .catchall {:try_start_2a0 .. :try_end_2a6} :catchall_298
4425 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4427 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4429 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
4433 + add-int/lit8 v5, v5, -0x1
4435 + invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4437 + move-result-object v5
4439 + sput-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4441 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4443 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
4447 + if-nez v5, :cond_2c9
4449 + if-eqz v2, :cond_2c9
4451 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
4455 + if-eqz v5, :cond_2c9
4457 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
4462 + .catchall {:try_start_2a6 .. :try_end_2ca} :catchall_2cb
4467 + .catchall {:try_start_2ca .. :try_end_2cb} :catchall_298
4475 + .catchall {:try_start_2cc .. :try_end_2cd} :catchall_2cb
4480 + .catchall {:try_start_2cd .. :try_end_2ce} :catchall_298
4488 + .catchall {:try_start_2cf .. :try_end_2d0} :catchall_2ce
4493 + .catchall {:try_start_2d0 .. :try_end_2d1} :catchall_298
4501 + move-exception v42
4503 + move-object/from16 v3, v43
4510 + move-object/from16 v3, v43
4515 + move-object/from16 v3, v43
4520 +.method public getValue(Ljava/lang/String;)Ljava/lang/String;
4523 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4525 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4527 + invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
4531 + add-int/lit8 v0, v0, 0x1
4533 + invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4535 + move-result-object v0
4537 + sput-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4539 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
4541 + move-result-object v1
4546 + const-string/jumbo v2, "map"
4550 + new-array v3, v0, [Ljava/lang/String;
4554 + const-string/jumbo v4, "value"
4556 + aput-object v4, v3, v0
4558 + const-string/jumbo v4, "name=?"
4562 + new-array v5, v0, [Ljava/lang/String;
4566 + aput-object p1, v5, v0
4576 + move-object v0, p0
4578 + 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;
4580 + move-result-object v10
4582 + if-eqz v10, :cond_77
4584 + invoke-interface {v10}, Landroid/database/Cursor;->getCount()I
4588 + if-lez v0, :cond_77
4590 + invoke-interface {v10}, Landroid/database/Cursor;->moveToFirst()Z
4594 + if-eqz v0, :cond_77
4596 + const-string/jumbo v0, "value"
4598 + invoke-interface {v10, v0}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
4602 + invoke-interface {v10, v0}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
4604 + move-result-object v12
4606 + invoke-interface {v10}, Landroid/database/Cursor;->close()V
4608 + .catch Ljava/lang/Exception; {:try_start_15 .. :try_end_4f} :catch_90
4611 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4616 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4618 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4620 + invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
4624 + add-int/lit8 v0, v0, -0x1
4626 + invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4628 + move-result-object v0
4630 + sput-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4632 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4634 + invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
4638 + if-nez v0, :cond_75
4640 + if-eqz v1, :cond_75
4642 + invoke-virtual {v1}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
4646 + if-eqz v0, :cond_75
4648 + invoke-virtual {v1}, Landroid/database/sqlite/SQLiteDatabase;->close()V
4653 + .catchall {:try_start_52 .. :try_end_76} :catchall_aa
4659 + const-string v0, "PrivacyPersistenceAdapter"
4661 + new-instance v2, Ljava/lang/StringBuilder;
4663 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
4665 + const-string v3, "getValue - could not get value for name: "
4667 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4669 + move-result-object v2
4671 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4673 + move-result-object v2
4675 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4677 + move-result-object v2
4679 + invoke-static {v0, v2}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
4681 + .catch Ljava/lang/Exception; {:try_start_77 .. :try_end_8f} :catch_90
4686 + move-exception v11
4688 + const-string v0, "PrivacyPersistenceAdapter"
4690 + new-instance v2, Ljava/lang/StringBuilder;
4692 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
4694 + const-string v3, "getValue - could not get value for name: "
4696 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4698 + move-result-object v2
4700 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4702 + move-result-object v2
4704 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4706 + move-result-object v2
4708 + invoke-static {v0, v2, v11}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
4718 + .catchall {:try_start_ab .. :try_end_ac} :catchall_aa
4723 +.method public purgeSettings()Z
4728 + new-instance v13, Ljava/util/ArrayList;
4730 + invoke-direct {v13}, Ljava/util/ArrayList;-><init>()V
4732 + move-object/from16 v0, p0
4734 + iget-object v2, v0, Landroid/privacy/PrivacyPersistenceAdapter;->context:Landroid/content/Context;
4736 + invoke-virtual {v2}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
4738 + move-result-object v21
4742 + move-object/from16 v0, v21
4744 + invoke-virtual {v0, v2}, Landroid/content/pm/PackageManager;->getInstalledApplications(I)Ljava/util/List;
4746 + move-result-object v19
4748 + invoke-interface/range {v19 .. v19}, Ljava/util/List;->iterator()Ljava/util/Iterator;
4750 + move-result-object v18
4753 + invoke-interface/range {v18 .. v18}, Ljava/util/Iterator;->hasNext()Z
4757 + if-eqz v2, :cond_2d
4759 + invoke-interface/range {v18 .. v18}, Ljava/util/Iterator;->next()Ljava/lang/Object;
4761 + move-result-object v12
4763 + check-cast v12, Landroid/content/pm/ApplicationInfo;
4765 + iget-object v2, v12, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
4767 + invoke-interface {v13, v2}, Ljava/util/List;->add(Ljava/lang/Object;)Z
4772 + new-instance v26, Ljava/io/File;
4774 + const-string v2, "/data/system/privacy"
4776 + move-object/from16 v0, v26
4778 + invoke-direct {v0, v2}, Ljava/io/File;-><init>(Ljava/lang/String;)V
4780 + invoke-virtual/range {v26 .. v26}, Ljava/io/File;->listFiles()[Ljava/io/File;
4782 + move-result-object v15
4784 + array-length v0, v15
4786 + move/from16 v20, v0
4791 + move/from16 v0, v18
4793 + move/from16 v1, v20
4795 + if-ge v0, v1, :cond_5d
4797 + aget-object v23, v15, v18
4799 + invoke-virtual/range {v23 .. v23}, Ljava/io/File;->getName()Ljava/lang/String;
4801 + move-result-object v24
4803 + move-object/from16 v0, v24
4805 + invoke-interface {v13, v0}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
4809 + if-nez v2, :cond_5a
4811 + move-object/from16 v0, p0
4813 + move-object/from16 v1, v23
4815 + invoke-direct {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteRecursive(Ljava/io/File;)V
4818 + add-int/lit8 v18, v18, 0x1
4823 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4825 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4827 + invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
4831 + add-int/lit8 v2, v2, 0x1
4833 + invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4835 + move-result-object v2
4837 + sput-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4839 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
4841 + move-result-object v3
4846 + const-string/jumbo v4, "settings"
4850 + new-array v5, v2, [Ljava/lang/String;
4854 + const-string/jumbo v6, "packageName"
4856 + aput-object v6, v5, v2
4870 + move-object/from16 v2, p0
4872 + 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;
4874 + move-result-object v16
4876 + new-instance v14, Ljava/util/ArrayList;
4878 + invoke-direct {v14}, Ljava/util/ArrayList;-><init>()V
4881 + invoke-interface/range {v16 .. v16}, Landroid/database/Cursor;->moveToNext()Z
4885 + if-eqz v2, :cond_142
4889 + move-object/from16 v0, v16
4891 + invoke-interface {v0, v2}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
4893 + move-result-object v24
4895 + move-object/from16 v0, v24
4897 + invoke-interface {v13, v0}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
4901 + if-nez v2, :cond_e7
4903 + move-object/from16 v0, p0
4905 + move-object/from16 v1, v24
4907 + invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteSettings(Ljava/lang/String;)Z
4909 + .catchall {:try_start_73 .. :try_end_ac} :catchall_107
4910 + .catch Ljava/lang/Exception; {:try_start_73 .. :try_end_ac} :catch_ad
4915 + move-exception v17
4918 + const-string v2, "PrivacyPersistenceAdapter"
4920 + const-string/jumbo v4, "purgeSettings - purging DB failed"
4922 + move-object/from16 v0, v17
4924 + invoke-static {v2, v4, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
4926 + .catchall {:try_start_ae .. :try_end_b8} :catchall_107
4930 + if-eqz v16, :cond_bf
4932 + invoke-interface/range {v16 .. v16}, Landroid/database/Cursor;->close()V
4935 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4940 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4942 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4944 + invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
4948 + add-int/lit8 v2, v2, -0x1
4950 + invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4952 + move-result-object v2
4954 + sput-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4956 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4958 + invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
4962 + if-nez v2, :cond_e5
4964 + if-eqz v3, :cond_e5
4966 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
4970 + if-eqz v2, :cond_e5
4972 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->close()V
4977 + .catchall {:try_start_c2 .. :try_end_e6} :catchall_13f
4984 + move-object/from16 v0, v24
4986 + invoke-interface {v14, v0}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
4990 + if-eqz v2, :cond_135
4994 + move-object/from16 v0, p0
4996 + move-object/from16 v1, v24
4998 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacyPersistenceAdapter;->getSettings(Ljava/lang/String;Z)Landroid/privacy/PrivacySettings;
5000 + move-result-object v22
5002 + move-object/from16 v0, p0
5004 + move-object/from16 v1, v24
5006 + invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteSettings(Ljava/lang/String;)Z
5008 + move-object/from16 v0, p0
5010 + move-object/from16 v1, v22
5012 + invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->saveSettings(Landroid/privacy/PrivacySettings;)Z
5014 + .catchall {:try_start_e7 .. :try_end_106} :catchall_107
5015 + .catch Ljava/lang/Exception; {:try_start_e7 .. :try_end_106} :catch_ad
5022 + if-eqz v16, :cond_10d
5024 + invoke-interface/range {v16 .. v16}, Landroid/database/Cursor;->close()V
5027 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5032 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5034 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5036 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
5040 + add-int/lit8 v5, v5, -0x1
5042 + invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5044 + move-result-object v5
5046 + sput-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5048 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5050 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
5054 + if-nez v5, :cond_133
5056 + if-eqz v3, :cond_133
5058 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
5062 + if-eqz v5, :cond_133
5064 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->close()V
5069 + .catchall {:try_start_110 .. :try_end_134} :catchall_13c
5075 + move-object/from16 v0, v24
5077 + invoke-interface {v14, v0}, Ljava/util/List;->add(Ljava/lang/Object;)Z
5079 + .catchall {:try_start_135 .. :try_end_13a} :catchall_107
5080 + .catch Ljava/lang/Exception; {:try_start_135 .. :try_end_13a} :catch_ad
5090 + .catchall {:try_start_13d .. :try_end_13e} :catchall_13c
5100 + .catchall {:try_start_140 .. :try_end_141} :catchall_13f
5105 + if-eqz v16, :cond_147
5107 + invoke-interface/range {v16 .. v16}, Landroid/database/Cursor;->close()V
5110 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5115 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5117 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5119 + invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
5123 + add-int/lit8 v2, v2, -0x1
5125 + invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5127 + move-result-object v2
5129 + sput-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5131 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5133 + invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
5137 + if-nez v2, :cond_16d
5139 + if-eqz v3, :cond_16d
5141 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
5145 + if-eqz v2, :cond_16d
5147 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->close()V
5159 + .catchall {:try_start_14a .. :try_end_172} :catchall_170
5164 +.method public declared-synchronized saveSettings(Landroid/privacy/PrivacySettings;)Z
5172 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getPackageName()Ljava/lang/String;
5174 + move-result-object v17
5176 + if-eqz v17, :cond_f
5178 + invoke-virtual/range {v17 .. v17}, Ljava/lang/String;->isEmpty()Z
5182 + if-eqz v3, :cond_1a
5185 + const-string v3, "PrivacyPersistenceAdapter"
5187 + const-string/jumbo v4, "saveSettings - either package name, UID or both is missing"
5189 + invoke-static {v3, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
5191 + .catchall {:try_start_3 .. :try_end_17} :catchall_2c2
5202 + new-instance v23, Landroid/content/ContentValues;
5204 + invoke-direct/range {v23 .. v23}, Landroid/content/ContentValues;-><init>()V
5206 + const-string/jumbo v3, "packageName"
5208 + move-object/from16 v0, v23
5210 + move-object/from16 v1, v17
5212 + invoke-virtual {v0, v3, v1}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5214 + const-string/jumbo v3, "uid"
5218 + invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5220 + move-result-object v4
5222 + move-object/from16 v0, v23
5224 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
5226 + const-string v3, "deviceIdSetting"
5228 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
5232 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5234 + move-result-object v4
5236 + move-object/from16 v0, v23
5238 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5240 + const-string v3, "deviceId"
5242 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getDeviceId()Ljava/lang/String;
5244 + move-result-object v4
5246 + move-object/from16 v0, v23
5248 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5250 + const-string v3, "line1NumberSetting"
5252 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
5256 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5258 + move-result-object v4
5260 + move-object/from16 v0, v23
5262 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5264 + const-string v3, "line1Number"
5266 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLine1Number()Ljava/lang/String;
5268 + move-result-object v4
5270 + move-object/from16 v0, v23
5272 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5274 + const-string v3, "locationGpsSetting"
5276 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
5280 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5282 + move-result-object v4
5284 + move-object/from16 v0, v23
5286 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5288 + const-string v3, "locationGpsLat"
5290 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
5292 + move-result-object v4
5294 + move-object/from16 v0, v23
5296 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5298 + const-string v3, "locationGpsLon"
5300 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
5302 + move-result-object v4
5304 + move-object/from16 v0, v23
5306 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5308 + const-string v3, "locationNetworkSetting"
5310 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
5314 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5316 + move-result-object v4
5318 + move-object/from16 v0, v23
5320 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5322 + const-string v3, "locationNetworkLat"
5324 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
5326 + move-result-object v4
5328 + move-object/from16 v0, v23
5330 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5332 + const-string v3, "locationNetworkLon"
5334 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
5336 + move-result-object v4
5338 + move-object/from16 v0, v23
5340 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5342 + const-string/jumbo v3, "networkInfoSetting"
5344 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
5348 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5350 + move-result-object v4
5352 + move-object/from16 v0, v23
5354 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5356 + const-string/jumbo v3, "simInfoSetting"
5358 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSimInfoSetting()B
5362 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5364 + move-result-object v4
5366 + move-object/from16 v0, v23
5368 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5370 + const-string/jumbo v3, "simSerialNumberSetting"
5372 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSimSerialNumberSetting()B
5376 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5378 + move-result-object v4
5380 + move-object/from16 v0, v23
5382 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5384 + const-string/jumbo v3, "simSerialNumber"
5386 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSimSerialNumber()Ljava/lang/String;
5388 + move-result-object v4
5390 + move-object/from16 v0, v23
5392 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5394 + const-string/jumbo v3, "subscriberIdSetting"
5396 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSubscriberIdSetting()B
5400 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5402 + move-result-object v4
5404 + move-object/from16 v0, v23
5406 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5408 + const-string/jumbo v3, "subscriberId"
5410 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSubscriberId()Ljava/lang/String;
5412 + move-result-object v4
5414 + move-object/from16 v0, v23
5416 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5418 + const-string v3, "accountsSetting"
5420 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
5424 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5426 + move-result-object v4
5428 + move-object/from16 v0, v23
5430 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5432 + const-string v3, "accountsAuthTokensSetting"
5434 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
5438 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5440 + move-result-object v4
5442 + move-object/from16 v0, v23
5444 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5446 + const-string/jumbo v3, "outgoingCallsSetting"
5448 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getOutgoingCallsSetting()B
5452 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5454 + move-result-object v4
5456 + move-object/from16 v0, v23
5458 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5460 + const-string v3, "incomingCallsSetting"
5462 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getIncomingCallsSetting()B
5466 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5468 + move-result-object v4
5470 + move-object/from16 v0, v23
5472 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5474 + const-string v3, "contactsSetting"
5476 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getContactsSetting()B
5480 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5482 + move-result-object v4
5484 + move-object/from16 v0, v23
5486 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5488 + const-string v3, "calendarSetting"
5490 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getCalendarSetting()B
5494 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
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/Byte;)V
5502 + const-string/jumbo v3, "mmsSetting"
5504 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getMmsSetting()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/jumbo v3, "smsSetting"
5518 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSmsSetting()B
5522 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5524 + move-result-object v4
5526 + move-object/from16 v0, v23
5528 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5530 + const-string v3, "callLogSetting"
5532 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getCallLogSetting()B
5536 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5538 + move-result-object v4
5540 + move-object/from16 v0, v23
5542 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5544 + const-string v3, "bookmarksSetting"
5546 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getBookmarksSetting()B
5550 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5552 + move-result-object v4
5554 + move-object/from16 v0, v23
5556 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5558 + const-string/jumbo v3, "systemLogsSetting"
5560 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSystemLogsSetting()B
5564 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5566 + move-result-object v4
5568 + move-object/from16 v0, v23
5570 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5572 + const-string/jumbo v3, "notificationSetting"
5574 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getNotificationSetting()B
5578 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5580 + move-result-object v4
5582 + move-object/from16 v0, v23
5584 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5586 + const-string v3, "intentBootCompletedSetting"
5588 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getIntentBootCompletedSetting()B
5592 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5594 + move-result-object v4
5596 + move-object/from16 v0, v23
5598 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5600 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5602 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5604 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
5608 + add-int/lit8 v3, v3, 0x1
5610 + invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5612 + move-result-object v3
5614 + sput-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5616 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
5618 + move-result-object v2
5620 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->beginTransaction()V
5622 + .catchall {:try_start_1a .. :try_end_1eb} :catchall_2c2
5627 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->get_id()Ljava/lang/Integer;
5629 + move-result-object v15
5631 + if-eqz v15, :cond_2c8
5633 + const-string/jumbo v3, "settings"
5635 + const-string v4, "_id=?"
5639 + new-array v5, v5, [Ljava/lang/String;
5643 + invoke-virtual {v15}, Ljava/lang/Integer;->toString()Ljava/lang/String;
5645 + move-result-object v7
5647 + aput-object v7, v5, v6
5649 + move-object/from16 v0, v23
5651 + 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
5657 + if-ge v3, v4, :cond_249
5659 + new-instance v3, Ljava/lang/Exception;
5661 + const-string/jumbo v4, "saveSettings - failed to update database entry"
5663 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
5667 + .catchall {:try_start_1ec .. :try_end_213} :catchall_291
5668 + .catch Ljava/lang/Exception; {:try_start_1ec .. :try_end_213} :catch_213
5671 + move-exception v13
5676 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
5678 + if-eqz v11, :cond_21e
5680 + invoke-interface {v11}, Landroid/database/Cursor;->close()V
5683 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5687 + .catchall {:try_start_216 .. :try_end_221} :catchall_2c2
5690 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5692 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5694 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
5698 + add-int/lit8 v3, v3, -0x1
5700 + invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5702 + move-result-object v3
5704 + sput-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5706 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5708 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
5712 + if-nez v3, :cond_244
5714 + if-eqz v2, :cond_244
5716 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
5720 + if-eqz v3, :cond_244
5722 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
5727 + .catchall {:try_start_221 .. :try_end_245} :catchall_4ca
5730 + move/from16 v3, v18
5736 + const-string v3, "allowed_contacts"
5738 + const-string/jumbo v4, "settings_id=?"
5742 + new-array v5, v5, [Ljava/lang/String;
5746 + invoke-virtual {v15}, Ljava/lang/Integer;->toString()Ljava/lang/String;
5748 + move-result-object v7
5750 + aput-object v7, v5, v6
5752 + invoke-virtual {v2, v3, v4, v5}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
5754 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAllowedContacts()[I
5756 + move-result-object v10
5758 + if-eqz v10, :cond_3f2
5760 + new-instance v12, Landroid/content/ContentValues;
5762 + invoke-direct {v12}, Landroid/content/ContentValues;-><init>()V
5767 + array-length v3, v10
5769 + if-ge v14, v3, :cond_3f2
5771 + const-string/jumbo v3, "settings_id"
5773 + invoke-virtual {v12, v3, v15}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
5775 + const-string v3, "contact_id"
5779 + invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5781 + move-result-object v4
5783 + invoke-virtual {v12, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
5785 + const-string v3, "allowed_contacts"
5789 + invoke-virtual {v2, v3, v4, v12}, Landroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
5791 + move-result-wide v3
5793 + const-wide/16 v5, -0x1
5795 + cmp-long v3, v3, v5
5797 + if-nez v3, :cond_2c5
5799 + new-instance v3, Ljava/lang/Exception;
5801 + const-string/jumbo v4, "saveSettings - failed to update database entry (contacts)"
5803 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
5807 + .catchall {:try_start_249 .. :try_end_291} :catchall_291
5808 + .catch Ljava/lang/Exception; {:try_start_249 .. :try_end_291} :catch_213
5814 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
5816 + if-eqz v11, :cond_29a
5818 + invoke-interface {v11}, Landroid/database/Cursor;->close()V
5821 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5825 + .catchall {:try_start_292 .. :try_end_29d} :catchall_2c2
5828 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5830 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5832 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
5836 + add-int/lit8 v5, v5, -0x1
5838 + invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5840 + move-result-object v5
5842 + sput-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5844 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5846 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
5850 + if-nez v5, :cond_2c0
5852 + if-eqz v2, :cond_2c0
5854 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
5858 + if-eqz v5, :cond_2c0
5860 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
5865 + .catchall {:try_start_29d .. :try_end_2c1} :catchall_4cd
5870 + .catchall {:try_start_2c1 .. :try_end_2c2} :catchall_2c2
5880 + add-int/lit8 v14, v14, 0x1
5886 + const-string/jumbo v3, "settings"
5890 + new-array v4, v4, [Ljava/lang/String;
5894 + const-string v6, "_id"
5896 + aput-object v6, v4, v5
5898 + const-string/jumbo v5, "packageName=?"
5902 + new-array v6, v6, [Ljava/lang/String;
5906 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getPackageName()Ljava/lang/String;
5908 + move-result-object v8
5910 + aput-object v8, v6, v7
5918 + 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;
5920 + move-result-object v11
5922 + if-eqz v11, :cond_3e7
5924 + invoke-interface {v11}, Landroid/database/Cursor;->getCount()I
5930 + if-ne v3, v4, :cond_36e
5932 + const-string/jumbo v3, "settings"
5934 + const-string/jumbo v4, "packageName=?"
5938 + new-array v5, v5, [Ljava/lang/String;
5942 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getPackageName()Ljava/lang/String;
5944 + move-result-object v7
5946 + aput-object v7, v5, v6
5948 + move-object/from16 v0, v23
5950 + 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
5956 + if-ge v3, v4, :cond_312
5958 + new-instance v3, Ljava/lang/Exception;
5960 + const-string/jumbo v4, "saveSettings - failed to update database entry"
5962 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
5967 + invoke-interface {v11}, Landroid/database/Cursor;->moveToFirst()Z
5971 + if-eqz v3, :cond_3f2
5975 + invoke-interface {v11, v3}, Landroid/database/Cursor;->getInt(I)I
5979 + invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5981 + move-result-object v16
5983 + const-string v3, "allowed_contacts"
5985 + const-string/jumbo v4, "settings_id=?"
5989 + new-array v5, v5, [Ljava/lang/String;
5993 + invoke-virtual/range {v16 .. v16}, Ljava/lang/Integer;->toString()Ljava/lang/String;
5995 + move-result-object v7
5997 + aput-object v7, v5, v6
5999 + invoke-virtual {v2, v3, v4, v5}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
6001 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAllowedContacts()[I
6003 + move-result-object v10
6005 + if-eqz v10, :cond_3f2
6007 + new-instance v12, Landroid/content/ContentValues;
6009 + invoke-direct {v12}, Landroid/content/ContentValues;-><init>()V
6014 + array-length v3, v10
6016 + if-ge v14, v3, :cond_3f2
6018 + const-string/jumbo v3, "settings_id"
6020 + move-object/from16 v0, v16
6022 + invoke-virtual {v12, v3, v0}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
6024 + const-string v3, "contact_id"
6028 + invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
6030 + move-result-object v4
6032 + invoke-virtual {v12, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
6034 + const-string v3, "allowed_contacts"
6038 + invoke-virtual {v2, v3, v4, v12}, Landroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
6040 + move-result-wide v3
6042 + const-wide/16 v5, -0x1
6044 + cmp-long v3, v3, v5
6046 + if-nez v3, :cond_36b
6048 + new-instance v3, Ljava/lang/Exception;
6050 + const-string/jumbo v4, "saveSettings - failed to update database entry (contacts)"
6052 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
6057 + add-int/lit8 v14, v14, 0x1
6062 + invoke-interface {v11}, Landroid/database/Cursor;->getCount()I
6066 + if-nez v3, :cond_3dc
6068 + const-string/jumbo v3, "settings"
6072 + move-object/from16 v0, v23
6074 + invoke-virtual {v2, v3, v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
6076 + move-result-wide v19
6078 + const-wide/16 v3, -0x1
6080 + cmp-long v3, v19, v3
6082 + if-nez v3, :cond_38d
6084 + new-instance v3, Ljava/lang/Exception;
6086 + const-string/jumbo v4, "saveSettings - failed to insert new record into DB"
6088 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
6093 + const-string v3, "allowed_contacts"
6095 + const-string/jumbo v4, "settings_id=?"
6099 + new-array v5, v5, [Ljava/lang/String;
6103 + invoke-static/range {v19 .. v20}, Ljava/lang/Long;->toString(J)Ljava/lang/String;
6105 + move-result-object v7
6107 + aput-object v7, v5, v6
6109 + invoke-virtual {v2, v3, v4, v5}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
6111 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAllowedContacts()[I
6113 + move-result-object v10
6115 + if-eqz v10, :cond_3f2
6117 + new-instance v12, Landroid/content/ContentValues;
6119 + invoke-direct {v12}, Landroid/content/ContentValues;-><init>()V
6124 + array-length v3, v10
6126 + if-ge v14, v3, :cond_3f2
6128 + const-string/jumbo v3, "settings_id"
6130 + invoke-static/range {v19 .. v20}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
6132 + move-result-object v4
6134 + invoke-virtual {v12, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Long;)V
6136 + const-string v3, "contact_id"
6140 + invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
6142 + move-result-object v4
6144 + invoke-virtual {v12, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
6146 + const-string v3, "allowed_contacts"
6150 + invoke-virtual {v2, v3, v4, v12}, Landroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
6152 + move-result-wide v3
6154 + const-wide/16 v5, -0x1
6156 + cmp-long v3, v3, v5
6158 + if-nez v3, :cond_3d9
6160 + new-instance v3, Ljava/lang/Exception;
6162 + const-string/jumbo v4, "saveSettings - failed to update database entry (contacts)"
6164 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
6169 + add-int/lit8 v14, v14, 0x1
6176 + new-instance v3, Ljava/lang/Exception;
6178 + const-string/jumbo v4, "saveSettings - duplicate entries in the privacy.db"
6180 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
6187 + new-instance v3, Ljava/lang/Exception;
6189 + const-string/jumbo v4, "saveSettings - cursor is null, database access failed"
6191 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
6196 + new-instance v21, Ljava/io/File;
6198 + new-instance v3, Ljava/lang/StringBuilder;
6200 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
6202 + const-string v4, "/data/system/privacy/"
6204 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6206 + move-result-object v3
6208 + move-object/from16 v0, v17
6210 + invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6212 + move-result-object v3
6214 + const-string v4, "/"
6216 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6218 + move-result-object v3
6220 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6222 + move-result-object v3
6224 + move-object/from16 v0, v21
6226 + invoke-direct {v0, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
6228 + new-instance v22, Ljava/io/File;
6230 + new-instance v3, Ljava/lang/StringBuilder;
6232 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
6234 + const-string v4, "/data/system/privacy/"
6236 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6238 + move-result-object v3
6240 + move-object/from16 v0, v17
6242 + invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6244 + move-result-object v3
6246 + const-string v4, "/"
6248 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6250 + move-result-object v3
6252 + const-string v4, "/systemLogsSetting"
6254 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6256 + move-result-object v3
6258 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6260 + move-result-object v3
6262 + move-object/from16 v0, v22
6264 + invoke-direct {v0, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
6266 + .catchall {:try_start_2c8 .. :try_end_43c} :catchall_291
6267 + .catch Ljava/lang/Exception; {:try_start_2c8 .. :try_end_43c} :catch_213
6270 + invoke-virtual/range {v21 .. v21}, Ljava/io/File;->mkdirs()Z
6276 + move-object/from16 v0, v21
6278 + invoke-virtual {v0, v3, v4}, Ljava/io/File;->setReadable(ZZ)Z
6284 + move-object/from16 v0, v21
6286 + invoke-virtual {v0, v3, v4}, Ljava/io/File;->setExecutable(ZZ)Z
6288 + invoke-virtual/range {v22 .. v22}, Ljava/io/File;->createNewFile()Z
6294 + move-object/from16 v0, v22
6296 + invoke-virtual {v0, v3, v4}, Ljava/io/File;->setReadable(ZZ)Z
6298 + new-instance v24, Ljava/io/OutputStreamWriter;
6300 + new-instance v3, Ljava/io/FileOutputStream;
6302 + move-object/from16 v0, v22
6304 + invoke-direct {v3, v0}, Ljava/io/FileOutputStream;-><init>(Ljava/io/File;)V
6306 + move-object/from16 v0, v24
6308 + invoke-direct {v0, v3}, Ljava/io/OutputStreamWriter;-><init>(Ljava/io/OutputStream;)V
6310 + new-instance v3, Ljava/lang/StringBuilder;
6312 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
6314 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSystemLogsSetting()B
6318 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
6320 + move-result-object v3
6322 + const-string v4, ""
6324 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6326 + move-result-object v3
6328 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6330 + move-result-object v3
6332 + move-object/from16 v0, v24
6334 + invoke-virtual {v0, v3}, Ljava/io/OutputStreamWriter;->append(Ljava/lang/CharSequence;)Ljava/io/Writer;
6336 + invoke-virtual/range {v24 .. v24}, Ljava/io/OutputStreamWriter;->flush()V
6338 + invoke-virtual/range {v24 .. v24}, Ljava/io/OutputStreamWriter;->close()V
6340 + .catchall {:try_start_43c .. :try_end_487} :catchall_291
6341 + .catch Ljava/io/IOException; {:try_start_43c .. :try_end_487} :catch_4be
6342 + .catch Ljava/lang/Exception; {:try_start_43c .. :try_end_487} :catch_213
6345 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->setTransactionSuccessful()V
6347 + .catchall {:try_start_487 .. :try_end_48a} :catchall_291
6348 + .catch Ljava/lang/Exception; {:try_start_487 .. :try_end_48a} :catch_213
6351 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
6353 + if-eqz v11, :cond_492
6355 + invoke-interface {v11}, Landroid/database/Cursor;->close()V
6358 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6362 + .catchall {:try_start_48a .. :try_end_495} :catchall_2c2
6365 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6367 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6369 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
6373 + add-int/lit8 v3, v3, -0x1
6375 + invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
6377 + move-result-object v3
6379 + sput-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6381 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6383 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
6387 + if-nez v3, :cond_4b8
6389 + if-eqz v2, :cond_4b8
6391 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
6395 + if-eqz v3, :cond_4b8
6397 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
6409 + .catchall {:try_start_495 .. :try_end_4bd} :catchall_4bb
6414 + .catchall {:try_start_4bd .. :try_end_4be} :catchall_2c2
6417 + move-exception v13
6422 + new-instance v3, Ljava/lang/Exception;
6424 + const-string/jumbo v4, "saveSettings - could not write settings to file"
6426 + invoke-direct {v3, v4, v13}, Ljava/lang/Exception;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
6430 + .catchall {:try_start_4c1 .. :try_end_4ca} :catchall_291
6431 + .catch Ljava/lang/Exception; {:try_start_4c1 .. :try_end_4ca} :catch_213
6439 + .catchall {:try_start_4cb .. :try_end_4cc} :catchall_4ca
6444 + .catchall {:try_start_4cc .. :try_end_4cd} :catchall_2c2
6452 + .catchall {:try_start_4ce .. :try_end_4cf} :catchall_4cd
6457 + .catchall {:try_start_4cf .. :try_end_4d0} :catchall_2c2
6460 +.method public declared-synchronized setValue(Ljava/lang/String;Ljava/lang/String;)Z
6466 + const-string v3, "PrivacyPersistenceAdapter"
6468 + new-instance v4, Ljava/lang/StringBuilder;
6470 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
6472 + const-string/jumbo v5, "setValue - name "
6474 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6476 + move-result-object v4
6478 + invoke-virtual {v4, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6480 + move-result-object v4
6482 + const-string v5, " value "
6484 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6486 + move-result-object v4
6488 + invoke-virtual {v4, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6490 + move-result-object v4
6492 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6494 + move-result-object v4
6496 + invoke-static {v3, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
6498 + new-instance v2, Landroid/content/ContentValues;
6500 + invoke-direct {v2}, Landroid/content/ContentValues;-><init>()V
6502 + const-string/jumbo v3, "name"
6504 + invoke-virtual {v2, v3, p1}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
6506 + const-string/jumbo v3, "value"
6508 + invoke-virtual {v2, v3, p2}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
6510 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
6512 + move-result-object v0
6514 + const-string/jumbo v3, "map"
6518 + invoke-virtual {v0, v3, v4, v2}, Landroid/database/sqlite/SQLiteDatabase;->replace(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
6520 + move-result-wide v3
6522 + const-wide/16 v5, -0x1
6524 + cmp-long v3, v3, v5
6526 + if-eqz v3, :cond_5d
6531 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6533 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
6537 + if-nez v3, :cond_5b
6539 + if-eqz v0, :cond_5b
6541 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
6545 + if-eqz v3, :cond_5b
6547 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
6549 + .catchall {:try_start_1 .. :try_end_5b} :catchall_5f
6568 diff -Npru stock-framework/smali/android/privacy/PrivacySettings$1.smali pdroid-framework/smali/android/privacy/PrivacySettings$1.smali
6569 --- stock-framework/smali/android/privacy/PrivacySettings$1.smali 1969-12-31 18:00:00.000000000 -0600
6570 +++ pdroid-framework/smali/android/privacy/PrivacySettings$1.smali 2012-10-05 10:15:48.433126881 -0500
6572 +.class final Landroid/privacy/PrivacySettings$1;
6573 +.super Ljava/lang/Object;
6574 +.source "PrivacySettings.java"
6577 +.implements Landroid/os/Parcelable$Creator;
6581 +.annotation system Ldalvik/annotation/EnclosingClass;
6582 + value = Landroid/privacy/PrivacySettings;
6585 +.annotation system Ldalvik/annotation/InnerClass;
6590 +.annotation system Ldalvik/annotation/Signature;
6592 + "Ljava/lang/Object;",
6593 + "Landroid/os/Parcelable$Creator",
6595 + "Landroid/privacy/PrivacySettings;",
6602 +.method constructor <init>()V
6605 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
6612 +.method public createFromParcel(Landroid/os/Parcel;)Landroid/privacy/PrivacySettings;
6615 + new-instance v0, Landroid/privacy/PrivacySettings;
6617 + invoke-direct {v0, p1}, Landroid/privacy/PrivacySettings;-><init>(Landroid/os/Parcel;)V
6622 +.method public bridge synthetic createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
6625 + invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettings$1;->createFromParcel(Landroid/os/Parcel;)Landroid/privacy/PrivacySettings;
6627 + move-result-object v0
6632 +.method public newArray(I)[Landroid/privacy/PrivacySettings;
6635 + new-array v0, p1, [Landroid/privacy/PrivacySettings;
6640 +.method public bridge synthetic newArray(I)[Ljava/lang/Object;
6643 + invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettings$1;->newArray(I)[Landroid/privacy/PrivacySettings;
6645 + move-result-object v0
6649 diff -Npru stock-framework/smali/android/privacy/PrivacySettingsManagerService.smali pdroid-framework/smali/android/privacy/PrivacySettingsManagerService.smali
6650 --- stock-framework/smali/android/privacy/PrivacySettingsManagerService.smali 1969-12-31 18:00:00.000000000 -0600
6651 +++ pdroid-framework/smali/android/privacy/PrivacySettingsManagerService.smali 2012-10-05 10:15:48.437126896 -0500
6653 +.class public final Landroid/privacy/PrivacySettingsManagerService;
6654 +.super Landroid/privacy/IPrivacySettingsManager$Stub;
6655 +.source "PrivacySettingsManagerService.java"
6659 +.field private static final TAG:Ljava/lang/String; = "PrivacySettingsManagerService"
6661 +.field private static final VERSION:D = 1.32
6663 +.field private static final WRITE_PRIVACY_SETTINGS:Ljava/lang/String; = "android.privacy.WRITE_PRIVACY_SETTINGS"
6665 +.field public static obs:Landroid/privacy/PrivacyFileObserver;
6669 +.field private bootCompleted:Z
6671 +.field private context:Landroid/content/Context;
6673 +.field private enabled:Z
6675 +.field private notificationsEnabled:Z
6677 +.field private persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
6681 +.method public constructor <init>(Landroid/content/Context;)V
6684 + invoke-direct {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;-><init>()V
6686 + const-string v0, "PrivacySettingsManagerService"
6688 + new-instance v1, Ljava/lang/StringBuilder;
6690 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
6692 + const-string v2, "PrivacySettingsManagerService - initializing for package: "
6694 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6696 + move-result-object v1
6698 + invoke-virtual {p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
6700 + move-result-object v2
6702 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6704 + move-result-object v1
6706 + const-string v2, " UID: "
6708 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6710 + move-result-object v1
6712 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
6716 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
6718 + move-result-object v1
6720 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6722 + move-result-object v1
6724 + invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
6726 + iput-object p1, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
6728 + new-instance v0, Landroid/privacy/PrivacyPersistenceAdapter;
6730 + invoke-direct {v0, p1}, Landroid/privacy/PrivacyPersistenceAdapter;-><init>(Landroid/content/Context;)V
6732 + iput-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
6734 + new-instance v0, Landroid/privacy/PrivacyFileObserver;
6736 + const-string v1, "/data/system/privacy"
6738 + invoke-direct {v0, v1, p0}, Landroid/privacy/PrivacyFileObserver;-><init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
6740 + sput-object v0, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
6742 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
6744 + const-string v1, "enabled"
6746 + invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->getValue(Ljava/lang/String;)Ljava/lang/String;
6748 + move-result-object v0
6750 + const-string v1, "1"
6752 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
6756 + iput-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->enabled:Z
6758 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
6760 + const-string/jumbo v1, "notifications_enabled"
6762 + invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->getValue(Ljava/lang/String;)Ljava/lang/String;
6764 + move-result-object v0
6766 + const-string v1, "1"
6768 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
6772 + iput-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->notificationsEnabled:Z
6776 + iput-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->bootCompleted:Z
6783 +.method public addObserver(Ljava/lang/String;)V
6786 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
6788 + const-string v1, "android.privacy.WRITE_PRIVACY_SETTINGS"
6790 + const-string v2, "Requires WRITE_PRIVACY_SETTINGS"
6792 + invoke-virtual {v0, v1, v2}, Landroid/content/Context;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
6794 + sget-object v0, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
6796 + invoke-virtual {v0, p1}, Landroid/privacy/PrivacyFileObserver;->addObserver(Ljava/lang/String;)V
6801 +.method public deleteSettings(Ljava/lang/String;)Z
6806 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
6810 + const/16 v3, 0x3e8
6812 + if-eq v2, v3, :cond_12
6814 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
6816 + const-string v3, "android.privacy.WRITE_PRIVACY_SETTINGS"
6818 + const-string v4, "Requires WRITE_PRIVACY_SETTINGS"
6820 + invoke-virtual {v2, v3, v4}, Landroid/content/Context;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
6823 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
6825 + invoke-virtual {v2, p1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteSettings(Ljava/lang/String;)Z
6829 + new-instance v2, Ljava/lang/StringBuilder;
6831 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
6833 + const-string v3, "/data/system/privacy/"
6835 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6837 + move-result-object v2
6839 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6841 + move-result-object v2
6843 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6845 + move-result-object v0
6847 + new-instance v2, Ljava/io/File;
6849 + invoke-direct {v2, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
6851 + invoke-virtual {v2}, Ljava/io/File;->exists()Z
6855 + if-eqz v2, :cond_3e
6857 + if-ne v1, v5, :cond_3e
6859 + sget-object v2, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
6861 + invoke-virtual {v2, v0}, Landroid/privacy/PrivacyFileObserver;->addObserver(Ljava/lang/String;)V
6868 + if-ne v1, v5, :cond_3d
6870 + sget-object v2, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
6872 + iget-object v2, v2, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap;
6874 + invoke-virtual {v2, v0}, Ljava/util/HashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
6879 +.method public getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
6882 + iget-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->enabled:Z
6884 + if-nez v0, :cond_12
6886 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
6888 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
6890 + move-result-object v0
6892 + const-string v1, "com.privacy.pdroid"
6894 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
6898 + if-eqz v0, :cond_1a
6901 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
6905 + invoke-virtual {v0, p1, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->getSettings(Ljava/lang/String;Z)Landroid/privacy/PrivacySettings;
6907 + move-result-object v0
6918 +.method public getVersion()D
6921 + const-wide v0, 0x3ff51eb851eb851fL
6926 +.method public notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
6929 + iget-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->bootCompleted:Z
6931 + if-eqz v1, :cond_34
6933 + iget-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->notificationsEnabled:Z
6935 + if-eqz v1, :cond_34
6937 + new-instance v0, Landroid/content/Intent;
6939 + invoke-direct {v0}, Landroid/content/Intent;-><init>()V
6941 + const-string v1, "com.privacy.pdroid.PRIVACY_NOTIFICATION"
6943 + invoke-virtual {v0, v1}, Landroid/content/Intent;->setAction(Ljava/lang/String;)Landroid/content/Intent;
6945 + const-string/jumbo v1, "packageName"
6947 + invoke-virtual {v0, v1, p1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
6949 + const-string/jumbo v1, "uid"
6953 + invoke-virtual {v0, v1, v2}, Landroid/content/Intent;->putExtra(Ljava/lang/String;I)Landroid/content/Intent;
6955 + const-string v1, "accessMode"
6957 + invoke-virtual {v0, v1, p2}, Landroid/content/Intent;->putExtra(Ljava/lang/String;B)Landroid/content/Intent;
6959 + const-string v1, "dataType"
6961 + invoke-virtual {v0, v1, p3}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
6963 + const-string/jumbo v1, "output"
6965 + invoke-virtual {v0, v1, p4}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
6967 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
6969 + invoke-virtual {v1, v0}, Landroid/content/Context;->sendBroadcast(Landroid/content/Intent;)V
6975 +.method public purgeSettings()Z
6978 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
6980 + invoke-virtual {v0}, Landroid/privacy/PrivacyPersistenceAdapter;->purgeSettings()Z
6987 +.method public registerObservers()V
6990 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
6992 + const-string v1, "android.privacy.WRITE_PRIVACY_SETTINGS"
6994 + const-string v2, "Requires WRITE_PRIVACY_SETTINGS"
6996 + invoke-virtual {v0, v1, v2}, Landroid/content/Context;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
6998 + new-instance v0, Landroid/privacy/PrivacyFileObserver;
7000 + const-string v1, "/data/system/privacy"
7002 + invoke-direct {v0, v1, p0}, Landroid/privacy/PrivacyFileObserver;-><init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
7004 + sput-object v0, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
7009 +.method public saveSettings(Landroid/privacy/PrivacySettings;)Z
7012 + const-string v1, "PrivacySettingsManagerService"
7014 + new-instance v2, Ljava/lang/StringBuilder;
7016 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
7018 + const-string/jumbo v3, "saveSettings - checking if caller (UID: "
7020 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7022 + move-result-object v2
7024 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
7028 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
7030 + move-result-object v2
7032 + const-string v3, ") has sufficient permissions"
7034 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7036 + move-result-object v2
7038 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
7040 + move-result-object v2
7042 + invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
7044 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
7048 + const/16 v2, 0x3e8
7050 + if-eq v1, v2, :cond_34
7052 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
7054 + const-string v2, "android.privacy.WRITE_PRIVACY_SETTINGS"
7056 + const-string v3, "Requires WRITE_PRIVACY_SETTINGS"
7058 + invoke-virtual {v1, v2, v3}, Landroid/content/Context;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
7061 + const-string v1, "PrivacySettingsManagerService"
7063 + new-instance v2, Ljava/lang/StringBuilder;
7065 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
7067 + const-string/jumbo v3, "saveSettings - "
7069 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7071 + move-result-object v2
7073 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
7075 + move-result-object v2
7077 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
7079 + move-result-object v2
7081 + invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
7083 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
7085 + invoke-virtual {v1, p1}, Landroid/privacy/PrivacyPersistenceAdapter;->saveSettings(Landroid/privacy/PrivacySettings;)Z
7091 + if-ne v0, v1, :cond_5f
7093 + sget-object v1, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
7095 + invoke-virtual {p1}, Landroid/privacy/PrivacySettings;->getPackageName()Ljava/lang/String;
7097 + move-result-object v2
7099 + invoke-virtual {v1, v2}, Landroid/privacy/PrivacyFileObserver;->addObserver(Ljava/lang/String;)V
7105 +.method public setBootCompleted()V
7110 + iput-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->bootCompleted:Z
7115 +.method public setEnabled(Z)Z
7120 + if-eqz p1, :cond_12
7122 + const-string v0, "1"
7125 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
7127 + const-string v3, "enabled"
7129 + invoke-virtual {v2, v3, v0}, Landroid/privacy/PrivacyPersistenceAdapter;->setValue(Ljava/lang/String;Ljava/lang/String;)Z
7133 + if-eqz v2, :cond_15
7135 + iput-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->enabled:Z
7142 + const-string v0, "0"
7152 +.method public setNotificationsEnabled(Z)Z
7157 + if-eqz p1, :cond_15
7159 + const-string v0, "1"
7162 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
7164 + const-string/jumbo v3, "notifications_enabled"
7166 + invoke-virtual {v2, v3, v0}, Landroid/privacy/PrivacyPersistenceAdapter;->setValue(Ljava/lang/String;Ljava/lang/String;)Z
7170 + if-eqz v2, :cond_18
7172 + iput-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->notificationsEnabled:Z
7174 + iput-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->bootCompleted:Z
7180 + const-string v0, "0"
7189 diff -Npru stock-framework/smali/android/privacy/PrivacySettingsManager.smali pdroid-framework/smali/android/privacy/PrivacySettingsManager.smali
7190 --- stock-framework/smali/android/privacy/PrivacySettingsManager.smali 1969-12-31 18:00:00.000000000 -0600
7191 +++ pdroid-framework/smali/android/privacy/PrivacySettingsManager.smali 2012-10-05 10:15:48.437126896 -0500
7193 +.class public final Landroid/privacy/PrivacySettingsManager;
7194 +.super Ljava/lang/Object;
7195 +.source "PrivacySettingsManager.java"
7199 +.field public static final ACTION_PRIVACY_NOTIFICATION:Ljava/lang/String; = "com.privacy.pdroid.PRIVACY_NOTIFICATION"
7201 +.field private static final TAG:Ljava/lang/String; = "PrivacySettingsManager"
7205 +.field private service:Landroid/privacy/IPrivacySettingsManager;
7209 +.method public constructor <init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
7212 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
7214 + iput-object p2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7221 +.method public addObserver(Ljava/lang/String;)V
7225 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7227 + if-eqz v1, :cond_a
7229 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7231 + invoke-interface {v1, p1}, Landroid/privacy/IPrivacySettingsManager;->addObserver(Ljava/lang/String;)V
7237 + const-string v1, "PrivacySettingsManager"
7239 + const-string v2, "deleteSettings - PrivacySettingsManagerService is null"
7241 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7243 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_11} :catch_12
7250 + const-string v1, "PrivacySettingsManager"
7252 + const-string v2, "RemoteException in addObserver: "
7254 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7259 +.method public deleteSettings(Ljava/lang/String;)Z
7262 + invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettingsManager;->deleteSettings(Ljava/lang/String;)Z
7269 +.method public deleteSettings(Ljava/lang/String;I)Z
7275 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7277 + if-eqz v2, :cond_c
7279 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7281 + invoke-interface {v2, p1}, Landroid/privacy/IPrivacySettingsManager;->deleteSettings(Ljava/lang/String;)Z
7289 + const-string v2, "PrivacySettingsManager"
7291 + const-string v3, "deleteSettings - PrivacySettingsManagerService is null"
7293 + invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7295 + .catch Landroid/os/RemoteException; {:try_start_1 .. :try_end_13} :catch_14
7302 + const-string v2, "PrivacySettingsManager"
7304 + const-string v3, "RemoteException in deleteSettings: "
7306 + invoke-static {v2, v3, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7311 +.method public getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
7317 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7319 + if-eqz v2, :cond_c
7321 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7323 + invoke-interface {v2, p1}, Landroid/privacy/IPrivacySettingsManager;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
7325 + move-result-object v1
7331 + const-string v2, "PrivacySettingsManager"
7333 + const-string v3, "getSettings - PrivacySettingsManagerService is null"
7335 + invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7337 + .catch Landroid/os/RemoteException; {:try_start_1 .. :try_end_13} :catch_14
7344 + invoke-virtual {v0}, Landroid/os/RemoteException;->printStackTrace()V
7349 +.method public getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
7352 + invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
7354 + move-result-object v0
7359 +.method public getVersion()D
7363 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7365 + if-eqz v1, :cond_b
7367 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7369 + invoke-interface {v1}, Landroid/privacy/IPrivacySettingsManager;->getVersion()D
7371 + move-result-wide v1
7377 + const-string v1, "PrivacySettingsManager"
7379 + const-string v2, "getVersion - PrivacySettingsManagerService is null"
7381 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7383 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_12} :catch_15
7386 + const-wide/16 v1, 0x0
7393 + const-string v1, "PrivacySettingsManager"
7395 + const-string v2, "RemoteException in getVersion: "
7397 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7402 +.method public isServiceAvailable()Z
7405 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7407 + if-eqz v0, :cond_6
7420 +.method public notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
7424 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7426 + if-eqz v1, :cond_a
7428 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7430 + invoke-interface {v1, p1, p2, p3, p4}, Landroid/privacy/IPrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
7436 + const-string v1, "PrivacySettingsManager"
7438 + const-string v2, "deleteSettings - PrivacySettingsManagerService is null"
7440 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7442 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_11} :catch_12
7449 + const-string v1, "PrivacySettingsManager"
7451 + const-string v2, "RemoteException in notification: "
7453 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7458 +.method public notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
7461 + move-object v0, p0
7463 + move-object v1, p1
7467 + move-object v3, p4
7469 + move-object v4, p5
7471 + move-object v5, p6
7473 + invoke-virtual/range {v0 .. v5}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
7478 +.method public purgeSettings()Z
7482 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7484 + if-eqz v1, :cond_b
7486 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7488 + invoke-interface {v1}, Landroid/privacy/IPrivacySettingsManager;->purgeSettings()Z
7496 + const-string v1, "PrivacySettingsManager"
7498 + const-string v2, "deleteSettings - PrivacySettingsManagerService is null"
7500 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7502 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_12} :catch_14
7512 + const-string v1, "PrivacySettingsManager"
7514 + const-string v2, "RemoteException in purgeSettings: "
7516 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7521 +.method public registerObservers()V
7525 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7527 + if-eqz v1, :cond_a
7529 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7531 + invoke-interface {v1}, Landroid/privacy/IPrivacySettingsManager;->registerObservers()V
7537 + const-string v1, "PrivacySettingsManager"
7539 + const-string v2, "deleteSettings - PrivacySettingsManagerService is null"
7541 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7543 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_11} :catch_12
7550 + const-string v1, "PrivacySettingsManager"
7552 + const-string v2, "RemoteException in registerObservers: "
7554 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7559 +.method public saveSettings(Landroid/privacy/PrivacySettings;)Z
7565 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7567 + if-eqz v2, :cond_c
7569 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7571 + invoke-interface {v2, p1}, Landroid/privacy/IPrivacySettingsManager;->saveSettings(Landroid/privacy/PrivacySettings;)Z
7579 + const-string v2, "PrivacySettingsManager"
7581 + const-string/jumbo v3, "saveSettings - PrivacySettingsManagerService is null"
7583 + invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7585 + .catch Landroid/os/RemoteException; {:try_start_1 .. :try_end_14} :catch_15
7592 + const-string v2, "PrivacySettingsManager"
7594 + const-string v3, "RemoteException in saveSettings: "
7596 + invoke-static {v2, v3, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7601 +.method public setBootCompleted()V
7605 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7607 + if-eqz v1, :cond_a
7609 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7611 + invoke-interface {v1}, Landroid/privacy/IPrivacySettingsManager;->setBootCompleted()V
7617 + const-string v1, "PrivacySettingsManager"
7619 + const-string/jumbo v2, "setBootCompleted - PrivacySettingsManagerService is null"
7621 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7623 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_12} :catch_13
7630 + const-string v1, "PrivacySettingsManager"
7632 + const-string v2, "RemoteException in setBootCompleted: "
7634 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7639 +.method public setEnabled(Z)Z
7643 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7645 + if-eqz v1, :cond_b
7647 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7649 + invoke-interface {v1, p1}, Landroid/privacy/IPrivacySettingsManager;->setEnabled(Z)Z
7657 + const-string v1, "PrivacySettingsManager"
7659 + const-string/jumbo v2, "setEnabled - PrivacySettingsManagerService is null"
7661 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7663 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_13} :catch_15
7673 + const-string v1, "PrivacySettingsManager"
7675 + const-string v2, "RemoteException in setEnabled: "
7677 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7682 +.method public setNotificationsEnabled(Z)Z
7686 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7688 + if-eqz v1, :cond_b
7690 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7692 + invoke-interface {v1, p1}, Landroid/privacy/IPrivacySettingsManager;->setNotificationsEnabled(Z)Z
7700 + const-string v1, "PrivacySettingsManager"
7702 + const-string/jumbo v2, "setNotificationsEnabled - PrivacySettingsManagerService is null"
7704 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7706 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_13} :catch_15
7716 + const-string v1, "PrivacySettingsManager"
7718 + const-string v2, "RemoteException in setNotificationsEnabled: "
7720 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7724 diff -Npru stock-framework/smali/android/privacy/PrivacySettings.smali pdroid-framework/smali/android/privacy/PrivacySettings.smali
7725 --- stock-framework/smali/android/privacy/PrivacySettings.smali 1969-12-31 18:00:00.000000000 -0600
7726 +++ pdroid-framework/smali/android/privacy/PrivacySettings.smali 2012-10-05 10:15:48.433126881 -0500
7728 +.class public final Landroid/privacy/PrivacySettings;
7729 +.super Ljava/lang/Object;
7730 +.source "PrivacySettings.java"
7733 +.implements Landroid/os/Parcelable;
7737 +.field public static final CREATOR:Landroid/os/Parcelable$Creator; = null
7738 + .annotation system Ldalvik/annotation/Signature;
7740 + "Landroid/os/Parcelable$Creator",
7742 + "Landroid/privacy/PrivacySettings;",
7748 +.field public static final CUSTOM:B = 0x2t
7750 +.field public static final DATA_ACCOUNTS_LIST:Ljava/lang/String; = "accountsList"
7752 +.field public static final DATA_AUTH_TOKENS:Ljava/lang/String; = "authTokens"
7754 +.field public static final DATA_BOOKMARKS:Ljava/lang/String; = "bookmarks"
7756 +.field public static final DATA_CALENDAR:Ljava/lang/String; = "calendar"
7758 +.field public static final DATA_CALL_LOG:Ljava/lang/String; = "callLog"
7760 +.field public static final DATA_CONTACTS:Ljava/lang/String; = "contacts"
7762 +.field public static final DATA_DEVICE_ID:Ljava/lang/String; = "deviceID"
7764 +.field public static final DATA_INCOMING_CALL:Ljava/lang/String; = "incomingCall"
7766 +.field public static final DATA_INTENT_BOOT_COMPLETED:Ljava/lang/String; = "intentBootCompleted"
7768 +.field public static final DATA_LINE_1_NUMBER:Ljava/lang/String; = "line1Number"
7770 +.field public static final DATA_LOCATION_GPS:Ljava/lang/String; = "locationGPS"
7772 +.field public static final DATA_LOCATION_NETWORK:Ljava/lang/String; = "locationNetwork"
7774 +.field public static final DATA_MMS:Ljava/lang/String; = "mms"
7776 +.field public static final DATA_MMS_SMS:Ljava/lang/String; = "mmsSms"
7778 +.field public static final DATA_NETWORK_INFO_CURRENT:Ljava/lang/String; = "networkInfoCurrent"
7780 +.field public static final DATA_NETWORK_INFO_SIM:Ljava/lang/String; = "networkInfoSIM"
7782 +.field public static final DATA_OUTGOING_CALL:Ljava/lang/String; = "outgoingCall"
7784 +.field public static final DATA_SIM_SERIAL:Ljava/lang/String; = "simSerial"
7786 +.field public static final DATA_SMS:Ljava/lang/String; = "sms"
7788 +.field public static final DATA_SUBSCRIBER_ID:Ljava/lang/String; = "subscriberID"
7790 +.field public static final DATA_SYSTEM_LOGS:Ljava/lang/String; = "systemLogs"
7792 +.field public static final EMPTY:B = 0x1t
7794 +.field public static final RANDOM:B = 0x3t
7796 +.field public static final REAL:B = 0x0t
7798 +.field public static final SETTING_NOTIFY_OFF:B = 0x0t
7800 +.field public static final SETTING_NOTIFY_ON:B = 0x1t
7804 +.field private final _id:Ljava/lang/Integer;
7806 +.field private accountsAuthTokensSetting:B
7808 +.field private accountsSetting:B
7810 +.field private allowedContacts:[I
7812 +.field private bookmarksSetting:B
7814 +.field private calendarSetting:B
7816 +.field private callLogSetting:B
7818 +.field private contactsSetting:B
7820 +.field private deviceId:Ljava/lang/String;
7822 +.field private deviceIdSetting:B
7824 +.field private incomingCallsSetting:B
7826 +.field private intentBootCompletedSetting:B
7828 +.field private line1Number:Ljava/lang/String;
7830 +.field private line1NumberSetting:B
7832 +.field private locationGpsLat:Ljava/lang/String;
7834 +.field private locationGpsLon:Ljava/lang/String;
7836 +.field private locationGpsSetting:B
7838 +.field private locationNetworkLat:Ljava/lang/String;
7840 +.field private locationNetworkLon:Ljava/lang/String;
7842 +.field private locationNetworkSetting:B
7844 +.field private mmsSetting:B
7846 +.field private networkInfoSetting:B
7848 +.field private notificationSetting:B
7850 +.field private outgoingCallsSetting:B
7852 +.field private packageName:Ljava/lang/String;
7854 +.field private simInfoSetting:B
7856 +.field private simSerialNumber:Ljava/lang/String;
7858 +.field private simSerialNumberSetting:B
7860 +.field private smsSetting:B
7862 +.field private subscriberId:Ljava/lang/String;
7864 +.field private subscriberIdSetting:B
7866 +.field private systemLogsSetting:B
7868 +.field private uid:I
7872 +.method static constructor <clinit>()V
7875 + new-instance v0, Landroid/privacy/PrivacySettings$1;
7877 + invoke-direct {v0}, Landroid/privacy/PrivacySettings$1;-><init>()V
7879 + sput-object v0, Landroid/privacy/PrivacySettings;->CREATOR:Landroid/os/Parcelable$Creator;
7884 +.method public constructor <init>(Landroid/os/Parcel;)V
7887 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
7889 + invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I
7895 + if-ne v0, v1, :cond_ce
7900 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
7902 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
7904 + move-result-object v1
7906 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
7908 + invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I
7912 + iput v1, p0, Landroid/privacy/PrivacySettings;->uid:I
7914 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
7918 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
7920 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
7922 + move-result-object v1
7924 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
7926 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
7930 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
7932 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
7934 + move-result-object v1
7936 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
7938 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
7942 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
7944 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
7946 + move-result-object v1
7948 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
7950 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
7952 + move-result-object v1
7954 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
7956 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
7960 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
7962 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
7964 + move-result-object v1
7966 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
7968 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
7970 + move-result-object v1
7972 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
7974 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
7978 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
7980 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
7984 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
7986 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
7990 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
7992 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
7994 + move-result-object v1
7996 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
7998 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8002 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
8004 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
8006 + move-result-object v1
8008 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
8010 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8014 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
8016 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8020 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
8022 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8026 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
8028 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8032 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
8034 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8038 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
8040 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8044 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
8046 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8050 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
8052 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8056 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
8058 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8062 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
8064 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8068 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
8070 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8074 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
8076 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8080 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
8082 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8086 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
8088 + invoke-virtual {p1}, Landroid/os/Parcel;->createIntArray()[I
8090 + move-result-object v1
8092 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
8097 + invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
8099 + move-result-object v1
8104 +.method public constructor <init>(Ljava/lang/Integer;Ljava/lang/String;I)V
8111 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
8113 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
8115 + iput-object p2, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
8117 + iput p3, p0, Landroid/privacy/PrivacySettings;->uid:I
8119 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
8121 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
8123 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
8125 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
8127 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8129 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
8131 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
8133 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8135 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
8137 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
8139 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
8141 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
8143 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
8145 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
8147 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
8149 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
8151 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
8153 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
8155 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
8157 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
8159 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
8161 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
8163 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
8165 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
8167 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
8169 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
8171 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
8173 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
8175 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
8177 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
8182 +.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
8185 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
8187 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
8189 + iput-object p2, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
8191 + iput p3, p0, Landroid/privacy/PrivacySettings;->uid:I
8193 + iput-byte p4, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
8195 + iput-object p5, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
8197 + iput-byte p6, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
8199 + iput-object p7, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
8201 + iput-byte p8, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8203 + iput-object p9, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
8205 + iput-object p10, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
8207 + iput-byte p11, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8209 + iput-object p12, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
8211 + iput-object p13, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
8213 + iput-byte p14, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
8215 + move/from16 v0, p15
8217 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
8219 + move/from16 v0, p16
8221 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
8223 + move-object/from16 v0, p17
8225 + iput-object v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
8227 + move/from16 v0, p18
8229 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
8231 + move-object/from16 v0, p19
8233 + iput-object v0, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
8235 + move/from16 v0, p20
8237 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
8239 + move/from16 v0, p21
8241 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
8243 + move/from16 v0, p22
8245 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
8247 + move/from16 v0, p23
8249 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
8251 + move/from16 v0, p24
8253 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
8255 + move/from16 v0, p25
8257 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
8259 + move/from16 v0, p26
8261 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
8263 + move/from16 v0, p27
8265 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
8267 + move/from16 v0, p28
8269 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
8271 + move/from16 v0, p29
8273 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
8275 + move/from16 v0, p30
8277 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
8279 + move/from16 v0, p34
8281 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
8283 + move/from16 v0, p35
8285 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
8287 + move-object/from16 v0, p36
8289 + iput-object v0, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
8294 +.method private getRandomLat()Ljava/lang/String;
8297 + const-wide v7, 0x4056800000000000L
8299 + invoke-static {}, Ljava/lang/Math;->random()D
8301 + move-result-wide v3
8303 + const-wide v5, 0x4066800000000000L
8305 + mul-double v0, v3, v5
8307 + cmpl-double v3, v0, v7
8309 + if-lez v3, :cond_35
8311 + new-instance v2, Ljava/math/BigDecimal;
8313 + sub-double v3, v0, v7
8315 + invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;-><init>(D)V
8318 + new-instance v3, Ljava/lang/StringBuilder;
8320 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
8326 + invoke-virtual {v2, v4, v5}, Ljava/math/BigDecimal;->setScale(II)Ljava/math/BigDecimal;
8328 + move-result-object v4
8330 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
8332 + move-result-object v3
8334 + const-string v4, ""
8336 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8338 + move-result-object v3
8340 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8342 + move-result-object v3
8347 + new-instance v2, Ljava/math/BigDecimal;
8351 + invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;-><init>(D)V
8356 +.method private getRandomLon()Ljava/lang/String;
8359 + const-wide v7, 0x4066800000000000L
8361 + invoke-static {}, Ljava/lang/Math;->random()D
8363 + move-result-wide v3
8365 + const-wide v5, 0x4076800000000000L
8367 + mul-double v0, v3, v5
8369 + cmpl-double v3, v0, v7
8371 + if-lez v3, :cond_35
8373 + new-instance v2, Ljava/math/BigDecimal;
8375 + sub-double v3, v0, v7
8377 + invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;-><init>(D)V
8380 + new-instance v3, Ljava/lang/StringBuilder;
8382 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
8388 + invoke-virtual {v2, v4, v5}, Ljava/math/BigDecimal;->setScale(II)Ljava/math/BigDecimal;
8390 + move-result-object v4
8392 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
8394 + move-result-object v3
8396 + const-string v4, ""
8398 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8400 + move-result-object v3
8402 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8404 + move-result-object v3
8409 + new-instance v2, Ljava/math/BigDecimal;
8413 + invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;-><init>(D)V
8420 +.method public describeContents()I
8428 +.method public getAccountsAuthTokensSetting()B
8431 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
8436 +.method public getAccountsSetting()B
8439 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
8444 +.method public getAllowedContacts()[I
8447 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
8452 +.method public getBookmarksSetting()B
8455 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
8460 +.method public getCalendarSetting()B
8463 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
8468 +.method public getCallLogSetting()B
8471 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
8476 +.method public getContactsSetting()B
8479 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
8484 +.method public getDeviceId()Ljava/lang/String;
8487 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
8491 + if-ne v2, v3, :cond_8
8493 + const-string v2, ""
8499 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
8503 + if-ne v2, v3, :cond_35
8505 + new-instance v0, Ljava/util/Random;
8507 + invoke-direct {v0}, Ljava/util/Random;-><init>()V
8509 + new-instance v2, Ljava/lang/StringBuilder;
8511 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
8513 + invoke-virtual {v0}, Ljava/util/Random;->nextLong()J
8515 + move-result-wide v3
8517 + invoke-static {v3, v4}, Ljava/lang/Math;->abs(J)J
8519 + move-result-wide v3
8521 + invoke-virtual {v2, v3, v4}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
8523 + move-result-object v2
8525 + const-string v3, ""
8527 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8529 + move-result-object v2
8531 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8533 + move-result-object v1
8539 + invoke-virtual {v1, v2, v3}, Ljava/lang/String;->substring(II)Ljava/lang/String;
8541 + move-result-object v2
8546 + iget-object v2, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
8551 +.method public getDeviceIdSetting()B
8554 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
8559 +.method public getIncomingCallsSetting()B
8562 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
8567 +.method public getIntentBootCompletedSetting()B
8570 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
8575 +.method public getLine1Number()Ljava/lang/String;
8578 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
8582 + if-ne v2, v3, :cond_8
8584 + const-string v2, ""
8590 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
8594 + if-ne v2, v3, :cond_3b
8596 + new-instance v0, Ljava/util/Random;
8598 + invoke-direct {v0}, Ljava/util/Random;-><init>()V
8600 + new-instance v2, Ljava/lang/StringBuilder;
8602 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
8604 + const-string v3, "+"
8606 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8608 + move-result-object v2
8610 + invoke-virtual {v0}, Ljava/util/Random;->nextLong()J
8612 + move-result-wide v3
8614 + invoke-static {v3, v4}, Ljava/lang/Math;->abs(J)J
8616 + move-result-wide v3
8618 + invoke-virtual {v2, v3, v4}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
8620 + move-result-object v2
8622 + const-string v3, ""
8624 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8626 + move-result-object v2
8628 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8630 + move-result-object v1
8636 + invoke-virtual {v1, v2, v3}, Ljava/lang/String;->substring(II)Ljava/lang/String;
8638 + move-result-object v2
8643 + iget-object v2, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
8648 +.method public getLine1NumberSetting()B
8651 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
8656 +.method public getLocationGpsLat()Ljava/lang/String;
8659 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8663 + if-ne v0, v1, :cond_8
8665 + const-string v0, ""
8671 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8675 + if-ne v0, v1, :cond_12
8677 + invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLat()Ljava/lang/String;
8679 + move-result-object v0
8684 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
8689 +.method public getLocationGpsLon()Ljava/lang/String;
8692 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8696 + if-ne v0, v1, :cond_8
8698 + const-string v0, ""
8704 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8708 + if-ne v0, v1, :cond_12
8710 + invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLon()Ljava/lang/String;
8712 + move-result-object v0
8717 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
8722 +.method public getLocationGpsSetting()B
8725 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8730 +.method public getLocationNetworkLat()Ljava/lang/String;
8733 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8737 + if-ne v0, v1, :cond_8
8739 + const-string v0, ""
8745 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8749 + if-ne v0, v1, :cond_12
8751 + invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLat()Ljava/lang/String;
8753 + move-result-object v0
8758 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
8763 +.method public getLocationNetworkLon()Ljava/lang/String;
8766 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8770 + if-ne v0, v1, :cond_8
8772 + const-string v0, ""
8778 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8782 + if-ne v0, v1, :cond_12
8784 + invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLon()Ljava/lang/String;
8786 + move-result-object v0
8791 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
8796 +.method public getLocationNetworkSetting()B
8799 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8804 +.method public getMmsSetting()B
8807 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
8812 +.method public getNetworkInfoSetting()B
8815 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
8820 +.method public getNotificationSetting()B
8823 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
8828 +.method public getOutgoingCallsSetting()B
8831 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
8836 +.method public getPackageName()Ljava/lang/String;
8839 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
8844 +.method public getSimInfoSetting()B
8847 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
8852 +.method public getSimSerialNumber()Ljava/lang/String;
8855 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
8859 + if-ne v1, v2, :cond_8
8861 + const-string v1, ""
8867 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
8871 + if-ne v1, v2, :cond_2e
8873 + new-instance v0, Ljava/util/Random;
8875 + invoke-direct {v0}, Ljava/util/Random;-><init>()V
8877 + new-instance v1, Ljava/lang/StringBuilder;
8879 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
8881 + invoke-virtual {v0}, Ljava/util/Random;->nextLong()J
8883 + move-result-wide v2
8885 + invoke-static {v2, v3}, Ljava/lang/Math;->abs(J)J
8887 + move-result-wide v2
8889 + invoke-virtual {v1, v2, v3}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
8891 + move-result-object v1
8893 + const-string v2, ""
8895 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8897 + move-result-object v1
8899 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8901 + move-result-object v1
8906 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
8911 +.method public getSimSerialNumberSetting()B
8914 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
8919 +.method public getSmsSetting()B
8922 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
8927 +.method public getSubscriberId()Ljava/lang/String;
8930 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
8934 + if-ne v2, v3, :cond_8
8936 + const-string v2, ""
8942 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
8946 + if-ne v2, v3, :cond_35
8948 + new-instance v0, Ljava/util/Random;
8950 + invoke-direct {v0}, Ljava/util/Random;-><init>()V
8952 + new-instance v2, Ljava/lang/StringBuilder;
8954 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
8956 + invoke-virtual {v0}, Ljava/util/Random;->nextLong()J
8958 + move-result-wide v3
8960 + invoke-static {v3, v4}, Ljava/lang/Math;->abs(J)J
8962 + move-result-wide v3
8964 + invoke-virtual {v2, v3, v4}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
8966 + move-result-object v2
8968 + const-string v3, ""
8970 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8972 + move-result-object v2
8974 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8976 + move-result-object v1
8982 + invoke-virtual {v1, v2, v3}, Ljava/lang/String;->substring(II)Ljava/lang/String;
8984 + move-result-object v2
8989 + iget-object v2, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
8994 +.method public getSubscriberIdSetting()B
8997 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
9002 +.method public getSystemLogsSetting()B
9005 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
9010 +.method public getUid()I
9013 + iget v0, p0, Landroid/privacy/PrivacySettings;->uid:I
9018 +.method public get_id()Ljava/lang/Integer;
9021 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
9026 +.method public setAccountsAuthTokensSetting(B)V
9029 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
9034 +.method public setAccountsSetting(B)V
9037 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
9042 +.method public setAllowedContacts([I)V
9045 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
9050 +.method public setBookmarksSetting(B)V
9053 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
9058 +.method public setCalendarSetting(B)V
9061 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
9066 +.method public setCallLogSetting(B)V
9069 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
9074 +.method public setContactsSetting(B)V
9077 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
9082 +.method public setDeviceId(Ljava/lang/String;)V
9085 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
9090 +.method public setDeviceIdSetting(B)V
9093 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
9098 +.method public setIncomingCallsSetting(B)V
9101 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
9106 +.method public setIntentBootCompletedSetting(B)V
9109 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
9114 +.method public setLine1Number(Ljava/lang/String;)V
9117 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
9122 +.method public setLine1NumberSetting(B)V
9125 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
9130 +.method public setLocationGpsLat(Ljava/lang/String;)V
9133 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
9138 +.method public setLocationGpsLon(Ljava/lang/String;)V
9141 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
9146 +.method public setLocationGpsSetting(B)V
9149 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
9154 +.method public setLocationNetworkLat(Ljava/lang/String;)V
9157 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
9162 +.method public setLocationNetworkLon(Ljava/lang/String;)V
9165 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
9170 +.method public setLocationNetworkSetting(B)V
9173 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
9178 +.method public setMmsSetting(B)V
9181 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
9186 +.method public setNetworkInfoSetting(B)V
9189 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
9194 +.method public setNotificationSetting(B)V
9197 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
9202 +.method public setOutgoingCallsSetting(B)V
9205 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
9210 +.method public setPackageName(Ljava/lang/String;)V
9213 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
9218 +.method public setSimInfoSetting(B)V
9221 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
9226 +.method public setSimSerialNumber(Ljava/lang/String;)V
9229 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
9234 +.method public setSimSerialNumberSetting(B)V
9237 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
9242 +.method public setSmsSetting(B)V
9245 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
9250 +.method public setSubscriberId(Ljava/lang/String;)V
9253 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
9258 +.method public setSubscriberIdSetting(B)V
9261 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
9266 +.method public setSystemLogsSetting(B)V
9269 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
9274 +.method public setUid(I)V
9277 + iput p1, p0, Landroid/privacy/PrivacySettings;->uid:I
9282 +.method public toString()Ljava/lang/String;
9285 + new-instance v0, Ljava/lang/StringBuilder;
9287 + invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
9289 + const-string v1, "PrivacySettings [_id="
9291 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9293 + move-result-object v0
9295 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
9297 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
9299 + move-result-object v0
9301 + const-string v1, ", accountsAuthTokensSetting="
9303 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9305 + move-result-object v0
9307 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
9309 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9311 + move-result-object v0
9313 + const-string v1, ", accountsSetting="
9315 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9317 + move-result-object v0
9319 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
9321 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9323 + move-result-object v0
9325 + const-string v1, ", bookmarksSetting="
9327 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9329 + move-result-object v0
9331 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
9333 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9335 + move-result-object v0
9337 + const-string v1, ", calendarSetting="
9339 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9341 + move-result-object v0
9343 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
9345 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9347 + move-result-object v0
9349 + const-string v1, ", callLogSetting="
9351 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9353 + move-result-object v0
9355 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
9357 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9359 + move-result-object v0
9361 + const-string v1, ", contactsSetting="
9363 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9365 + move-result-object v0
9367 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
9369 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9371 + move-result-object v0
9373 + const-string v1, ", deviceId="
9375 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9377 + move-result-object v0
9379 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
9381 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9383 + move-result-object v0
9385 + const-string v1, ", deviceIdSetting="
9387 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9389 + move-result-object v0
9391 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
9393 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9395 + move-result-object v0
9397 + const-string v1, ", incomingCallsSetting="
9399 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9401 + move-result-object v0
9403 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
9405 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9407 + move-result-object v0
9409 + const-string v1, ", intentBootCompletedSetting="
9411 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9413 + move-result-object v0
9415 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
9417 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9419 + move-result-object v0
9421 + const-string v1, ", line1Number="
9423 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9425 + move-result-object v0
9427 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
9429 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9431 + move-result-object v0
9433 + const-string v1, ", line1NumberSetting="
9435 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9437 + move-result-object v0
9439 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
9441 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9443 + move-result-object v0
9445 + const-string v1, ", locationGpsLat="
9447 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9449 + move-result-object v0
9451 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
9453 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9455 + move-result-object v0
9457 + const-string v1, ", locationGpsLon="
9459 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9461 + move-result-object v0
9463 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
9465 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9467 + move-result-object v0
9469 + const-string v1, ", locationGpsSetting="
9471 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9473 + move-result-object v0
9475 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
9477 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9479 + move-result-object v0
9481 + const-string v1, ", locationNetworkLat="
9483 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9485 + move-result-object v0
9487 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
9489 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9491 + move-result-object v0
9493 + const-string v1, ", locationNetworkLon="
9495 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9497 + move-result-object v0
9499 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
9501 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9503 + move-result-object v0
9505 + const-string v1, ", locationNetworkSetting="
9507 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9509 + move-result-object v0
9511 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
9513 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9515 + move-result-object v0
9517 + const-string v1, ", mmsSetting="
9519 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9521 + move-result-object v0
9523 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
9525 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9527 + move-result-object v0
9529 + const-string v1, ", networkInfoSetting="
9531 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9533 + move-result-object v0
9535 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
9537 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9539 + move-result-object v0
9541 + const-string v1, ", notificationSetting="
9543 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9545 + move-result-object v0
9547 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
9549 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9551 + move-result-object v0
9553 + const-string v1, ", outgoingCallsSetting="
9555 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9557 + move-result-object v0
9559 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
9561 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9563 + move-result-object v0
9565 + const-string v1, ", packageName="
9567 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9569 + move-result-object v0
9571 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
9573 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9575 + move-result-object v0
9577 + const-string v1, ", simInfoSetting="
9579 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9581 + move-result-object v0
9583 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
9585 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9587 + move-result-object v0
9589 + const-string v1, ", simSerialNumber="
9591 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9593 + move-result-object v0
9595 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
9597 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9599 + move-result-object v0
9601 + const-string v1, ", simSerialNumberSetting="
9603 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9605 + move-result-object v0
9607 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
9609 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9611 + move-result-object v0
9613 + const-string v1, ", smsSetting="
9615 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9617 + move-result-object v0
9619 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
9621 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9623 + move-result-object v0
9625 + const-string v1, ", subscriberId="
9627 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9629 + move-result-object v0
9631 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
9633 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9635 + move-result-object v0
9637 + const-string v1, ", subscriberIdSetting="
9639 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9641 + move-result-object v0
9643 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
9645 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9647 + move-result-object v0
9649 + const-string v1, ", systemLogsSetting="
9651 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9653 + move-result-object v0
9655 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
9657 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9659 + move-result-object v0
9661 + const-string v1, ", uid="
9663 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9665 + move-result-object v0
9667 + iget v1, p0, Landroid/privacy/PrivacySettings;->uid:I
9669 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9671 + move-result-object v0
9673 + const-string v1, "]"
9675 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9677 + move-result-object v0
9679 + invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
9681 + move-result-object v0
9686 +.method public writeToParcel(Landroid/os/Parcel;I)V
9689 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
9691 + if-nez v0, :cond_a9
9696 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeInt(I)V
9698 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
9700 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9702 + iget v0, p0, Landroid/privacy/PrivacySettings;->uid:I
9704 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeInt(I)V
9706 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
9708 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9710 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
9712 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9714 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
9716 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9718 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
9720 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9722 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
9724 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9726 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
9728 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9730 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
9732 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9734 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
9736 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9738 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
9740 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9742 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
9744 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9746 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
9748 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9750 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
9752 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9754 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
9756 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9758 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
9760 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9762 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
9764 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9766 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
9768 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9770 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
9772 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9774 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
9776 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9778 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
9780 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9782 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
9784 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9786 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
9788 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9790 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
9792 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9794 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
9796 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9798 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
9800 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9802 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
9804 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9806 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
9808 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9810 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
9812 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9814 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
9816 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9818 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
9820 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9822 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
9824 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeIntArray([I)V
9829 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
9831 + invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
9837 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali
9838 --- stock-framework/smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali 1969-12-31 18:00:00.000000000 -0600
9839 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali 2012-10-05 10:15:48.437126896 -0500
9841 +.class Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
9842 +.super Ljava/lang/Object;
9843 +.source "PrivacyAccountManager.java"
9846 +.implements Landroid/accounts/AccountManagerFuture;
9850 +.annotation system Ldalvik/annotation/EnclosingClass;
9851 + value = Landroid/privacy/surrogate/PrivacyAccountManager;
9854 +.annotation system Ldalvik/annotation/InnerClass;
9856 + name = "PrivacyAccountManagerFuture"
9859 +.annotation system Ldalvik/annotation/Signature;
9862 + "Ljava/lang/Object;",
9864 + "Ljava/lang/Object;",
9865 + "Landroid/accounts/AccountManagerFuture",
9872 +.field private result:Ljava/lang/Object;
9873 + .annotation system Ldalvik/annotation/Signature;
9880 +.field final synthetic this$0:Landroid/privacy/surrogate/PrivacyAccountManager;
9884 +.method public constructor <init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
9886 + .annotation system Ldalvik/annotation/Signature;
9892 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->this$0:Landroid/privacy/surrogate/PrivacyAccountManager;
9894 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
9896 + iput-object p2, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->result:Ljava/lang/Object;
9903 +.method public cancel(Z)Z
9911 +.method public getResult()Ljava/lang/Object;
9913 + .annotation system Ldalvik/annotation/Signature;
9919 + .annotation system Ldalvik/annotation/Throws;
9921 + Landroid/accounts/OperationCanceledException;,
9922 + Ljava/io/IOException;,
9923 + Landroid/accounts/AuthenticatorException;
9927 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->result:Ljava/lang/Object;
9932 +.method public getResult(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;
9934 + .annotation system Ldalvik/annotation/Signature;
9937 + "Ljava/util/concurrent/TimeUnit;",
9942 + .annotation system Ldalvik/annotation/Throws;
9944 + Landroid/accounts/OperationCanceledException;,
9945 + Ljava/io/IOException;,
9946 + Landroid/accounts/AuthenticatorException;
9950 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->result:Ljava/lang/Object;
9955 +.method public isCancelled()Z
9963 +.method public isDone()Z
9970 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyAccountManager.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyAccountManager.smali
9971 --- stock-framework/smali/android/privacy/surrogate/PrivacyAccountManager.smali 1969-12-31 18:00:00.000000000 -0600
9972 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyAccountManager.smali 2012-10-05 10:15:48.437126896 -0500
9974 +.class public final Landroid/privacy/surrogate/PrivacyAccountManager;
9975 +.super Landroid/accounts/AccountManager;
9976 +.source "PrivacyAccountManager.java"
9980 +.annotation system Ldalvik/annotation/MemberClasses;
9982 + Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
9988 +.field private static final TAG:Ljava/lang/String; = "PrivacyAccountManager"
9992 +.field private context:Landroid/content/Context;
9994 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
9998 +.method public constructor <init>(Landroid/content/Context;Landroid/accounts/IAccountManager;)V
10001 + invoke-direct {p0, p1, p2}, Landroid/accounts/AccountManager;-><init>(Landroid/content/Context;Landroid/accounts/IAccountManager;)V
10003 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10005 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
10007 + const-string/jumbo v1, "privacy"
10009 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
10011 + move-result-object v1
10013 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
10015 + move-result-object v1
10017 + invoke-direct {v0, p1, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
10019 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10024 +.method public constructor <init>(Landroid/content/Context;Landroid/accounts/IAccountManager;Landroid/os/Handler;)V
10027 + invoke-direct {p0, p1, p2, p3}, Landroid/accounts/AccountManager;-><init>(Landroid/content/Context;Landroid/accounts/IAccountManager;Landroid/os/Handler;)V
10029 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10031 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
10033 + const-string/jumbo v1, "privacy"
10035 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
10037 + move-result-object v1
10039 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
10041 + move-result-object v1
10043 + invoke-direct {v0, p1, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
10045 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10052 +.method public blockingGetAuthToken(Landroid/accounts/Account;Ljava/lang/String;Z)Ljava/lang/String;
10054 + .annotation system Ldalvik/annotation/Throws;
10056 + Landroid/accounts/OperationCanceledException;,
10057 + Ljava/io/IOException;,
10058 + Landroid/accounts/AuthenticatorException;
10064 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10066 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10068 + move-result-object v1
10070 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10074 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10076 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10078 + move-result-object v6
10080 + if-eqz v6, :cond_23
10082 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
10086 + if-eqz v0, :cond_23
10090 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10094 + const-string v4, "authTokens"
10096 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10102 + invoke-super {p0, p1, p2, p3}, Landroid/accounts/AccountManager;->blockingGetAuthToken(Landroid/accounts/Account;Ljava/lang/String;Z)Ljava/lang/String;
10104 + move-result-object v7
10106 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10110 + const-string v4, "authTokens"
10112 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10117 +.method public getAccounts()[Landroid/accounts/Account;
10124 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10126 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10128 + move-result-object v1
10130 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10134 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10136 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10138 + move-result-object v6
10140 + if-eqz v6, :cond_27
10142 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
10146 + if-eqz v0, :cond_27
10148 + const-string v8, "[empty accounts list]"
10150 + new-array v7, v3, [Landroid/accounts/Account;
10152 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10156 + const-string v4, "accountsList"
10158 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10164 + const-string v8, "[real value]"
10166 + invoke-super {p0}, Landroid/accounts/AccountManager;->getAccounts()[Landroid/accounts/Account;
10168 + move-result-object v7
10170 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10172 + const-string v4, "accountsList"
10174 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10179 +.method public getAccountsByType(Ljava/lang/String;)[Landroid/accounts/Account;
10186 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10188 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10190 + move-result-object v1
10192 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10196 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10198 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10200 + move-result-object v6
10202 + if-eqz v6, :cond_27
10204 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
10208 + if-eqz v0, :cond_27
10210 + const-string v8, "[empty accounts list]"
10212 + new-array v7, v3, [Landroid/accounts/Account;
10214 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10218 + const-string v4, "accountsList"
10220 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10226 + const-string v8, "[real value]"
10228 + invoke-super {p0, p1}, Landroid/accounts/AccountManager;->getAccountsByType(Ljava/lang/String;)[Landroid/accounts/Account;
10230 + move-result-object v7
10232 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10234 + const-string v4, "accountsList"
10236 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10241 +.method public getAccountsByTypeAndFeatures(Ljava/lang/String;[Ljava/lang/String;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
10243 + .annotation system Ldalvik/annotation/Signature;
10246 + "Ljava/lang/String;",
10248 + "Ljava/lang/String;",
10249 + "Landroid/accounts/AccountManagerCallback",
10251 + "Landroid/accounts/Account;",
10253 + "Landroid/os/Handler;",
10255 + "Landroid/accounts/AccountManagerFuture",
10257 + "Landroid/accounts/Account;",
10266 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10268 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10270 + move-result-object v1
10272 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10276 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10278 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10280 + move-result-object v6
10282 + if-eqz v6, :cond_2c
10284 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
10288 + if-eqz v0, :cond_2c
10290 + const-string v8, "[false]"
10292 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10294 + new-array v0, v3, [Landroid/accounts/Account;
10296 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
10298 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10302 + const-string v4, "accountsList"
10304 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10310 + const-string v8, "[real value]"
10312 + 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;
10314 + move-result-object v7
10316 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10318 + const-string v4, "accountsList"
10320 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10325 +.method public getAuthToken(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;Landroid/app/Activity;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
10327 + .annotation system Ldalvik/annotation/Signature;
10330 + "Landroid/accounts/Account;",
10331 + "Ljava/lang/String;",
10332 + "Landroid/os/Bundle;",
10333 + "Landroid/app/Activity;",
10334 + "Landroid/accounts/AccountManagerCallback",
10336 + "Landroid/os/Bundle;",
10338 + "Landroid/os/Handler;",
10340 + "Landroid/accounts/AccountManagerFuture",
10342 + "Landroid/os/Bundle;",
10349 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10351 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10353 + move-result-object v1
10355 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10359 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10361 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10363 + move-result-object v6
10365 + if-eqz v6, :cond_2e
10367 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
10371 + if-eqz v0, :cond_2e
10373 + const-string v8, "[empty]"
10375 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10377 + new-instance v0, Landroid/os/Bundle;
10379 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
10381 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
10383 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10387 + const-string v4, "authTokens"
10389 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10395 + const-string v8, "[real value]"
10397 + 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;
10399 + move-result-object v7
10401 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10405 + const-string v4, "authTokens"
10407 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10412 +.method public getAuthToken(Landroid/accounts/Account;Ljava/lang/String;ZLandroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
10414 + .annotation system Ldalvik/annotation/Signature;
10417 + "Landroid/accounts/Account;",
10418 + "Ljava/lang/String;",
10420 + "Landroid/accounts/AccountManagerCallback",
10422 + "Landroid/os/Bundle;",
10424 + "Landroid/os/Handler;",
10426 + "Landroid/accounts/AccountManagerFuture",
10428 + "Landroid/os/Bundle;",
10435 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10437 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10439 + move-result-object v1
10441 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10445 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10447 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10449 + move-result-object v6
10451 + if-eqz v6, :cond_2e
10453 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
10457 + if-eqz v0, :cond_2e
10459 + const-string v8, "[empty]"
10461 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10463 + new-instance v0, Landroid/os/Bundle;
10465 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
10467 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
10469 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10473 + const-string v4, "authTokens"
10475 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10481 + const-string v8, "[real value]"
10483 + invoke-super/range {p0 .. p5}, Landroid/accounts/AccountManager;->getAuthToken(Landroid/accounts/Account;Ljava/lang/String;ZLandroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
10485 + move-result-object v7
10487 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10491 + const-string v4, "authTokens"
10493 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10498 +.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;
10500 + .annotation system Ldalvik/annotation/Signature;
10503 + "Ljava/lang/String;",
10504 + "Ljava/lang/String;",
10506 + "Ljava/lang/String;",
10507 + "Landroid/app/Activity;",
10508 + "Landroid/os/Bundle;",
10509 + "Landroid/os/Bundle;",
10510 + "Landroid/accounts/AccountManagerCallback",
10512 + "Landroid/os/Bundle;",
10514 + "Landroid/os/Handler;",
10516 + "Landroid/accounts/AccountManagerFuture",
10518 + "Landroid/os/Bundle;",
10523 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10525 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10527 + move-result-object v1
10529 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10533 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10535 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10537 + move-result-object v6
10539 + if-eqz v6, :cond_2e
10541 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
10545 + if-eqz v0, :cond_2e
10547 + const-string v8, "[empty]"
10549 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10551 + new-instance v0, Landroid/os/Bundle;
10553 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
10555 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
10557 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10561 + const-string v4, "authTokens"
10565 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10571 + const-string v8, "[real value]"
10573 + 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;
10575 + move-result-object v7
10577 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10581 + const-string v4, "authTokens"
10585 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10590 +.method public hasFeatures(Landroid/accounts/Account;[Ljava/lang/String;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
10592 + .annotation system Ldalvik/annotation/Signature;
10595 + "Landroid/accounts/Account;",
10597 + "Ljava/lang/String;",
10598 + "Landroid/accounts/AccountManagerCallback",
10600 + "Ljava/lang/Boolean;",
10602 + "Landroid/os/Handler;",
10604 + "Landroid/accounts/AccountManagerFuture",
10606 + "Ljava/lang/Boolean;",
10615 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10617 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10619 + move-result-object v1
10621 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10625 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10627 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10629 + move-result-object v6
10631 + if-eqz v6, :cond_2e
10633 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
10637 + if-eqz v0, :cond_2e
10639 + const-string v8, "[false]"
10641 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10643 + invoke-static {v3}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
10645 + move-result-object v0
10647 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
10649 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10653 + const-string v4, "accountsList"
10655 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10661 + const-string v8, "[real value]"
10663 + 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;
10665 + move-result-object v7
10667 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10669 + const-string v4, "accountsList"
10671 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10675 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyActivityManagerService.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyActivityManagerService.smali
10676 --- stock-framework/smali/android/privacy/surrogate/PrivacyActivityManagerService.smali 1969-12-31 18:00:00.000000000 -0600
10677 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyActivityManagerService.smali 2012-10-05 10:15:48.437126896 -0500
10679 +.class public final Landroid/privacy/surrogate/PrivacyActivityManagerService;
10680 +.super Ljava/lang/Object;
10681 +.source "PrivacyActivityManagerService.java"
10685 +.field private static final TAG:Ljava/lang/String; = "PrivacyActivityManagerService"
10687 +.field private static pSetMan:Landroid/privacy/PrivacySettingsManager;
10689 +.field private static tmpIn:Landroid/content/Intent;
10691 +.field private static tmpInHash:J
10693 +.field private static tmpInReceivers:I
10695 +.field private static tmpMms:Landroid/content/Intent;
10697 +.field private static tmpMmsHash:J
10699 +.field private static tmpMmsReceivers:I
10701 +.field private static tmpOut:Landroid/content/Intent;
10703 +.field private static tmpOutHash:J
10705 +.field private static tmpOutReceivers:I
10707 +.field private static tmpPackageAddedHash:J
10709 +.field private static tmpSms:Landroid/content/Intent;
10711 +.field private static tmpSmsHash:J
10713 +.field private static tmpSmsReceivers:I
10717 +.method static constructor <clinit>()V
10722 + const-wide/16 v0, 0x0
10724 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInHash:J
10726 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
10728 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutHash:J
10730 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
10732 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsHash:J
10734 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
10736 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsHash:J
10738 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
10740 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpPackageAddedHash:J
10745 +.method public constructor <init>()V
10748 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
10753 +.method public static enforcePrivacyPermission(Ljava/lang/String;ILandroid/content/Intent;Landroid/content/Context;I)V
10756 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10758 + if-nez v2, :cond_11
10760 + const-string/jumbo v2, "privacy"
10762 + move-object/from16 v0, p3
10764 + invoke-virtual {v0, v2}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
10766 + move-result-object v2
10768 + check-cast v2, Landroid/privacy/PrivacySettingsManager;
10770 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10773 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->getAction()Ljava/lang/String;
10775 + move-result-object v9
10777 + const-string v2, "android.intent.action.NEW_OUTGOING_CALL"
10779 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
10783 + if-eqz v2, :cond_ad
10785 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10787 + move-object/from16 v0, p0
10789 + move/from16 v1, p1
10791 + invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10793 + move-result-object v8
10795 + const-string v2, "android.intent.extra.PHONE_NUMBER"
10797 + move-object/from16 v0, p2
10799 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
10801 + move-result-object v16
10803 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutHash:J
10805 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
10807 + move-result-wide v4
10809 + cmp-long v2, v2, v4
10811 + if-eqz v2, :cond_49
10813 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->clone()Ljava/lang/Object;
10815 + move-result-object v2
10817 + check-cast v2, Landroid/content/Intent;
10819 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOut:Landroid/content/Intent;
10821 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
10823 + move-result-wide v2
10825 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutHash:J
10827 + sput p4, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
10830 + if-eqz v8, :cond_76
10833 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getOutgoingCallsSetting()B
10837 + if-eqz v2, :cond_76
10839 + const-string v16, ""
10841 + const-string v2, "android.intent.extra.PHONE_NUMBER"
10843 + move-object/from16 v0, p2
10845 + move-object/from16 v1, v16
10847 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
10849 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10853 + const-string/jumbo v6, "outgoingCall"
10857 + move-object/from16 v3, p0
10859 + move/from16 v4, p1
10861 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10863 + .catch Ljava/lang/Exception; {:try_start_4b .. :try_end_6a} :catch_a0
10867 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
10871 + if-le v2, v3, :cond_a9
10873 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
10875 + add-int/lit8 v2, v2, -0x1
10877 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
10885 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutHash:J
10887 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
10889 + move-result-wide v4
10891 + cmp-long v2, v2, v4
10893 + if-nez v2, :cond_6a
10895 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOut:Landroid/content/Intent;
10897 + const-string v3, "android.intent.extra.PHONE_NUMBER"
10899 + invoke-virtual {v2, v3}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
10901 + move-result-object v16
10903 + const-string v2, "android.intent.extra.PHONE_NUMBER"
10905 + move-object/from16 v0, p2
10907 + move-object/from16 v1, v16
10909 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
10911 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10915 + const-string/jumbo v6, "outgoingCall"
10919 + move-object/from16 v3, p0
10921 + move/from16 v4, p1
10923 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10925 + .catch Ljava/lang/Exception; {:try_start_76 .. :try_end_9f} :catch_a0
10930 + move-exception v13
10932 + const-string v2, "PrivacyActivityManagerService"
10934 + const-string v3, "failed to enforce intent broadcast permission"
10936 + invoke-static {v2, v3, v13}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
10943 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOut:Landroid/content/Intent;
10948 + const-string v2, "android.intent.action.PHONE_STATE"
10950 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
10954 + if-eqz v2, :cond_14d
10956 + const-string v2, "incoming_number"
10958 + move-object/from16 v0, p2
10960 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
10962 + move-result-object v16
10964 + if-eqz v16, :cond_75
10966 + invoke-virtual/range {v16 .. v16}, Ljava/lang/String;->isEmpty()Z
10970 + if-nez v2, :cond_75
10972 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10974 + move-object/from16 v0, p0
10976 + move/from16 v1, p1
10978 + invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10980 + move-result-object v8
10982 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInHash:J
10984 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
10986 + move-result-wide v4
10988 + cmp-long v2, v2, v4
10990 + if-eqz v2, :cond_e9
10992 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->clone()Ljava/lang/Object;
10994 + move-result-object v2
10996 + check-cast v2, Landroid/content/Intent;
10998 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpIn:Landroid/content/Intent;
11000 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11002 + move-result-wide v2
11004 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInHash:J
11006 + sput p4, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
11009 + if-eqz v8, :cond_116
11012 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getIncomingCallsSetting()B
11016 + if-eqz v2, :cond_116
11018 + const-string v16, ""
11020 + const-string v2, "incoming_number"
11022 + move-object/from16 v0, p2
11024 + move-object/from16 v1, v16
11026 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
11028 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11032 + const-string v6, "incomingCall"
11036 + move-object/from16 v3, p0
11038 + move/from16 v4, p1
11040 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11042 + .catch Ljava/lang/Exception; {:try_start_eb .. :try_end_109} :catch_13f
11046 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
11050 + if-le v2, v3, :cond_148
11052 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
11054 + add-int/lit8 v2, v2, -0x1
11056 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
11062 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInHash:J
11064 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11066 + move-result-wide v4
11068 + cmp-long v2, v2, v4
11070 + if-nez v2, :cond_109
11072 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpIn:Landroid/content/Intent;
11074 + const-string v3, "incoming_number"
11076 + invoke-virtual {v2, v3}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
11078 + move-result-object v16
11080 + const-string v2, "incoming_number"
11082 + move-object/from16 v0, p2
11084 + move-object/from16 v1, v16
11086 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
11088 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11092 + const-string v6, "incomingCall"
11096 + move-object/from16 v3, p0
11098 + move/from16 v4, p1
11100 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11102 + .catch Ljava/lang/Exception; {:try_start_116 .. :try_end_13e} :catch_13f
11107 + move-exception v13
11109 + const-string v2, "PrivacyActivityManagerService"
11111 + const-string v3, "failed to enforce intent broadcast permission"
11113 + invoke-static {v2, v3, v13}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
11120 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpIn:Landroid/content/Intent;
11125 + const-string v2, "android.provider.Telephony.SMS_RECEIVED"
11127 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11131 + if-eqz v2, :cond_222
11133 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11135 + move-object/from16 v0, p0
11137 + move/from16 v1, p1
11139 + invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
11141 + move-result-object v8
11143 + const-string v16, "[real]"
11145 + const-string/jumbo v2, "pdus"
11147 + move-object/from16 v0, p2
11149 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
11151 + move-result-object v2
11153 + check-cast v2, [Ljava/lang/Object;
11155 + move-object v15, v2
11157 + check-cast v15, [Ljava/lang/Object;
11159 + if-eqz v15, :cond_1cd
11163 + aget-object v2, v15, v2
11165 + check-cast v2, [B
11167 + check-cast v2, [B
11169 + move-object v12, v2
11172 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsHash:J
11174 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11176 + move-result-wide v4
11178 + cmp-long v2, v2, v4
11180 + if-eqz v2, :cond_193
11182 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->clone()Ljava/lang/Object;
11184 + move-result-object v2
11186 + check-cast v2, Landroid/content/Intent;
11188 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSms:Landroid/content/Intent;
11190 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11192 + move-result-wide v2
11194 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsHash:J
11196 + sput p4, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
11199 + if-eqz v8, :cond_1cf
11202 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getSmsSetting()B
11206 + if-eqz v2, :cond_1cf
11208 + const-string v16, "[empty]"
11212 + new-array v14, v2, [Ljava/lang/Object;
11216 + const/16 v3, 0x10
11218 + new-array v3, v3, [B
11220 + fill-array-data v3, :array_350
11222 + aput-object v3, v14, v2
11224 + const-string/jumbo v2, "pdus"
11226 + move-object/from16 v0, p2
11228 + invoke-virtual {v0, v2, v14}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent;
11230 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11234 + const-string/jumbo v6, "sms"
11238 + move-object/from16 v3, p0
11240 + move/from16 v4, p1
11242 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11244 + .catch Ljava/lang/Exception; {:try_start_195 .. :try_end_1c0} :catch_212
11248 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
11252 + if-le v2, v3, :cond_21d
11254 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
11256 + add-int/lit8 v2, v2, -0x1
11258 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
11269 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsHash:J
11271 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11273 + move-result-wide v4
11275 + cmp-long v2, v2, v4
11277 + if-nez v2, :cond_1c0
11279 + const-string/jumbo v2, "pdus"
11281 + sget-object v3, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSms:Landroid/content/Intent;
11283 + const-string/jumbo v4, "pdus"
11285 + invoke-virtual {v3, v4}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
11287 + move-result-object v3
11289 + move-object/from16 v0, p2
11291 + invoke-virtual {v0, v2, v3}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent;
11293 + const-string/jumbo v2, "pdus"
11295 + move-object/from16 v0, p2
11297 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
11299 + move-result-object v2
11301 + check-cast v2, [Ljava/lang/Object;
11303 + move-object v0, v2
11305 + check-cast v0, [Ljava/lang/Object;
11307 + move-object v15, v0
11309 + if-eqz v15, :cond_21b
11313 + aget-object v2, v15, v2
11315 + check-cast v2, [B
11317 + check-cast v2, [B
11319 + move-object v12, v2
11322 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11326 + const-string/jumbo v6, "sms"
11330 + move-object/from16 v3, p0
11332 + move/from16 v4, p1
11334 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11336 + .catch Ljava/lang/Exception; {:try_start_1cf .. :try_end_211} :catch_212
11341 + move-exception v13
11343 + const-string v2, "PrivacyActivityManagerService"
11345 + const-string v3, "failed to enforce intent broadcast permission"
11347 + invoke-static {v2, v3, v13}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
11359 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSms:Landroid/content/Intent;
11364 + const-string v2, "android.provider.Telephony.WAP_PUSH_RECEIVED"
11366 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11370 + if-nez v2, :cond_232
11372 + const-string v2, "android.intent.action.DATA_SMS_RECEIVED"
11374 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11378 + if-eqz v2, :cond_2ff
11381 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11383 + move-object/from16 v0, p0
11385 + move/from16 v1, p1
11387 + invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
11389 + move-result-object v8
11391 + const-string v16, "[real]"
11393 + const-string/jumbo v2, "pdus"
11395 + move-object/from16 v0, p2
11397 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
11399 + move-result-object v2
11401 + check-cast v2, [Ljava/lang/Object;
11403 + move-object v15, v2
11405 + check-cast v15, [Ljava/lang/Object;
11407 + if-eqz v15, :cond_2aa
11411 + aget-object v2, v15, v2
11413 + check-cast v2, [B
11415 + check-cast v2, [B
11417 + move-object v12, v2
11420 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsHash:J
11422 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11424 + move-result-wide v4
11426 + cmp-long v2, v2, v4
11428 + if-eqz v2, :cond_270
11430 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->clone()Ljava/lang/Object;
11432 + move-result-object v2
11434 + check-cast v2, Landroid/content/Intent;
11436 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMms:Landroid/content/Intent;
11438 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11440 + move-result-wide v2
11442 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsHash:J
11444 + sput p4, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
11447 + if-eqz v8, :cond_2ac
11450 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getMmsSetting()B
11454 + if-eqz v2, :cond_2ac
11456 + const-string v16, "[empty]"
11460 + new-array v14, v2, [Ljava/lang/Object;
11464 + const/16 v3, 0x10
11466 + new-array v3, v3, [B
11468 + fill-array-data v3, :array_35c
11470 + aput-object v3, v14, v2
11472 + const-string/jumbo v2, "pdus"
11474 + move-object/from16 v0, p2
11476 + invoke-virtual {v0, v2, v14}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent;
11478 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11482 + const-string/jumbo v6, "mms"
11486 + move-object/from16 v3, p0
11488 + move/from16 v4, p1
11490 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11492 + .catch Ljava/lang/Exception; {:try_start_272 .. :try_end_29d} :catch_2ef
11496 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
11500 + if-le v2, v3, :cond_2fa
11502 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
11504 + add-int/lit8 v2, v2, -0x1
11506 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
11517 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsHash:J
11519 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11521 + move-result-wide v4
11523 + cmp-long v2, v2, v4
11525 + if-nez v2, :cond_29d
11527 + const-string/jumbo v2, "pdus"
11529 + sget-object v3, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMms:Landroid/content/Intent;
11531 + const-string/jumbo v4, "pdus"
11533 + invoke-virtual {v3, v4}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
11535 + move-result-object v3
11537 + move-object/from16 v0, p2
11539 + invoke-virtual {v0, v2, v3}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent;
11541 + const-string/jumbo v2, "pdus"
11543 + move-object/from16 v0, p2
11545 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
11547 + move-result-object v2
11549 + check-cast v2, [Ljava/lang/Object;
11551 + move-object v0, v2
11553 + check-cast v0, [Ljava/lang/Object;
11555 + move-object v15, v0
11557 + if-eqz v15, :cond_2f8
11561 + aget-object v2, v15, v2
11563 + check-cast v2, [B
11565 + check-cast v2, [B
11567 + move-object v12, v2
11570 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11574 + const-string/jumbo v6, "mms"
11578 + move-object/from16 v3, p0
11580 + move/from16 v4, p1
11582 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11584 + .catch Ljava/lang/Exception; {:try_start_2ac .. :try_end_2ee} :catch_2ef
11589 + move-exception v13
11591 + const-string v2, "PrivacyActivityManagerService"
11593 + const-string v3, "failed to enforce intent broadcast permission"
11595 + invoke-static {v2, v3, v13}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
11607 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMms:Landroid/content/Intent;
11612 + const-string v2, "android.intent.action.BOOT_COMPLETED"
11614 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11618 + if-eqz v2, :cond_30e
11620 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11622 + invoke-virtual {v2}, Landroid/privacy/PrivacySettingsManager;->setBootCompleted()V
11627 + const-string v2, "android.intent.action.PACKAGE_ADDED"
11629 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11633 + if-eqz v2, :cond_75
11635 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpPackageAddedHash:J
11637 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11639 + move-result-wide v4
11641 + cmp-long v2, v2, v4
11643 + if-eqz v2, :cond_75
11645 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11647 + move-result-wide v2
11649 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpPackageAddedHash:J
11651 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->getData()Landroid/net/Uri;
11653 + move-result-object v2
11655 + invoke-virtual {v2}, Landroid/net/Uri;->getSchemeSpecificPart()Ljava/lang/String;
11657 + move-result-object v10
11659 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->getExtras()Landroid/os/Bundle;
11661 + move-result-object v2
11663 + const-string v3, "android.intent.extra.UID"
11665 + invoke-virtual {v2, v3}, Landroid/os/Bundle;->getInt(Ljava/lang/String;)I
11669 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11671 + invoke-virtual {v2, v10, v11}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
11673 + move-result-object v8
11675 + if-eqz v8, :cond_75
11677 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getUid()I
11681 + if-eq v2, v11, :cond_75
11683 + invoke-virtual {v8, v11}, Landroid/privacy/PrivacySettings;->setUid(I)V
11685 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11687 + invoke-virtual {v2, v8}, Landroid/privacy/PrivacySettingsManager;->saveSettings(Landroid/privacy/PrivacySettings;)Z
11732 +.method private static hashCode(Landroid/content/Intent;)J
11735 + const-wide/16 v3, 0x0
11737 + const-string/jumbo v2, "privacy_hash"
11739 + invoke-virtual {p0, v2, v3, v4}, Landroid/content/Intent;->getLongExtra(Ljava/lang/String;J)J
11741 + move-result-wide v0
11743 + cmp-long v2, v0, v3
11745 + if-nez v2, :cond_1e
11747 + invoke-virtual {p0}, Landroid/content/Intent;->filterHashCode()I
11751 + int-to-long v2, v2
11753 + invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
11755 + move-result-wide v4
11757 + add-long v0, v2, v4
11759 + const-string/jumbo v2, "privacy_hash"
11761 + invoke-virtual {p0, v2, v0, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;J)Landroid/content/Intent;
11766 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyContentResolver.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyContentResolver.smali
11767 --- stock-framework/smali/android/privacy/surrogate/PrivacyContentResolver.smali 1969-12-31 18:00:00.000000000 -0600
11768 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyContentResolver.smali 2012-10-05 10:15:48.441126915 -0500
11770 +.class public final Landroid/privacy/surrogate/PrivacyContentResolver;
11771 +.super Ljava/lang/Object;
11772 +.source "PrivacyContentResolver.java"
11776 +.field private static final TAG:Ljava/lang/String; = "PrivacyContentResolver"
11778 +.field private static pSetMan:Landroid/privacy/PrivacySettingsManager;
11782 +.method public constructor <init>()V
11785 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
11790 +.method private static arrayToString([Ljava/lang/String;)Ljava/lang/String;
11793 + new-instance v4, Ljava/lang/StringBuffer;
11795 + invoke-direct {v4}, Ljava/lang/StringBuffer;-><init>()V
11797 + if-eqz p0, :cond_2d
11799 + move-object v0, p0
11801 + array-length v3, v0
11806 + if-ge v2, v3, :cond_30
11808 + aget-object v1, v0, v2
11810 + new-instance v5, Ljava/lang/StringBuilder;
11812 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
11814 + const-string v6, "["
11816 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
11818 + move-result-object v5
11820 + invoke-virtual {v5, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
11822 + move-result-object v5
11824 + const-string v6, "]"
11826 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
11828 + move-result-object v5
11830 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
11832 + move-result-object v5
11834 + invoke-virtual {v4, v5}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
11836 + add-int/lit8 v2, v2, 0x1
11841 + const-string v5, ""
11847 + invoke-virtual {v4}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String;
11849 + move-result-object v5
11854 +.method public static enforcePrivacyPermission(Landroid/net/Uri;[Ljava/lang/String;Landroid/content/Context;Landroid/database/Cursor;)Landroid/database/Cursor;
11856 + .annotation system Ldalvik/annotation/Throws;
11858 + Landroid/os/RemoteException;
11862 + if-eqz p0, :cond_1e4
11864 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11866 + if-nez v1, :cond_13
11868 + const-string/jumbo v1, "privacy"
11870 + move-object/from16 v0, p2
11872 + invoke-virtual {v0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
11874 + move-result-object v1
11876 + check-cast v1, Landroid/privacy/PrivacySettingsManager;
11878 + sput-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11881 + invoke-virtual/range {p2 .. p2}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
11883 + move-result-object v2
11885 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
11889 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11891 + invoke-virtual {v1, v2, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
11893 + move-result-object v7
11895 + invoke-virtual/range {p0 .. p0}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
11897 + move-result-object v9
11899 + const-string v15, "[real]"
11901 + move-object/from16 v13, p3
11903 + if-eqz v9, :cond_54
11905 + const-string v1, "contacts"
11907 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11911 + if-nez v1, :cond_3b
11913 + const-string v1, "com.android.contacts"
11915 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11919 + if-eqz v1, :cond_ab
11922 + if-eqz v7, :cond_54
11924 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getContactsSetting()B
11930 + if-ne v1, v4, :cond_55
11932 + const-string v15, "[empty]"
11934 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
11936 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
11938 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11942 + const-string v5, "contacts"
11946 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11950 + return-object v13
11953 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getContactsSetting()B
11959 + if-ne v1, v4, :cond_a1
11961 + invoke-virtual/range {p0 .. p0}, Landroid/net/Uri;->toString()Ljava/lang/String;
11963 + move-result-object v1
11965 + sget-object v4, Landroid/provider/ContactsContract$Contacts;->CONTENT_URI:Landroid/net/Uri;
11967 + invoke-virtual {v4}, Landroid/net/Uri;->toString()Ljava/lang/String;
11969 + move-result-object v4
11971 + invoke-virtual {v1, v4}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
11975 + if-eqz v1, :cond_a1
11979 + if-eqz p1, :cond_82
11981 + move-object/from16 v8, p1
11983 + array-length v12, v8
11988 + if-ge v10, v12, :cond_82
11990 + aget-object v16, v8, v10
11992 + const-string v1, "_id"
11994 + move-object/from16 v0, v16
11996 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12000 + if-eqz v1, :cond_93
12005 + if-nez v11, :cond_96
12007 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12009 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12012 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12016 + const-string v5, "contacts"
12020 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12025 + add-int/lit8 v10, v10, 0x1
12030 + new-instance v14, Landroid/privacy/surrogate/PrivacyCursor;
12032 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getAllowedContacts()[I
12034 + move-result-object v1
12036 + invoke-direct {v14, v13, v1}, Landroid/privacy/surrogate/PrivacyCursor;-><init>(Landroid/database/Cursor;[I)V
12038 + move-object v13, v14
12043 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12047 + const-string v5, "contacts"
12051 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12056 + const-string v1, "com.android.calendar"
12058 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12062 + if-eqz v1, :cond_d8
12064 + if-eqz v7, :cond_cd
12066 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getCalendarSetting()B
12072 + if-ne v1, v4, :cond_cd
12074 + const-string v15, "[empty]"
12076 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12078 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12080 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12084 + const-string v5, "calendar"
12088 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12093 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12097 + const-string v5, "calendar"
12101 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12106 + sget-object v1, Landroid/provider/Telephony$Mms;->CONTENT_URI:Landroid/net/Uri;
12108 + invoke-virtual {v1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
12110 + move-result-object v1
12112 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12116 + if-eqz v1, :cond_10c
12118 + if-eqz v7, :cond_100
12120 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getMmsSetting()B
12126 + if-ne v1, v4, :cond_100
12128 + const-string v15, "[empty]"
12130 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12132 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12134 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12138 + const-string/jumbo v5, "mms"
12142 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12147 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12151 + const-string/jumbo v5, "mms"
12155 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12160 + sget-object v1, Landroid/provider/Telephony$Sms;->CONTENT_URI:Landroid/net/Uri;
12162 + invoke-virtual {v1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
12164 + move-result-object v1
12166 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12170 + if-eqz v1, :cond_140
12172 + if-eqz v7, :cond_134
12174 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getSmsSetting()B
12180 + if-ne v1, v4, :cond_134
12182 + const-string v15, "[empty]"
12184 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12186 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12188 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12192 + const-string/jumbo v5, "sms"
12196 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12201 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12205 + const-string/jumbo v5, "sms"
12209 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12214 + sget-object v1, Landroid/provider/Telephony$MmsSms;->CONTENT_URI:Landroid/net/Uri;
12216 + invoke-virtual {v1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
12218 + move-result-object v1
12220 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12224 + if-nez v1, :cond_155
12226 + const-string/jumbo v1, "mms-sms-v2"
12228 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12232 + if-eqz v1, :cond_184
12235 + if-eqz v7, :cond_178
12237 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getMmsSetting()B
12243 + if-eq v1, v4, :cond_165
12245 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getSmsSetting()B
12251 + if-ne v1, v4, :cond_178
12254 + const-string v15, "[empty]"
12256 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12258 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12260 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12264 + const-string/jumbo v5, "mmsSms"
12268 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12273 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12277 + const-string/jumbo v5, "mmsSms"
12281 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12286 + const-string v1, "call_log"
12288 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12292 + if-eqz v1, :cond_1b2
12294 + if-eqz v7, :cond_1a7
12296 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getCallLogSetting()B
12302 + if-ne v1, v4, :cond_1a7
12304 + const-string v15, "[empty]"
12306 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12308 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12310 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12314 + const-string v5, "callLog"
12318 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12323 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12327 + const-string v5, "callLog"
12331 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12336 + sget-object v1, Landroid/provider/Browser;->BOOKMARKS_URI:Landroid/net/Uri;
12338 + invoke-virtual {v1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
12340 + move-result-object v1
12342 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12346 + if-eqz v1, :cond_54
12348 + if-eqz v7, :cond_1d9
12350 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getBookmarksSetting()B
12356 + if-ne v1, v4, :cond_1d9
12358 + const-string v15, "[empty]"
12360 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12362 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12364 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12368 + const-string v5, "bookmarks"
12372 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12377 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12381 + const-string v5, "bookmarks"
12385 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12390 + move-object/from16 v13, p3
12394 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyCursor.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyCursor.smali
12395 --- stock-framework/smali/android/privacy/surrogate/PrivacyCursor.smali 1969-12-31 18:00:00.000000000 -0600
12396 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyCursor.smali 2012-10-05 10:15:48.441126915 -0500
12398 +.class public Landroid/privacy/surrogate/PrivacyCursor;
12399 +.super Ljava/lang/Object;
12400 +.source "PrivacyCursor.java"
12403 +.implements Landroid/database/Cursor;
12407 +.field private static final TAG:Ljava/lang/String; = "PrivacyCursor"
12411 +.field private allowedIdMapping:[I
12413 +.field private allowedIds:[I
12415 +.field private realCursor:Landroid/database/Cursor;
12419 +.method public constructor <init>()V
12422 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
12427 +.method public constructor <init>(Landroid/database/Cursor;[I)V
12430 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
12432 + if-eqz p2, :cond_8
12434 + array-length v2, p2
12436 + if-nez v2, :cond_9
12442 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12444 + iput-object p2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIds:[I
12446 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12448 + if-eqz v2, :cond_3f
12450 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12452 + invoke-interface {v2}, Landroid/database/Cursor;->getPosition()I
12456 + array-length v2, p2
12458 + new-array v2, v2, [I
12460 + iput-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
12466 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12468 + invoke-interface {v2}, Landroid/database/Cursor;->moveToNext()Z
12472 + if-eqz v2, :cond_3a
12474 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12476 + invoke-direct {p0, v2}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(Landroid/database/Cursor;)Z
12480 + if-eqz v2, :cond_1d
12482 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
12484 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12486 + invoke-interface {v3}, Landroid/database/Cursor;->getPosition()I
12492 + add-int/lit8 v1, v1, 0x1
12497 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12499 + invoke-interface {v2, v0}, Landroid/database/Cursor;->moveToPosition(I)Z
12505 +.method private getContactId(Landroid/database/Cursor;)I
12508 + const-string v2, "_id"
12510 + invoke-interface {p1, v2}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
12518 + if-eq v0, v2, :cond_e
12520 + invoke-interface {p1, v0}, Landroid/database/Cursor;->getInt(I)I
12528 +.method private getMappedPos(I)I
12534 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
12536 + array-length v1, v1
12538 + if-ge v0, v1, :cond_10
12540 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
12544 + if-ne v1, p1, :cond_d
12550 + add-int/lit8 v0, v0, 0x1
12560 +.method private isAllowed(I)Z
12565 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIds:[I
12567 + array-length v3, v0
12572 + if-ge v2, v3, :cond_c
12576 + if-ne p1, v1, :cond_d
12584 + add-int/lit8 v2, v2, 0x1
12589 +.method private isAllowed(Landroid/database/Cursor;)Z
12592 + invoke-direct {p0, p1}, Landroid/privacy/surrogate/PrivacyCursor;->getContactId(Landroid/database/Cursor;)I
12596 + invoke-direct {p0, v0}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(I)Z
12605 +.method public close()V
12608 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12610 + if-eqz v0, :cond_9
12612 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12614 + invoke-interface {v0}, Landroid/database/Cursor;->close()V
12620 +.method public copyStringToBuffer(ILandroid/database/CharArrayBuffer;)V
12623 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12625 + if-eqz v0, :cond_9
12627 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12629 + invoke-interface {v0, p1, p2}, Landroid/database/Cursor;->copyStringToBuffer(ILandroid/database/CharArrayBuffer;)V
12635 +.method public deactivate()V
12638 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12640 + if-eqz v0, :cond_9
12642 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12644 + invoke-interface {v0}, Landroid/database/Cursor;->deactivate()V
12650 +.method public getBlob(I)[B
12653 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12655 + if-eqz v0, :cond_b
12657 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12659 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getBlob(I)[B
12661 + move-result-object v0
12669 + new-array v0, v0, [B
12674 +.method public getColumnCount()I
12677 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12679 + if-eqz v0, :cond_b
12681 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12683 + invoke-interface {v0}, Landroid/database/Cursor;->getColumnCount()I
12696 +.method public getColumnIndex(Ljava/lang/String;)I
12699 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12701 + if-eqz v0, :cond_b
12703 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12705 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
12718 +.method public getColumnIndexOrThrow(Ljava/lang/String;)I
12720 + .annotation system Ldalvik/annotation/Throws;
12722 + Ljava/lang/IllegalArgumentException;
12726 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12728 + if-eqz v0, :cond_b
12730 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12732 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getColumnIndexOrThrow(Ljava/lang/String;)I
12745 +.method public getColumnName(I)Ljava/lang/String;
12748 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12750 + if-eqz v0, :cond_b
12752 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12754 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getColumnName(I)Ljava/lang/String;
12756 + move-result-object v0
12762 + const-string v0, ""
12767 +.method public getColumnNames()[Ljava/lang/String;
12770 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12772 + if-eqz v0, :cond_b
12774 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12776 + invoke-interface {v0}, Landroid/database/Cursor;->getColumnNames()[Ljava/lang/String;
12778 + move-result-object v0
12786 + new-array v0, v0, [Ljava/lang/String;
12790 + const-string v2, ""
12792 + aput-object v2, v0, v1
12797 +.method public getCount()I
12800 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12802 + if-eqz v0, :cond_23
12804 + const-string v0, "PrivacyCursor"
12806 + new-instance v1, Ljava/lang/StringBuilder;
12808 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
12810 + const-string v2, "getCount: "
12812 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
12814 + move-result-object v1
12816 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
12818 + array-length v2, v2
12820 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
12822 + move-result-object v1
12824 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
12826 + move-result-object v1
12828 + invoke-static {v0, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
12830 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
12832 + array-length v0, v0
12843 +.method public getDouble(I)D
12846 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12848 + if-eqz v0, :cond_b
12850 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12852 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getDouble(I)D
12854 + move-result-wide v0
12860 + const-wide/16 v0, 0x0
12865 +.method public getExtras()Landroid/os/Bundle;
12868 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12870 + if-eqz v0, :cond_b
12872 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12874 + invoke-interface {v0}, Landroid/database/Cursor;->getExtras()Landroid/os/Bundle;
12876 + move-result-object v0
12882 + new-instance v0, Landroid/os/Bundle;
12884 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
12889 +.method public getFloat(I)F
12892 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12894 + if-eqz v0, :cond_b
12896 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12898 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getFloat(I)F
12911 +.method public getInt(I)I
12914 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12916 + if-eqz v1, :cond_b
12918 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12920 + invoke-interface {v1, p1}, Landroid/database/Cursor;->getInt(I)I
12933 +.method public getLong(I)J
12936 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12938 + if-eqz v0, :cond_b
12940 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12942 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getLong(I)J
12944 + move-result-wide v0
12950 + const-wide/16 v0, 0x0
12955 +.method public getPosition()I
12958 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12960 + if-eqz v1, :cond_37
12962 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12964 + invoke-interface {v1}, Landroid/database/Cursor;->getPosition()I
12968 + invoke-direct {p0, v1}, Landroid/privacy/surrogate/PrivacyCursor;->getMappedPos(I)I
12972 + const-string v1, "PrivacyCursor"
12974 + new-instance v2, Ljava/lang/StringBuilder;
12976 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
12978 + const-string v3, "getPosition - mapped position: "
12980 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
12982 + move-result-object v2
12984 + invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
12986 + move-result-object v2
12988 + const-string v3, " real position: "
12990 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
12992 + move-result-object v2
12994 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12996 + invoke-interface {v3}, Landroid/database/Cursor;->getPosition()I
13000 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
13002 + move-result-object v2
13004 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
13006 + move-result-object v2
13008 + invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
13019 +.method public getShort(I)S
13022 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13024 + if-eqz v0, :cond_b
13026 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13028 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getShort(I)S
13041 +.method public getString(I)Ljava/lang/String;
13044 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13046 + if-eqz v0, :cond_b
13048 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13050 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
13052 + move-result-object v0
13058 + const-string v0, ""
13063 +.method public getType(I)I
13066 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13068 + if-eqz v0, :cond_b
13070 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13072 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getType(I)I
13080 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13087 +.method public getWantsAllOnMoveCalls()Z
13090 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13092 + if-eqz v0, :cond_b
13094 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13096 + invoke-interface {v0}, Landroid/database/Cursor;->getWantsAllOnMoveCalls()Z
13109 +.method public isAfterLast()Z
13112 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13114 + if-eqz v0, :cond_b
13116 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13118 + invoke-interface {v0}, Landroid/database/Cursor;->isAfterLast()Z
13131 +.method public isBeforeFirst()Z
13134 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13136 + if-eqz v0, :cond_b
13138 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13140 + invoke-interface {v0}, Landroid/database/Cursor;->isBeforeFirst()Z
13153 +.method public isClosed()Z
13156 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13158 + if-eqz v0, :cond_b
13160 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13162 + invoke-interface {v0}, Landroid/database/Cursor;->isClosed()Z
13175 +.method public isFirst()Z
13180 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13182 + if-eqz v1, :cond_12
13184 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13186 + invoke-interface {v1}, Landroid/database/Cursor;->getPosition()I
13190 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13194 + if-ne v1, v2, :cond_12
13202 +.method public isLast()Z
13205 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13207 + if-eqz v0, :cond_17
13209 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13211 + invoke-interface {v0}, Landroid/database/Cursor;->getPosition()I
13215 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13217 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13219 + array-length v2, v2
13221 + add-int/lit8 v2, v2, -0x1
13225 + if-ne v0, v1, :cond_17
13238 +.method public isNull(I)Z
13241 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13243 + if-eqz v0, :cond_b
13245 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13247 + invoke-interface {v0, p1}, Landroid/database/Cursor;->isNull(I)Z
13260 +.method public move(I)Z
13265 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13267 + if-eqz v3, :cond_33
13269 + const-string v3, "PrivacyCursor"
13271 + new-instance v4, Ljava/lang/StringBuilder;
13273 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
13275 + const-string/jumbo v5, "move - offset: "
13277 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13279 + move-result-object v4
13281 + invoke-virtual {v4, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
13283 + move-result-object v4
13285 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
13287 + move-result-object v4
13289 + invoke-static {v3, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
13292 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13294 + iget-object v4, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13296 + invoke-interface {v4}, Landroid/database/Cursor;->getPosition()I
13300 + invoke-direct {p0, v4}, Landroid/privacy/surrogate/PrivacyCursor;->getMappedPos(I)I
13304 + add-int/2addr v4, p1
13308 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13310 + invoke-interface {v3, v1}, Landroid/database/Cursor;->moveToPosition(I)Z
13312 + .catch Ljava/lang/ArrayIndexOutOfBoundsException; {:try_start_1e .. :try_end_32} :catch_34
13321 + move-exception v0
13326 +.method public moveToFirst()Z
13331 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13333 + if-eqz v1, :cond_f
13335 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13337 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13341 + invoke-interface {v1, v2}, Landroid/database/Cursor;->moveToPosition(I)Z
13349 +.method public moveToLast()Z
13352 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13354 + if-eqz v1, :cond_14
13356 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13358 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13360 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13362 + array-length v3, v3
13364 + add-int/lit8 v3, v3, -0x1
13368 + invoke-interface {v1, v2}, Landroid/database/Cursor;->moveToPosition(I)Z
13381 +.method public moveToNext()Z
13386 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13388 + if-eqz v1, :cond_d
13390 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13392 + invoke-interface {v1}, Landroid/database/Cursor;->moveToNext()Z
13396 + if-nez v1, :cond_e
13407 + if-ne v0, v1, :cond_d
13409 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13411 + invoke-direct {p0, v1}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(Landroid/database/Cursor;)Z
13415 + if-nez v1, :cond_d
13417 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13419 + invoke-interface {v1}, Landroid/database/Cursor;->moveToNext()Z
13426 +.method public moveToPosition(I)Z
13431 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13433 + if-eqz v2, :cond_f
13436 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13438 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13442 + invoke-interface {v2, v3}, Landroid/database/Cursor;->moveToPosition(I)Z
13444 + .catch Ljava/lang/ArrayIndexOutOfBoundsException; {:try_start_5 .. :try_end_e} :catch_10
13453 + move-exception v0
13458 +.method public moveToPrevious()Z
13463 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13465 + if-eqz v1, :cond_d
13467 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13469 + invoke-interface {v1}, Landroid/database/Cursor;->moveToPrevious()Z
13473 + if-nez v1, :cond_e
13484 + if-ne v0, v1, :cond_d
13486 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13488 + invoke-direct {p0, v1}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(Landroid/database/Cursor;)Z
13492 + if-nez v1, :cond_d
13494 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13496 + invoke-interface {v1}, Landroid/database/Cursor;->moveToPrevious()Z
13503 +.method public registerContentObserver(Landroid/database/ContentObserver;)V
13506 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13508 + if-eqz v0, :cond_9
13510 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13512 + invoke-interface {v0, p1}, Landroid/database/Cursor;->registerContentObserver(Landroid/database/ContentObserver;)V
13518 +.method public registerDataSetObserver(Landroid/database/DataSetObserver;)V
13521 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13523 + if-eqz v0, :cond_9
13525 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13527 + invoke-interface {v0, p1}, Landroid/database/Cursor;->registerDataSetObserver(Landroid/database/DataSetObserver;)V
13533 +.method public requery()Z
13536 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13538 + if-eqz v0, :cond_b
13540 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13542 + invoke-interface {v0}, Landroid/database/Cursor;->requery()Z
13555 +.method public respond(Landroid/os/Bundle;)Landroid/os/Bundle;
13558 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13560 + if-eqz v0, :cond_b
13562 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13564 + invoke-interface {v0, p1}, Landroid/database/Cursor;->respond(Landroid/os/Bundle;)Landroid/os/Bundle;
13566 + move-result-object v0
13572 + new-instance v0, Landroid/os/Bundle;
13574 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
13579 +.method public setNotificationUri(Landroid/content/ContentResolver;Landroid/net/Uri;)V
13582 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13584 + if-eqz v0, :cond_9
13586 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13588 + invoke-interface {v0, p1, p2}, Landroid/database/Cursor;->setNotificationUri(Landroid/content/ContentResolver;Landroid/net/Uri;)V
13594 +.method public unregisterContentObserver(Landroid/database/ContentObserver;)V
13597 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13599 + if-eqz v0, :cond_9
13601 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13603 + invoke-interface {v0, p1}, Landroid/database/Cursor;->unregisterContentObserver(Landroid/database/ContentObserver;)V
13609 +.method public unregisterDataSetObserver(Landroid/database/DataSetObserver;)V
13612 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13614 + if-eqz v0, :cond_9
13616 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13618 + invoke-interface {v0, p1}, Landroid/database/Cursor;->unregisterDataSetObserver(Landroid/database/DataSetObserver;)V
13623 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali
13624 --- stock-framework/smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali 1969-12-31 18:00:00.000000000 -0600
13625 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali 2012-10-05 10:15:48.441126915 -0500
13627 +.class Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
13628 +.super Ljava/lang/Thread;
13629 +.source "PrivacyLocationManager.java"
13633 +.annotation system Ldalvik/annotation/EnclosingClass;
13634 + value = Landroid/privacy/surrogate/PrivacyLocationManager;
13637 +.annotation system Ldalvik/annotation/InnerClass;
13638 + accessFlags = 0x2
13639 + name = "PrivacyLocationUpdater"
13644 +.field private intent:Landroid/app/PendingIntent;
13646 +.field private latitude:D
13648 +.field private listener:Landroid/location/LocationListener;
13650 +.field private longitude:D
13652 +.field private provider:Ljava/lang/String;
13654 +.field final synthetic this$0:Landroid/privacy/surrogate/PrivacyLocationManager;
13658 +.method public constructor <init>(Landroid/privacy/surrogate/PrivacyLocationManager;Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;DD)V
13661 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->this$0:Landroid/privacy/surrogate/PrivacyLocationManager;
13663 + invoke-direct {p0}, Ljava/lang/Thread;-><init>()V
13665 + iput-object p2, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->provider:Ljava/lang/String;
13667 + iput-object p3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->listener:Landroid/location/LocationListener;
13669 + iput-object p4, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->intent:Landroid/app/PendingIntent;
13671 + iput-wide p5, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->latitude:D
13673 + iput-wide p7, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->longitude:D
13680 +.method public run()V
13683 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->provider:Ljava/lang/String;
13685 + if-eqz v3, :cond_43
13687 + new-instance v2, Landroid/location/Location;
13689 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->provider:Ljava/lang/String;
13691 + invoke-direct {v2, v3}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
13693 + iget-wide v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->latitude:D
13695 + invoke-virtual {v2, v3, v4}, Landroid/location/Location;->setLatitude(D)V
13697 + iget-wide v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->longitude:D
13699 + invoke-virtual {v2, v3, v4}, Landroid/location/Location;->setLongitude(D)V
13706 + if-ge v1, v3, :cond_43
13708 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->listener:Landroid/location/LocationListener;
13710 + if-eqz v3, :cond_34
13712 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->listener:Landroid/location/LocationListener;
13714 + invoke-interface {v3, v2}, Landroid/location/LocationListener;->onLocationChanged(Landroid/location/Location;)V
13719 + invoke-static {}, Ljava/lang/Math;->random()D
13721 + move-result-wide v3
13723 + const-wide v5, 0x408f400000000000L
13725 + mul-double/2addr v3, v5
13727 + double-to-int v3, v3
13729 + int-to-long v3, v3
13731 + invoke-static {v3, v4}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->sleep(J)V
13733 + .catch Ljava/lang/InterruptedException; {:try_start_22 .. :try_end_31} :catch_3e
13736 + add-int/lit8 v1, v1, 0x1
13741 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->intent:Landroid/app/PendingIntent;
13743 + if-eqz v3, :cond_22
13745 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->intent:Landroid/app/PendingIntent;
13747 + invoke-virtual {v3}, Landroid/app/PendingIntent;->cancel()V
13752 + move-exception v0
13754 + invoke-virtual {v0}, Ljava/lang/InterruptedException;->printStackTrace()V
13761 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyLocationManager.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyLocationManager.smali
13762 --- stock-framework/smali/android/privacy/surrogate/PrivacyLocationManager.smali 1969-12-31 18:00:00.000000000 -0600
13763 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyLocationManager.smali 2012-10-05 10:15:48.445126940 -0500
13765 +.class public final Landroid/privacy/surrogate/PrivacyLocationManager;
13766 +.super Landroid/location/LocationManager;
13767 +.source "PrivacyLocationManager.java"
13771 +.annotation system Ldalvik/annotation/MemberClasses;
13773 + Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
13779 +.field private static final CUSTOM_LOCATION_UPDATE_COUNT:I = 0x5
13781 +.field private static final TAG:Ljava/lang/String; = "PrivacyLocationManager"
13785 +.field private context:Landroid/content/Context;
13787 +.field private lock:Ljava/lang/Object;
13789 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
13793 +.method public constructor <init>(Landroid/location/ILocationManager;Landroid/content/Context;)V
13796 + invoke-direct {p0, p1}, Landroid/location/LocationManager;-><init>(Landroid/location/ILocationManager;)V
13798 + new-instance v0, Ljava/lang/Object;
13800 + invoke-direct {v0}, Ljava/lang/Object;-><init>()V
13802 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->lock:Ljava/lang/Object;
13804 + iput-object p2, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
13806 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
13808 + const-string/jumbo v1, "privacy"
13810 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
13812 + move-result-object v1
13814 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
13816 + move-result-object v1
13818 + invoke-direct {v0, p2, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
13820 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
13825 +.method private requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
13830 + if-nez p1, :cond_5
13838 + invoke-virtual {p1}, Landroid/location/Criteria;->getAccuracy()I
13844 + if-eq v0, v1, :cond_24
13846 + invoke-virtual {p1}, Landroid/location/Criteria;->getBearingAccuracy()I
13850 + if-eq v0, v2, :cond_24
13852 + invoke-virtual {p1}, Landroid/location/Criteria;->getHorizontalAccuracy()I
13856 + if-eq v0, v2, :cond_24
13858 + invoke-virtual {p1}, Landroid/location/Criteria;->getVerticalAccuracy()I
13862 + if-eq v0, v2, :cond_24
13864 + invoke-virtual {p1}, Landroid/location/Criteria;->getSpeedAccuracy()I
13868 + if-ne v0, v2, :cond_2b
13871 + const-string v0, "gps"
13873 + invoke-direct {p0, v0, p2, p3}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
13880 + const-string/jumbo v0, "network"
13882 + invoke-direct {p0, v0, p2, p3}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
13889 +.method private requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
13892 + move-object/from16 v0, p0
13894 + iget-object v0, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->lock:Ljava/lang/Object;
13896 + move-object/from16 v19, v0
13898 + monitor-enter v19
13901 + move-object/from16 v0, p0
13903 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
13905 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
13907 + move-result-object v2
13909 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
13913 + move-object/from16 v0, p0
13915 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
13917 + invoke-virtual {v1, v2, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
13919 + move-result-object v7
13921 + const/16 v18, 0x0
13923 + if-eqz v7, :cond_239
13925 + const-string v1, "gps"
13927 + move-object/from16 v0, p1
13929 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
13933 + if-eqz v1, :cond_111
13935 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
13939 + packed-switch v1, :pswitch_data_25e
13948 + move-object/from16 v0, p0
13950 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
13954 + const-string v5, "locationGPS"
13958 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
13963 + move-exception v1
13967 + .catchall {:try_start_7 .. :try_end_40} :catchall_3e
13972 + if-eqz p3, :cond_46
13975 + invoke-virtual/range {p3 .. p3}, Landroid/app/PendingIntent;->cancel()V
13978 + const/16 v18, 0x1
13980 + move-object/from16 v0, p0
13982 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
13986 + const-string v5, "locationGPS"
13990 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
13992 + .catchall {:try_start_43 .. :try_end_53} :catchall_3e
13998 + new-instance v8, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
14000 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
14002 + move-result-object v1
14004 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14006 + move-result-wide v13
14008 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
14010 + move-result-object v1
14012 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14014 + move-result-wide v15
14016 + move-object/from16 v9, p0
14018 + move-object/from16 v10, p1
14020 + move-object/from16 v11, p2
14022 + move-object/from16 v12, p3
14024 + 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
14026 + invoke-virtual {v8}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->start()V
14028 + .catchall {:try_start_54 .. :try_end_74} :catchall_3e
14029 + .catch Ljava/lang/NumberFormatException; {:try_start_54 .. :try_end_74} :catch_a6
14031 + const/16 v18, 0x1
14035 + move-object/from16 v0, p0
14037 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14041 + const-string v5, "locationGPS"
14043 + new-instance v6, Ljava/lang/StringBuilder;
14045 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
14047 + const-string v8, "Lat: "
14049 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14051 + move-result-object v6
14053 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
14055 + move-result-object v8
14057 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14059 + move-result-object v6
14061 + const-string v8, " Lon: "
14063 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14065 + move-result-object v6
14067 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
14069 + move-result-object v8
14071 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14073 + move-result-object v6
14075 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14077 + move-result-object v6
14079 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14084 + move-exception v17
14086 + const-string v1, "PrivacyLocationManager"
14088 + const-string/jumbo v4, "requestLocationUpdates: invalid coordinates"
14090 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
14092 + .catchall {:try_start_76 .. :try_end_af} :catchall_3e
14094 + const/16 v18, 0x1
14100 + new-instance v8, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
14102 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
14104 + move-result-object v1
14106 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14108 + move-result-wide v13
14110 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
14112 + move-result-object v1
14114 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14116 + move-result-wide v15
14118 + move-object/from16 v9, p0
14120 + move-object/from16 v10, p1
14122 + move-object/from16 v11, p2
14124 + move-object/from16 v12, p3
14126 + 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
14128 + invoke-virtual {v8}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->start()V
14130 + .catchall {:try_start_b2 .. :try_end_d2} :catchall_3e
14131 + .catch Ljava/lang/NumberFormatException; {:try_start_b2 .. :try_end_d2} :catch_105
14133 + const/16 v18, 0x1
14137 + move-object/from16 v0, p0
14139 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14143 + const-string v5, "locationGPS"
14145 + new-instance v6, Ljava/lang/StringBuilder;
14147 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
14149 + const-string v8, "Lat: "
14151 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14153 + move-result-object v6
14155 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
14157 + move-result-object v8
14159 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14161 + move-result-object v6
14163 + const-string v8, " Lon: "
14165 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14167 + move-result-object v6
14169 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
14171 + move-result-object v8
14173 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14175 + move-result-object v6
14177 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14179 + move-result-object v6
14181 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14186 + move-exception v17
14188 + const-string v1, "PrivacyLocationManager"
14190 + const-string/jumbo v4, "requestLocationUpdates: invalid coordinates"
14192 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
14194 + const/16 v18, 0x1
14199 + const-string/jumbo v1, "network"
14201 + move-object/from16 v0, p1
14203 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
14207 + if-eqz v1, :cond_204
14209 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
14213 + packed-switch v1, :pswitch_data_26a
14218 + move-object/from16 v0, p0
14220 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14224 + const-string v5, "locationNetwork"
14228 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14233 + if-eqz p3, :cond_137
14235 + invoke-virtual/range {p3 .. p3}, Landroid/app/PendingIntent;->cancel()V
14238 + const/16 v18, 0x1
14240 + move-object/from16 v0, p0
14242 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14246 + const-string v5, "locationNetwork"
14250 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14252 + .catchall {:try_start_d4 .. :try_end_144} :catchall_3e
14258 + new-instance v8, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
14260 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
14262 + move-result-object v1
14264 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14266 + move-result-wide v13
14268 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
14270 + move-result-object v1
14272 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14274 + move-result-wide v15
14276 + move-object/from16 v9, p0
14278 + move-object/from16 v10, p1
14280 + move-object/from16 v11, p2
14282 + move-object/from16 v12, p3
14284 + 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
14286 + invoke-virtual {v8}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->start()V
14288 + .catchall {:try_start_146 .. :try_end_166} :catchall_3e
14289 + .catch Ljava/lang/NumberFormatException; {:try_start_146 .. :try_end_166} :catch_199
14291 + const/16 v18, 0x1
14295 + move-object/from16 v0, p0
14297 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14301 + const-string v5, "locationNetwork"
14303 + new-instance v6, Ljava/lang/StringBuilder;
14305 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
14307 + const-string v8, "Lat: "
14309 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14311 + move-result-object v6
14313 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
14315 + move-result-object v8
14317 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14319 + move-result-object v6
14321 + const-string v8, " Lon: "
14323 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14325 + move-result-object v6
14327 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
14329 + move-result-object v8
14331 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14333 + move-result-object v6
14335 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14337 + move-result-object v6
14339 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14344 + move-exception v17
14346 + const-string v1, "PrivacyLocationManager"
14348 + const-string/jumbo v4, "requestLocationUpdates: invalid coordinates"
14350 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
14352 + .catchall {:try_start_168 .. :try_end_1a2} :catchall_3e
14354 + const/16 v18, 0x1
14360 + new-instance v8, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
14362 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
14364 + move-result-object v1
14366 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14368 + move-result-wide v13
14370 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
14372 + move-result-object v1
14374 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14376 + move-result-wide v15
14378 + move-object/from16 v9, p0
14380 + move-object/from16 v10, p1
14382 + move-object/from16 v11, p2
14384 + move-object/from16 v12, p3
14386 + 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
14388 + invoke-virtual {v8}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->start()V
14390 + .catchall {:try_start_1a5 .. :try_end_1c5} :catchall_3e
14391 + .catch Ljava/lang/NumberFormatException; {:try_start_1a5 .. :try_end_1c5} :catch_1f8
14393 + const/16 v18, 0x1
14397 + move-object/from16 v0, p0
14399 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14403 + const-string v5, "locationNetwork"
14405 + new-instance v6, Ljava/lang/StringBuilder;
14407 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
14409 + const-string v8, "Lat: "
14411 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14413 + move-result-object v6
14415 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
14417 + move-result-object v8
14419 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14421 + move-result-object v6
14423 + const-string v8, " Lon: "
14425 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14427 + move-result-object v6
14429 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
14431 + move-result-object v8
14433 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14435 + move-result-object v6
14437 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14439 + move-result-object v6
14441 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14446 + move-exception v17
14448 + const-string v1, "PrivacyLocationManager"
14450 + const-string/jumbo v4, "requestLocationUpdates: invalid coordinates"
14452 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
14454 + const/16 v18, 0x1
14459 + const-string/jumbo v1, "passive"
14461 + move-object/from16 v0, p1
14463 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
14467 + if-eqz v1, :cond_30
14469 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
14473 + if-nez v1, :cond_22a
14475 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
14479 + if-nez v1, :cond_22a
14481 + const/16 v18, 0x0
14483 + move-object/from16 v0, p0
14485 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14489 + const-string v5, "locationGPS"
14493 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14498 + const/16 v18, 0x1
14500 + move-object/from16 v0, p0
14502 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14506 + const-string v5, "locationGPS"
14510 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14515 + const-string/jumbo v1, "network"
14517 + move-object/from16 v0, p1
14519 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
14523 + if-eqz v1, :cond_251
14525 + move-object/from16 v0, p0
14527 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14531 + const-string v5, "locationNetwork"
14535 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14540 + move-object/from16 v0, p0
14542 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14546 + const-string v5, "locationGPS"
14550 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14552 + .catchall {:try_start_1c7 .. :try_end_25c} :catchall_3e
14556 + :pswitch_data_25e
14557 + .packed-switch 0x0
14562 + .end packed-switch
14564 + :pswitch_data_26a
14565 + .packed-switch 0x0
14570 + .end packed-switch
14575 +.method public addNmeaListener(Landroid/location/GpsStatus$NmeaListener;)Z
14582 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
14584 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
14586 + move-result-object v1
14588 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
14592 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14594 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
14596 + move-result-object v6
14598 + if-eqz v6, :cond_24
14600 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
14604 + if-eqz v0, :cond_24
14606 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14610 + const-string v4, "locationGPS"
14612 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14620 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14622 + const-string v4, "locationGPS"
14626 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14628 + invoke-super {p0, p1}, Landroid/location/LocationManager;->addNmeaListener(Landroid/location/GpsStatus$NmeaListener;)Z
14635 +.method public getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
14648 + if-nez p1, :cond_c
14650 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
14652 + move-result-object v7
14659 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
14661 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
14663 + move-result-object v1
14665 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
14669 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14671 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
14673 + move-result-object v6
14677 + if-eqz v6, :cond_22c
14679 + const-string v0, "gps"
14681 + invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
14685 + if-eqz v0, :cond_ff
14687 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
14691 + packed-switch v0, :pswitch_data_29a
14696 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
14698 + move-result-object v7
14700 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14702 + const-string v4, "locationGPS"
14704 + if-eqz v7, :cond_5e
14706 + new-instance v5, Ljava/lang/StringBuilder;
14708 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
14710 + const-string v8, "Lat: "
14712 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14714 + move-result-object v5
14716 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
14718 + move-result-wide v8
14720 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
14722 + move-result-object v5
14724 + const-string v8, " Lon: "
14726 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14728 + move-result-object v5
14730 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
14732 + move-result-wide v8
14734 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
14736 + move-result-object v5
14738 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14740 + move-result-object v5
14743 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14748 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14750 + const-string v4, "locationGPS"
14754 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14759 + new-instance v7, Landroid/location/Location;
14761 + invoke-direct {v7, p1}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
14763 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
14765 + move-result-object v0
14767 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14769 + move-result-wide v3
14771 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLatitude(D)V
14773 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
14775 + move-result-object v0
14777 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14779 + move-result-wide v3
14781 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLongitude(D)V
14783 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14785 + const-string v4, "locationGPS"
14787 + new-instance v3, Ljava/lang/StringBuilder;
14789 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
14791 + const-string v5, "Lat: "
14793 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14795 + move-result-object v3
14797 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
14799 + move-result-wide v8
14801 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
14803 + move-result-object v3
14805 + const-string v5, " Lon: "
14807 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14809 + move-result-object v3
14811 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
14813 + move-result-wide v8
14815 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
14817 + move-result-object v3
14819 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14821 + move-result-object v5
14825 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14830 + new-instance v7, Landroid/location/Location;
14832 + invoke-direct {v7, p1}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
14834 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
14836 + move-result-object v0
14838 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14840 + move-result-wide v3
14842 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLatitude(D)V
14844 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
14846 + move-result-object v0
14848 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14850 + move-result-wide v3
14852 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLongitude(D)V
14854 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14856 + const-string v4, "locationGPS"
14858 + new-instance v3, Ljava/lang/StringBuilder;
14860 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
14862 + const-string v5, "Lat: "
14864 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14866 + move-result-object v3
14868 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
14870 + move-result-wide v8
14872 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
14874 + move-result-object v3
14876 + const-string v5, " Lon: "
14878 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14880 + move-result-object v3
14882 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
14884 + move-result-wide v8
14886 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
14888 + move-result-object v3
14890 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14892 + move-result-object v5
14896 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14901 + const-string/jumbo v0, "network"
14903 + invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
14907 + if-eqz v0, :cond_1e3
14909 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
14913 + packed-switch v0, :pswitch_data_2a6
14918 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
14920 + move-result-object v7
14922 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14924 + const-string v4, "locationNetwork"
14926 + if-eqz v7, :cond_140
14928 + new-instance v5, Ljava/lang/StringBuilder;
14930 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
14932 + const-string v8, "Lat: "
14934 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14936 + move-result-object v5
14938 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
14940 + move-result-wide v8
14942 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
14944 + move-result-object v5
14946 + const-string v8, " Lon: "
14948 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14950 + move-result-object v5
14952 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
14954 + move-result-wide v8
14956 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
14958 + move-result-object v5
14960 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14962 + move-result-object v5
14965 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14970 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14972 + const-string v4, "locationNetwork"
14976 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14981 + new-instance v7, Landroid/location/Location;
14983 + invoke-direct {v7, p1}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
14985 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
14987 + move-result-object v0
14989 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14991 + move-result-wide v3
14993 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLatitude(D)V
14995 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
14997 + move-result-object v0
14999 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
15001 + move-result-wide v3
15003 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLongitude(D)V
15005 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15007 + const-string v4, "locationNetwork"
15009 + new-instance v3, Ljava/lang/StringBuilder;
15011 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
15013 + const-string v5, "Lat: "
15015 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15017 + move-result-object v3
15019 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15021 + move-result-wide v8
15023 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15025 + move-result-object v3
15027 + const-string v5, " Lon: "
15029 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15031 + move-result-object v3
15033 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15035 + move-result-wide v8
15037 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15039 + move-result-object v3
15041 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15043 + move-result-object v5
15047 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15052 + new-instance v7, Landroid/location/Location;
15054 + invoke-direct {v7, p1}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
15056 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
15058 + move-result-object v0
15060 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
15062 + move-result-wide v3
15064 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLatitude(D)V
15066 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
15068 + move-result-object v0
15070 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
15072 + move-result-wide v3
15074 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLongitude(D)V
15076 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15078 + const-string v4, "locationNetwork"
15080 + new-instance v3, Ljava/lang/StringBuilder;
15082 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
15084 + const-string v5, "Lat: "
15086 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15088 + move-result-object v3
15090 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15092 + move-result-wide v8
15094 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15096 + move-result-object v3
15098 + const-string v5, " Lon: "
15100 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15102 + move-result-object v3
15104 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15106 + move-result-wide v8
15108 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15110 + move-result-object v3
15112 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15114 + move-result-object v5
15118 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15123 + const-string/jumbo v0, "passive"
15125 + invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15129 + if-eqz v0, :cond_b
15131 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
15135 + if-nez v0, :cond_b
15137 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15141 + if-nez v0, :cond_b
15143 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
15145 + move-result-object v7
15147 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15149 + const-string v4, "locationGPS"
15151 + if-eqz v7, :cond_227
15153 + new-instance v5, Ljava/lang/StringBuilder;
15155 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
15157 + const-string v8, "Lat: "
15159 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15161 + move-result-object v5
15163 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15165 + move-result-wide v8
15167 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15169 + move-result-object v5
15171 + const-string v8, " Lon: "
15173 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15175 + move-result-object v5
15177 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15179 + move-result-wide v8
15181 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15183 + move-result-object v5
15185 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15187 + move-result-object v5
15190 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15195 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
15197 + move-result-object v7
15199 + const-string/jumbo v0, "network"
15201 + invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15205 + if-eqz v0, :cond_269
15207 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15209 + const-string v4, "locationNetwork"
15211 + if-eqz v7, :cond_264
15213 + new-instance v5, Ljava/lang/StringBuilder;
15215 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
15217 + const-string v8, "Lat: "
15219 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15221 + move-result-object v5
15223 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15225 + move-result-wide v8
15227 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15229 + move-result-object v5
15231 + const-string v8, " Lon: "
15233 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15235 + move-result-object v5
15237 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15239 + move-result-wide v8
15241 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15243 + move-result-object v5
15245 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15247 + move-result-object v5
15250 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15255 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15257 + const-string v4, "locationGPS"
15259 + if-eqz v7, :cond_294
15261 + new-instance v5, Ljava/lang/StringBuilder;
15263 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
15265 + const-string v8, "Lat: "
15267 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15269 + move-result-object v5
15271 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15273 + move-result-wide v8
15275 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15277 + move-result-object v5
15279 + const-string v8, " Lon: "
15281 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15283 + move-result-object v5
15285 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15287 + move-result-wide v8
15289 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15291 + move-result-object v5
15293 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15295 + move-result-object v5
15298 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15304 + :pswitch_data_29a
15305 + .packed-switch 0x0
15310 + .end packed-switch
15312 + :pswitch_data_2a6
15313 + .packed-switch 0x0
15318 + .end packed-switch
15321 +.method public getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15324 + if-nez p1, :cond_7
15326 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15328 + move-result-object v0
15335 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15337 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
15339 + invoke-virtual {v3}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
15341 + move-result-object v3
15343 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
15347 + invoke-virtual {v2, v3, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
15349 + move-result-object v1
15353 + if-eqz v1, :cond_5f
15355 + const-string v2, "gps"
15357 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15361 + if-eqz v2, :cond_2f
15363 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
15367 + packed-switch v2, :pswitch_data_64
15373 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15375 + move-result-object v0
15380 + const-string/jumbo v2, "network"
15382 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15386 + if-eqz v2, :cond_45
15388 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15392 + packed-switch v2, :pswitch_data_70
15398 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15400 + move-result-object v0
15405 + const-string/jumbo v2, "passive"
15407 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15411 + if-eqz v2, :cond_6
15413 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
15417 + if-eqz v2, :cond_5a
15419 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15423 + if-nez v2, :cond_6
15426 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15428 + move-result-object v0
15433 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15435 + move-result-object v0
15440 + .packed-switch 0x0
15445 + .end packed-switch
15448 + .packed-switch 0x0
15453 + .end packed-switch
15456 +.method public isProviderEnabled(Ljava/lang/String;)Z
15459 + if-nez p1, :cond_7
15461 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
15471 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15473 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
15475 + invoke-virtual {v3}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
15477 + move-result-object v3
15479 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
15483 + invoke-virtual {v2, v3, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
15485 + move-result-object v1
15489 + if-eqz v1, :cond_65
15491 + const-string v2, "gps"
15493 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15497 + if-eqz v2, :cond_31
15499 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
15503 + packed-switch v2, :pswitch_data_6a
15508 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
15520 + const-string/jumbo v2, "network"
15522 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15526 + if-eqz v2, :cond_49
15528 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15532 + packed-switch v2, :pswitch_data_76
15537 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
15549 + const-string/jumbo v2, "passive"
15551 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15555 + if-eqz v2, :cond_6
15557 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
15561 + if-eqz v2, :cond_5e
15563 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15567 + if-nez v2, :cond_63
15570 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
15582 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
15589 + .packed-switch 0x0
15594 + .end packed-switch
15597 + .packed-switch 0x0
15602 + .end packed-switch
15605 +.method public requestLocationUpdates(JFLandroid/location/Criteria;Landroid/app/PendingIntent;)V
15608 + if-eqz p4, :cond_4
15610 + if-nez p5, :cond_8
15613 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/app/PendingIntent;)V
15622 + invoke-direct {p0, p4, v0, p5}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15626 + if-nez v0, :cond_7
15628 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/app/PendingIntent;)V
15633 +.method public requestLocationUpdates(JFLandroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
15636 + if-eqz p4, :cond_4
15638 + if-nez p5, :cond_8
15641 + invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
15650 + invoke-direct {p0, p4, p5, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15654 + if-nez v0, :cond_7
15656 + invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
15661 +.method public requestLocationUpdates(Ljava/lang/String;JFLandroid/app/PendingIntent;)V
15664 + if-eqz p1, :cond_4
15666 + if-nez p5, :cond_8
15669 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/app/PendingIntent;)V
15678 + invoke-direct {p0, p1, v0, p5}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15682 + if-nez v0, :cond_7
15684 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/app/PendingIntent;)V
15689 +.method public requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;)V
15692 + if-eqz p1, :cond_4
15694 + if-nez p5, :cond_8
15697 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;)V
15706 + invoke-direct {p0, p1, p5, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15710 + if-nez v0, :cond_7
15712 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;)V
15717 +.method public requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;Landroid/os/Looper;)V
15720 + if-eqz p1, :cond_4
15722 + if-nez p5, :cond_8
15725 + invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;Landroid/os/Looper;)V
15734 + invoke-direct {p0, p1, p5, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15738 + if-nez v0, :cond_7
15740 + invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;Landroid/os/Looper;)V
15745 +.method public requestSingleUpdate(Landroid/location/Criteria;Landroid/app/PendingIntent;)V
15748 + if-eqz p1, :cond_4
15750 + if-nez p2, :cond_8
15753 + invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/app/PendingIntent;)V
15762 + invoke-direct {p0, p1, v0, p2}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15766 + if-nez v0, :cond_7
15768 + invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/app/PendingIntent;)V
15773 +.method public requestSingleUpdate(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
15776 + if-eqz p1, :cond_4
15778 + if-nez p2, :cond_8
15781 + invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
15790 + invoke-direct {p0, p1, p2, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15794 + if-nez v0, :cond_7
15796 + invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
15801 +.method public requestSingleUpdate(Ljava/lang/String;Landroid/app/PendingIntent;)V
15804 + if-eqz p1, :cond_4
15806 + if-nez p2, :cond_8
15809 + invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/app/PendingIntent;)V
15818 + invoke-direct {p0, p1, v0, p2}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15822 + if-nez v0, :cond_7
15824 + invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/app/PendingIntent;)V
15829 +.method public requestSingleUpdate(Ljava/lang/String;Landroid/location/LocationListener;Landroid/os/Looper;)V
15832 + if-eqz p1, :cond_4
15834 + if-nez p2, :cond_8
15837 + invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/location/LocationListener;Landroid/os/Looper;)V
15846 + invoke-direct {p0, p1, p2, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15850 + if-nez v0, :cond_7
15852 + invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/location/LocationListener;Landroid/os/Looper;)V
15856 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyTelephonyManager.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyTelephonyManager.smali
15857 --- stock-framework/smali/android/privacy/surrogate/PrivacyTelephonyManager.smali 1969-12-31 18:00:00.000000000 -0600
15858 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyTelephonyManager.smali 2012-10-05 10:15:48.445126940 -0500
15860 +.class public final Landroid/privacy/surrogate/PrivacyTelephonyManager;
15861 +.super Landroid/telephony/TelephonyManager;
15862 +.source "PrivacyTelephonyManager.java"
15866 +.field private static final TAG:Ljava/lang/String; = "PrivacyTelephonyManager"
15870 +.field private context:Landroid/content/Context;
15872 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
15876 +.method public constructor <init>(Landroid/content/Context;)V
15879 + invoke-direct {p0, p1}, Landroid/telephony/TelephonyManager;-><init>(Landroid/content/Context;)V
15881 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
15883 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
15885 + const-string/jumbo v1, "privacy"
15887 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
15889 + move-result-object v1
15891 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
15893 + move-result-object v1
15895 + invoke-direct {v0, p1, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
15897 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15902 +.method private getNetworkInfo()Ljava/lang/String;
15907 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
15909 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
15911 + move-result-object v1
15913 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
15917 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15919 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
15921 + move-result-object v6
15923 + if-eqz v6, :cond_25
15925 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
15929 + if-eqz v0, :cond_25
15931 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15935 + const-string/jumbo v4, "networkInfoCurrent"
15937 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15939 + const-string v5, ""
15945 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15949 + const-string/jumbo v4, "networkInfoCurrent"
15951 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15956 +.method private getSimInfo()Ljava/lang/String;
15961 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
15963 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
15965 + move-result-object v1
15967 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
15971 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15973 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
15975 + move-result-object v6
15977 + if-eqz v6, :cond_25
15979 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSimInfoSetting()B
15983 + if-eqz v0, :cond_25
15985 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15989 + const-string/jumbo v4, "networkInfoSIM"
15991 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15993 + const-string v5, ""
15999 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16003 + const-string/jumbo v4, "networkInfoSIM"
16005 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16012 +.method public getDeviceId()Ljava/lang/String;
16015 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16017 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16019 + move-result-object v1
16021 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16025 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16027 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16029 + move-result-object v6
16031 + if-eqz v6, :cond_28
16033 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
16037 + if-eqz v0, :cond_28
16039 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceId()Ljava/lang/String;
16041 + move-result-object v5
16043 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16045 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
16049 + const-string v4, "deviceID"
16051 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16057 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getDeviceId()Ljava/lang/String;
16059 + move-result-object v5
16061 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16065 + const-string v4, "deviceID"
16067 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16072 +.method public getLine1Number()Ljava/lang/String;
16075 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16077 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16079 + move-result-object v1
16081 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16085 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16087 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16089 + move-result-object v6
16091 + if-eqz v6, :cond_28
16093 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
16097 + if-eqz v0, :cond_28
16099 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1Number()Ljava/lang/String;
16101 + move-result-object v5
16103 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16105 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
16109 + const-string v4, "line1Number"
16111 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16117 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getLine1Number()Ljava/lang/String;
16119 + move-result-object v5
16121 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16125 + const-string v4, "line1Number"
16127 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16132 +.method public getNeighboringCellInfo()Ljava/util/List;
16134 + .annotation system Ldalvik/annotation/Signature;
16137 + "Ljava/util/List",
16139 + "Landroid/telephony/NeighboringCellInfo;",
16144 + iget-object v6, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16146 + iget-object v7, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16148 + invoke-virtual {v7}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16150 + move-result-object v7
16152 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16156 + invoke-virtual {v6, v7, v8}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16158 + move-result-object v5
16162 + const-string v4, "[null]"
16164 + if-eqz v5, :cond_1c
16166 + invoke-virtual {v5}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
16172 + if-ne v6, v7, :cond_1d
16179 + invoke-virtual {v5}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
16183 + if-eqz v6, :cond_2b
16185 + new-instance v3, Ljava/util/ArrayList;
16187 + invoke-direct {v3}, Ljava/util/ArrayList;-><init>()V
16189 + const-string v4, "[empty list of cells]"
16194 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNeighboringCellInfo()Ljava/util/List;
16196 + move-result-object v3
16198 + const-string v0, ""
16200 + invoke-interface {v3}, Ljava/util/List;->iterator()Ljava/util/Iterator;
16202 + move-result-object v2
16205 + invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z
16209 + if-eqz v6, :cond_5f
16211 + invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
16213 + move-result-object v1
16215 + check-cast v1, Landroid/telephony/NeighboringCellInfo;
16217 + new-instance v6, Ljava/lang/StringBuilder;
16219 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
16221 + invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16223 + move-result-object v6
16225 + const-string v7, "\t"
16227 + invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16229 + move-result-object v6
16231 + invoke-virtual {v6, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
16233 + move-result-object v6
16235 + const-string v7, "\n"
16237 + invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16239 + move-result-object v6
16241 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
16243 + move-result-object v0
16248 + new-instance v6, Ljava/lang/StringBuilder;
16250 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
16252 + const-string v7, "[real value]:\n"
16254 + invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16256 + move-result-object v6
16258 + invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16260 + move-result-object v6
16262 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
16264 + move-result-object v4
16269 +.method public getNetworkCountryIso()Ljava/lang/String;
16272 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getNetworkInfo()Ljava/lang/String;
16274 + move-result-object v0
16276 + if-nez v0, :cond_a
16278 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNetworkCountryIso()Ljava/lang/String;
16280 + move-result-object v0
16286 +.method public getNetworkOperator()Ljava/lang/String;
16289 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getNetworkInfo()Ljava/lang/String;
16291 + move-result-object v0
16293 + if-nez v0, :cond_a
16295 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNetworkOperator()Ljava/lang/String;
16297 + move-result-object v0
16303 +.method public getNetworkOperatorName()Ljava/lang/String;
16306 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getNetworkInfo()Ljava/lang/String;
16308 + move-result-object v0
16310 + if-nez v0, :cond_a
16312 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNetworkOperatorName()Ljava/lang/String;
16314 + move-result-object v0
16320 +.method public getSimCountryIso()Ljava/lang/String;
16323 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getSimInfo()Ljava/lang/String;
16325 + move-result-object v0
16327 + if-nez v0, :cond_a
16329 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSimCountryIso()Ljava/lang/String;
16331 + move-result-object v0
16337 +.method public getSimOperator()Ljava/lang/String;
16340 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getSimInfo()Ljava/lang/String;
16342 + move-result-object v0
16344 + if-nez v0, :cond_a
16346 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSimOperator()Ljava/lang/String;
16348 + move-result-object v0
16354 +.method public getSimOperatorName()Ljava/lang/String;
16357 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getSimInfo()Ljava/lang/String;
16359 + move-result-object v0
16361 + if-nez v0, :cond_a
16363 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSimOperatorName()Ljava/lang/String;
16365 + move-result-object v0
16371 +.method public getSimSerialNumber()Ljava/lang/String;
16374 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16376 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16378 + move-result-object v1
16380 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16384 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16386 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16388 + move-result-object v6
16390 + if-eqz v6, :cond_29
16392 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSimSerialNumberSetting()B
16396 + if-eqz v0, :cond_29
16398 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSimSerialNumber()Ljava/lang/String;
16400 + move-result-object v5
16402 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16404 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSimSerialNumberSetting()B
16408 + const-string/jumbo v4, "simSerial"
16410 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16416 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSimSerialNumber()Ljava/lang/String;
16418 + move-result-object v5
16420 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16424 + const-string/jumbo v4, "simSerial"
16426 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16431 +.method public getSubscriberId()Ljava/lang/String;
16434 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16436 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16438 + move-result-object v1
16440 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16444 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16446 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16448 + move-result-object v6
16450 + if-eqz v6, :cond_29
16452 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberIdSetting()B
16456 + if-eqz v0, :cond_29
16458 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberId()Ljava/lang/String;
16460 + move-result-object v5
16462 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16464 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberIdSetting()B
16468 + const-string/jumbo v4, "subscriberID"
16470 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16476 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSubscriberId()Ljava/lang/String;
16478 + move-result-object v5
16480 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16484 + const-string/jumbo v4, "subscriberID"
16486 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16491 +.method public getVoiceMailNumber()Ljava/lang/String;
16494 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16496 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16498 + move-result-object v1
16500 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16504 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16506 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16508 + move-result-object v6
16510 + if-eqz v6, :cond_28
16512 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
16516 + if-eqz v0, :cond_28
16518 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1Number()Ljava/lang/String;
16520 + move-result-object v5
16522 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16524 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
16528 + const-string v4, "line1Number"
16530 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16536 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getVoiceMailNumber()Ljava/lang/String;
16538 + move-result-object v5
16540 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16544 + const-string v4, "line1Number"
16546 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16551 +.method public listen(Landroid/telephony/PhoneStateListener;I)V
16554 + and-int/lit8 v0, p2, 0x10
16556 + if-nez v0, :cond_8
16558 + and-int/lit8 v0, p2, 0x20
16560 + if-eqz v0, :cond_21
16563 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16565 + invoke-virtual {p1, v0}, Landroid/telephony/PhoneStateListener;->setContext(Landroid/content/Context;)V
16567 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16569 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16571 + move-result-object v0
16573 + invoke-virtual {p1, v0}, Landroid/telephony/PhoneStateListener;->setPackageName(Ljava/lang/String;)V
16575 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16579 + invoke-virtual {p1, v0}, Landroid/telephony/PhoneStateListener;->setUid(I)V
16581 + invoke-super {p0, p1, p2}, Landroid/telephony/TelephonyManager;->listen(Landroid/telephony/PhoneStateListener;I)V
16587 + invoke-super {p0, p1, p2}, Landroid/telephony/TelephonyManager;->listen(Landroid/telephony/PhoneStateListener;I)V
16591 diff -Npru stock-framework/smali/android/server/BluetoothService.smali pdroid-framework/smali/android/server/BluetoothService.smali
16592 --- stock-framework/smali/android/server/BluetoothService.smali 2012-10-05 10:16:10.957238572 -0500
16593 +++ pdroid-framework/smali/android/server/BluetoothService.smali 2012-10-05 10:15:48.689128145 -0500
16594 @@ -5759,7 +5759,7 @@
16596 invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
16598 - const-string v1, "mIsAirplaneSensitive = "
16599 + const-string/jumbo v1, "mIsAirplaneSensitive = "
16601 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16603 @@ -5781,7 +5781,7 @@
16605 invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
16607 - const-string v1, "mIsAirplaneToggleable = "
16608 + const-string/jumbo v1, "mIsAirplaneToggleable = "
16610 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16612 diff -Npru stock-framework/smali/android/service/wallpaper/WallpaperService$Engine.smali pdroid-framework/smali/android/service/wallpaper/WallpaperService$Engine.smali
16613 --- stock-framework/smali/android/service/wallpaper/WallpaperService$Engine.smali 2012-10-05 10:16:10.981238686 -0500
16614 +++ pdroid-framework/smali/android/service/wallpaper/WallpaperService$Engine.smali 2012-10-05 10:15:48.709128244 -0500
16615 @@ -730,7 +730,7 @@
16617 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
16619 - const-string v0, "mInitializing="
16620 + const-string/jumbo v0, "mInitializing="
16622 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
16624 @@ -944,7 +944,7 @@
16630 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
16632 const-string/jumbo v0, "mPendingXOffset="
16633 @@ -1001,7 +1001,7 @@
16635 iget-object v0, p0, Landroid/service/wallpaper/WallpaperService$Engine;->mPendingMove:Landroid/view/MotionEvent;
16637 - if-eqz v0, :cond_16c
16638 + if-eqz v0, :cond_16d
16640 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
16642 @@ -1013,17 +1013,17 @@
16644 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
16658 - .catchall {:try_start_112 .. :try_end_170} :catchall_16e
16660 + .catchall {:try_start_113 .. :try_end_171} :catchall_16f
16664 diff -Npru stock-framework/smali/android/telephony/PhoneStateListener$1.smali pdroid-framework/smali/android/telephony/PhoneStateListener$1.smali
16665 --- stock-framework/smali/android/telephony/PhoneStateListener$1.smali 2012-10-05 10:16:11.029238924 -0500
16666 +++ pdroid-framework/smali/android/telephony/PhoneStateListener$1.smali 2012-10-05 10:15:48.757128482 -0500
16667 @@ -64,23 +64,196 @@
16670 .method public onCallStateChanged(ILjava/lang/String;)V
16674 - iget-object v0, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16675 + move-object/from16 v0, p0
16677 - iget-object v0, v0, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
16678 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16680 - const/16 v1, 0x20
16681 + #getter for: Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
16682 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
16685 + move-result-object v3
16687 - invoke-static {v0, v1, p1, v2, p2}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
16688 + if-eqz v3, :cond_99
16690 - move-result-object v0
16691 + if-eqz p2, :cond_99
16693 - invoke-virtual {v0}, Landroid/os/Message;->sendToTarget()V
16694 + invoke-virtual/range {p2 .. p2}, Ljava/lang/String;->isEmpty()Z
16698 + if-nez v3, :cond_99
16700 + move-object/from16 v0, p0
16702 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16704 + #getter for: Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
16705 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
16707 + move-result-object v3
16709 + const-string/jumbo v4, "privacy"
16711 + invoke-virtual {v3, v4}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
16713 + move-result-object v2
16715 + check-cast v2, Landroid/privacy/PrivacySettingsManager;
16717 + move-object/from16 v0, p0
16719 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16721 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
16722 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
16724 + move-result-object v3
16726 + move-object/from16 v0, p0
16728 + iget-object v4, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16730 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
16731 + invoke-static {v4}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
16735 + invoke-virtual {v2, v3, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16737 + move-result-object v8
16739 + if-eqz v8, :cond_6a
16741 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getIncomingCallsSetting()B
16745 + if-eqz v3, :cond_6a
16747 + const-string v7, ""
16749 + move-object/from16 v0, p0
16751 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16753 + iget-object v3, v3, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
16755 + const/16 v4, 0x20
16759 + move/from16 v0, p1
16761 + invoke-static {v3, v4, v0, v5, v7}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
16763 + move-result-object v3
16765 + invoke-virtual {v3}, Landroid/os/Message;->sendToTarget()V
16767 + move-object/from16 v0, p0
16769 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16771 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
16772 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
16774 + move-result-object v3
16776 + move-object/from16 v0, p0
16778 + iget-object v4, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16780 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
16781 + invoke-static {v4}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
16787 + const-string v6, "incomingCall"
16789 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16795 + move-object/from16 v0, p0
16797 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16799 + iget-object v3, v3, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
16801 + const/16 v4, 0x20
16805 + move/from16 v0, p1
16807 + move-object/from16 v1, p2
16809 + invoke-static {v3, v4, v0, v5, v1}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
16811 + move-result-object v3
16813 + invoke-virtual {v3}, Landroid/os/Message;->sendToTarget()V
16815 + move-object/from16 v0, p0
16817 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16819 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
16820 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
16822 + move-result-object v10
16824 + move-object/from16 v0, p0
16826 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16828 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
16829 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
16835 + const-string v13, "incomingCall"
16837 + move-object v9, v2
16839 + move-object/from16 v14, p2
16841 + move-object v15, v8
16843 + invoke-virtual/range {v9 .. v15}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16848 + move-object/from16 v0, p0
16850 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16852 + iget-object v3, v3, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
16854 + const/16 v4, 0x20
16858 + move/from16 v0, p1
16860 + move-object/from16 v1, p2
16862 + invoke-static {v3, v4, v0, v5, v1}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
16864 + move-result-object v3
16866 + invoke-virtual {v3}, Landroid/os/Message;->sendToTarget()V
16871 .method public onCellInfoChanged(Landroid/telephony/CellInfo;)V
16872 @@ -104,27 +277,124 @@
16875 .method public onCellLocationChanged(Landroid/os/Bundle;)V
16883 invoke-static {p1}, Landroid/telephony/CellLocation;->newFromBundle(Landroid/os/Bundle;)Landroid/telephony/CellLocation;
16885 + move-result-object v7
16887 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16889 + #getter for: Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
16890 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
16892 + move-result-object v1
16894 + if-eqz v1, :cond_4a
16896 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16898 + #getter for: Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
16899 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
16901 + move-result-object v1
16903 + const-string/jumbo v2, "privacy"
16905 + invoke-virtual {v1, v2}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
16907 move-result-object v0
16909 + check-cast v0, Landroid/privacy/PrivacySettingsManager;
16911 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16913 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
16914 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
16916 + move-result-object v1
16918 + iget-object v2, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16920 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
16921 + invoke-static {v2}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
16925 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16927 + move-result-object v6
16929 + if-eqz v6, :cond_4b
16931 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
16935 + if-eqz v1, :cond_4b
16937 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16939 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
16940 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
16942 + move-result-object v1
16944 + iget-object v2, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16946 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
16947 + invoke-static {v2}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
16951 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
16955 + const-string v4, "locationNetwork"
16957 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16964 iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16966 iget-object v1, v1, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
16970 - invoke-static {v1, v2, v3, v3, v0}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
16971 + invoke-static {v1, v2, v3, v3, v7}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
16973 move-result-object v1
16975 invoke-virtual {v1}, Landroid/os/Message;->sendToTarget()V
16978 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16980 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
16981 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
16983 + move-result-object v1
16985 + iget-object v2, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16987 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
16988 + invoke-static {v2}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
16992 + const-string v4, "locationNetwork"
16994 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16999 .method public onDataActivity(I)V
17000 diff -Npru stock-framework/smali/android/telephony/PhoneStateListener.smali pdroid-framework/smali/android/telephony/PhoneStateListener.smali
17001 --- stock-framework/smali/android/telephony/PhoneStateListener.smali 2012-10-05 10:16:10.033233985 -0500
17002 +++ pdroid-framework/smali/android/telephony/PhoneStateListener.smali 2012-10-05 10:15:47.669123092 -0500
17003 @@ -31,12 +31,20 @@
17005 .field public static final LISTEN_SIGNAL_STRENGTHS:I = 0x100
17007 +.field private static final TAG:Ljava/lang/String; = "PhoneStateListener"
17011 .field callback:Lcom/android/internal/telephony/IPhoneStateListener;
17013 +.field private context:Landroid/content/Context;
17015 .field mHandler:Landroid/os/Handler;
17017 +.field private packageName:Ljava/lang/String;
17019 +.field private uid:I
17023 .method public constructor <init>()V
17028 +.method static synthetic access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
17031 + iget-object v0, p0, Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
17036 +.method static synthetic access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
17039 + iget-object v0, p0, Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
17044 +.method static synthetic access$200(Landroid/telephony/PhoneStateListener;)I
17047 + iget v0, p0, Landroid/telephony/PhoneStateListener;->uid:I
17054 .method public onCallForwardingIndicatorChanged(Z)V
17055 @@ -134,3 +166,27 @@
17060 +.method public setContext(Landroid/content/Context;)V
17063 + iput-object p1, p0, Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
17068 +.method public setPackageName(Ljava/lang/String;)V
17071 + iput-object p1, p0, Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
17076 +.method public setUid(I)V
17079 + iput p1, p0, Landroid/telephony/PhoneStateListener;->uid:I
17083 diff -Npru stock-framework/smali/android/view/inputmethod/InputMethodInfo.smali pdroid-framework/smali/android/view/inputmethod/InputMethodInfo.smali
17084 --- stock-framework/smali/android/view/inputmethod/InputMethodInfo.smali 2012-10-05 10:16:11.345240491 -0500
17085 +++ pdroid-framework/smali/android/view/inputmethod/InputMethodInfo.smali 2012-10-05 10:15:49.073130049 -0500
17086 @@ -752,7 +752,7 @@
17088 move-result-object v0
17090 - const-string v1, "mIsDefaultResId=0x"
17091 + const-string/jumbo v1, "mIsDefaultResId=0x"
17093 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17095 diff -Npru stock-framework/smali/android/webkit/WebViewClassic.smali pdroid-framework/smali/android/webkit/WebViewClassic.smali
17096 --- stock-framework/smali/android/webkit/WebViewClassic.smali 2012-10-05 10:16:11.485241190 -0500
17097 +++ pdroid-framework/smali/android/webkit/WebViewClassic.smali 2012-10-05 10:15:49.217130763 -0500
17098 @@ -17030,7 +17030,7 @@
17100 const-string/jumbo v1, "webview"
17102 - const-string v2, "mInputDispatcher rejected the event!"
17103 + const-string/jumbo v2, "mInputDispatcher rejected the event!"
17105 invoke-static {v1, v2}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I