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 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
7141 + const-string v0, "0"
7151 +.method public setNotificationsEnabled(Z)Z
7156 + if-eqz p1, :cond_15
7158 + const-string v0, "1"
7161 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
7163 + const-string/jumbo v3, "notifications_enabled"
7165 + invoke-virtual {v2, v3, v0}, Landroid/privacy/PrivacyPersistenceAdapter;->setValue(Ljava/lang/String;Ljava/lang/String;)Z
7169 + if-eqz v2, :cond_18
7171 + iput-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->notificationsEnabled:Z
7173 + iput-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->bootCompleted:Z
7179 + const-string v0, "0"
7188 diff -Npru stock-framework/smali/android/privacy/PrivacySettingsManager.smali pdroid-framework/smali/android/privacy/PrivacySettingsManager.smali
7189 --- stock-framework/smali/android/privacy/PrivacySettingsManager.smali 1969-12-31 18:00:00.000000000 -0600
7190 +++ pdroid-framework/smali/android/privacy/PrivacySettingsManager.smali 2012-10-05 10:15:48.437126896 -0500
7192 +.class public Landroid/privacy/PrivacySettingsManager;
7193 +.super Ljava/lang/Object;
7194 +.source "PrivacySettingsManager.java"
7198 +.field public static final ACTION_PRIVACY_NOTIFICATION:Ljava/lang/String; = "com.privacy.pdroid.PRIVACY_NOTIFICATION"
7200 +.field private static final TAG:Ljava/lang/String; = "PrivacySettingsManager"
7204 +.field private service:Landroid/privacy/IPrivacySettingsManager;
7208 +.method public constructor <init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
7211 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
7213 + iput-object p2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7220 +.method public addObserver(Ljava/lang/String;)V
7224 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7226 + if-eqz v1, :cond_a
7228 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7230 + invoke-interface {v1, p1}, Landroid/privacy/IPrivacySettingsManager;->addObserver(Ljava/lang/String;)V
7236 + const-string v1, "PrivacySettingsManager"
7238 + const-string v2, "deleteSettings - PrivacySettingsManagerService is null"
7240 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7242 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_11} :catch_12
7249 + const-string v1, "PrivacySettingsManager"
7251 + const-string v2, "RemoteException in addObserver: "
7253 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7258 +.method public deleteSettings(Ljava/lang/String;)Z
7261 + invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettingsManager;->deleteSettings(Ljava/lang/String;)Z
7268 +.method public deleteSettings(Ljava/lang/String;I)Z
7274 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7276 + if-eqz v2, :cond_c
7278 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7280 + invoke-interface {v2, p1}, Landroid/privacy/IPrivacySettingsManager;->deleteSettings(Ljava/lang/String;)Z
7288 + const-string v2, "PrivacySettingsManager"
7290 + const-string v3, "deleteSettings - PrivacySettingsManagerService is null"
7292 + invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7294 + .catch Landroid/os/RemoteException; {:try_start_1 .. :try_end_13} :catch_14
7301 + const-string v2, "PrivacySettingsManager"
7303 + const-string v3, "RemoteException in deleteSettings: "
7305 + invoke-static {v2, v3, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7310 +.method public getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
7316 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7318 + if-eqz v2, :cond_c
7320 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7322 + invoke-interface {v2, p1}, Landroid/privacy/IPrivacySettingsManager;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
7324 + move-result-object v1
7330 + const-string v2, "PrivacySettingsManager"
7332 + const-string v3, "getSettings - PrivacySettingsManagerService is null"
7334 + invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7336 + .catch Landroid/os/RemoteException; {:try_start_1 .. :try_end_13} :catch_14
7343 + invoke-virtual {v0}, Landroid/os/RemoteException;->printStackTrace()V
7348 +.method public getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
7351 + invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
7353 + move-result-object v0
7358 +.method public getVersion()D
7362 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7364 + if-eqz v1, :cond_b
7366 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7368 + invoke-interface {v1}, Landroid/privacy/IPrivacySettingsManager;->getVersion()D
7370 + move-result-wide v1
7376 + const-string v1, "PrivacySettingsManager"
7378 + const-string v2, "getVersion - PrivacySettingsManagerService is null"
7380 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7382 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_12} :catch_15
7385 + const-wide/16 v1, 0x0
7392 + const-string v1, "PrivacySettingsManager"
7394 + const-string v2, "RemoteException in getVersion: "
7396 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7401 +.method public isServiceAvailable()Z
7404 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7406 + if-eqz v0, :cond_6
7419 +.method public notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
7423 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7425 + if-eqz v1, :cond_a
7427 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7429 + invoke-interface {v1, p1, p2, p3, p4}, Landroid/privacy/IPrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
7435 + const-string v1, "PrivacySettingsManager"
7437 + const-string v2, "deleteSettings - PrivacySettingsManagerService is null"
7439 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7441 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_11} :catch_12
7448 + const-string v1, "PrivacySettingsManager"
7450 + const-string v2, "RemoteException in notification: "
7452 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7457 +.method public notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
7460 + move-object v0, p0
7462 + move-object v1, p1
7466 + move-object v3, p4
7468 + move-object v4, p5
7470 + move-object v5, p6
7472 + invoke-virtual/range {v0 .. v5}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
7477 +.method public purgeSettings()Z
7481 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7483 + if-eqz v1, :cond_b
7485 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7487 + invoke-interface {v1}, Landroid/privacy/IPrivacySettingsManager;->purgeSettings()Z
7495 + const-string v1, "PrivacySettingsManager"
7497 + const-string v2, "deleteSettings - PrivacySettingsManagerService is null"
7499 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7501 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_12} :catch_14
7511 + const-string v1, "PrivacySettingsManager"
7513 + const-string v2, "RemoteException in purgeSettings: "
7515 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7520 +.method public registerObservers()V
7524 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7526 + if-eqz v1, :cond_a
7528 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7530 + invoke-interface {v1}, Landroid/privacy/IPrivacySettingsManager;->registerObservers()V
7536 + const-string v1, "PrivacySettingsManager"
7538 + const-string v2, "deleteSettings - PrivacySettingsManagerService is null"
7540 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7542 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_11} :catch_12
7549 + const-string v1, "PrivacySettingsManager"
7551 + const-string v2, "RemoteException in registerObservers: "
7553 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7558 +.method public saveSettings(Landroid/privacy/PrivacySettings;)Z
7564 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7566 + if-eqz v2, :cond_c
7568 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7570 + invoke-interface {v2, p1}, Landroid/privacy/IPrivacySettingsManager;->saveSettings(Landroid/privacy/PrivacySettings;)Z
7578 + const-string v2, "PrivacySettingsManager"
7580 + const-string/jumbo v3, "saveSettings - PrivacySettingsManagerService is null"
7582 + invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7584 + .catch Landroid/os/RemoteException; {:try_start_1 .. :try_end_14} :catch_15
7591 + const-string v2, "PrivacySettingsManager"
7593 + const-string v3, "RemoteException in saveSettings: "
7595 + invoke-static {v2, v3, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7600 +.method public setBootCompleted()V
7604 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7606 + if-eqz v1, :cond_a
7608 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7610 + invoke-interface {v1}, Landroid/privacy/IPrivacySettingsManager;->setBootCompleted()V
7616 + const-string v1, "PrivacySettingsManager"
7618 + const-string/jumbo v2, "setBootCompleted - PrivacySettingsManagerService is null"
7620 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7622 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_12} :catch_13
7629 + const-string v1, "PrivacySettingsManager"
7631 + const-string v2, "RemoteException in setBootCompleted: "
7633 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7638 +.method public setEnabled(Z)Z
7642 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7644 + if-eqz v1, :cond_b
7646 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7648 + invoke-interface {v1, p1}, Landroid/privacy/IPrivacySettingsManager;->setEnabled(Z)Z
7656 + const-string v1, "PrivacySettingsManager"
7658 + const-string/jumbo v2, "setEnabled - PrivacySettingsManagerService is null"
7660 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7662 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_13} :catch_15
7672 + const-string v1, "PrivacySettingsManager"
7674 + const-string v2, "RemoteException in setEnabled: "
7676 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7681 +.method public setNotificationsEnabled(Z)Z
7685 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7687 + if-eqz v1, :cond_b
7689 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7691 + invoke-interface {v1, p1}, Landroid/privacy/IPrivacySettingsManager;->setNotificationsEnabled(Z)Z
7699 + const-string v1, "PrivacySettingsManager"
7701 + const-string/jumbo v2, "setNotificationsEnabled - PrivacySettingsManagerService is null"
7703 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7705 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_13} :catch_15
7715 + const-string v1, "PrivacySettingsManager"
7717 + const-string v2, "RemoteException in setNotificationsEnabled: "
7719 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7723 diff -Npru stock-framework/smali/android/privacy/PrivacySettings.smali pdroid-framework/smali/android/privacy/PrivacySettings.smali
7724 --- stock-framework/smali/android/privacy/PrivacySettings.smali 1969-12-31 18:00:00.000000000 -0600
7725 +++ pdroid-framework/smali/android/privacy/PrivacySettings.smali 2012-10-05 10:15:48.433126881 -0500
7727 +.class public final Landroid/privacy/PrivacySettings;
7728 +.super Ljava/lang/Object;
7729 +.source "PrivacySettings.java"
7732 +.implements Landroid/os/Parcelable;
7736 +.field public static final CREATOR:Landroid/os/Parcelable$Creator; = null
7737 + .annotation system Ldalvik/annotation/Signature;
7739 + "Landroid/os/Parcelable$Creator",
7741 + "Landroid/privacy/PrivacySettings;",
7747 +.field public static final CUSTOM:B = 0x2t
7749 +.field public static final DATA_ACCOUNTS_LIST:Ljava/lang/String; = "accountsList"
7751 +.field public static final DATA_AUTH_TOKENS:Ljava/lang/String; = "authTokens"
7753 +.field public static final DATA_BOOKMARKS:Ljava/lang/String; = "bookmarks"
7755 +.field public static final DATA_CALENDAR:Ljava/lang/String; = "calendar"
7757 +.field public static final DATA_CALL_LOG:Ljava/lang/String; = "callLog"
7759 +.field public static final DATA_CONTACTS:Ljava/lang/String; = "contacts"
7761 +.field public static final DATA_DEVICE_ID:Ljava/lang/String; = "deviceID"
7763 +.field public static final DATA_INCOMING_CALL:Ljava/lang/String; = "incomingCall"
7765 +.field public static final DATA_INTENT_BOOT_COMPLETED:Ljava/lang/String; = "intentBootCompleted"
7767 +.field public static final DATA_LINE_1_NUMBER:Ljava/lang/String; = "line1Number"
7769 +.field public static final DATA_LOCATION_GPS:Ljava/lang/String; = "locationGPS"
7771 +.field public static final DATA_LOCATION_NETWORK:Ljava/lang/String; = "locationNetwork"
7773 +.field public static final DATA_MMS:Ljava/lang/String; = "mms"
7775 +.field public static final DATA_MMS_SMS:Ljava/lang/String; = "mmsSms"
7777 +.field public static final DATA_NETWORK_INFO_CURRENT:Ljava/lang/String; = "networkInfoCurrent"
7779 +.field public static final DATA_NETWORK_INFO_SIM:Ljava/lang/String; = "networkInfoSIM"
7781 +.field public static final DATA_OUTGOING_CALL:Ljava/lang/String; = "outgoingCall"
7783 +.field public static final DATA_SIM_SERIAL:Ljava/lang/String; = "simSerial"
7785 +.field public static final DATA_SMS:Ljava/lang/String; = "sms"
7787 +.field public static final DATA_SUBSCRIBER_ID:Ljava/lang/String; = "subscriberID"
7789 +.field public static final DATA_SYSTEM_LOGS:Ljava/lang/String; = "systemLogs"
7791 +.field public static final EMPTY:B = 0x1t
7793 +.field public static final RANDOM:B = 0x3t
7795 +.field public static final REAL:B = 0x0t
7797 +.field public static final SETTING_NOTIFY_OFF:B = 0x0t
7799 +.field public static final SETTING_NOTIFY_ON:B = 0x1t
7803 +.field private final _id:Ljava/lang/Integer;
7805 +.field private accountsAuthTokensSetting:B
7807 +.field private accountsSetting:B
7809 +.field private allowedContacts:[I
7811 +.field private bookmarksSetting:B
7813 +.field private calendarSetting:B
7815 +.field private callLogSetting:B
7817 +.field private contactsSetting:B
7819 +.field private deviceId:Ljava/lang/String;
7821 +.field private deviceIdSetting:B
7823 +.field private incomingCallsSetting:B
7825 +.field private intentBootCompletedSetting:B
7827 +.field private line1Number:Ljava/lang/String;
7829 +.field private line1NumberSetting:B
7831 +.field private locationGpsLat:Ljava/lang/String;
7833 +.field private locationGpsLon:Ljava/lang/String;
7835 +.field private locationGpsSetting:B
7837 +.field private locationNetworkLat:Ljava/lang/String;
7839 +.field private locationNetworkLon:Ljava/lang/String;
7841 +.field private locationNetworkSetting:B
7843 +.field private mmsSetting:B
7845 +.field private networkInfoSetting:B
7847 +.field private notificationSetting:B
7849 +.field private outgoingCallsSetting:B
7851 +.field private packageName:Ljava/lang/String;
7853 +.field private simInfoSetting:B
7855 +.field private simSerialNumber:Ljava/lang/String;
7857 +.field private simSerialNumberSetting:B
7859 +.field private smsSetting:B
7861 +.field private subscriberId:Ljava/lang/String;
7863 +.field private subscriberIdSetting:B
7865 +.field private systemLogsSetting:B
7867 +.field private uid:I
7871 +.method static constructor <clinit>()V
7874 + new-instance v0, Landroid/privacy/PrivacySettings$1;
7876 + invoke-direct {v0}, Landroid/privacy/PrivacySettings$1;-><init>()V
7878 + sput-object v0, Landroid/privacy/PrivacySettings;->CREATOR:Landroid/os/Parcelable$Creator;
7883 +.method public constructor <init>(Landroid/os/Parcel;)V
7886 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
7888 + invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I
7894 + if-ne v0, v1, :cond_ce
7899 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
7901 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
7903 + move-result-object v1
7905 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
7907 + invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I
7911 + iput v1, p0, Landroid/privacy/PrivacySettings;->uid:I
7913 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
7917 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
7919 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
7921 + move-result-object v1
7923 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
7925 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
7929 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
7931 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
7933 + move-result-object v1
7935 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
7937 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
7941 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
7943 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
7945 + move-result-object v1
7947 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
7949 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
7951 + move-result-object v1
7953 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
7955 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
7959 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
7961 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
7963 + move-result-object v1
7965 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
7967 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
7969 + move-result-object v1
7971 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
7973 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
7977 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
7979 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
7983 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
7985 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
7989 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
7991 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
7993 + move-result-object v1
7995 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
7997 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8001 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
8003 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
8005 + move-result-object v1
8007 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
8009 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8013 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
8015 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8019 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
8021 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8025 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
8027 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8031 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
8033 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8037 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
8039 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8043 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
8045 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8049 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
8051 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8055 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
8057 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8061 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
8063 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8067 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
8069 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8073 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
8075 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8079 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
8081 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8085 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
8087 + invoke-virtual {p1}, Landroid/os/Parcel;->createIntArray()[I
8089 + move-result-object v1
8091 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
8096 + invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
8098 + move-result-object v1
8103 +.method public constructor <init>(Ljava/lang/Integer;Ljava/lang/String;I)V
8110 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
8112 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
8114 + iput-object p2, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
8116 + iput p3, p0, Landroid/privacy/PrivacySettings;->uid:I
8118 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
8120 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
8122 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
8124 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
8126 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8128 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
8130 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
8132 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8134 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
8136 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
8138 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
8140 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
8142 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
8144 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
8146 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
8148 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
8150 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
8152 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
8154 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
8156 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
8158 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
8160 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
8162 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
8164 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
8166 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
8168 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
8170 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
8172 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
8174 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
8176 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
8181 +.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
8184 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
8186 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
8188 + iput-object p2, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
8190 + iput p3, p0, Landroid/privacy/PrivacySettings;->uid:I
8192 + iput-byte p4, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
8194 + iput-object p5, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
8196 + iput-byte p6, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
8198 + iput-object p7, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
8200 + iput-byte p8, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8202 + iput-object p9, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
8204 + iput-object p10, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
8206 + iput-byte p11, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8208 + iput-object p12, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
8210 + iput-object p13, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
8212 + iput-byte p14, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
8214 + move/from16 v0, p15
8216 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
8218 + move/from16 v0, p16
8220 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
8222 + move-object/from16 v0, p17
8224 + iput-object v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
8226 + move/from16 v0, p18
8228 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
8230 + move-object/from16 v0, p19
8232 + iput-object v0, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
8234 + move/from16 v0, p20
8236 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
8238 + move/from16 v0, p21
8240 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
8242 + move/from16 v0, p22
8244 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
8246 + move/from16 v0, p23
8248 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
8250 + move/from16 v0, p24
8252 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
8254 + move/from16 v0, p25
8256 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
8258 + move/from16 v0, p26
8260 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
8262 + move/from16 v0, p27
8264 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
8266 + move/from16 v0, p28
8268 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
8270 + move/from16 v0, p29
8272 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
8274 + move/from16 v0, p30
8276 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
8278 + move/from16 v0, p34
8280 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
8282 + move/from16 v0, p35
8284 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
8286 + move-object/from16 v0, p36
8288 + iput-object v0, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
8293 +.method private getRandomLat()Ljava/lang/String;
8296 + const-wide v7, 0x4056800000000000L
8298 + invoke-static {}, Ljava/lang/Math;->random()D
8300 + move-result-wide v3
8302 + const-wide v5, 0x4066800000000000L
8304 + mul-double v0, v3, v5
8306 + cmpl-double v3, v0, v7
8308 + if-lez v3, :cond_35
8310 + new-instance v2, Ljava/math/BigDecimal;
8312 + sub-double v3, v0, v7
8314 + invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;-><init>(D)V
8317 + new-instance v3, Ljava/lang/StringBuilder;
8319 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
8325 + invoke-virtual {v2, v4, v5}, Ljava/math/BigDecimal;->setScale(II)Ljava/math/BigDecimal;
8327 + move-result-object v4
8329 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
8331 + move-result-object v3
8333 + const-string v4, ""
8335 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8337 + move-result-object v3
8339 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8341 + move-result-object v3
8346 + new-instance v2, Ljava/math/BigDecimal;
8350 + invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;-><init>(D)V
8355 +.method private getRandomLon()Ljava/lang/String;
8358 + const-wide v7, 0x4066800000000000L
8360 + invoke-static {}, Ljava/lang/Math;->random()D
8362 + move-result-wide v3
8364 + const-wide v5, 0x4076800000000000L
8366 + mul-double v0, v3, v5
8368 + cmpl-double v3, v0, v7
8370 + if-lez v3, :cond_35
8372 + new-instance v2, Ljava/math/BigDecimal;
8374 + sub-double v3, v0, v7
8376 + invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;-><init>(D)V
8379 + new-instance v3, Ljava/lang/StringBuilder;
8381 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
8387 + invoke-virtual {v2, v4, v5}, Ljava/math/BigDecimal;->setScale(II)Ljava/math/BigDecimal;
8389 + move-result-object v4
8391 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
8393 + move-result-object v3
8395 + const-string v4, ""
8397 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8399 + move-result-object v3
8401 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8403 + move-result-object v3
8408 + new-instance v2, Ljava/math/BigDecimal;
8412 + invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;-><init>(D)V
8419 +.method public describeContents()I
8427 +.method public getAccountsAuthTokensSetting()B
8430 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
8435 +.method public getAccountsSetting()B
8438 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
8443 +.method public getAllowedContacts()[I
8446 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
8451 +.method public getBookmarksSetting()B
8454 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
8459 +.method public getCalendarSetting()B
8462 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
8467 +.method public getCallLogSetting()B
8470 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
8475 +.method public getContactsSetting()B
8478 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
8483 +.method public getDeviceId()Ljava/lang/String;
8486 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
8490 + if-ne v2, v3, :cond_8
8492 + const-string v2, ""
8498 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
8502 + if-ne v2, v3, :cond_35
8504 + new-instance v0, Ljava/util/Random;
8506 + invoke-direct {v0}, Ljava/util/Random;-><init>()V
8508 + new-instance v2, Ljava/lang/StringBuilder;
8510 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
8512 + invoke-virtual {v0}, Ljava/util/Random;->nextLong()J
8514 + move-result-wide v3
8516 + invoke-static {v3, v4}, Ljava/lang/Math;->abs(J)J
8518 + move-result-wide v3
8520 + invoke-virtual {v2, v3, v4}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
8522 + move-result-object v2
8524 + const-string v3, ""
8526 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8528 + move-result-object v2
8530 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8532 + move-result-object v1
8538 + invoke-virtual {v1, v2, v3}, Ljava/lang/String;->substring(II)Ljava/lang/String;
8540 + move-result-object v2
8545 + iget-object v2, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
8550 +.method public getDeviceIdSetting()B
8553 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
8558 +.method public getIncomingCallsSetting()B
8561 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
8566 +.method public getIntentBootCompletedSetting()B
8569 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
8574 +.method public getLine1Number()Ljava/lang/String;
8577 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
8581 + if-ne v2, v3, :cond_8
8583 + const-string v2, ""
8589 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
8593 + if-ne v2, v3, :cond_3b
8595 + new-instance v0, Ljava/util/Random;
8597 + invoke-direct {v0}, Ljava/util/Random;-><init>()V
8599 + new-instance v2, Ljava/lang/StringBuilder;
8601 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
8603 + const-string v3, "+"
8605 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8607 + move-result-object v2
8609 + invoke-virtual {v0}, Ljava/util/Random;->nextLong()J
8611 + move-result-wide v3
8613 + invoke-static {v3, v4}, Ljava/lang/Math;->abs(J)J
8615 + move-result-wide v3
8617 + invoke-virtual {v2, v3, v4}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
8619 + move-result-object v2
8621 + const-string v3, ""
8623 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8625 + move-result-object v2
8627 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8629 + move-result-object v1
8635 + invoke-virtual {v1, v2, v3}, Ljava/lang/String;->substring(II)Ljava/lang/String;
8637 + move-result-object v2
8642 + iget-object v2, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
8647 +.method public getLine1NumberSetting()B
8650 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
8655 +.method public getLocationGpsLat()Ljava/lang/String;
8658 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8662 + if-ne v0, v1, :cond_8
8664 + const-string v0, ""
8670 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8674 + if-ne v0, v1, :cond_12
8676 + invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLat()Ljava/lang/String;
8678 + move-result-object v0
8683 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
8688 +.method public getLocationGpsLon()Ljava/lang/String;
8691 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8695 + if-ne v0, v1, :cond_8
8697 + const-string v0, ""
8703 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8707 + if-ne v0, v1, :cond_12
8709 + invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLon()Ljava/lang/String;
8711 + move-result-object v0
8716 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
8721 +.method public getLocationGpsSetting()B
8724 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8729 +.method public getLocationNetworkLat()Ljava/lang/String;
8732 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8736 + if-ne v0, v1, :cond_8
8738 + const-string v0, ""
8744 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8748 + if-ne v0, v1, :cond_12
8750 + invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLat()Ljava/lang/String;
8752 + move-result-object v0
8757 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
8762 +.method public getLocationNetworkLon()Ljava/lang/String;
8765 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8769 + if-ne v0, v1, :cond_8
8771 + const-string v0, ""
8777 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8781 + if-ne v0, v1, :cond_12
8783 + invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLon()Ljava/lang/String;
8785 + move-result-object v0
8790 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
8795 +.method public getLocationNetworkSetting()B
8798 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8803 +.method public getMmsSetting()B
8806 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
8811 +.method public getNetworkInfoSetting()B
8814 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
8819 +.method public getNotificationSetting()B
8822 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
8827 +.method public getOutgoingCallsSetting()B
8830 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
8835 +.method public getPackageName()Ljava/lang/String;
8838 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
8843 +.method public getSimInfoSetting()B
8846 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
8851 +.method public getSimSerialNumber()Ljava/lang/String;
8854 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
8858 + if-ne v1, v2, :cond_8
8860 + const-string v1, ""
8866 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
8870 + if-ne v1, v2, :cond_2e
8872 + new-instance v0, Ljava/util/Random;
8874 + invoke-direct {v0}, Ljava/util/Random;-><init>()V
8876 + new-instance v1, Ljava/lang/StringBuilder;
8878 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
8880 + invoke-virtual {v0}, Ljava/util/Random;->nextLong()J
8882 + move-result-wide v2
8884 + invoke-static {v2, v3}, Ljava/lang/Math;->abs(J)J
8886 + move-result-wide v2
8888 + invoke-virtual {v1, v2, v3}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
8890 + move-result-object v1
8892 + const-string v2, ""
8894 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8896 + move-result-object v1
8898 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8900 + move-result-object v1
8905 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
8910 +.method public getSimSerialNumberSetting()B
8913 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
8918 +.method public getSmsSetting()B
8921 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
8926 +.method public getSubscriberId()Ljava/lang/String;
8929 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
8933 + if-ne v2, v3, :cond_8
8935 + const-string v2, ""
8941 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
8945 + if-ne v2, v3, :cond_35
8947 + new-instance v0, Ljava/util/Random;
8949 + invoke-direct {v0}, Ljava/util/Random;-><init>()V
8951 + new-instance v2, Ljava/lang/StringBuilder;
8953 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
8955 + invoke-virtual {v0}, Ljava/util/Random;->nextLong()J
8957 + move-result-wide v3
8959 + invoke-static {v3, v4}, Ljava/lang/Math;->abs(J)J
8961 + move-result-wide v3
8963 + invoke-virtual {v2, v3, v4}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
8965 + move-result-object v2
8967 + const-string v3, ""
8969 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8971 + move-result-object v2
8973 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8975 + move-result-object v1
8981 + invoke-virtual {v1, v2, v3}, Ljava/lang/String;->substring(II)Ljava/lang/String;
8983 + move-result-object v2
8988 + iget-object v2, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
8993 +.method public getSubscriberIdSetting()B
8996 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
9001 +.method public getSystemLogsSetting()B
9004 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
9009 +.method public getUid()I
9012 + iget v0, p0, Landroid/privacy/PrivacySettings;->uid:I
9017 +.method public get_id()Ljava/lang/Integer;
9020 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
9025 +.method public setAccountsAuthTokensSetting(B)V
9028 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
9033 +.method public setAccountsSetting(B)V
9036 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
9041 +.method public setAllowedContacts([I)V
9044 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
9049 +.method public setBookmarksSetting(B)V
9052 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
9057 +.method public setCalendarSetting(B)V
9060 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
9065 +.method public setCallLogSetting(B)V
9068 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
9073 +.method public setContactsSetting(B)V
9076 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
9081 +.method public setDeviceId(Ljava/lang/String;)V
9084 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
9089 +.method public setDeviceIdSetting(B)V
9092 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
9097 +.method public setIncomingCallsSetting(B)V
9100 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
9105 +.method public setIntentBootCompletedSetting(B)V
9108 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
9113 +.method public setLine1Number(Ljava/lang/String;)V
9116 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
9121 +.method public setLine1NumberSetting(B)V
9124 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
9129 +.method public setLocationGpsLat(Ljava/lang/String;)V
9132 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
9137 +.method public setLocationGpsLon(Ljava/lang/String;)V
9140 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
9145 +.method public setLocationGpsSetting(B)V
9148 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
9153 +.method public setLocationNetworkLat(Ljava/lang/String;)V
9156 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
9161 +.method public setLocationNetworkLon(Ljava/lang/String;)V
9164 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
9169 +.method public setLocationNetworkSetting(B)V
9172 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
9177 +.method public setMmsSetting(B)V
9180 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
9185 +.method public setNetworkInfoSetting(B)V
9188 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
9193 +.method public setNotificationSetting(B)V
9196 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
9201 +.method public setOutgoingCallsSetting(B)V
9204 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
9209 +.method public setPackageName(Ljava/lang/String;)V
9212 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
9217 +.method public setSimInfoSetting(B)V
9220 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
9225 +.method public setSimSerialNumber(Ljava/lang/String;)V
9228 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
9233 +.method public setSimSerialNumberSetting(B)V
9236 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
9241 +.method public setSmsSetting(B)V
9244 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
9249 +.method public setSubscriberId(Ljava/lang/String;)V
9252 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
9257 +.method public setSubscriberIdSetting(B)V
9260 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
9265 +.method public setSystemLogsSetting(B)V
9268 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
9273 +.method public setUid(I)V
9276 + iput p1, p0, Landroid/privacy/PrivacySettings;->uid:I
9281 +.method public toString()Ljava/lang/String;
9284 + new-instance v0, Ljava/lang/StringBuilder;
9286 + invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
9288 + const-string v1, "PrivacySettings [_id="
9290 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9292 + move-result-object v0
9294 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
9296 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
9298 + move-result-object v0
9300 + const-string v1, ", accountsAuthTokensSetting="
9302 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9304 + move-result-object v0
9306 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
9308 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9310 + move-result-object v0
9312 + const-string v1, ", accountsSetting="
9314 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9316 + move-result-object v0
9318 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
9320 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9322 + move-result-object v0
9324 + const-string v1, ", bookmarksSetting="
9326 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9328 + move-result-object v0
9330 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
9332 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9334 + move-result-object v0
9336 + const-string v1, ", calendarSetting="
9338 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9340 + move-result-object v0
9342 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
9344 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9346 + move-result-object v0
9348 + const-string v1, ", callLogSetting="
9350 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9352 + move-result-object v0
9354 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
9356 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9358 + move-result-object v0
9360 + const-string v1, ", contactsSetting="
9362 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9364 + move-result-object v0
9366 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
9368 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9370 + move-result-object v0
9372 + const-string v1, ", deviceId="
9374 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9376 + move-result-object v0
9378 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
9380 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9382 + move-result-object v0
9384 + const-string v1, ", deviceIdSetting="
9386 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9388 + move-result-object v0
9390 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
9392 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9394 + move-result-object v0
9396 + const-string v1, ", incomingCallsSetting="
9398 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9400 + move-result-object v0
9402 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
9404 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9406 + move-result-object v0
9408 + const-string v1, ", intentBootCompletedSetting="
9410 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9412 + move-result-object v0
9414 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
9416 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9418 + move-result-object v0
9420 + const-string v1, ", line1Number="
9422 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9424 + move-result-object v0
9426 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
9428 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9430 + move-result-object v0
9432 + const-string v1, ", line1NumberSetting="
9434 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9436 + move-result-object v0
9438 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
9440 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9442 + move-result-object v0
9444 + const-string v1, ", locationGpsLat="
9446 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9448 + move-result-object v0
9450 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
9452 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9454 + move-result-object v0
9456 + const-string v1, ", locationGpsLon="
9458 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9460 + move-result-object v0
9462 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
9464 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9466 + move-result-object v0
9468 + const-string v1, ", locationGpsSetting="
9470 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9472 + move-result-object v0
9474 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
9476 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9478 + move-result-object v0
9480 + const-string v1, ", locationNetworkLat="
9482 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9484 + move-result-object v0
9486 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
9488 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9490 + move-result-object v0
9492 + const-string v1, ", locationNetworkLon="
9494 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9496 + move-result-object v0
9498 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
9500 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9502 + move-result-object v0
9504 + const-string v1, ", locationNetworkSetting="
9506 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9508 + move-result-object v0
9510 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
9512 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9514 + move-result-object v0
9516 + const-string v1, ", mmsSetting="
9518 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9520 + move-result-object v0
9522 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
9524 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9526 + move-result-object v0
9528 + const-string v1, ", networkInfoSetting="
9530 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9532 + move-result-object v0
9534 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
9536 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9538 + move-result-object v0
9540 + const-string v1, ", notificationSetting="
9542 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9544 + move-result-object v0
9546 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
9548 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9550 + move-result-object v0
9552 + const-string v1, ", outgoingCallsSetting="
9554 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9556 + move-result-object v0
9558 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
9560 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9562 + move-result-object v0
9564 + const-string v1, ", packageName="
9566 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9568 + move-result-object v0
9570 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
9572 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9574 + move-result-object v0
9576 + const-string v1, ", simInfoSetting="
9578 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9580 + move-result-object v0
9582 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
9584 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9586 + move-result-object v0
9588 + const-string v1, ", simSerialNumber="
9590 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9592 + move-result-object v0
9594 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
9596 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9598 + move-result-object v0
9600 + const-string v1, ", simSerialNumberSetting="
9602 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9604 + move-result-object v0
9606 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
9608 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9610 + move-result-object v0
9612 + const-string v1, ", smsSetting="
9614 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9616 + move-result-object v0
9618 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
9620 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9622 + move-result-object v0
9624 + const-string v1, ", subscriberId="
9626 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9628 + move-result-object v0
9630 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
9632 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9634 + move-result-object v0
9636 + const-string v1, ", subscriberIdSetting="
9638 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9640 + move-result-object v0
9642 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
9644 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9646 + move-result-object v0
9648 + const-string v1, ", systemLogsSetting="
9650 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9652 + move-result-object v0
9654 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
9656 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9658 + move-result-object v0
9660 + const-string v1, ", uid="
9662 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9664 + move-result-object v0
9666 + iget v1, p0, Landroid/privacy/PrivacySettings;->uid:I
9668 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9670 + move-result-object v0
9672 + const-string v1, "]"
9674 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9676 + move-result-object v0
9678 + invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
9680 + move-result-object v0
9685 +.method public writeToParcel(Landroid/os/Parcel;I)V
9688 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
9690 + if-nez v0, :cond_a9
9695 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeInt(I)V
9697 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
9699 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9701 + iget v0, p0, Landroid/privacy/PrivacySettings;->uid:I
9703 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeInt(I)V
9705 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
9707 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9709 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
9711 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9713 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
9715 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9717 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
9719 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9721 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
9723 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9725 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
9727 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9729 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
9731 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9733 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
9735 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9737 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
9739 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9741 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
9743 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9745 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
9747 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9749 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
9751 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9753 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
9755 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9757 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
9759 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9761 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
9763 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9765 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
9767 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9769 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
9771 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9773 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
9775 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9777 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
9779 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9781 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
9783 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9785 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
9787 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9789 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
9791 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9793 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
9795 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9797 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
9799 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9801 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
9803 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9805 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
9807 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9809 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
9811 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9813 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
9815 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9817 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
9819 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9821 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
9823 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeIntArray([I)V
9828 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
9830 + invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
9836 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali
9837 --- stock-framework/smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali 1969-12-31 18:00:00.000000000 -0600
9838 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali 2012-10-05 10:15:48.437126896 -0500
9840 +.class Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
9841 +.super Ljava/lang/Object;
9842 +.source "PrivacyAccountManager.java"
9845 +.implements Landroid/accounts/AccountManagerFuture;
9849 +.annotation system Ldalvik/annotation/EnclosingClass;
9850 + value = Landroid/privacy/surrogate/PrivacyAccountManager;
9853 +.annotation system Ldalvik/annotation/InnerClass;
9855 + name = "PrivacyAccountManagerFuture"
9858 +.annotation system Ldalvik/annotation/Signature;
9861 + "Ljava/lang/Object;",
9863 + "Ljava/lang/Object;",
9864 + "Landroid/accounts/AccountManagerFuture",
9871 +.field private result:Ljava/lang/Object;
9872 + .annotation system Ldalvik/annotation/Signature;
9879 +.field final synthetic this$0:Landroid/privacy/surrogate/PrivacyAccountManager;
9883 +.method public constructor <init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
9885 + .annotation system Ldalvik/annotation/Signature;
9891 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->this$0:Landroid/privacy/surrogate/PrivacyAccountManager;
9893 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
9895 + iput-object p2, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->result:Ljava/lang/Object;
9902 +.method public cancel(Z)Z
9910 +.method public getResult()Ljava/lang/Object;
9912 + .annotation system Ldalvik/annotation/Signature;
9918 + .annotation system Ldalvik/annotation/Throws;
9920 + Landroid/accounts/OperationCanceledException;,
9921 + Ljava/io/IOException;,
9922 + Landroid/accounts/AuthenticatorException;
9926 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->result:Ljava/lang/Object;
9931 +.method public getResult(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;
9933 + .annotation system Ldalvik/annotation/Signature;
9936 + "Ljava/util/concurrent/TimeUnit;",
9941 + .annotation system Ldalvik/annotation/Throws;
9943 + Landroid/accounts/OperationCanceledException;,
9944 + Ljava/io/IOException;,
9945 + Landroid/accounts/AuthenticatorException;
9949 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->result:Ljava/lang/Object;
9954 +.method public isCancelled()Z
9962 +.method public isDone()Z
9969 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyAccountManager.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyAccountManager.smali
9970 --- stock-framework/smali/android/privacy/surrogate/PrivacyAccountManager.smali 1969-12-31 18:00:00.000000000 -0600
9971 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyAccountManager.smali 2012-10-05 10:15:48.437126896 -0500
9973 +.class public final Landroid/privacy/surrogate/PrivacyAccountManager;
9974 +.super Landroid/accounts/AccountManager;
9975 +.source "PrivacyAccountManager.java"
9979 +.annotation system Ldalvik/annotation/MemberClasses;
9981 + Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
9987 +.field private static final TAG:Ljava/lang/String; = "PrivacyAccountManager"
9991 +.field private context:Landroid/content/Context;
9993 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
9997 +.method public constructor <init>(Landroid/content/Context;Landroid/accounts/IAccountManager;)V
10000 + invoke-direct {p0, p1, p2}, Landroid/accounts/AccountManager;-><init>(Landroid/content/Context;Landroid/accounts/IAccountManager;)V
10002 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10004 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
10006 + const-string/jumbo v1, "privacy"
10008 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
10010 + move-result-object v1
10012 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
10014 + move-result-object v1
10016 + invoke-direct {v0, p1, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
10018 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10023 +.method public constructor <init>(Landroid/content/Context;Landroid/accounts/IAccountManager;Landroid/os/Handler;)V
10026 + invoke-direct {p0, p1, p2, p3}, Landroid/accounts/AccountManager;-><init>(Landroid/content/Context;Landroid/accounts/IAccountManager;Landroid/os/Handler;)V
10028 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10030 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
10032 + const-string/jumbo v1, "privacy"
10034 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
10036 + move-result-object v1
10038 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
10040 + move-result-object v1
10042 + invoke-direct {v0, p1, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
10044 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10051 +.method public blockingGetAuthToken(Landroid/accounts/Account;Ljava/lang/String;Z)Ljava/lang/String;
10053 + .annotation system Ldalvik/annotation/Throws;
10055 + Landroid/accounts/OperationCanceledException;,
10056 + Ljava/io/IOException;,
10057 + Landroid/accounts/AuthenticatorException;
10063 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10065 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10067 + move-result-object v1
10069 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10073 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10075 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10077 + move-result-object v6
10079 + if-eqz v6, :cond_23
10081 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
10085 + if-eqz v0, :cond_23
10089 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10093 + const-string v4, "authTokens"
10095 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10101 + invoke-super {p0, p1, p2, p3}, Landroid/accounts/AccountManager;->blockingGetAuthToken(Landroid/accounts/Account;Ljava/lang/String;Z)Ljava/lang/String;
10103 + move-result-object v7
10105 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10109 + const-string v4, "authTokens"
10111 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10116 +.method public getAccounts()[Landroid/accounts/Account;
10123 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10125 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10127 + move-result-object v1
10129 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10133 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10135 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10137 + move-result-object v6
10139 + if-eqz v6, :cond_27
10141 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
10145 + if-eqz v0, :cond_27
10147 + const-string v8, "[empty accounts list]"
10149 + new-array v7, v3, [Landroid/accounts/Account;
10151 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10155 + const-string v4, "accountsList"
10157 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10163 + const-string v8, "[real value]"
10165 + invoke-super {p0}, Landroid/accounts/AccountManager;->getAccounts()[Landroid/accounts/Account;
10167 + move-result-object v7
10169 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10171 + const-string v4, "accountsList"
10173 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10178 +.method public getAccountsByType(Ljava/lang/String;)[Landroid/accounts/Account;
10185 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10187 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10189 + move-result-object v1
10191 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10195 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10197 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10199 + move-result-object v6
10201 + if-eqz v6, :cond_27
10203 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
10207 + if-eqz v0, :cond_27
10209 + const-string v8, "[empty accounts list]"
10211 + new-array v7, v3, [Landroid/accounts/Account;
10213 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10217 + const-string v4, "accountsList"
10219 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10225 + const-string v8, "[real value]"
10227 + invoke-super {p0, p1}, Landroid/accounts/AccountManager;->getAccountsByType(Ljava/lang/String;)[Landroid/accounts/Account;
10229 + move-result-object v7
10231 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10233 + const-string v4, "accountsList"
10235 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10240 +.method public getAccountsByTypeAndFeatures(Ljava/lang/String;[Ljava/lang/String;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
10242 + .annotation system Ldalvik/annotation/Signature;
10245 + "Ljava/lang/String;",
10247 + "Ljava/lang/String;",
10248 + "Landroid/accounts/AccountManagerCallback",
10250 + "Landroid/accounts/Account;",
10252 + "Landroid/os/Handler;",
10254 + "Landroid/accounts/AccountManagerFuture",
10256 + "Landroid/accounts/Account;",
10265 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10267 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10269 + move-result-object v1
10271 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10275 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10277 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10279 + move-result-object v6
10281 + if-eqz v6, :cond_2c
10283 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
10287 + if-eqz v0, :cond_2c
10289 + const-string v8, "[false]"
10291 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10293 + new-array v0, v3, [Landroid/accounts/Account;
10295 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
10297 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10301 + const-string v4, "accountsList"
10303 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10309 + const-string v8, "[real value]"
10311 + 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;
10313 + move-result-object v7
10315 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10317 + const-string v4, "accountsList"
10319 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10324 +.method public getAuthToken(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;Landroid/app/Activity;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
10326 + .annotation system Ldalvik/annotation/Signature;
10329 + "Landroid/accounts/Account;",
10330 + "Ljava/lang/String;",
10331 + "Landroid/os/Bundle;",
10332 + "Landroid/app/Activity;",
10333 + "Landroid/accounts/AccountManagerCallback",
10335 + "Landroid/os/Bundle;",
10337 + "Landroid/os/Handler;",
10339 + "Landroid/accounts/AccountManagerFuture",
10341 + "Landroid/os/Bundle;",
10348 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10350 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10352 + move-result-object v1
10354 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10358 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10360 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10362 + move-result-object v6
10364 + if-eqz v6, :cond_2e
10366 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
10370 + if-eqz v0, :cond_2e
10372 + const-string v8, "[empty]"
10374 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10376 + new-instance v0, Landroid/os/Bundle;
10378 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
10380 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
10382 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10386 + const-string v4, "authTokens"
10388 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10394 + const-string v8, "[real value]"
10396 + 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;
10398 + move-result-object v7
10400 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10404 + const-string v4, "authTokens"
10406 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10411 +.method public getAuthToken(Landroid/accounts/Account;Ljava/lang/String;ZLandroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
10413 + .annotation system Ldalvik/annotation/Signature;
10416 + "Landroid/accounts/Account;",
10417 + "Ljava/lang/String;",
10419 + "Landroid/accounts/AccountManagerCallback",
10421 + "Landroid/os/Bundle;",
10423 + "Landroid/os/Handler;",
10425 + "Landroid/accounts/AccountManagerFuture",
10427 + "Landroid/os/Bundle;",
10434 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10436 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10438 + move-result-object v1
10440 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10444 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10446 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10448 + move-result-object v6
10450 + if-eqz v6, :cond_2e
10452 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
10456 + if-eqz v0, :cond_2e
10458 + const-string v8, "[empty]"
10460 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10462 + new-instance v0, Landroid/os/Bundle;
10464 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
10466 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
10468 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10472 + const-string v4, "authTokens"
10474 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10480 + const-string v8, "[real value]"
10482 + invoke-super/range {p0 .. p5}, Landroid/accounts/AccountManager;->getAuthToken(Landroid/accounts/Account;Ljava/lang/String;ZLandroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
10484 + move-result-object v7
10486 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10490 + const-string v4, "authTokens"
10492 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10497 +.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;
10499 + .annotation system Ldalvik/annotation/Signature;
10502 + "Ljava/lang/String;",
10503 + "Ljava/lang/String;",
10505 + "Ljava/lang/String;",
10506 + "Landroid/app/Activity;",
10507 + "Landroid/os/Bundle;",
10508 + "Landroid/os/Bundle;",
10509 + "Landroid/accounts/AccountManagerCallback",
10511 + "Landroid/os/Bundle;",
10513 + "Landroid/os/Handler;",
10515 + "Landroid/accounts/AccountManagerFuture",
10517 + "Landroid/os/Bundle;",
10522 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10524 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10526 + move-result-object v1
10528 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10532 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10534 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10536 + move-result-object v6
10538 + if-eqz v6, :cond_2e
10540 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
10544 + if-eqz v0, :cond_2e
10546 + const-string v8, "[empty]"
10548 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10550 + new-instance v0, Landroid/os/Bundle;
10552 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
10554 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
10556 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10560 + const-string v4, "authTokens"
10564 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10570 + const-string v8, "[real value]"
10572 + 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;
10574 + move-result-object v7
10576 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10580 + const-string v4, "authTokens"
10584 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10589 +.method public hasFeatures(Landroid/accounts/Account;[Ljava/lang/String;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
10591 + .annotation system Ldalvik/annotation/Signature;
10594 + "Landroid/accounts/Account;",
10596 + "Ljava/lang/String;",
10597 + "Landroid/accounts/AccountManagerCallback",
10599 + "Ljava/lang/Boolean;",
10601 + "Landroid/os/Handler;",
10603 + "Landroid/accounts/AccountManagerFuture",
10605 + "Ljava/lang/Boolean;",
10614 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10616 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10618 + move-result-object v1
10620 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10624 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10626 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10628 + move-result-object v6
10630 + if-eqz v6, :cond_2e
10632 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
10636 + if-eqz v0, :cond_2e
10638 + const-string v8, "[false]"
10640 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10642 + invoke-static {v3}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
10644 + move-result-object v0
10646 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
10648 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10652 + const-string v4, "accountsList"
10654 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10660 + const-string v8, "[real value]"
10662 + 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;
10664 + move-result-object v7
10666 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10668 + const-string v4, "accountsList"
10670 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10674 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyActivityManagerService.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyActivityManagerService.smali
10675 --- stock-framework/smali/android/privacy/surrogate/PrivacyActivityManagerService.smali 1969-12-31 18:00:00.000000000 -0600
10676 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyActivityManagerService.smali 2012-10-05 10:15:48.437126896 -0500
10678 +.class public final Landroid/privacy/surrogate/PrivacyActivityManagerService;
10679 +.super Ljava/lang/Object;
10680 +.source "PrivacyActivityManagerService.java"
10684 +.field private static final TAG:Ljava/lang/String; = "PrivacyActivityManagerService"
10686 +.field private static pSetMan:Landroid/privacy/PrivacySettingsManager;
10688 +.field private static tmpIn:Landroid/content/Intent;
10690 +.field private static tmpInHash:J
10692 +.field private static tmpInReceivers:I
10694 +.field private static tmpMms:Landroid/content/Intent;
10696 +.field private static tmpMmsHash:J
10698 +.field private static tmpMmsReceivers:I
10700 +.field private static tmpOut:Landroid/content/Intent;
10702 +.field private static tmpOutHash:J
10704 +.field private static tmpOutReceivers:I
10706 +.field private static tmpPackageAddedHash:J
10708 +.field private static tmpSms:Landroid/content/Intent;
10710 +.field private static tmpSmsHash:J
10712 +.field private static tmpSmsReceivers:I
10716 +.method static constructor <clinit>()V
10721 + const-wide/16 v0, 0x0
10723 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInHash:J
10725 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
10727 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutHash:J
10729 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
10731 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsHash:J
10733 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
10735 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsHash:J
10737 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
10739 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpPackageAddedHash:J
10744 +.method public constructor <init>()V
10747 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
10752 +.method public static enforcePrivacyPermission(Ljava/lang/String;ILandroid/content/Intent;Landroid/content/Context;I)V
10755 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10757 + if-nez v2, :cond_11
10759 + const-string/jumbo v2, "privacy"
10761 + move-object/from16 v0, p3
10763 + invoke-virtual {v0, v2}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
10765 + move-result-object v2
10767 + check-cast v2, Landroid/privacy/PrivacySettingsManager;
10769 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10772 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->getAction()Ljava/lang/String;
10774 + move-result-object v9
10776 + const-string v2, "android.intent.action.NEW_OUTGOING_CALL"
10778 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
10782 + if-eqz v2, :cond_ad
10784 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10786 + move-object/from16 v0, p0
10788 + move/from16 v1, p1
10790 + invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10792 + move-result-object v8
10794 + const-string v2, "android.intent.extra.PHONE_NUMBER"
10796 + move-object/from16 v0, p2
10798 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
10800 + move-result-object v16
10802 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutHash:J
10804 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
10806 + move-result-wide v4
10808 + cmp-long v2, v2, v4
10810 + if-eqz v2, :cond_49
10812 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->clone()Ljava/lang/Object;
10814 + move-result-object v2
10816 + check-cast v2, Landroid/content/Intent;
10818 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOut:Landroid/content/Intent;
10820 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
10822 + move-result-wide v2
10824 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutHash:J
10826 + sput p4, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
10829 + if-eqz v8, :cond_76
10832 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getOutgoingCallsSetting()B
10836 + if-eqz v2, :cond_76
10838 + const-string v16, ""
10840 + const-string v2, "android.intent.extra.PHONE_NUMBER"
10842 + move-object/from16 v0, p2
10844 + move-object/from16 v1, v16
10846 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
10848 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10852 + const-string/jumbo v6, "outgoingCall"
10856 + move-object/from16 v3, p0
10858 + move/from16 v4, p1
10860 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10862 + .catch Ljava/lang/Exception; {:try_start_4b .. :try_end_6a} :catch_a0
10866 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
10870 + if-le v2, v3, :cond_a9
10872 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
10874 + add-int/lit8 v2, v2, -0x1
10876 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
10884 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutHash:J
10886 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
10888 + move-result-wide v4
10890 + cmp-long v2, v2, v4
10892 + if-nez v2, :cond_6a
10894 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOut:Landroid/content/Intent;
10896 + const-string v3, "android.intent.extra.PHONE_NUMBER"
10898 + invoke-virtual {v2, v3}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
10900 + move-result-object v16
10902 + const-string v2, "android.intent.extra.PHONE_NUMBER"
10904 + move-object/from16 v0, p2
10906 + move-object/from16 v1, v16
10908 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
10910 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10914 + const-string/jumbo v6, "outgoingCall"
10918 + move-object/from16 v3, p0
10920 + move/from16 v4, p1
10922 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10924 + .catch Ljava/lang/Exception; {:try_start_76 .. :try_end_9f} :catch_a0
10929 + move-exception v13
10931 + const-string v2, "PrivacyActivityManagerService"
10933 + const-string v3, "failed to enforce intent broadcast permission"
10935 + invoke-static {v2, v3, v13}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
10942 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOut:Landroid/content/Intent;
10947 + const-string v2, "android.intent.action.PHONE_STATE"
10949 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
10953 + if-eqz v2, :cond_14d
10955 + const-string v2, "incoming_number"
10957 + move-object/from16 v0, p2
10959 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
10961 + move-result-object v16
10963 + if-eqz v16, :cond_75
10965 + invoke-virtual/range {v16 .. v16}, Ljava/lang/String;->isEmpty()Z
10969 + if-nez v2, :cond_75
10971 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10973 + move-object/from16 v0, p0
10975 + move/from16 v1, p1
10977 + invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10979 + move-result-object v8
10981 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInHash:J
10983 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
10985 + move-result-wide v4
10987 + cmp-long v2, v2, v4
10989 + if-eqz v2, :cond_e9
10991 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->clone()Ljava/lang/Object;
10993 + move-result-object v2
10995 + check-cast v2, Landroid/content/Intent;
10997 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpIn:Landroid/content/Intent;
10999 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11001 + move-result-wide v2
11003 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInHash:J
11005 + sput p4, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
11008 + if-eqz v8, :cond_116
11011 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getIncomingCallsSetting()B
11015 + if-eqz v2, :cond_116
11017 + const-string v16, ""
11019 + const-string v2, "incoming_number"
11021 + move-object/from16 v0, p2
11023 + move-object/from16 v1, v16
11025 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
11027 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11031 + const-string v6, "incomingCall"
11035 + move-object/from16 v3, p0
11037 + move/from16 v4, p1
11039 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11041 + .catch Ljava/lang/Exception; {:try_start_eb .. :try_end_109} :catch_13f
11045 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
11049 + if-le v2, v3, :cond_148
11051 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
11053 + add-int/lit8 v2, v2, -0x1
11055 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
11061 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInHash:J
11063 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11065 + move-result-wide v4
11067 + cmp-long v2, v2, v4
11069 + if-nez v2, :cond_109
11071 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpIn:Landroid/content/Intent;
11073 + const-string v3, "incoming_number"
11075 + invoke-virtual {v2, v3}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
11077 + move-result-object v16
11079 + const-string v2, "incoming_number"
11081 + move-object/from16 v0, p2
11083 + move-object/from16 v1, v16
11085 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
11087 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11091 + const-string v6, "incomingCall"
11095 + move-object/from16 v3, p0
11097 + move/from16 v4, p1
11099 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11101 + .catch Ljava/lang/Exception; {:try_start_116 .. :try_end_13e} :catch_13f
11106 + move-exception v13
11108 + const-string v2, "PrivacyActivityManagerService"
11110 + const-string v3, "failed to enforce intent broadcast permission"
11112 + invoke-static {v2, v3, v13}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
11119 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpIn:Landroid/content/Intent;
11124 + const-string v2, "android.provider.Telephony.SMS_RECEIVED"
11126 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11130 + if-eqz v2, :cond_222
11132 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11134 + move-object/from16 v0, p0
11136 + move/from16 v1, p1
11138 + invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
11140 + move-result-object v8
11142 + const-string v16, "[real]"
11144 + const-string/jumbo v2, "pdus"
11146 + move-object/from16 v0, p2
11148 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
11150 + move-result-object v2
11152 + check-cast v2, [Ljava/lang/Object;
11154 + move-object v15, v2
11156 + check-cast v15, [Ljava/lang/Object;
11158 + if-eqz v15, :cond_1cd
11162 + aget-object v2, v15, v2
11164 + check-cast v2, [B
11166 + check-cast v2, [B
11168 + move-object v12, v2
11171 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsHash:J
11173 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11175 + move-result-wide v4
11177 + cmp-long v2, v2, v4
11179 + if-eqz v2, :cond_193
11181 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->clone()Ljava/lang/Object;
11183 + move-result-object v2
11185 + check-cast v2, Landroid/content/Intent;
11187 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSms:Landroid/content/Intent;
11189 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11191 + move-result-wide v2
11193 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsHash:J
11195 + sput p4, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
11198 + if-eqz v8, :cond_1cf
11201 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getSmsSetting()B
11205 + if-eqz v2, :cond_1cf
11207 + const-string v16, "[empty]"
11211 + new-array v14, v2, [Ljava/lang/Object;
11215 + const/16 v3, 0x10
11217 + new-array v3, v3, [B
11219 + fill-array-data v3, :array_350
11221 + aput-object v3, v14, v2
11223 + const-string/jumbo v2, "pdus"
11225 + move-object/from16 v0, p2
11227 + invoke-virtual {v0, v2, v14}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent;
11229 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11233 + const-string/jumbo v6, "sms"
11237 + move-object/from16 v3, p0
11239 + move/from16 v4, p1
11241 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11243 + .catch Ljava/lang/Exception; {:try_start_195 .. :try_end_1c0} :catch_212
11247 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
11251 + if-le v2, v3, :cond_21d
11253 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
11255 + add-int/lit8 v2, v2, -0x1
11257 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
11268 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsHash:J
11270 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11272 + move-result-wide v4
11274 + cmp-long v2, v2, v4
11276 + if-nez v2, :cond_1c0
11278 + const-string/jumbo v2, "pdus"
11280 + sget-object v3, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSms:Landroid/content/Intent;
11282 + const-string/jumbo v4, "pdus"
11284 + invoke-virtual {v3, v4}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
11286 + move-result-object v3
11288 + move-object/from16 v0, p2
11290 + invoke-virtual {v0, v2, v3}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent;
11292 + const-string/jumbo v2, "pdus"
11294 + move-object/from16 v0, p2
11296 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
11298 + move-result-object v2
11300 + check-cast v2, [Ljava/lang/Object;
11302 + move-object v0, v2
11304 + check-cast v0, [Ljava/lang/Object;
11306 + move-object v15, v0
11308 + if-eqz v15, :cond_21b
11312 + aget-object v2, v15, v2
11314 + check-cast v2, [B
11316 + check-cast v2, [B
11318 + move-object v12, v2
11321 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11325 + const-string/jumbo v6, "sms"
11329 + move-object/from16 v3, p0
11331 + move/from16 v4, p1
11333 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11335 + .catch Ljava/lang/Exception; {:try_start_1cf .. :try_end_211} :catch_212
11340 + move-exception v13
11342 + const-string v2, "PrivacyActivityManagerService"
11344 + const-string v3, "failed to enforce intent broadcast permission"
11346 + invoke-static {v2, v3, v13}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
11358 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSms:Landroid/content/Intent;
11363 + const-string v2, "android.provider.Telephony.WAP_PUSH_RECEIVED"
11365 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11369 + if-nez v2, :cond_232
11371 + const-string v2, "android.intent.action.DATA_SMS_RECEIVED"
11373 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11377 + if-eqz v2, :cond_2ff
11380 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11382 + move-object/from16 v0, p0
11384 + move/from16 v1, p1
11386 + invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
11388 + move-result-object v8
11390 + const-string v16, "[real]"
11392 + const-string/jumbo v2, "pdus"
11394 + move-object/from16 v0, p2
11396 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
11398 + move-result-object v2
11400 + check-cast v2, [Ljava/lang/Object;
11402 + move-object v15, v2
11404 + check-cast v15, [Ljava/lang/Object;
11406 + if-eqz v15, :cond_2aa
11410 + aget-object v2, v15, v2
11412 + check-cast v2, [B
11414 + check-cast v2, [B
11416 + move-object v12, v2
11419 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsHash:J
11421 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11423 + move-result-wide v4
11425 + cmp-long v2, v2, v4
11427 + if-eqz v2, :cond_270
11429 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->clone()Ljava/lang/Object;
11431 + move-result-object v2
11433 + check-cast v2, Landroid/content/Intent;
11435 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMms:Landroid/content/Intent;
11437 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11439 + move-result-wide v2
11441 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsHash:J
11443 + sput p4, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
11446 + if-eqz v8, :cond_2ac
11449 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getMmsSetting()B
11453 + if-eqz v2, :cond_2ac
11455 + const-string v16, "[empty]"
11459 + new-array v14, v2, [Ljava/lang/Object;
11463 + const/16 v3, 0x10
11465 + new-array v3, v3, [B
11467 + fill-array-data v3, :array_35c
11469 + aput-object v3, v14, v2
11471 + const-string/jumbo v2, "pdus"
11473 + move-object/from16 v0, p2
11475 + invoke-virtual {v0, v2, v14}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent;
11477 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11481 + const-string/jumbo v6, "mms"
11485 + move-object/from16 v3, p0
11487 + move/from16 v4, p1
11489 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11491 + .catch Ljava/lang/Exception; {:try_start_272 .. :try_end_29d} :catch_2ef
11495 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
11499 + if-le v2, v3, :cond_2fa
11501 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
11503 + add-int/lit8 v2, v2, -0x1
11505 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
11516 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsHash:J
11518 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11520 + move-result-wide v4
11522 + cmp-long v2, v2, v4
11524 + if-nez v2, :cond_29d
11526 + const-string/jumbo v2, "pdus"
11528 + sget-object v3, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMms:Landroid/content/Intent;
11530 + const-string/jumbo v4, "pdus"
11532 + invoke-virtual {v3, v4}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
11534 + move-result-object v3
11536 + move-object/from16 v0, p2
11538 + invoke-virtual {v0, v2, v3}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent;
11540 + const-string/jumbo v2, "pdus"
11542 + move-object/from16 v0, p2
11544 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
11546 + move-result-object v2
11548 + check-cast v2, [Ljava/lang/Object;
11550 + move-object v0, v2
11552 + check-cast v0, [Ljava/lang/Object;
11554 + move-object v15, v0
11556 + if-eqz v15, :cond_2f8
11560 + aget-object v2, v15, v2
11562 + check-cast v2, [B
11564 + check-cast v2, [B
11566 + move-object v12, v2
11569 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11573 + const-string/jumbo v6, "mms"
11577 + move-object/from16 v3, p0
11579 + move/from16 v4, p1
11581 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11583 + .catch Ljava/lang/Exception; {:try_start_2ac .. :try_end_2ee} :catch_2ef
11588 + move-exception v13
11590 + const-string v2, "PrivacyActivityManagerService"
11592 + const-string v3, "failed to enforce intent broadcast permission"
11594 + invoke-static {v2, v3, v13}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
11606 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMms:Landroid/content/Intent;
11611 + const-string v2, "android.intent.action.BOOT_COMPLETED"
11613 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11617 + if-eqz v2, :cond_30e
11619 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11621 + invoke-virtual {v2}, Landroid/privacy/PrivacySettingsManager;->setBootCompleted()V
11626 + const-string v2, "android.intent.action.PACKAGE_ADDED"
11628 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11632 + if-eqz v2, :cond_75
11634 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpPackageAddedHash:J
11636 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11638 + move-result-wide v4
11640 + cmp-long v2, v2, v4
11642 + if-eqz v2, :cond_75
11644 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11646 + move-result-wide v2
11648 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpPackageAddedHash:J
11650 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->getData()Landroid/net/Uri;
11652 + move-result-object v2
11654 + invoke-virtual {v2}, Landroid/net/Uri;->getSchemeSpecificPart()Ljava/lang/String;
11656 + move-result-object v10
11658 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->getExtras()Landroid/os/Bundle;
11660 + move-result-object v2
11662 + const-string v3, "android.intent.extra.UID"
11664 + invoke-virtual {v2, v3}, Landroid/os/Bundle;->getInt(Ljava/lang/String;)I
11668 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11670 + invoke-virtual {v2, v10, v11}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
11672 + move-result-object v8
11674 + if-eqz v8, :cond_75
11676 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getUid()I
11680 + if-eq v2, v11, :cond_75
11682 + invoke-virtual {v8, v11}, Landroid/privacy/PrivacySettings;->setUid(I)V
11684 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11686 + invoke-virtual {v2, v8}, Landroid/privacy/PrivacySettingsManager;->saveSettings(Landroid/privacy/PrivacySettings;)Z
11731 +.method private static hashCode(Landroid/content/Intent;)J
11734 + const-wide/16 v3, 0x0
11736 + const-string/jumbo v2, "privacy_hash"
11738 + invoke-virtual {p0, v2, v3, v4}, Landroid/content/Intent;->getLongExtra(Ljava/lang/String;J)J
11740 + move-result-wide v0
11742 + cmp-long v2, v0, v3
11744 + if-nez v2, :cond_1e
11746 + invoke-virtual {p0}, Landroid/content/Intent;->filterHashCode()I
11750 + int-to-long v2, v2
11752 + invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
11754 + move-result-wide v4
11756 + add-long v0, v2, v4
11758 + const-string/jumbo v2, "privacy_hash"
11760 + invoke-virtual {p0, v2, v0, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;J)Landroid/content/Intent;
11765 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyContentResolver.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyContentResolver.smali
11766 --- stock-framework/smali/android/privacy/surrogate/PrivacyContentResolver.smali 1969-12-31 18:00:00.000000000 -0600
11767 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyContentResolver.smali 2012-10-05 10:15:48.441126915 -0500
11769 +.class public final Landroid/privacy/surrogate/PrivacyContentResolver;
11770 +.super Ljava/lang/Object;
11771 +.source "PrivacyContentResolver.java"
11775 +.field private static final TAG:Ljava/lang/String; = "PrivacyContentResolver"
11777 +.field private static pSetMan:Landroid/privacy/PrivacySettingsManager;
11781 +.method public constructor <init>()V
11784 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
11789 +.method private static arrayToString([Ljava/lang/String;)Ljava/lang/String;
11792 + new-instance v4, Ljava/lang/StringBuffer;
11794 + invoke-direct {v4}, Ljava/lang/StringBuffer;-><init>()V
11796 + if-eqz p0, :cond_2d
11798 + move-object v0, p0
11800 + array-length v3, v0
11805 + if-ge v2, v3, :cond_30
11807 + aget-object v1, v0, v2
11809 + new-instance v5, Ljava/lang/StringBuilder;
11811 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
11813 + const-string v6, "["
11815 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
11817 + move-result-object v5
11819 + invoke-virtual {v5, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
11821 + move-result-object v5
11823 + const-string v6, "]"
11825 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
11827 + move-result-object v5
11829 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
11831 + move-result-object v5
11833 + invoke-virtual {v4, v5}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
11835 + add-int/lit8 v2, v2, 0x1
11840 + const-string v5, ""
11846 + invoke-virtual {v4}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String;
11848 + move-result-object v5
11853 +.method public static enforcePrivacyPermission(Landroid/net/Uri;[Ljava/lang/String;Landroid/content/Context;Landroid/database/Cursor;)Landroid/database/Cursor;
11855 + .annotation system Ldalvik/annotation/Throws;
11857 + Landroid/os/RemoteException;
11861 + if-eqz p0, :cond_1e4
11863 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11865 + if-nez v1, :cond_13
11867 + const-string/jumbo v1, "privacy"
11869 + move-object/from16 v0, p2
11871 + invoke-virtual {v0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
11873 + move-result-object v1
11875 + check-cast v1, Landroid/privacy/PrivacySettingsManager;
11877 + sput-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11880 + invoke-virtual/range {p2 .. p2}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
11882 + move-result-object v2
11884 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
11888 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11890 + invoke-virtual {v1, v2, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
11892 + move-result-object v7
11894 + invoke-virtual/range {p0 .. p0}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
11896 + move-result-object v9
11898 + const-string v15, "[real]"
11900 + move-object/from16 v13, p3
11902 + if-eqz v9, :cond_54
11904 + const-string v1, "contacts"
11906 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11910 + if-nez v1, :cond_3b
11912 + const-string v1, "com.android.contacts"
11914 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11918 + if-eqz v1, :cond_ab
11921 + if-eqz v7, :cond_54
11923 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getContactsSetting()B
11929 + if-ne v1, v4, :cond_55
11931 + const-string v15, "[empty]"
11933 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
11935 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
11937 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11941 + const-string v5, "contacts"
11945 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11949 + return-object v13
11952 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getContactsSetting()B
11958 + if-ne v1, v4, :cond_a1
11960 + invoke-virtual/range {p0 .. p0}, Landroid/net/Uri;->toString()Ljava/lang/String;
11962 + move-result-object v1
11964 + sget-object v4, Landroid/provider/ContactsContract$Contacts;->CONTENT_URI:Landroid/net/Uri;
11966 + invoke-virtual {v4}, Landroid/net/Uri;->toString()Ljava/lang/String;
11968 + move-result-object v4
11970 + invoke-virtual {v1, v4}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
11974 + if-eqz v1, :cond_a1
11978 + if-eqz p1, :cond_82
11980 + move-object/from16 v8, p1
11982 + array-length v12, v8
11987 + if-ge v10, v12, :cond_82
11989 + aget-object v16, v8, v10
11991 + const-string v1, "_id"
11993 + move-object/from16 v0, v16
11995 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11999 + if-eqz v1, :cond_93
12004 + if-nez v11, :cond_96
12006 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12008 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12011 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12015 + const-string v5, "contacts"
12019 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12024 + add-int/lit8 v10, v10, 0x1
12029 + new-instance v14, Landroid/privacy/surrogate/PrivacyCursor;
12031 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getAllowedContacts()[I
12033 + move-result-object v1
12035 + invoke-direct {v14, v13, v1}, Landroid/privacy/surrogate/PrivacyCursor;-><init>(Landroid/database/Cursor;[I)V
12037 + move-object v13, v14
12042 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12046 + const-string v5, "contacts"
12050 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12055 + const-string v1, "com.android.calendar"
12057 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12061 + if-eqz v1, :cond_d8
12063 + if-eqz v7, :cond_cd
12065 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getCalendarSetting()B
12071 + if-ne v1, v4, :cond_cd
12073 + const-string v15, "[empty]"
12075 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12077 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12079 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12083 + const-string v5, "calendar"
12087 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12092 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12096 + const-string v5, "calendar"
12100 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12105 + sget-object v1, Landroid/provider/Telephony$Mms;->CONTENT_URI:Landroid/net/Uri;
12107 + invoke-virtual {v1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
12109 + move-result-object v1
12111 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12115 + if-eqz v1, :cond_10c
12117 + if-eqz v7, :cond_100
12119 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getMmsSetting()B
12125 + if-ne v1, v4, :cond_100
12127 + const-string v15, "[empty]"
12129 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12131 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12133 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12137 + const-string/jumbo v5, "mms"
12141 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12146 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12150 + const-string/jumbo v5, "mms"
12154 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12159 + sget-object v1, Landroid/provider/Telephony$Sms;->CONTENT_URI:Landroid/net/Uri;
12161 + invoke-virtual {v1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
12163 + move-result-object v1
12165 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12169 + if-eqz v1, :cond_140
12171 + if-eqz v7, :cond_134
12173 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getSmsSetting()B
12179 + if-ne v1, v4, :cond_134
12181 + const-string v15, "[empty]"
12183 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12185 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12187 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12191 + const-string/jumbo v5, "sms"
12195 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12200 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12204 + const-string/jumbo v5, "sms"
12208 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12213 + sget-object v1, Landroid/provider/Telephony$MmsSms;->CONTENT_URI:Landroid/net/Uri;
12215 + invoke-virtual {v1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
12217 + move-result-object v1
12219 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12223 + if-nez v1, :cond_155
12225 + const-string/jumbo v1, "mms-sms-v2"
12227 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12231 + if-eqz v1, :cond_184
12234 + if-eqz v7, :cond_178
12236 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getMmsSetting()B
12242 + if-eq v1, v4, :cond_165
12244 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getSmsSetting()B
12250 + if-ne v1, v4, :cond_178
12253 + const-string v15, "[empty]"
12255 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12257 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12259 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12263 + const-string/jumbo v5, "mmsSms"
12267 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12272 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12276 + const-string/jumbo v5, "mmsSms"
12280 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12285 + const-string v1, "call_log"
12287 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12291 + if-eqz v1, :cond_1b2
12293 + if-eqz v7, :cond_1a7
12295 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getCallLogSetting()B
12301 + if-ne v1, v4, :cond_1a7
12303 + const-string v15, "[empty]"
12305 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12307 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12309 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12313 + const-string v5, "callLog"
12317 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12322 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12326 + const-string v5, "callLog"
12330 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12335 + sget-object v1, Landroid/provider/Browser;->BOOKMARKS_URI:Landroid/net/Uri;
12337 + invoke-virtual {v1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
12339 + move-result-object v1
12341 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12345 + if-eqz v1, :cond_54
12347 + if-eqz v7, :cond_1d9
12349 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getBookmarksSetting()B
12355 + if-ne v1, v4, :cond_1d9
12357 + const-string v15, "[empty]"
12359 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12361 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12363 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12367 + const-string v5, "bookmarks"
12371 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12376 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12380 + const-string v5, "bookmarks"
12384 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12389 + move-object/from16 v13, p3
12393 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyCursor.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyCursor.smali
12394 --- stock-framework/smali/android/privacy/surrogate/PrivacyCursor.smali 1969-12-31 18:00:00.000000000 -0600
12395 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyCursor.smali 2012-10-05 10:15:48.441126915 -0500
12397 +.class public Landroid/privacy/surrogate/PrivacyCursor;
12398 +.super Ljava/lang/Object;
12399 +.source "PrivacyCursor.java"
12402 +.implements Landroid/database/Cursor;
12406 +.field private static final TAG:Ljava/lang/String; = "PrivacyCursor"
12410 +.field private allowedIdMapping:[I
12412 +.field private allowedIds:[I
12414 +.field private realCursor:Landroid/database/Cursor;
12418 +.method public constructor <init>()V
12421 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
12426 +.method public constructor <init>(Landroid/database/Cursor;[I)V
12429 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
12431 + if-eqz p2, :cond_8
12433 + array-length v2, p2
12435 + if-nez v2, :cond_9
12441 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12443 + iput-object p2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIds:[I
12445 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12447 + if-eqz v2, :cond_3f
12449 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12451 + invoke-interface {v2}, Landroid/database/Cursor;->getPosition()I
12455 + array-length v2, p2
12457 + new-array v2, v2, [I
12459 + iput-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
12465 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12467 + invoke-interface {v2}, Landroid/database/Cursor;->moveToNext()Z
12471 + if-eqz v2, :cond_3a
12473 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12475 + invoke-direct {p0, v2}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(Landroid/database/Cursor;)Z
12479 + if-eqz v2, :cond_1d
12481 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
12483 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12485 + invoke-interface {v3}, Landroid/database/Cursor;->getPosition()I
12491 + add-int/lit8 v1, v1, 0x1
12496 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12498 + invoke-interface {v2, v0}, Landroid/database/Cursor;->moveToPosition(I)Z
12504 +.method private getContactId(Landroid/database/Cursor;)I
12507 + const-string v2, "_id"
12509 + invoke-interface {p1, v2}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
12517 + if-eq v0, v2, :cond_e
12519 + invoke-interface {p1, v0}, Landroid/database/Cursor;->getInt(I)I
12527 +.method private getMappedPos(I)I
12533 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
12535 + array-length v1, v1
12537 + if-ge v0, v1, :cond_10
12539 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
12543 + if-ne v1, p1, :cond_d
12549 + add-int/lit8 v0, v0, 0x1
12559 +.method private isAllowed(I)Z
12564 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIds:[I
12566 + array-length v3, v0
12571 + if-ge v2, v3, :cond_c
12575 + if-ne p1, v1, :cond_d
12583 + add-int/lit8 v2, v2, 0x1
12588 +.method private isAllowed(Landroid/database/Cursor;)Z
12591 + invoke-direct {p0, p1}, Landroid/privacy/surrogate/PrivacyCursor;->getContactId(Landroid/database/Cursor;)I
12595 + invoke-direct {p0, v0}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(I)Z
12604 +.method public close()V
12607 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12609 + if-eqz v0, :cond_9
12611 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12613 + invoke-interface {v0}, Landroid/database/Cursor;->close()V
12619 +.method public copyStringToBuffer(ILandroid/database/CharArrayBuffer;)V
12622 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12624 + if-eqz v0, :cond_9
12626 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12628 + invoke-interface {v0, p1, p2}, Landroid/database/Cursor;->copyStringToBuffer(ILandroid/database/CharArrayBuffer;)V
12634 +.method public deactivate()V
12637 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12639 + if-eqz v0, :cond_9
12641 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12643 + invoke-interface {v0}, Landroid/database/Cursor;->deactivate()V
12649 +.method public getBlob(I)[B
12652 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12654 + if-eqz v0, :cond_b
12656 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12658 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getBlob(I)[B
12660 + move-result-object v0
12668 + new-array v0, v0, [B
12673 +.method public getColumnCount()I
12676 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12678 + if-eqz v0, :cond_b
12680 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12682 + invoke-interface {v0}, Landroid/database/Cursor;->getColumnCount()I
12695 +.method public getColumnIndex(Ljava/lang/String;)I
12698 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12700 + if-eqz v0, :cond_b
12702 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12704 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
12717 +.method public getColumnIndexOrThrow(Ljava/lang/String;)I
12719 + .annotation system Ldalvik/annotation/Throws;
12721 + Ljava/lang/IllegalArgumentException;
12725 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12727 + if-eqz v0, :cond_b
12729 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12731 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getColumnIndexOrThrow(Ljava/lang/String;)I
12744 +.method public getColumnName(I)Ljava/lang/String;
12747 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12749 + if-eqz v0, :cond_b
12751 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12753 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getColumnName(I)Ljava/lang/String;
12755 + move-result-object v0
12761 + const-string v0, ""
12766 +.method public getColumnNames()[Ljava/lang/String;
12769 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12771 + if-eqz v0, :cond_b
12773 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12775 + invoke-interface {v0}, Landroid/database/Cursor;->getColumnNames()[Ljava/lang/String;
12777 + move-result-object v0
12785 + new-array v0, v0, [Ljava/lang/String;
12789 + const-string v2, ""
12791 + aput-object v2, v0, v1
12796 +.method public getCount()I
12799 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12801 + if-eqz v0, :cond_23
12803 + const-string v0, "PrivacyCursor"
12805 + new-instance v1, Ljava/lang/StringBuilder;
12807 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
12809 + const-string v2, "getCount: "
12811 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
12813 + move-result-object v1
12815 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
12817 + array-length v2, v2
12819 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
12821 + move-result-object v1
12823 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
12825 + move-result-object v1
12827 + invoke-static {v0, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
12829 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
12831 + array-length v0, v0
12842 +.method public getDouble(I)D
12845 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12847 + if-eqz v0, :cond_b
12849 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12851 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getDouble(I)D
12853 + move-result-wide v0
12859 + const-wide/16 v0, 0x0
12864 +.method public getExtras()Landroid/os/Bundle;
12867 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12869 + if-eqz v0, :cond_b
12871 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12873 + invoke-interface {v0}, Landroid/database/Cursor;->getExtras()Landroid/os/Bundle;
12875 + move-result-object v0
12881 + new-instance v0, Landroid/os/Bundle;
12883 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
12888 +.method public getFloat(I)F
12891 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12893 + if-eqz v0, :cond_b
12895 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12897 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getFloat(I)F
12910 +.method public getInt(I)I
12913 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12915 + if-eqz v1, :cond_b
12917 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12919 + invoke-interface {v1, p1}, Landroid/database/Cursor;->getInt(I)I
12932 +.method public getLong(I)J
12935 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12937 + if-eqz v0, :cond_b
12939 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12941 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getLong(I)J
12943 + move-result-wide v0
12949 + const-wide/16 v0, 0x0
12954 +.method public getPosition()I
12957 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12959 + if-eqz v1, :cond_37
12961 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12963 + invoke-interface {v1}, Landroid/database/Cursor;->getPosition()I
12967 + invoke-direct {p0, v1}, Landroid/privacy/surrogate/PrivacyCursor;->getMappedPos(I)I
12971 + const-string v1, "PrivacyCursor"
12973 + new-instance v2, Ljava/lang/StringBuilder;
12975 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
12977 + const-string v3, "getPosition - mapped position: "
12979 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
12981 + move-result-object v2
12983 + invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
12985 + move-result-object v2
12987 + const-string v3, " real position: "
12989 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
12991 + move-result-object v2
12993 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12995 + invoke-interface {v3}, Landroid/database/Cursor;->getPosition()I
12999 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
13001 + move-result-object v2
13003 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
13005 + move-result-object v2
13007 + invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
13018 +.method public getShort(I)S
13021 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13023 + if-eqz v0, :cond_b
13025 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13027 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getShort(I)S
13040 +.method public getString(I)Ljava/lang/String;
13043 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13045 + if-eqz v0, :cond_b
13047 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13049 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
13051 + move-result-object v0
13057 + const-string v0, ""
13062 +.method public getType(I)I
13065 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13067 + if-eqz v0, :cond_b
13069 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13071 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getType(I)I
13079 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13086 +.method public getWantsAllOnMoveCalls()Z
13089 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13091 + if-eqz v0, :cond_b
13093 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13095 + invoke-interface {v0}, Landroid/database/Cursor;->getWantsAllOnMoveCalls()Z
13108 +.method public isAfterLast()Z
13111 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13113 + if-eqz v0, :cond_b
13115 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13117 + invoke-interface {v0}, Landroid/database/Cursor;->isAfterLast()Z
13130 +.method public isBeforeFirst()Z
13133 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13135 + if-eqz v0, :cond_b
13137 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13139 + invoke-interface {v0}, Landroid/database/Cursor;->isBeforeFirst()Z
13152 +.method public isClosed()Z
13155 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13157 + if-eqz v0, :cond_b
13159 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13161 + invoke-interface {v0}, Landroid/database/Cursor;->isClosed()Z
13174 +.method public isFirst()Z
13179 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13181 + if-eqz v1, :cond_12
13183 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13185 + invoke-interface {v1}, Landroid/database/Cursor;->getPosition()I
13189 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13193 + if-ne v1, v2, :cond_12
13201 +.method public isLast()Z
13204 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13206 + if-eqz v0, :cond_17
13208 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13210 + invoke-interface {v0}, Landroid/database/Cursor;->getPosition()I
13214 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13216 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13218 + array-length v2, v2
13220 + add-int/lit8 v2, v2, -0x1
13224 + if-ne v0, v1, :cond_17
13237 +.method public isNull(I)Z
13240 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13242 + if-eqz v0, :cond_b
13244 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13246 + invoke-interface {v0, p1}, Landroid/database/Cursor;->isNull(I)Z
13259 +.method public move(I)Z
13264 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13266 + if-eqz v3, :cond_33
13268 + const-string v3, "PrivacyCursor"
13270 + new-instance v4, Ljava/lang/StringBuilder;
13272 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
13274 + const-string/jumbo v5, "move - offset: "
13276 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13278 + move-result-object v4
13280 + invoke-virtual {v4, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
13282 + move-result-object v4
13284 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
13286 + move-result-object v4
13288 + invoke-static {v3, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
13291 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13293 + iget-object v4, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13295 + invoke-interface {v4}, Landroid/database/Cursor;->getPosition()I
13299 + invoke-direct {p0, v4}, Landroid/privacy/surrogate/PrivacyCursor;->getMappedPos(I)I
13303 + add-int/2addr v4, p1
13307 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13309 + invoke-interface {v3, v1}, Landroid/database/Cursor;->moveToPosition(I)Z
13311 + .catch Ljava/lang/ArrayIndexOutOfBoundsException; {:try_start_1e .. :try_end_32} :catch_34
13320 + move-exception v0
13325 +.method public moveToFirst()Z
13330 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13332 + if-eqz v1, :cond_f
13334 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13336 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13340 + invoke-interface {v1, v2}, Landroid/database/Cursor;->moveToPosition(I)Z
13348 +.method public moveToLast()Z
13351 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13353 + if-eqz v1, :cond_14
13355 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13357 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13359 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13361 + array-length v3, v3
13363 + add-int/lit8 v3, v3, -0x1
13367 + invoke-interface {v1, v2}, Landroid/database/Cursor;->moveToPosition(I)Z
13380 +.method public moveToNext()Z
13385 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13387 + if-eqz v1, :cond_d
13389 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13391 + invoke-interface {v1}, Landroid/database/Cursor;->moveToNext()Z
13395 + if-nez v1, :cond_e
13406 + if-ne v0, v1, :cond_d
13408 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13410 + invoke-direct {p0, v1}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(Landroid/database/Cursor;)Z
13414 + if-nez v1, :cond_d
13416 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13418 + invoke-interface {v1}, Landroid/database/Cursor;->moveToNext()Z
13425 +.method public moveToPosition(I)Z
13430 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13432 + if-eqz v2, :cond_f
13435 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13437 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13441 + invoke-interface {v2, v3}, Landroid/database/Cursor;->moveToPosition(I)Z
13443 + .catch Ljava/lang/ArrayIndexOutOfBoundsException; {:try_start_5 .. :try_end_e} :catch_10
13452 + move-exception v0
13457 +.method public moveToPrevious()Z
13462 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13464 + if-eqz v1, :cond_d
13466 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13468 + invoke-interface {v1}, Landroid/database/Cursor;->moveToPrevious()Z
13472 + if-nez v1, :cond_e
13483 + if-ne v0, v1, :cond_d
13485 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13487 + invoke-direct {p0, v1}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(Landroid/database/Cursor;)Z
13491 + if-nez v1, :cond_d
13493 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13495 + invoke-interface {v1}, Landroid/database/Cursor;->moveToPrevious()Z
13502 +.method public registerContentObserver(Landroid/database/ContentObserver;)V
13505 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13507 + if-eqz v0, :cond_9
13509 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13511 + invoke-interface {v0, p1}, Landroid/database/Cursor;->registerContentObserver(Landroid/database/ContentObserver;)V
13517 +.method public registerDataSetObserver(Landroid/database/DataSetObserver;)V
13520 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13522 + if-eqz v0, :cond_9
13524 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13526 + invoke-interface {v0, p1}, Landroid/database/Cursor;->registerDataSetObserver(Landroid/database/DataSetObserver;)V
13532 +.method public requery()Z
13535 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13537 + if-eqz v0, :cond_b
13539 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13541 + invoke-interface {v0}, Landroid/database/Cursor;->requery()Z
13554 +.method public respond(Landroid/os/Bundle;)Landroid/os/Bundle;
13557 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13559 + if-eqz v0, :cond_b
13561 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13563 + invoke-interface {v0, p1}, Landroid/database/Cursor;->respond(Landroid/os/Bundle;)Landroid/os/Bundle;
13565 + move-result-object v0
13571 + new-instance v0, Landroid/os/Bundle;
13573 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
13578 +.method public setNotificationUri(Landroid/content/ContentResolver;Landroid/net/Uri;)V
13581 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13583 + if-eqz v0, :cond_9
13585 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13587 + invoke-interface {v0, p1, p2}, Landroid/database/Cursor;->setNotificationUri(Landroid/content/ContentResolver;Landroid/net/Uri;)V
13593 +.method public unregisterContentObserver(Landroid/database/ContentObserver;)V
13596 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13598 + if-eqz v0, :cond_9
13600 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13602 + invoke-interface {v0, p1}, Landroid/database/Cursor;->unregisterContentObserver(Landroid/database/ContentObserver;)V
13608 +.method public unregisterDataSetObserver(Landroid/database/DataSetObserver;)V
13611 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13613 + if-eqz v0, :cond_9
13615 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13617 + invoke-interface {v0, p1}, Landroid/database/Cursor;->unregisterDataSetObserver(Landroid/database/DataSetObserver;)V
13622 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali
13623 --- stock-framework/smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali 1969-12-31 18:00:00.000000000 -0600
13624 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali 2012-10-05 10:15:48.441126915 -0500
13626 +.class Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
13627 +.super Ljava/lang/Thread;
13628 +.source "PrivacyLocationManager.java"
13632 +.annotation system Ldalvik/annotation/EnclosingClass;
13633 + value = Landroid/privacy/surrogate/PrivacyLocationManager;
13636 +.annotation system Ldalvik/annotation/InnerClass;
13637 + accessFlags = 0x2
13638 + name = "PrivacyLocationUpdater"
13643 +.field private intent:Landroid/app/PendingIntent;
13645 +.field private latitude:D
13647 +.field private listener:Landroid/location/LocationListener;
13649 +.field private longitude:D
13651 +.field private provider:Ljava/lang/String;
13653 +.field final synthetic this$0:Landroid/privacy/surrogate/PrivacyLocationManager;
13657 +.method public constructor <init>(Landroid/privacy/surrogate/PrivacyLocationManager;Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;DD)V
13660 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->this$0:Landroid/privacy/surrogate/PrivacyLocationManager;
13662 + invoke-direct {p0}, Ljava/lang/Thread;-><init>()V
13664 + iput-object p2, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->provider:Ljava/lang/String;
13666 + iput-object p3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->listener:Landroid/location/LocationListener;
13668 + iput-object p4, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->intent:Landroid/app/PendingIntent;
13670 + iput-wide p5, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->latitude:D
13672 + iput-wide p7, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->longitude:D
13679 +.method public run()V
13682 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->provider:Ljava/lang/String;
13684 + if-eqz v3, :cond_43
13686 + new-instance v2, Landroid/location/Location;
13688 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->provider:Ljava/lang/String;
13690 + invoke-direct {v2, v3}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
13692 + iget-wide v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->latitude:D
13694 + invoke-virtual {v2, v3, v4}, Landroid/location/Location;->setLatitude(D)V
13696 + iget-wide v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->longitude:D
13698 + invoke-virtual {v2, v3, v4}, Landroid/location/Location;->setLongitude(D)V
13705 + if-ge v1, v3, :cond_43
13707 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->listener:Landroid/location/LocationListener;
13709 + if-eqz v3, :cond_34
13711 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->listener:Landroid/location/LocationListener;
13713 + invoke-interface {v3, v2}, Landroid/location/LocationListener;->onLocationChanged(Landroid/location/Location;)V
13718 + invoke-static {}, Ljava/lang/Math;->random()D
13720 + move-result-wide v3
13722 + const-wide v5, 0x408f400000000000L
13724 + mul-double/2addr v3, v5
13726 + double-to-int v3, v3
13728 + int-to-long v3, v3
13730 + invoke-static {v3, v4}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->sleep(J)V
13732 + .catch Ljava/lang/InterruptedException; {:try_start_22 .. :try_end_31} :catch_3e
13735 + add-int/lit8 v1, v1, 0x1
13740 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->intent:Landroid/app/PendingIntent;
13742 + if-eqz v3, :cond_22
13744 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->intent:Landroid/app/PendingIntent;
13746 + invoke-virtual {v3}, Landroid/app/PendingIntent;->cancel()V
13751 + move-exception v0
13753 + invoke-virtual {v0}, Ljava/lang/InterruptedException;->printStackTrace()V
13760 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyLocationManager.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyLocationManager.smali
13761 --- stock-framework/smali/android/privacy/surrogate/PrivacyLocationManager.smali 1969-12-31 18:00:00.000000000 -0600
13762 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyLocationManager.smali 2012-10-05 10:15:48.445126940 -0500
13764 +.class public final Landroid/privacy/surrogate/PrivacyLocationManager;
13765 +.super Landroid/location/LocationManager;
13766 +.source "PrivacyLocationManager.java"
13770 +.annotation system Ldalvik/annotation/MemberClasses;
13772 + Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
13778 +.field private static final CUSTOM_LOCATION_UPDATE_COUNT:I = 0x5
13780 +.field private static final TAG:Ljava/lang/String; = "PrivacyLocationManager"
13784 +.field private context:Landroid/content/Context;
13786 +.field private lock:Ljava/lang/Object;
13788 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
13792 +.method public constructor <init>(Landroid/location/ILocationManager;Landroid/content/Context;)V
13795 + invoke-direct {p0, p1}, Landroid/location/LocationManager;-><init>(Landroid/location/ILocationManager;)V
13797 + new-instance v0, Ljava/lang/Object;
13799 + invoke-direct {v0}, Ljava/lang/Object;-><init>()V
13801 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->lock:Ljava/lang/Object;
13803 + iput-object p2, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
13805 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
13807 + const-string/jumbo v1, "privacy"
13809 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
13811 + move-result-object v1
13813 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
13815 + move-result-object v1
13817 + invoke-direct {v0, p2, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
13819 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
13824 +.method private requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
13829 + if-nez p1, :cond_5
13837 + invoke-virtual {p1}, Landroid/location/Criteria;->getAccuracy()I
13843 + if-eq v0, v1, :cond_24
13845 + invoke-virtual {p1}, Landroid/location/Criteria;->getBearingAccuracy()I
13849 + if-eq v0, v2, :cond_24
13851 + invoke-virtual {p1}, Landroid/location/Criteria;->getHorizontalAccuracy()I
13855 + if-eq v0, v2, :cond_24
13857 + invoke-virtual {p1}, Landroid/location/Criteria;->getVerticalAccuracy()I
13861 + if-eq v0, v2, :cond_24
13863 + invoke-virtual {p1}, Landroid/location/Criteria;->getSpeedAccuracy()I
13867 + if-ne v0, v2, :cond_2b
13870 + const-string v0, "gps"
13872 + invoke-direct {p0, v0, p2, p3}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
13879 + const-string/jumbo v0, "network"
13881 + invoke-direct {p0, v0, p2, p3}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
13888 +.method private requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
13891 + move-object/from16 v0, p0
13893 + iget-object v0, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->lock:Ljava/lang/Object;
13895 + move-object/from16 v19, v0
13897 + monitor-enter v19
13900 + move-object/from16 v0, p0
13902 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
13904 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
13906 + move-result-object v2
13908 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
13912 + move-object/from16 v0, p0
13914 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
13916 + invoke-virtual {v1, v2, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
13918 + move-result-object v7
13920 + const/16 v18, 0x0
13922 + if-eqz v7, :cond_239
13924 + const-string v1, "gps"
13926 + move-object/from16 v0, p1
13928 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
13932 + if-eqz v1, :cond_111
13934 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
13938 + packed-switch v1, :pswitch_data_25e
13947 + move-object/from16 v0, p0
13949 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
13953 + const-string v5, "locationGPS"
13957 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
13962 + move-exception v1
13966 + .catchall {:try_start_7 .. :try_end_40} :catchall_3e
13971 + if-eqz p3, :cond_46
13974 + invoke-virtual/range {p3 .. p3}, Landroid/app/PendingIntent;->cancel()V
13977 + const/16 v18, 0x1
13979 + move-object/from16 v0, p0
13981 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
13985 + const-string v5, "locationGPS"
13989 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
13991 + .catchall {:try_start_43 .. :try_end_53} :catchall_3e
13997 + new-instance v8, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
13999 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
14001 + move-result-object v1
14003 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14005 + move-result-wide v13
14007 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
14009 + move-result-object v1
14011 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14013 + move-result-wide v15
14015 + move-object/from16 v9, p0
14017 + move-object/from16 v10, p1
14019 + move-object/from16 v11, p2
14021 + move-object/from16 v12, p3
14023 + 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
14025 + invoke-virtual {v8}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->start()V
14027 + .catchall {:try_start_54 .. :try_end_74} :catchall_3e
14028 + .catch Ljava/lang/NumberFormatException; {:try_start_54 .. :try_end_74} :catch_a6
14030 + const/16 v18, 0x1
14034 + move-object/from16 v0, p0
14036 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14040 + const-string v5, "locationGPS"
14042 + new-instance v6, Ljava/lang/StringBuilder;
14044 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
14046 + const-string v8, "Lat: "
14048 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14050 + move-result-object v6
14052 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
14054 + move-result-object v8
14056 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14058 + move-result-object v6
14060 + const-string v8, " Lon: "
14062 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14064 + move-result-object v6
14066 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
14068 + move-result-object v8
14070 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14072 + move-result-object v6
14074 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14076 + move-result-object v6
14078 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14083 + move-exception v17
14085 + const-string v1, "PrivacyLocationManager"
14087 + const-string/jumbo v4, "requestLocationUpdates: invalid coordinates"
14089 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
14091 + .catchall {:try_start_76 .. :try_end_af} :catchall_3e
14093 + const/16 v18, 0x1
14099 + new-instance v8, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
14101 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
14103 + move-result-object v1
14105 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14107 + move-result-wide v13
14109 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
14111 + move-result-object v1
14113 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14115 + move-result-wide v15
14117 + move-object/from16 v9, p0
14119 + move-object/from16 v10, p1
14121 + move-object/from16 v11, p2
14123 + move-object/from16 v12, p3
14125 + 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
14127 + invoke-virtual {v8}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->start()V
14129 + .catchall {:try_start_b2 .. :try_end_d2} :catchall_3e
14130 + .catch Ljava/lang/NumberFormatException; {:try_start_b2 .. :try_end_d2} :catch_105
14132 + const/16 v18, 0x1
14136 + move-object/from16 v0, p0
14138 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14142 + const-string v5, "locationGPS"
14144 + new-instance v6, Ljava/lang/StringBuilder;
14146 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
14148 + const-string v8, "Lat: "
14150 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14152 + move-result-object v6
14154 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
14156 + move-result-object v8
14158 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14160 + move-result-object v6
14162 + const-string v8, " Lon: "
14164 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14166 + move-result-object v6
14168 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
14170 + move-result-object v8
14172 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14174 + move-result-object v6
14176 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14178 + move-result-object v6
14180 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14185 + move-exception v17
14187 + const-string v1, "PrivacyLocationManager"
14189 + const-string/jumbo v4, "requestLocationUpdates: invalid coordinates"
14191 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
14193 + const/16 v18, 0x1
14198 + const-string/jumbo v1, "network"
14200 + move-object/from16 v0, p1
14202 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
14206 + if-eqz v1, :cond_204
14208 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
14212 + packed-switch v1, :pswitch_data_26a
14217 + move-object/from16 v0, p0
14219 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14223 + const-string v5, "locationNetwork"
14227 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14232 + if-eqz p3, :cond_137
14234 + invoke-virtual/range {p3 .. p3}, Landroid/app/PendingIntent;->cancel()V
14237 + const/16 v18, 0x1
14239 + move-object/from16 v0, p0
14241 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14245 + const-string v5, "locationNetwork"
14249 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14251 + .catchall {:try_start_d4 .. :try_end_144} :catchall_3e
14257 + new-instance v8, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
14259 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
14261 + move-result-object v1
14263 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14265 + move-result-wide v13
14267 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
14269 + move-result-object v1
14271 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14273 + move-result-wide v15
14275 + move-object/from16 v9, p0
14277 + move-object/from16 v10, p1
14279 + move-object/from16 v11, p2
14281 + move-object/from16 v12, p3
14283 + 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
14285 + invoke-virtual {v8}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->start()V
14287 + .catchall {:try_start_146 .. :try_end_166} :catchall_3e
14288 + .catch Ljava/lang/NumberFormatException; {:try_start_146 .. :try_end_166} :catch_199
14290 + const/16 v18, 0x1
14294 + move-object/from16 v0, p0
14296 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14300 + const-string v5, "locationNetwork"
14302 + new-instance v6, Ljava/lang/StringBuilder;
14304 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
14306 + const-string v8, "Lat: "
14308 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14310 + move-result-object v6
14312 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
14314 + move-result-object v8
14316 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14318 + move-result-object v6
14320 + const-string v8, " Lon: "
14322 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14324 + move-result-object v6
14326 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
14328 + move-result-object v8
14330 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14332 + move-result-object v6
14334 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14336 + move-result-object v6
14338 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14343 + move-exception v17
14345 + const-string v1, "PrivacyLocationManager"
14347 + const-string/jumbo v4, "requestLocationUpdates: invalid coordinates"
14349 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
14351 + .catchall {:try_start_168 .. :try_end_1a2} :catchall_3e
14353 + const/16 v18, 0x1
14359 + new-instance v8, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
14361 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
14363 + move-result-object v1
14365 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14367 + move-result-wide v13
14369 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
14371 + move-result-object v1
14373 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14375 + move-result-wide v15
14377 + move-object/from16 v9, p0
14379 + move-object/from16 v10, p1
14381 + move-object/from16 v11, p2
14383 + move-object/from16 v12, p3
14385 + 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
14387 + invoke-virtual {v8}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->start()V
14389 + .catchall {:try_start_1a5 .. :try_end_1c5} :catchall_3e
14390 + .catch Ljava/lang/NumberFormatException; {:try_start_1a5 .. :try_end_1c5} :catch_1f8
14392 + const/16 v18, 0x1
14396 + move-object/from16 v0, p0
14398 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14402 + const-string v5, "locationNetwork"
14404 + new-instance v6, Ljava/lang/StringBuilder;
14406 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
14408 + const-string v8, "Lat: "
14410 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14412 + move-result-object v6
14414 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
14416 + move-result-object v8
14418 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14420 + move-result-object v6
14422 + const-string v8, " Lon: "
14424 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14426 + move-result-object v6
14428 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
14430 + move-result-object v8
14432 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14434 + move-result-object v6
14436 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14438 + move-result-object v6
14440 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14445 + move-exception v17
14447 + const-string v1, "PrivacyLocationManager"
14449 + const-string/jumbo v4, "requestLocationUpdates: invalid coordinates"
14451 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
14453 + const/16 v18, 0x1
14458 + const-string/jumbo v1, "passive"
14460 + move-object/from16 v0, p1
14462 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
14466 + if-eqz v1, :cond_30
14468 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
14472 + if-nez v1, :cond_22a
14474 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
14478 + if-nez v1, :cond_22a
14480 + const/16 v18, 0x0
14482 + move-object/from16 v0, p0
14484 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14488 + const-string v5, "locationGPS"
14492 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14497 + const/16 v18, 0x1
14499 + move-object/from16 v0, p0
14501 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14505 + const-string v5, "locationGPS"
14509 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14514 + const-string/jumbo v1, "network"
14516 + move-object/from16 v0, p1
14518 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
14522 + if-eqz v1, :cond_251
14524 + move-object/from16 v0, p0
14526 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14530 + const-string v5, "locationNetwork"
14534 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14539 + move-object/from16 v0, p0
14541 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14545 + const-string v5, "locationGPS"
14549 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14551 + .catchall {:try_start_1c7 .. :try_end_25c} :catchall_3e
14555 + :pswitch_data_25e
14556 + .packed-switch 0x0
14561 + .end packed-switch
14563 + :pswitch_data_26a
14564 + .packed-switch 0x0
14569 + .end packed-switch
14574 +.method public addNmeaListener(Landroid/location/GpsStatus$NmeaListener;)Z
14581 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
14583 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
14585 + move-result-object v1
14587 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
14591 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14593 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
14595 + move-result-object v6
14597 + if-eqz v6, :cond_24
14599 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
14603 + if-eqz v0, :cond_24
14605 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14609 + const-string v4, "locationGPS"
14611 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14619 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14621 + const-string v4, "locationGPS"
14625 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14627 + invoke-super {p0, p1}, Landroid/location/LocationManager;->addNmeaListener(Landroid/location/GpsStatus$NmeaListener;)Z
14634 +.method public getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
14647 + if-nez p1, :cond_c
14649 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
14651 + move-result-object v7
14658 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
14660 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
14662 + move-result-object v1
14664 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
14668 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14670 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
14672 + move-result-object v6
14676 + if-eqz v6, :cond_22c
14678 + const-string v0, "gps"
14680 + invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
14684 + if-eqz v0, :cond_ff
14686 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
14690 + packed-switch v0, :pswitch_data_29a
14695 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
14697 + move-result-object v7
14699 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14701 + const-string v4, "locationGPS"
14703 + if-eqz v7, :cond_5e
14705 + new-instance v5, Ljava/lang/StringBuilder;
14707 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
14709 + const-string v8, "Lat: "
14711 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14713 + move-result-object v5
14715 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
14717 + move-result-wide v8
14719 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
14721 + move-result-object v5
14723 + const-string v8, " Lon: "
14725 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14727 + move-result-object v5
14729 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
14731 + move-result-wide v8
14733 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
14735 + move-result-object v5
14737 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14739 + move-result-object v5
14742 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14747 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14749 + const-string v4, "locationGPS"
14753 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14758 + new-instance v7, Landroid/location/Location;
14760 + invoke-direct {v7, p1}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
14762 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
14764 + move-result-object v0
14766 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14768 + move-result-wide v3
14770 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLatitude(D)V
14772 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
14774 + move-result-object v0
14776 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14778 + move-result-wide v3
14780 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLongitude(D)V
14782 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14784 + const-string v4, "locationGPS"
14786 + new-instance v3, Ljava/lang/StringBuilder;
14788 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
14790 + const-string v5, "Lat: "
14792 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14794 + move-result-object v3
14796 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
14798 + move-result-wide v8
14800 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
14802 + move-result-object v3
14804 + const-string v5, " Lon: "
14806 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14808 + move-result-object v3
14810 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
14812 + move-result-wide v8
14814 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
14816 + move-result-object v3
14818 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14820 + move-result-object v5
14824 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14829 + new-instance v7, Landroid/location/Location;
14831 + invoke-direct {v7, p1}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
14833 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
14835 + move-result-object v0
14837 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14839 + move-result-wide v3
14841 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLatitude(D)V
14843 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
14845 + move-result-object v0
14847 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14849 + move-result-wide v3
14851 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLongitude(D)V
14853 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14855 + const-string v4, "locationGPS"
14857 + new-instance v3, Ljava/lang/StringBuilder;
14859 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
14861 + const-string v5, "Lat: "
14863 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14865 + move-result-object v3
14867 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
14869 + move-result-wide v8
14871 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
14873 + move-result-object v3
14875 + const-string v5, " Lon: "
14877 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14879 + move-result-object v3
14881 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
14883 + move-result-wide v8
14885 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
14887 + move-result-object v3
14889 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14891 + move-result-object v5
14895 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14900 + const-string/jumbo v0, "network"
14902 + invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
14906 + if-eqz v0, :cond_1e3
14908 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
14912 + packed-switch v0, :pswitch_data_2a6
14917 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
14919 + move-result-object v7
14921 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14923 + const-string v4, "locationNetwork"
14925 + if-eqz v7, :cond_140
14927 + new-instance v5, Ljava/lang/StringBuilder;
14929 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
14931 + const-string v8, "Lat: "
14933 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14935 + move-result-object v5
14937 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
14939 + move-result-wide v8
14941 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
14943 + move-result-object v5
14945 + const-string v8, " Lon: "
14947 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14949 + move-result-object v5
14951 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
14953 + move-result-wide v8
14955 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
14957 + move-result-object v5
14959 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14961 + move-result-object v5
14964 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14969 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14971 + const-string v4, "locationNetwork"
14975 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14980 + new-instance v7, Landroid/location/Location;
14982 + invoke-direct {v7, p1}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
14984 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
14986 + move-result-object v0
14988 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14990 + move-result-wide v3
14992 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLatitude(D)V
14994 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
14996 + move-result-object v0
14998 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
15000 + move-result-wide v3
15002 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLongitude(D)V
15004 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15006 + const-string v4, "locationNetwork"
15008 + new-instance v3, Ljava/lang/StringBuilder;
15010 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
15012 + const-string v5, "Lat: "
15014 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15016 + move-result-object v3
15018 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15020 + move-result-wide v8
15022 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15024 + move-result-object v3
15026 + const-string v5, " Lon: "
15028 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15030 + move-result-object v3
15032 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15034 + move-result-wide v8
15036 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15038 + move-result-object v3
15040 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15042 + move-result-object v5
15046 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15051 + new-instance v7, Landroid/location/Location;
15053 + invoke-direct {v7, p1}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
15055 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
15057 + move-result-object v0
15059 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
15061 + move-result-wide v3
15063 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLatitude(D)V
15065 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
15067 + move-result-object v0
15069 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
15071 + move-result-wide v3
15073 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLongitude(D)V
15075 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15077 + const-string v4, "locationNetwork"
15079 + new-instance v3, Ljava/lang/StringBuilder;
15081 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
15083 + const-string v5, "Lat: "
15085 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15087 + move-result-object v3
15089 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15091 + move-result-wide v8
15093 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15095 + move-result-object v3
15097 + const-string v5, " Lon: "
15099 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15101 + move-result-object v3
15103 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15105 + move-result-wide v8
15107 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15109 + move-result-object v3
15111 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15113 + move-result-object v5
15117 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15122 + const-string/jumbo v0, "passive"
15124 + invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15128 + if-eqz v0, :cond_b
15130 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
15134 + if-nez v0, :cond_b
15136 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15140 + if-nez v0, :cond_b
15142 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
15144 + move-result-object v7
15146 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15148 + const-string v4, "locationGPS"
15150 + if-eqz v7, :cond_227
15152 + new-instance v5, Ljava/lang/StringBuilder;
15154 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
15156 + const-string v8, "Lat: "
15158 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15160 + move-result-object v5
15162 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15164 + move-result-wide v8
15166 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15168 + move-result-object v5
15170 + const-string v8, " Lon: "
15172 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15174 + move-result-object v5
15176 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15178 + move-result-wide v8
15180 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15182 + move-result-object v5
15184 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15186 + move-result-object v5
15189 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15194 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
15196 + move-result-object v7
15198 + const-string/jumbo v0, "network"
15200 + invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15204 + if-eqz v0, :cond_269
15206 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15208 + const-string v4, "locationNetwork"
15210 + if-eqz v7, :cond_264
15212 + new-instance v5, Ljava/lang/StringBuilder;
15214 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
15216 + const-string v8, "Lat: "
15218 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15220 + move-result-object v5
15222 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15224 + move-result-wide v8
15226 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15228 + move-result-object v5
15230 + const-string v8, " Lon: "
15232 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15234 + move-result-object v5
15236 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15238 + move-result-wide v8
15240 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15242 + move-result-object v5
15244 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15246 + move-result-object v5
15249 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15254 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15256 + const-string v4, "locationGPS"
15258 + if-eqz v7, :cond_294
15260 + new-instance v5, Ljava/lang/StringBuilder;
15262 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
15264 + const-string v8, "Lat: "
15266 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15268 + move-result-object v5
15270 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15272 + move-result-wide v8
15274 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15276 + move-result-object v5
15278 + const-string v8, " Lon: "
15280 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15282 + move-result-object v5
15284 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15286 + move-result-wide v8
15288 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15290 + move-result-object v5
15292 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15294 + move-result-object v5
15297 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15303 + :pswitch_data_29a
15304 + .packed-switch 0x0
15309 + .end packed-switch
15311 + :pswitch_data_2a6
15312 + .packed-switch 0x0
15317 + .end packed-switch
15320 +.method public getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15323 + if-nez p1, :cond_7
15325 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15327 + move-result-object v0
15334 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15336 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
15338 + invoke-virtual {v3}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
15340 + move-result-object v3
15342 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
15346 + invoke-virtual {v2, v3, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
15348 + move-result-object v1
15352 + if-eqz v1, :cond_5f
15354 + const-string v2, "gps"
15356 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15360 + if-eqz v2, :cond_2f
15362 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
15366 + packed-switch v2, :pswitch_data_64
15372 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15374 + move-result-object v0
15379 + const-string/jumbo v2, "network"
15381 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15385 + if-eqz v2, :cond_45
15387 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15391 + packed-switch v2, :pswitch_data_70
15397 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15399 + move-result-object v0
15404 + const-string/jumbo v2, "passive"
15406 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15410 + if-eqz v2, :cond_6
15412 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
15416 + if-eqz v2, :cond_5a
15418 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15422 + if-nez v2, :cond_6
15425 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15427 + move-result-object v0
15432 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15434 + move-result-object v0
15439 + .packed-switch 0x0
15444 + .end packed-switch
15447 + .packed-switch 0x0
15452 + .end packed-switch
15455 +.method public isProviderEnabled(Ljava/lang/String;)Z
15458 + if-nez p1, :cond_7
15460 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
15470 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15472 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
15474 + invoke-virtual {v3}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
15476 + move-result-object v3
15478 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
15482 + invoke-virtual {v2, v3, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
15484 + move-result-object v1
15488 + if-eqz v1, :cond_65
15490 + const-string v2, "gps"
15492 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15496 + if-eqz v2, :cond_31
15498 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
15502 + packed-switch v2, :pswitch_data_6a
15507 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
15519 + const-string/jumbo v2, "network"
15521 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15525 + if-eqz v2, :cond_49
15527 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15531 + packed-switch v2, :pswitch_data_76
15536 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
15548 + const-string/jumbo v2, "passive"
15550 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15554 + if-eqz v2, :cond_6
15556 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
15560 + if-eqz v2, :cond_5e
15562 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15566 + if-nez v2, :cond_63
15569 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
15581 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
15588 + .packed-switch 0x0
15593 + .end packed-switch
15596 + .packed-switch 0x0
15601 + .end packed-switch
15604 +.method public requestLocationUpdates(JFLandroid/location/Criteria;Landroid/app/PendingIntent;)V
15607 + if-eqz p4, :cond_4
15609 + if-nez p5, :cond_8
15612 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/app/PendingIntent;)V
15621 + invoke-direct {p0, p4, v0, p5}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15625 + if-nez v0, :cond_7
15627 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/app/PendingIntent;)V
15632 +.method public requestLocationUpdates(JFLandroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
15635 + if-eqz p4, :cond_4
15637 + if-nez p5, :cond_8
15640 + invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
15649 + invoke-direct {p0, p4, p5, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15653 + if-nez v0, :cond_7
15655 + invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
15660 +.method public requestLocationUpdates(Ljava/lang/String;JFLandroid/app/PendingIntent;)V
15663 + if-eqz p1, :cond_4
15665 + if-nez p5, :cond_8
15668 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/app/PendingIntent;)V
15677 + invoke-direct {p0, p1, v0, p5}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15681 + if-nez v0, :cond_7
15683 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/app/PendingIntent;)V
15688 +.method public requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;)V
15691 + if-eqz p1, :cond_4
15693 + if-nez p5, :cond_8
15696 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;)V
15705 + invoke-direct {p0, p1, p5, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15709 + if-nez v0, :cond_7
15711 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;)V
15716 +.method public requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;Landroid/os/Looper;)V
15719 + if-eqz p1, :cond_4
15721 + if-nez p5, :cond_8
15724 + invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;Landroid/os/Looper;)V
15733 + invoke-direct {p0, p1, p5, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15737 + if-nez v0, :cond_7
15739 + invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;Landroid/os/Looper;)V
15744 +.method public requestSingleUpdate(Landroid/location/Criteria;Landroid/app/PendingIntent;)V
15747 + if-eqz p1, :cond_4
15749 + if-nez p2, :cond_8
15752 + invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/app/PendingIntent;)V
15761 + invoke-direct {p0, p1, v0, p2}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15765 + if-nez v0, :cond_7
15767 + invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/app/PendingIntent;)V
15772 +.method public requestSingleUpdate(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
15775 + if-eqz p1, :cond_4
15777 + if-nez p2, :cond_8
15780 + invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
15789 + invoke-direct {p0, p1, p2, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15793 + if-nez v0, :cond_7
15795 + invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
15800 +.method public requestSingleUpdate(Ljava/lang/String;Landroid/app/PendingIntent;)V
15803 + if-eqz p1, :cond_4
15805 + if-nez p2, :cond_8
15808 + invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/app/PendingIntent;)V
15817 + invoke-direct {p0, p1, v0, p2}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15821 + if-nez v0, :cond_7
15823 + invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/app/PendingIntent;)V
15828 +.method public requestSingleUpdate(Ljava/lang/String;Landroid/location/LocationListener;Landroid/os/Looper;)V
15831 + if-eqz p1, :cond_4
15833 + if-nez p2, :cond_8
15836 + invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/location/LocationListener;Landroid/os/Looper;)V
15845 + invoke-direct {p0, p1, p2, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15849 + if-nez v0, :cond_7
15851 + invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/location/LocationListener;Landroid/os/Looper;)V
15855 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyTelephonyManager.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyTelephonyManager.smali
15856 --- stock-framework/smali/android/privacy/surrogate/PrivacyTelephonyManager.smali 1969-12-31 18:00:00.000000000 -0600
15857 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyTelephonyManager.smali 2012-10-05 10:15:48.445126940 -0500
15859 +.class public final Landroid/privacy/surrogate/PrivacyTelephonyManager;
15860 +.super Landroid/telephony/TelephonyManager;
15861 +.source "PrivacyTelephonyManager.java"
15865 +.field private static final TAG:Ljava/lang/String; = "PrivacyTelephonyManager"
15869 +.field private context:Landroid/content/Context;
15871 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
15875 +.method public constructor <init>(Landroid/content/Context;)V
15878 + invoke-direct {p0, p1}, Landroid/telephony/TelephonyManager;-><init>(Landroid/content/Context;)V
15880 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
15882 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
15884 + const-string/jumbo v1, "privacy"
15886 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
15888 + move-result-object v1
15890 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
15892 + move-result-object v1
15894 + invoke-direct {v0, p1, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
15896 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15901 +.method private getNetworkInfo()Ljava/lang/String;
15906 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
15908 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
15910 + move-result-object v1
15912 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
15916 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15918 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
15920 + move-result-object v6
15922 + if-eqz v6, :cond_25
15924 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
15928 + if-eqz v0, :cond_25
15930 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15934 + const-string/jumbo v4, "networkInfoCurrent"
15936 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15938 + const-string v5, ""
15944 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15948 + const-string/jumbo v4, "networkInfoCurrent"
15950 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15955 +.method private getSimInfo()Ljava/lang/String;
15960 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
15962 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
15964 + move-result-object v1
15966 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
15970 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15972 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
15974 + move-result-object v6
15976 + if-eqz v6, :cond_25
15978 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSimInfoSetting()B
15982 + if-eqz v0, :cond_25
15984 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15988 + const-string/jumbo v4, "networkInfoSIM"
15990 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15992 + const-string v5, ""
15998 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16002 + const-string/jumbo v4, "networkInfoSIM"
16004 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16011 +.method public getDeviceId()Ljava/lang/String;
16014 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16016 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16018 + move-result-object v1
16020 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16024 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16026 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16028 + move-result-object v6
16030 + if-eqz v6, :cond_28
16032 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
16036 + if-eqz v0, :cond_28
16038 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceId()Ljava/lang/String;
16040 + move-result-object v5
16042 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16044 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
16048 + const-string v4, "deviceID"
16050 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16056 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getDeviceId()Ljava/lang/String;
16058 + move-result-object v5
16060 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16064 + const-string v4, "deviceID"
16066 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16071 +.method public getLine1Number()Ljava/lang/String;
16074 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16076 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16078 + move-result-object v1
16080 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16084 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16086 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16088 + move-result-object v6
16090 + if-eqz v6, :cond_28
16092 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
16096 + if-eqz v0, :cond_28
16098 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1Number()Ljava/lang/String;
16100 + move-result-object v5
16102 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16104 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
16108 + const-string v4, "line1Number"
16110 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16116 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getLine1Number()Ljava/lang/String;
16118 + move-result-object v5
16120 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16124 + const-string v4, "line1Number"
16126 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16131 +.method public getNeighboringCellInfo()Ljava/util/List;
16133 + .annotation system Ldalvik/annotation/Signature;
16136 + "Ljava/util/List",
16138 + "Landroid/telephony/NeighboringCellInfo;",
16143 + iget-object v6, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16145 + iget-object v7, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16147 + invoke-virtual {v7}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16149 + move-result-object v7
16151 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16155 + invoke-virtual {v6, v7, v8}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16157 + move-result-object v5
16161 + const-string v4, "[null]"
16163 + if-eqz v5, :cond_1c
16165 + invoke-virtual {v5}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
16171 + if-ne v6, v7, :cond_1d
16178 + invoke-virtual {v5}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
16182 + if-eqz v6, :cond_2b
16184 + new-instance v3, Ljava/util/ArrayList;
16186 + invoke-direct {v3}, Ljava/util/ArrayList;-><init>()V
16188 + const-string v4, "[empty list of cells]"
16193 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNeighboringCellInfo()Ljava/util/List;
16195 + move-result-object v3
16197 + const-string v0, ""
16199 + invoke-interface {v3}, Ljava/util/List;->iterator()Ljava/util/Iterator;
16201 + move-result-object v2
16204 + invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z
16208 + if-eqz v6, :cond_5f
16210 + invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
16212 + move-result-object v1
16214 + check-cast v1, Landroid/telephony/NeighboringCellInfo;
16216 + new-instance v6, Ljava/lang/StringBuilder;
16218 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
16220 + invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16222 + move-result-object v6
16224 + const-string v7, "\t"
16226 + invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16228 + move-result-object v6
16230 + invoke-virtual {v6, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
16232 + move-result-object v6
16234 + const-string v7, "\n"
16236 + invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16238 + move-result-object v6
16240 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
16242 + move-result-object v0
16247 + new-instance v6, Ljava/lang/StringBuilder;
16249 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
16251 + const-string v7, "[real value]:\n"
16253 + invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16255 + move-result-object v6
16257 + invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16259 + move-result-object v6
16261 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
16263 + move-result-object v4
16268 +.method public getNetworkCountryIso()Ljava/lang/String;
16271 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getNetworkInfo()Ljava/lang/String;
16273 + move-result-object v0
16275 + if-nez v0, :cond_a
16277 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNetworkCountryIso()Ljava/lang/String;
16279 + move-result-object v0
16285 +.method public getNetworkOperator()Ljava/lang/String;
16288 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getNetworkInfo()Ljava/lang/String;
16290 + move-result-object v0
16292 + if-nez v0, :cond_a
16294 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNetworkOperator()Ljava/lang/String;
16296 + move-result-object v0
16302 +.method public getNetworkOperatorName()Ljava/lang/String;
16305 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getNetworkInfo()Ljava/lang/String;
16307 + move-result-object v0
16309 + if-nez v0, :cond_a
16311 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNetworkOperatorName()Ljava/lang/String;
16313 + move-result-object v0
16319 +.method public getSimCountryIso()Ljava/lang/String;
16322 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getSimInfo()Ljava/lang/String;
16324 + move-result-object v0
16326 + if-nez v0, :cond_a
16328 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSimCountryIso()Ljava/lang/String;
16330 + move-result-object v0
16336 +.method public getSimOperator()Ljava/lang/String;
16339 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getSimInfo()Ljava/lang/String;
16341 + move-result-object v0
16343 + if-nez v0, :cond_a
16345 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSimOperator()Ljava/lang/String;
16347 + move-result-object v0
16353 +.method public getSimOperatorName()Ljava/lang/String;
16356 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getSimInfo()Ljava/lang/String;
16358 + move-result-object v0
16360 + if-nez v0, :cond_a
16362 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSimOperatorName()Ljava/lang/String;
16364 + move-result-object v0
16370 +.method public getSimSerialNumber()Ljava/lang/String;
16373 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16375 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16377 + move-result-object v1
16379 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16383 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16385 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16387 + move-result-object v6
16389 + if-eqz v6, :cond_29
16391 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSimSerialNumberSetting()B
16395 + if-eqz v0, :cond_29
16397 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSimSerialNumber()Ljava/lang/String;
16399 + move-result-object v5
16401 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16403 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSimSerialNumberSetting()B
16407 + const-string/jumbo v4, "simSerial"
16409 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16415 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSimSerialNumber()Ljava/lang/String;
16417 + move-result-object v5
16419 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16423 + const-string/jumbo v4, "simSerial"
16425 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16430 +.method public getSubscriberId()Ljava/lang/String;
16433 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16435 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16437 + move-result-object v1
16439 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16443 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16445 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16447 + move-result-object v6
16449 + if-eqz v6, :cond_29
16451 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberIdSetting()B
16455 + if-eqz v0, :cond_29
16457 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberId()Ljava/lang/String;
16459 + move-result-object v5
16461 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16463 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberIdSetting()B
16467 + const-string/jumbo v4, "subscriberID"
16469 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16475 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSubscriberId()Ljava/lang/String;
16477 + move-result-object v5
16479 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16483 + const-string/jumbo v4, "subscriberID"
16485 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16490 +.method public getVoiceMailNumber()Ljava/lang/String;
16493 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16495 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16497 + move-result-object v1
16499 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16503 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16505 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16507 + move-result-object v6
16509 + if-eqz v6, :cond_28
16511 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
16515 + if-eqz v0, :cond_28
16517 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1Number()Ljava/lang/String;
16519 + move-result-object v5
16521 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16523 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
16527 + const-string v4, "line1Number"
16529 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16535 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getVoiceMailNumber()Ljava/lang/String;
16537 + move-result-object v5
16539 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16543 + const-string v4, "line1Number"
16545 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16550 +.method public listen(Landroid/telephony/PhoneStateListener;I)V
16553 + and-int/lit8 v0, p2, 0x10
16555 + if-nez v0, :cond_8
16557 + and-int/lit8 v0, p2, 0x20
16559 + if-eqz v0, :cond_21
16562 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16564 + invoke-virtual {p1, v0}, Landroid/telephony/PhoneStateListener;->setContext(Landroid/content/Context;)V
16566 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16568 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16570 + move-result-object v0
16572 + invoke-virtual {p1, v0}, Landroid/telephony/PhoneStateListener;->setPackageName(Ljava/lang/String;)V
16574 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16578 + invoke-virtual {p1, v0}, Landroid/telephony/PhoneStateListener;->setUid(I)V
16580 + invoke-super {p0, p1, p2}, Landroid/telephony/TelephonyManager;->listen(Landroid/telephony/PhoneStateListener;I)V
16586 + invoke-super {p0, p1, p2}, Landroid/telephony/TelephonyManager;->listen(Landroid/telephony/PhoneStateListener;I)V
16590 diff -Npru stock-framework/smali/android/server/BluetoothService.smali pdroid-framework/smali/android/server/BluetoothService.smali
16591 --- stock-framework/smali/android/server/BluetoothService.smali 2012-10-05 10:16:10.957238572 -0500
16592 +++ pdroid-framework/smali/android/server/BluetoothService.smali 2012-10-05 10:15:48.689128145 -0500
16593 @@ -5759,7 +5759,7 @@
16595 invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
16597 - const-string v1, "mIsAirplaneSensitive = "
16598 + const-string/jumbo v1, "mIsAirplaneSensitive = "
16600 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16602 @@ -5781,7 +5781,7 @@
16604 invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
16606 - const-string v1, "mIsAirplaneToggleable = "
16607 + const-string/jumbo v1, "mIsAirplaneToggleable = "
16609 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16611 diff -Npru stock-framework/smali/android/service/wallpaper/WallpaperService$Engine.smali pdroid-framework/smali/android/service/wallpaper/WallpaperService$Engine.smali
16612 --- stock-framework/smali/android/service/wallpaper/WallpaperService$Engine.smali 2012-10-05 10:16:10.981238686 -0500
16613 +++ pdroid-framework/smali/android/service/wallpaper/WallpaperService$Engine.smali 2012-10-05 10:15:48.709128244 -0500
16614 @@ -730,7 +730,7 @@
16616 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
16618 - const-string v0, "mInitializing="
16619 + const-string/jumbo v0, "mInitializing="
16621 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
16623 @@ -944,7 +944,7 @@
16629 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
16631 const-string/jumbo v0, "mPendingXOffset="
16632 @@ -1001,7 +1001,7 @@
16634 iget-object v0, p0, Landroid/service/wallpaper/WallpaperService$Engine;->mPendingMove:Landroid/view/MotionEvent;
16636 - if-eqz v0, :cond_16c
16637 + if-eqz v0, :cond_16d
16639 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
16641 @@ -1013,17 +1013,17 @@
16643 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
16657 - .catchall {:try_start_112 .. :try_end_170} :catchall_16e
16659 + .catchall {:try_start_113 .. :try_end_171} :catchall_16f
16663 diff -Npru stock-framework/smali/android/telephony/PhoneStateListener$1.smali pdroid-framework/smali/android/telephony/PhoneStateListener$1.smali
16664 --- stock-framework/smali/android/telephony/PhoneStateListener$1.smali 2012-10-05 10:16:11.029238924 -0500
16665 +++ pdroid-framework/smali/android/telephony/PhoneStateListener$1.smali 2012-10-05 10:15:48.757128482 -0500
16666 @@ -64,23 +64,196 @@
16669 .method public onCallStateChanged(ILjava/lang/String;)V
16673 - iget-object v0, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16674 + move-object/from16 v0, p0
16676 - iget-object v0, v0, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
16677 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16679 - const/16 v1, 0x20
16680 + #getter for: Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
16681 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
16684 + move-result-object v3
16686 - invoke-static {v0, v1, p1, v2, p2}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
16687 + if-eqz v3, :cond_99
16689 - move-result-object v0
16690 + if-eqz p2, :cond_99
16692 - invoke-virtual {v0}, Landroid/os/Message;->sendToTarget()V
16693 + invoke-virtual/range {p2 .. p2}, Ljava/lang/String;->isEmpty()Z
16697 + if-nez v3, :cond_99
16699 + move-object/from16 v0, p0
16701 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16703 + #getter for: Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
16704 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
16706 + move-result-object v3
16708 + const-string/jumbo v4, "privacy"
16710 + invoke-virtual {v3, v4}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
16712 + move-result-object v2
16714 + check-cast v2, Landroid/privacy/PrivacySettingsManager;
16716 + move-object/from16 v0, p0
16718 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16720 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
16721 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
16723 + move-result-object v3
16725 + move-object/from16 v0, p0
16727 + iget-object v4, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16729 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
16730 + invoke-static {v4}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
16734 + invoke-virtual {v2, v3, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16736 + move-result-object v8
16738 + if-eqz v8, :cond_6a
16740 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getIncomingCallsSetting()B
16744 + if-eqz v3, :cond_6a
16746 + const-string v7, ""
16748 + move-object/from16 v0, p0
16750 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16752 + iget-object v3, v3, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
16754 + const/16 v4, 0x20
16758 + move/from16 v0, p1
16760 + invoke-static {v3, v4, v0, v5, v7}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
16762 + move-result-object v3
16764 + invoke-virtual {v3}, Landroid/os/Message;->sendToTarget()V
16766 + move-object/from16 v0, p0
16768 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16770 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
16771 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
16773 + move-result-object v3
16775 + move-object/from16 v0, p0
16777 + iget-object v4, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16779 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
16780 + invoke-static {v4}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
16786 + const-string v6, "incomingCall"
16788 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16794 + move-object/from16 v0, p0
16796 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16798 + iget-object v3, v3, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
16800 + const/16 v4, 0x20
16804 + move/from16 v0, p1
16806 + move-object/from16 v1, p2
16808 + invoke-static {v3, v4, v0, v5, v1}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
16810 + move-result-object v3
16812 + invoke-virtual {v3}, Landroid/os/Message;->sendToTarget()V
16814 + move-object/from16 v0, p0
16816 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16818 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
16819 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
16821 + move-result-object v10
16823 + move-object/from16 v0, p0
16825 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16827 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
16828 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
16834 + const-string v13, "incomingCall"
16836 + move-object v9, v2
16838 + move-object/from16 v14, p2
16840 + move-object v15, v8
16842 + invoke-virtual/range {v9 .. v15}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16847 + move-object/from16 v0, p0
16849 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16851 + iget-object v3, v3, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
16853 + const/16 v4, 0x20
16857 + move/from16 v0, p1
16859 + move-object/from16 v1, p2
16861 + invoke-static {v3, v4, v0, v5, v1}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
16863 + move-result-object v3
16865 + invoke-virtual {v3}, Landroid/os/Message;->sendToTarget()V
16870 .method public onCellInfoChanged(Landroid/telephony/CellInfo;)V
16871 @@ -104,27 +277,124 @@
16874 .method public onCellLocationChanged(Landroid/os/Bundle;)V
16882 invoke-static {p1}, Landroid/telephony/CellLocation;->newFromBundle(Landroid/os/Bundle;)Landroid/telephony/CellLocation;
16884 + move-result-object v7
16886 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16888 + #getter for: Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
16889 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
16891 + move-result-object v1
16893 + if-eqz v1, :cond_4a
16895 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16897 + #getter for: Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
16898 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
16900 + move-result-object v1
16902 + const-string/jumbo v2, "privacy"
16904 + invoke-virtual {v1, v2}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
16906 move-result-object v0
16908 + check-cast v0, Landroid/privacy/PrivacySettingsManager;
16910 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16912 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
16913 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
16915 + move-result-object v1
16917 + iget-object v2, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16919 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
16920 + invoke-static {v2}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
16924 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16926 + move-result-object v6
16928 + if-eqz v6, :cond_4b
16930 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
16934 + if-eqz v1, :cond_4b
16936 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16938 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
16939 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
16941 + move-result-object v1
16943 + iget-object v2, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16945 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
16946 + invoke-static {v2}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
16950 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
16954 + const-string v4, "locationNetwork"
16956 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16963 iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16965 iget-object v1, v1, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
16969 - invoke-static {v1, v2, v3, v3, v0}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
16970 + invoke-static {v1, v2, v3, v3, v7}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
16972 move-result-object v1
16974 invoke-virtual {v1}, Landroid/os/Message;->sendToTarget()V
16977 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16979 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
16980 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
16982 + move-result-object v1
16984 + iget-object v2, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16986 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
16987 + invoke-static {v2}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
16991 + const-string v4, "locationNetwork"
16993 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16998 .method public onDataActivity(I)V
16999 diff -Npru stock-framework/smali/android/telephony/PhoneStateListener.smali pdroid-framework/smali/android/telephony/PhoneStateListener.smali
17000 --- stock-framework/smali/android/telephony/PhoneStateListener.smali 2012-10-05 10:16:10.033233985 -0500
17001 +++ pdroid-framework/smali/android/telephony/PhoneStateListener.smali 2012-10-05 10:15:47.669123092 -0500
17002 @@ -31,12 +31,20 @@
17004 .field public static final LISTEN_SIGNAL_STRENGTHS:I = 0x100
17006 +.field private static final TAG:Ljava/lang/String; = "PhoneStateListener"
17010 .field callback:Lcom/android/internal/telephony/IPhoneStateListener;
17012 +.field private context:Landroid/content/Context;
17014 .field mHandler:Landroid/os/Handler;
17016 +.field private packageName:Ljava/lang/String;
17018 +.field private uid:I
17022 .method public constructor <init>()V
17027 +.method static synthetic access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
17030 + iget-object v0, p0, Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
17035 +.method static synthetic access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
17038 + iget-object v0, p0, Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
17043 +.method static synthetic access$200(Landroid/telephony/PhoneStateListener;)I
17046 + iget v0, p0, Landroid/telephony/PhoneStateListener;->uid:I
17053 .method public onCallForwardingIndicatorChanged(Z)V
17054 @@ -134,3 +166,27 @@
17059 +.method public setContext(Landroid/content/Context;)V
17062 + iput-object p1, p0, Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
17067 +.method public setPackageName(Ljava/lang/String;)V
17070 + iput-object p1, p0, Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
17075 +.method public setUid(I)V
17078 + iput p1, p0, Landroid/telephony/PhoneStateListener;->uid:I
17082 diff -Npru stock-framework/smali/android/view/inputmethod/InputMethodInfo.smali pdroid-framework/smali/android/view/inputmethod/InputMethodInfo.smali
17083 --- stock-framework/smali/android/view/inputmethod/InputMethodInfo.smali 2012-10-05 10:16:11.345240491 -0500
17084 +++ pdroid-framework/smali/android/view/inputmethod/InputMethodInfo.smali 2012-10-05 10:15:49.073130049 -0500
17085 @@ -752,7 +752,7 @@
17087 move-result-object v0
17089 - const-string v1, "mIsDefaultResId=0x"
17090 + const-string/jumbo v1, "mIsDefaultResId=0x"
17092 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17094 diff -Npru stock-framework/smali/android/webkit/WebViewClassic.smali pdroid-framework/smali/android/webkit/WebViewClassic.smali
17095 --- stock-framework/smali/android/webkit/WebViewClassic.smali 2012-10-05 10:16:11.485241190 -0500
17096 +++ pdroid-framework/smali/android/webkit/WebViewClassic.smali 2012-10-05 10:15:49.217130763 -0500
17097 @@ -17030,7 +17030,7 @@
17099 const-string/jumbo v1, "webview"
17101 - const-string v2, "mInputDispatcher rejected the event!"
17102 + const-string/jumbo v2, "mInputDispatcher rejected the event!"
17104 invoke-static {v1, v2}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I