1 diff -Npru -x '*RIL*' pdroid-framework/smali/android/app/ContextImpl$20.smali stock-framework/smali/android/app/ContextImpl$20.smali
2 --- pdroid-framework/smali/android/app/ContextImpl$20.smali 2012-10-13 14:13:58.241931694 -0500
3 +++ stock-framework/smali/android/app/ContextImpl$20.smali 2012-10-13 14:14:33.486106459 -0500
5 .method public createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
8 - const-string v1, "location"
9 + const-string v2, "location"
11 - invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
12 + invoke-static {v2}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
16 - new-instance v1, Landroid/location/LocationManager;
18 invoke-static {v0}, Landroid/location/ILocationManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/location/ILocationManager;
20 - move-result-object v2
21 + move-result-object v1
23 + new-instance v2, Landroid/privacy/surrogate/PrivacyLocationManager;
25 - invoke-direct {v1, p1, v2}, Landroid/location/LocationManager;-><init>(Landroid/content/Context;Landroid/location/ILocationManager;)V
26 + invoke-direct {v2, v1, p1}, Landroid/privacy/surrogate/PrivacyLocationManager;-><init>(Landroid/location/ILocationManager;Landroid/content/Context;)V
31 diff -Npru -x '*RIL*' pdroid-framework/smali/android/app/ContextImpl$29.smali stock-framework/smali/android/app/ContextImpl$29.smali
32 --- pdroid-framework/smali/android/app/ContextImpl$29.smali 2012-10-13 14:13:58.277931871 -0500
33 +++ stock-framework/smali/android/app/ContextImpl$29.smali 2012-10-13 14:14:33.506106557 -0500
35 .method public createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
38 - new-instance v0, Landroid/telephony/TelephonyManager;
39 + new-instance v0, Landroid/privacy/surrogate/PrivacyTelephonyManager;
41 invoke-virtual {p1}, Landroid/app/ContextImpl;->getOuterContext()Landroid/content/Context;
45 - invoke-direct {v0, v1}, Landroid/telephony/TelephonyManager;-><init>(Landroid/content/Context;)V
46 + invoke-direct {v0, v1}, Landroid/privacy/surrogate/PrivacyTelephonyManager;-><init>(Landroid/content/Context;)V
50 diff -Npru -x '*RIL*' pdroid-framework/smali/android/app/ContextImpl$3.smali stock-framework/smali/android/app/ContextImpl$3.smali
51 --- pdroid-framework/smali/android/app/ContextImpl$3.smali 2012-10-13 14:13:58.325932109 -0500
52 +++ stock-framework/smali/android/app/ContextImpl$3.smali 2012-10-13 14:14:33.530106676 -0500
57 - new-instance v2, Landroid/accounts/AccountManager;
58 + new-instance v2, Landroid/privacy/surrogate/PrivacyAccountManager;
60 - invoke-direct {v2, p1, v1}, Landroid/accounts/AccountManager;-><init>(Landroid/content/Context;Landroid/accounts/IAccountManager;)V
61 + invoke-direct {v2, p1, v1}, Landroid/privacy/surrogate/PrivacyAccountManager;-><init>(Landroid/content/Context;Landroid/accounts/IAccountManager;)V
65 diff -Npru -x '*RIL*' pdroid-framework/smali/android/app/ContextImpl$40.smali stock-framework/smali/android/app/ContextImpl$40.smali
66 --- pdroid-framework/smali/android/app/ContextImpl$40.smali 1969-12-31 18:00:00.000000000 -0600
67 +++ stock-framework/smali/android/app/ContextImpl$40.smali 2012-10-13 14:14:33.534106697 -0500
69 +.class final Landroid/app/ContextImpl$40;
70 +.super Landroid/app/ContextImpl$StaticServiceFetcher;
71 +.source "ContextImpl.java"
75 +.annotation system Ldalvik/annotation/EnclosingClass;
76 + value = Landroid/app/ContextImpl;
79 +.annotation system Ldalvik/annotation/InnerClass;
86 +.method constructor <init>()V
89 + invoke-direct {p0}, Landroid/app/ContextImpl$StaticServiceFetcher;-><init>()V
96 +.method public createStaticService()Ljava/lang/Object;
99 + const-string/jumbo v2, "privacy"
101 + invoke-static {v2}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
103 + move-result-object v0
105 + invoke-static {v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
107 + move-result-object v1
109 + new-instance v2, Landroid/privacy/PrivacySettingsManager;
111 + invoke-static {}, Landroid/app/ContextImpl;->getStaticOuterContext()Landroid/content/Context;
113 + move-result-object v3
115 + invoke-direct {v2, v3, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
119 diff -Npru -x '*RIL*' pdroid-framework/smali/android/app/ContextImpl.smali stock-framework/smali/android/app/ContextImpl.smali
120 --- pdroid-framework/smali/android/app/ContextImpl.smali 2012-10-13 14:13:58.565933302 -0500
121 +++ stock-framework/smali/android/app/ContextImpl.smali 2012-10-13 14:14:33.642107234 -0500
124 .field private static sNextPerContextServiceCacheIndex:I
126 +.field private static sOuterContext:Landroid/content/Context;
128 .field private static final sSharedPrefs:Ljava/util/HashMap;
129 .annotation system Ldalvik/annotation/Signature;
133 invoke-static {v0, v1}, Landroid/app/ContextImpl;->registerService(Ljava/lang/String;Landroid/app/ContextImpl$ServiceFetcher;)V
135 + const-string/jumbo v0, "privacy"
137 + new-instance v1, Landroid/app/ContextImpl$40;
139 + invoke-direct {v1}, Landroid/app/ContextImpl$40;-><init>()V
141 + invoke-static {v0, v1}, Landroid/app/ContextImpl;->registerService(Ljava/lang/String;Landroid/app/ContextImpl$ServiceFetcher;)V
148 iput-object p0, p0, Landroid/app/ContextImpl;->mOuterContext:Landroid/content/Context;
150 + sput-object p0, Landroid/app/ContextImpl;->sOuterContext:Landroid/content/Context;
157 iput-object p0, p0, Landroid/app/ContextImpl;->mOuterContext:Landroid/content/Context;
159 + sput-object p0, Landroid/app/ContextImpl;->sOuterContext:Landroid/content/Context;
164 @@ -999,6 +1013,14 @@
168 +.method static final getStaticOuterContext()Landroid/content/Context;
171 + sget-object v0, Landroid/app/ContextImpl;->sOuterContext:Landroid/content/Context;
176 .method private getWallpaperManager()Landroid/app/WallpaperManager;
179 @@ -4272,6 +4294,8 @@
181 iput-object p1, p0, Landroid/app/ContextImpl;->mOuterContext:Landroid/content/Context;
183 + sput-object p1, Landroid/app/ContextImpl;->sOuterContext:Landroid/content/Context;
188 diff -Npru -x '*RIL*' pdroid-framework/smali/android/content/ContentResolver.smali stock-framework/smali/android/content/ContentResolver.smali
189 --- pdroid-framework/smali/android/content/ContentResolver.smali 2012-10-13 14:13:58.445932704 -0500
190 +++ stock-framework/smali/android/content/ContentResolver.smali 2012-10-13 14:14:33.586106962 -0500
191 @@ -3506,8 +3506,8 @@
193 invoke-virtual {v0, v9}, Landroid/os/CancellationSignal;->setRemote(Landroid/os/ICancellationSignal;)V
195 - .catchall {:try_start_a .. :try_end_1d} :catchall_a8
196 - .catch Landroid/os/RemoteException; {:try_start_a .. :try_end_1d} :catch_9b
197 + .catchall {:try_start_a .. :try_end_1d} :catchall_b6
198 + .catch Landroid/os/RemoteException; {:try_start_a .. :try_end_1d} :catch_a9
201 move-object/from16 v4, p1
202 @@ -3523,64 +3523,82 @@
204 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;
206 - .catchall {:try_start_27 .. :try_end_2a} :catchall_a8
207 - .catch Landroid/os/DeadObjectException; {:try_start_27 .. :try_end_2a} :catch_3e
208 - .catch Landroid/os/RemoteException; {:try_start_27 .. :try_end_2a} :catch_9b
209 + .catchall {:try_start_27 .. :try_end_2a} :catchall_b6
210 + .catch Landroid/os/DeadObjectException; {:try_start_27 .. :try_end_2a} :catch_4c
211 + .catch Landroid/os/RemoteException; {:try_start_27 .. :try_end_2a} :catch_a9
213 move-result-object v19
216 - if-nez v19, :cond_67
218 + move-object/from16 v0, p0
220 + iget-object v4, v0, Landroid/content/ContentResolver;->mContext:Landroid/content/Context;
222 + move-object/from16 v0, p1
224 + move-object/from16 v1, p2
226 + move-object/from16 v2, v19
228 + 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;
230 + .catchall {:try_start_2b .. :try_end_38} :catchall_b6
231 + .catch Landroid/os/RemoteException; {:try_start_2b .. :try_end_38} :catch_a9
233 + move-result-object v19
235 + if-nez v19, :cond_75
239 - if-eqz v3, :cond_36
240 + if-eqz v3, :cond_44
242 move-object/from16 v0, p0
244 invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
252 move-object/from16 v0, p0
254 invoke-virtual {v0, v10}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
264 move-object/from16 v0, p0
266 invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->unstableProviderDied(Landroid/content/IContentProvider;)V
268 invoke-virtual/range {p0 .. p1}, Landroid/content/ContentResolver;->acquireProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
270 - .catchall {:try_start_3f .. :try_end_47} :catchall_a8
271 - .catch Landroid/os/RemoteException; {:try_start_3f .. :try_end_47} :catch_9b
273 + .catchall {:try_start_4d .. :try_end_55} :catchall_b6
274 + .catch Landroid/os/RemoteException; {:try_start_4d .. :try_end_55} :catch_a9
276 move-result-object v10
278 - if-nez v10, :cond_56
279 + if-nez v10, :cond_64
283 - if-eqz v3, :cond_53
284 + if-eqz v3, :cond_61
286 move-object/from16 v0, p0
288 invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
299 move-object/from16 v11, p1
301 move-object/from16 v12, p2
302 @@ -3593,14 +3611,14 @@
304 move-object/from16 v16, v9
308 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;
310 move-result-object v19
316 invoke-interface/range {v19 .. v19}, Landroid/database/Cursor;->getCount()I
318 invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
319 @@ -3623,11 +3641,11 @@
321 new-instance v22, Landroid/content/ContentResolver$CursorWrapperInner;
323 - if-eqz v10, :cond_96
324 + if-eqz v10, :cond_a4
330 move-object/from16 v0, v22
332 move-object/from16 v1, p0
333 @@ -3635,67 +3653,67 @@
334 move-object/from16 v2, v19
336 invoke-direct {v0, v1, v2, v4}, Landroid/content/ContentResolver$CursorWrapperInner;-><init>(Landroid/content/ContentResolver;Landroid/database/Cursor;Landroid/content/IContentProvider;)V
338 - .catchall {:try_start_62 .. :try_end_8b} :catchall_a8
339 - .catch Landroid/os/RemoteException; {:try_start_62 .. :try_end_8b} :catch_9b
341 + .catchall {:try_start_70 .. :try_end_99} :catchall_b6
342 + .catch Landroid/os/RemoteException; {:try_start_70 .. :try_end_99} :catch_a9
346 - if-eqz v3, :cond_93
347 + if-eqz v3, :cond_a1
349 move-object/from16 v0, p0
351 invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
364 invoke-virtual/range {p0 .. p1}, Landroid/content/ContentResolver;->acquireProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
366 - .catchall {:try_start_96 .. :try_end_99} :catchall_a8
367 - .catch Landroid/os/RemoteException; {:try_start_96 .. :try_end_99} :catch_9b
369 + .catchall {:try_start_a4 .. :try_end_a7} :catchall_b6
370 + .catch Landroid/os/RemoteException; {:try_start_a4 .. :try_end_a7} :catch_a9
372 move-result-object v4
383 - if-eqz v3, :cond_a5
384 + if-eqz v3, :cond_b3
386 move-object/from16 v0, p0
388 invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
401 - if-eqz v3, :cond_b0
402 + if-eqz v3, :cond_be
404 move-object/from16 v0, p0
406 invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
409 - if-eqz v10, :cond_b7
411 + if-eqz v10, :cond_c5
413 move-object/from16 v0, p0
415 invoke-virtual {v0, v10}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
422 diff -Npru -x '*RIL*' pdroid-framework/smali/android/privacy/IPrivacySettingsManager.smali stock-framework/smali/android/privacy/IPrivacySettingsManager.smali
423 --- pdroid-framework/smali/android/privacy/IPrivacySettingsManager.smali 1969-12-31 18:00:00.000000000 -0600
424 +++ stock-framework/smali/android/privacy/IPrivacySettingsManager.smali 2012-10-13 14:14:43.298155122 -0500
426 +.class public interface abstract Landroid/privacy/IPrivacySettingsManager;
427 +.super Ljava/lang/Object;
428 +.source "IPrivacySettingsManager.java"
431 +.implements Landroid/os/IInterface;
435 +.annotation system Ldalvik/annotation/MemberClasses;
437 + Landroid/privacy/IPrivacySettingsManager$Stub;
443 +.method public abstract addObserver(Ljava/lang/String;)V
444 + .annotation system Ldalvik/annotation/Throws;
446 + Landroid/os/RemoteException;
451 +.method public abstract deleteSettings(Ljava/lang/String;)Z
452 + .annotation system Ldalvik/annotation/Throws;
454 + Landroid/os/RemoteException;
459 +.method public abstract getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
460 + .annotation system Ldalvik/annotation/Throws;
462 + Landroid/os/RemoteException;
467 +.method public abstract getVersion()D
468 + .annotation system Ldalvik/annotation/Throws;
470 + Landroid/os/RemoteException;
475 +.method public abstract notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
476 + .annotation system Ldalvik/annotation/Throws;
478 + Landroid/os/RemoteException;
483 +.method public abstract purgeSettings()Z
484 + .annotation system Ldalvik/annotation/Throws;
486 + Landroid/os/RemoteException;
491 +.method public abstract registerObservers()V
492 + .annotation system Ldalvik/annotation/Throws;
494 + Landroid/os/RemoteException;
499 +.method public abstract saveSettings(Landroid/privacy/PrivacySettings;)Z
500 + .annotation system Ldalvik/annotation/Throws;
502 + Landroid/os/RemoteException;
507 +.method public abstract setBootCompleted()V
508 + .annotation system Ldalvik/annotation/Throws;
510 + Landroid/os/RemoteException;
515 +.method public abstract setEnabled(Z)Z
516 + .annotation system Ldalvik/annotation/Throws;
518 + Landroid/os/RemoteException;
523 +.method public abstract setNotificationsEnabled(Z)Z
524 + .annotation system Ldalvik/annotation/Throws;
526 + Landroid/os/RemoteException;
530 diff -Npru -x '*RIL*' pdroid-framework/smali/android/privacy/IPrivacySettingsManager$Stub$Proxy.smali stock-framework/smali/android/privacy/IPrivacySettingsManager$Stub$Proxy.smali
531 --- pdroid-framework/smali/android/privacy/IPrivacySettingsManager$Stub$Proxy.smali 1969-12-31 18:00:00.000000000 -0600
532 +++ stock-framework/smali/android/privacy/IPrivacySettingsManager$Stub$Proxy.smali 2012-10-13 14:14:43.298155122 -0500
534 +.class Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;
535 +.super Ljava/lang/Object;
536 +.source "IPrivacySettingsManager.java"
539 +.implements Landroid/privacy/IPrivacySettingsManager;
543 +.annotation system Ldalvik/annotation/EnclosingClass;
544 + value = Landroid/privacy/IPrivacySettingsManager$Stub;
547 +.annotation system Ldalvik/annotation/InnerClass;
554 +.field private mRemote:Landroid/os/IBinder;
558 +.method constructor <init>(Landroid/os/IBinder;)V
561 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
563 + iput-object p1, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
570 +.method public addObserver(Ljava/lang/String;)V
572 + .annotation system Ldalvik/annotation/Throws;
574 + Landroid/os/RemoteException;
578 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
580 + move-result-object v0
582 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
584 + move-result-object v1
587 + const-string v2, "android.privacy.IPrivacySettingsManager"
589 + invoke-virtual {v0, v2}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
591 + invoke-virtual {v0, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
593 + iget-object v2, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
599 + invoke-interface {v2, v3, v0, v1, v4}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
601 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
603 + .catchall {:try_start_8 .. :try_end_1a} :catchall_21
605 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
607 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
614 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
616 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
621 +.method public asBinder()Landroid/os/IBinder;
624 + iget-object v0, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
629 +.method public deleteSettings(Ljava/lang/String;)Z
631 + .annotation system Ldalvik/annotation/Throws;
633 + Landroid/os/RemoteException;
639 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
641 + move-result-object v0
643 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
645 + move-result-object v1
648 + const-string v3, "android.privacy.IPrivacySettingsManager"
650 + invoke-virtual {v0, v3}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
652 + invoke-virtual {v0, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
654 + iget-object v3, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
660 + invoke-interface {v3, v4, v0, v1, v5}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
662 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
664 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
666 + .catchall {:try_start_9 .. :try_end_1e} :catchall_29
670 + if-eqz v3, :cond_22
675 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
677 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
684 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
686 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
691 +.method public getInterfaceDescriptor()Ljava/lang/String;
694 + const-string v0, "android.privacy.IPrivacySettingsManager"
699 +.method public getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
701 + .annotation system Ldalvik/annotation/Throws;
703 + Landroid/os/RemoteException;
707 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
709 + move-result-object v0
711 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
713 + move-result-object v1
716 + const-string v3, "android.privacy.IPrivacySettingsManager"
718 + invoke-virtual {v0, v3}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
720 + invoke-virtual {v0, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
722 + iget-object v3, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
728 + invoke-interface {v3, v4, v0, v1, v5}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
730 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
732 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
736 + if-eqz v3, :cond_2f
738 + sget-object v3, Landroid/privacy/PrivacySettings;->CREATOR:Landroid/os/Parcelable$Creator;
740 + invoke-interface {v3, v1}, Landroid/os/Parcelable$Creator;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
742 + move-result-object v2
744 + check-cast v2, Landroid/privacy/PrivacySettings;
746 + .catchall {:try_start_8 .. :try_end_28} :catchall_31
749 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
751 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
763 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
765 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
770 +.method public getVersion()D
772 + .annotation system Ldalvik/annotation/Throws;
774 + Landroid/os/RemoteException;
778 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
780 + move-result-object v0
782 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
784 + move-result-object v1
787 + const-string v4, "android.privacy.IPrivacySettingsManager"
789 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
791 + iget-object v4, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
797 + invoke-interface {v4, v5, v0, v1, v6}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
799 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
801 + invoke-virtual {v1}, Landroid/os/Parcel;->readDouble()D
803 + .catchall {:try_start_8 .. :try_end_1b} :catchall_23
805 + move-result-wide v2
807 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
809 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
816 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
818 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
823 +.method public notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
825 + .annotation system Ldalvik/annotation/Throws;
827 + Landroid/os/RemoteException;
831 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
833 + move-result-object v0
835 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
837 + move-result-object v1
840 + const-string v2, "android.privacy.IPrivacySettingsManager"
842 + invoke-virtual {v0, v2}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
844 + invoke-virtual {v0, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
846 + invoke-virtual {v0, p2}, Landroid/os/Parcel;->writeByte(B)V
848 + invoke-virtual {v0, p3}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
850 + invoke-virtual {v0, p4}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
852 + iget-object v2, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
858 + invoke-interface {v2, v3, v0, v1, v4}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
860 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
862 + .catchall {:try_start_8 .. :try_end_23} :catchall_2a
864 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
866 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
873 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
875 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
880 +.method public purgeSettings()Z
882 + .annotation system Ldalvik/annotation/Throws;
884 + Landroid/os/RemoteException;
890 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
892 + move-result-object v0
894 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
896 + move-result-object v1
899 + const-string v3, "android.privacy.IPrivacySettingsManager"
901 + invoke-virtual {v0, v3}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
903 + iget-object v3, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
909 + invoke-interface {v3, v4, v0, v1, v5}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
911 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
913 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
915 + .catchall {:try_start_9 .. :try_end_1b} :catchall_26
919 + if-eqz v3, :cond_1f
924 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
926 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
933 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
935 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
940 +.method public registerObservers()V
942 + .annotation system Ldalvik/annotation/Throws;
944 + Landroid/os/RemoteException;
948 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
950 + move-result-object v0
952 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
954 + move-result-object v1
957 + const-string v2, "android.privacy.IPrivacySettingsManager"
959 + invoke-virtual {v0, v2}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
961 + iget-object v2, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
967 + invoke-interface {v2, v3, v0, v1, v4}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
969 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
971 + .catchall {:try_start_8 .. :try_end_17} :catchall_1e
973 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
975 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
982 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
984 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
989 +.method public saveSettings(Landroid/privacy/PrivacySettings;)Z
991 + .annotation system Ldalvik/annotation/Throws;
993 + Landroid/os/RemoteException;
1001 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1003 + move-result-object v0
1005 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1007 + move-result-object v1
1010 + const-string v4, "android.privacy.IPrivacySettingsManager"
1012 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
1014 + if-eqz p1, :cond_30
1018 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInt(I)V
1022 + invoke-virtual {p1, v0, v4}, Landroid/privacy/PrivacySettings;->writeToParcel(Landroid/os/Parcel;I)V
1025 + iget-object v4, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
1031 + invoke-interface {v4, v5, v0, v1, v6}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1033 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
1035 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
1037 + .catchall {:try_start_a .. :try_end_26} :catchall_35
1041 + if-eqz v4, :cond_3d
1044 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1046 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1054 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInt(I)V
1056 + .catchall {:try_start_31 .. :try_end_34} :catchall_35
1063 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1065 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1075 +.method public setBootCompleted()V
1077 + .annotation system Ldalvik/annotation/Throws;
1079 + Landroid/os/RemoteException;
1083 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1085 + move-result-object v0
1087 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1089 + move-result-object v1
1092 + const-string v2, "android.privacy.IPrivacySettingsManager"
1094 + invoke-virtual {v0, v2}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
1096 + iget-object v2, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
1102 + invoke-interface {v2, v3, v0, v1, v4}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1104 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
1106 + .catchall {:try_start_8 .. :try_end_18} :catchall_1f
1108 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1110 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1117 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1119 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1124 +.method public setEnabled(Z)Z
1126 + .annotation system Ldalvik/annotation/Throws;
1128 + Landroid/os/RemoteException;
1136 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1138 + move-result-object v0
1140 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1142 + move-result-object v1
1145 + const-string v4, "android.privacy.IPrivacySettingsManager"
1147 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
1149 + if-eqz p1, :cond_2d
1154 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInt(I)V
1156 + iget-object v4, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
1162 + invoke-interface {v4, v5, v0, v1, v6}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1164 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
1166 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
1168 + .catchall {:try_start_a .. :try_end_23} :catchall_31
1172 + if-eqz v4, :cond_2f
1175 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1177 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1194 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1196 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1201 +.method public setNotificationsEnabled(Z)Z
1203 + .annotation system Ldalvik/annotation/Throws;
1205 + Landroid/os/RemoteException;
1213 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1215 + move-result-object v0
1217 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1219 + move-result-object v1
1222 + const-string v4, "android.privacy.IPrivacySettingsManager"
1224 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
1226 + if-eqz p1, :cond_2d
1231 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInt(I)V
1233 + iget-object v4, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
1239 + invoke-interface {v4, v5, v0, v1, v6}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1241 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
1243 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
1245 + .catchall {:try_start_a .. :try_end_23} :catchall_31
1249 + if-eqz v4, :cond_2f
1252 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1254 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1271 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1273 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1277 diff -Npru -x '*RIL*' pdroid-framework/smali/android/privacy/IPrivacySettingsManager$Stub.smali stock-framework/smali/android/privacy/IPrivacySettingsManager$Stub.smali
1278 --- pdroid-framework/smali/android/privacy/IPrivacySettingsManager$Stub.smali 1969-12-31 18:00:00.000000000 -0600
1279 +++ stock-framework/smali/android/privacy/IPrivacySettingsManager$Stub.smali 2012-10-13 14:14:43.302155133 -0500
1281 +.class public abstract Landroid/privacy/IPrivacySettingsManager$Stub;
1282 +.super Landroid/os/Binder;
1283 +.source "IPrivacySettingsManager.java"
1286 +.implements Landroid/privacy/IPrivacySettingsManager;
1290 +.annotation system Ldalvik/annotation/EnclosingClass;
1291 + value = Landroid/privacy/IPrivacySettingsManager;
1294 +.annotation system Ldalvik/annotation/InnerClass;
1295 + accessFlags = 0x409
1299 +.annotation system Ldalvik/annotation/MemberClasses;
1301 + Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;
1307 +.field private static final DESCRIPTOR:Ljava/lang/String; = "android.privacy.IPrivacySettingsManager"
1309 +.field static final TRANSACTION_addObserver:I = 0x6
1311 +.field static final TRANSACTION_deleteSettings:I = 0x3
1313 +.field static final TRANSACTION_getSettings:I = 0x1
1315 +.field static final TRANSACTION_getVersion:I = 0x8
1317 +.field static final TRANSACTION_notification:I = 0x4
1319 +.field static final TRANSACTION_purgeSettings:I = 0x7
1321 +.field static final TRANSACTION_registerObservers:I = 0x5
1323 +.field static final TRANSACTION_saveSettings:I = 0x2
1325 +.field static final TRANSACTION_setBootCompleted:I = 0xb
1327 +.field static final TRANSACTION_setEnabled:I = 0x9
1329 +.field static final TRANSACTION_setNotificationsEnabled:I = 0xa
1333 +.method public constructor <init>()V
1336 + invoke-direct {p0}, Landroid/os/Binder;-><init>()V
1338 + const-string v0, "android.privacy.IPrivacySettingsManager"
1340 + invoke-virtual {p0, p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->attachInterface(Landroid/os/IInterface;Ljava/lang/String;)V
1345 +.method public static asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
1348 + if-nez p0, :cond_4
1356 + const-string v1, "android.privacy.IPrivacySettingsManager"
1358 + invoke-interface {p0, v1}, Landroid/os/IBinder;->queryLocalInterface(Ljava/lang/String;)Landroid/os/IInterface;
1360 + move-result-object v0
1362 + if-eqz v0, :cond_13
1364 + instance-of v1, v0, Landroid/privacy/IPrivacySettingsManager;
1366 + if-eqz v1, :cond_13
1368 + check-cast v0, Landroid/privacy/IPrivacySettingsManager;
1373 + new-instance v0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;
1375 + invoke-direct {v0, p0}, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
1382 +.method public asBinder()Landroid/os/IBinder;
1388 +.method public onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1390 + .annotation system Ldalvik/annotation/Throws;
1392 + Landroid/os/RemoteException;
1400 + sparse-switch p1, :sswitch_data_10e
1402 + invoke-super {p0, p1, p2, p3, p4}, Landroid/os/Binder;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1410 + const-string v6, "android.privacy.IPrivacySettingsManager"
1412 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
1417 + const-string v8, "android.privacy.IPrivacySettingsManager"
1419 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1421 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
1423 + move-result-object v0
1425 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
1427 + move-result-object v4
1429 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1431 + if-eqz v4, :cond_29
1433 + invoke-virtual {p3, v7}, Landroid/os/Parcel;->writeInt(I)V
1435 + invoke-virtual {v4, p3, v7}, Landroid/privacy/PrivacySettings;->writeToParcel(Landroid/os/Parcel;I)V
1440 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
1445 + const-string v8, "android.privacy.IPrivacySettingsManager"
1447 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1449 + invoke-virtual {p2}, Landroid/os/Parcel;->readInt()I
1453 + if-eqz v8, :cond_4e
1455 + sget-object v8, Landroid/privacy/PrivacySettings;->CREATOR:Landroid/os/Parcelable$Creator;
1457 + invoke-interface {v8, p2}, Landroid/os/Parcelable$Creator;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
1459 + move-result-object v0
1461 + check-cast v0, Landroid/privacy/PrivacySettings;
1464 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->saveSettings(Landroid/privacy/PrivacySettings;)Z
1468 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1470 + if-eqz v4, :cond_4a
1475 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
1485 + const-string v8, "android.privacy.IPrivacySettingsManager"
1487 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1489 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
1491 + move-result-object v0
1493 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->deleteSettings(Ljava/lang/String;)Z
1497 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1499 + if-eqz v4, :cond_63
1504 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
1509 + const-string v6, "android.privacy.IPrivacySettingsManager"
1511 + invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1513 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
1515 + move-result-object v0
1517 + invoke-virtual {p2}, Landroid/os/Parcel;->readByte()B
1521 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
1523 + move-result-object v2
1525 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
1527 + move-result-object v3
1529 + invoke-virtual {p0, v0, v1, v2, v3}, Landroid/privacy/IPrivacySettingsManager$Stub;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
1531 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1536 + const-string v6, "android.privacy.IPrivacySettingsManager"
1538 + invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1540 + invoke-virtual {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;->registerObservers()V
1542 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1547 + const-string v6, "android.privacy.IPrivacySettingsManager"
1549 + invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1551 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
1553 + move-result-object v0
1555 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->addObserver(Ljava/lang/String;)V
1557 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1562 + const-string v8, "android.privacy.IPrivacySettingsManager"
1564 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1566 + invoke-virtual {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;->purgeSettings()Z
1570 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1572 + if-eqz v4, :cond_b0
1577 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
1582 + const-string v6, "android.privacy.IPrivacySettingsManager"
1584 + invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1586 + invoke-virtual {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;->getVersion()D
1588 + move-result-wide v4
1590 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1592 + invoke-virtual {p3, v4, v5}, Landroid/os/Parcel;->writeDouble(D)V
1597 + const-string v8, "android.privacy.IPrivacySettingsManager"
1599 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1601 + invoke-virtual {p2}, Landroid/os/Parcel;->readInt()I
1605 + if-eqz v8, :cond_e1
1610 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->setEnabled(Z)Z
1614 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1616 + if-eqz v4, :cond_dc
1621 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
1631 + const-string v8, "android.privacy.IPrivacySettingsManager"
1633 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1635 + invoke-virtual {p2}, Landroid/os/Parcel;->readInt()I
1639 + if-eqz v8, :cond_fe
1644 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->setNotificationsEnabled(Z)Z
1648 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1650 + if-eqz v4, :cond_f9
1655 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
1665 + const-string v6, "android.privacy.IPrivacySettingsManager"
1667 + invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1669 + invoke-virtual {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;->setBootCompleted()V
1671 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1679 + 0x1 -> :sswitch_10
1680 + 0x2 -> :sswitch_2d
1681 + 0x3 -> :sswitch_50
1682 + 0x4 -> :sswitch_67
1683 + 0x5 -> :sswitch_83
1684 + 0x6 -> :sswitch_90
1685 + 0x7 -> :sswitch_a1
1686 + 0x8 -> :sswitch_b5
1687 + 0x9 -> :sswitch_c6
1688 + 0xa -> :sswitch_e3
1689 + 0xb -> :sswitch_100
1690 + 0x5f4e5446 -> :sswitch_a
1691 + .end sparse-switch
1693 diff -Npru -x '*RIL*' pdroid-framework/smali/android/privacy/PrivacyFileObserver.smali stock-framework/smali/android/privacy/PrivacyFileObserver.smali
1694 --- pdroid-framework/smali/android/privacy/PrivacyFileObserver.smali 1969-12-31 18:00:00.000000000 -0600
1695 +++ stock-framework/smali/android/privacy/PrivacyFileObserver.smali 2012-10-13 14:14:43.302155133 -0500
1697 +.class public Landroid/privacy/PrivacyFileObserver;
1698 +.super Landroid/os/FileObserver;
1699 +.source "PrivacyFileObserver.java"
1703 +.field public static final PACKAGE_PATH_INDEX:I = 0x3
1705 +.field public static final TAG:Ljava/lang/String; = "PrivacyFileObserver"
1709 +.field public absolutePath:Ljava/lang/String;
1711 +.field public children:Ljava/util/HashMap;
1712 + .annotation system Ldalvik/annotation/Signature;
1714 + "Ljava/util/HashMap",
1716 + "Ljava/lang/String;",
1717 + "Landroid/privacy/PrivacyFileObserver;",
1723 +.field private pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
1727 +.method public constructor <init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
1730 + const/16 v8, 0xfff
1732 + invoke-direct {p0, p1, v8}, Landroid/os/FileObserver;-><init>(Ljava/lang/String;I)V
1734 + iput-object p1, p0, Landroid/privacy/PrivacyFileObserver;->absolutePath:Ljava/lang/String;
1736 + iput-object p2, p0, Landroid/privacy/PrivacyFileObserver;->pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
1738 + new-instance v8, Ljava/util/HashMap;
1740 + invoke-direct {v8}, Ljava/util/HashMap;-><init>()V
1742 + iput-object v8, p0, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap;
1744 + new-instance v7, Ljava/io/File;
1746 + iget-object v8, p0, Landroid/privacy/PrivacyFileObserver;->absolutePath:Ljava/lang/String;
1748 + invoke-direct {v7, v8}, Ljava/io/File;-><init>(Ljava/lang/String;)V
1750 + invoke-virtual {v7}, Ljava/io/File;->isDirectory()Z
1754 + if-eqz v8, :cond_42
1756 + invoke-virtual {v7}, Ljava/io/File;->listFiles()[Ljava/io/File;
1758 + move-result-object v6
1760 + move-object v0, v6
1762 + array-length v4, v0
1767 + if-ge v3, v4, :cond_42
1769 + aget-object v2, v0, v3
1771 + invoke-virtual {v2}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
1773 + move-result-object v5
1775 + new-instance v1, Landroid/privacy/PrivacyFileObserver;
1777 + invoke-direct {v1, v5, p2}, Landroid/privacy/PrivacyFileObserver;-><init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
1779 + iget-object v8, p0, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap;
1781 + invoke-virtual {v8, v5, v1}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
1783 + invoke-virtual {v2}, Ljava/io/File;->isFile()Z
1787 + if-eqz v8, :cond_3f
1789 + invoke-virtual {v1}, Landroid/privacy/PrivacyFileObserver;->startWatching()V
1792 + add-int/lit8 v3, v3, 0x1
1802 +.method public addObserver(Ljava/lang/String;)V
1805 + new-instance v2, Ljava/lang/StringBuilder;
1807 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
1809 + iget-object v3, p0, Landroid/privacy/PrivacyFileObserver;->absolutePath:Ljava/lang/String;
1811 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1813 + move-result-object v2
1815 + const-string v3, "/"
1817 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1819 + move-result-object v2
1821 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1823 + move-result-object v2
1825 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
1827 + move-result-object v1
1829 + iget-object v2, p0, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap;
1831 + invoke-virtual {v2, v1}, Ljava/util/HashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
1833 + new-instance v0, Landroid/privacy/PrivacyFileObserver;
1835 + iget-object v2, p0, Landroid/privacy/PrivacyFileObserver;->pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
1837 + invoke-direct {v0, v1, v2}, Landroid/privacy/PrivacyFileObserver;-><init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
1839 + iget-object v2, p0, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap;
1841 + invoke-virtual {v2, v1, v0}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
1846 +.method public onEvent(ILjava/lang/String;)V
1849 + and-int/lit8 v4, p1, 0x1
1851 + if-eqz v4, :cond_34
1853 + new-instance v3, Ljava/util/StringTokenizer;
1855 + iget-object v4, p0, Landroid/privacy/PrivacyFileObserver;->absolutePath:Ljava/lang/String;
1857 + const-string v5, "/"
1859 + invoke-direct {v3, v4, v5}, Ljava/util/StringTokenizer;-><init>(Ljava/lang/String;Ljava/lang/String;)V
1866 + if-ge v0, v4, :cond_1d
1868 + invoke-virtual {v3}, Ljava/util/StringTokenizer;->hasMoreElements()Z
1872 + if-eqz v4, :cond_1d
1874 + invoke-virtual {v3}, Ljava/util/StringTokenizer;->nextToken()Ljava/lang/String;
1876 + add-int/lit8 v0, v0, 0x1
1881 + invoke-virtual {v3}, Ljava/util/StringTokenizer;->nextToken()Ljava/lang/String;
1883 + move-result-object v2
1885 + iget-object v4, p0, Landroid/privacy/PrivacyFileObserver;->pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
1887 + invoke-virtual {v4, v2}, Landroid/privacy/PrivacySettingsManagerService;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
1889 + move-result-object v1
1891 + iget-object v4, p0, Landroid/privacy/PrivacyFileObserver;->pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
1893 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getSystemLogsSetting()B
1897 + const-string/jumbo v6, "systemLogs"
1901 + invoke-virtual {v4, v2, v5, v6, v7}, Landroid/privacy/PrivacySettingsManagerService;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
1907 +.method public startWatching()V
1910 + invoke-super {p0}, Landroid/os/FileObserver;->startWatching()V
1914 diff -Npru -x '*RIL*' pdroid-framework/smali/android/privacy/PrivacyPersistenceAdapter.smali stock-framework/smali/android/privacy/PrivacyPersistenceAdapter.smali
1915 --- pdroid-framework/smali/android/privacy/PrivacyPersistenceAdapter.smali 1969-12-31 18:00:00.000000000 -0600
1916 +++ stock-framework/smali/android/privacy/PrivacyPersistenceAdapter.smali 2012-10-13 14:14:43.346155360 -0500
1918 +.class public Landroid/privacy/PrivacyPersistenceAdapter;
1919 +.super Ljava/lang/Object;
1920 +.source "PrivacyPersistenceAdapter.java"
1924 +.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) );"
1926 +.field private static final CREATE_TABLE_MAP:Ljava/lang/String; = "CREATE TABLE IF NOT EXISTS map ( name TEXT PRIMARY KEY, value TEXT );"
1928 +.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);"
1930 +.field private static final DATABASE_FIELDS:[Ljava/lang/String; = null
1932 +.field private static final DATABASE_FILE:Ljava/lang/String; = "/data/system/privacy.db"
1934 +.field private static final DATABASE_VERSION:I = 0x3
1936 +.field public static final DUMMY_UID:I = -0x1
1938 +.field private static final INSERT_ENABLED:Ljava/lang/String; = "INSERT OR REPLACE INTO map (name, value) VALUES (\"enabled\", \"1\");"
1940 +.field private static final INSERT_NOTIFICATIONS_ENABLED:Ljava/lang/String; = "INSERT OR REPLACE INTO map (name, value) VALUES (\"notifications_enabled\", \"1\");"
1942 +.field private static final INSERT_VERSION:Ljava/lang/String; = "INSERT OR REPLACE INTO map (name, value) VALUES (\"db_version\", 3);"
1944 +.field private static final RETRY_QUERY_COUNT:I = 0x5
1946 +.field public static final SETTINGS_DIRECTORY:Ljava/lang/String; = "/data/system/privacy"
1948 +.field public static final SETTING_DB_VERSION:Ljava/lang/String; = "db_version"
1950 +.field public static final SETTING_ENABLED:Ljava/lang/String; = "enabled"
1952 +.field public static final SETTING_NOTIFICATIONS_ENABLED:Ljava/lang/String; = "notifications_enabled"
1954 +.field private static final TABLE_ALLOWED_CONTACTS:Ljava/lang/String; = "allowed_contacts"
1956 +.field private static final TABLE_MAP:Ljava/lang/String; = "map"
1958 +.field private static final TABLE_SETTINGS:Ljava/lang/String; = "settings"
1960 +.field private static final TABLE_VERSION:Ljava/lang/String; = "version"
1962 +.field private static final TAG:Ljava/lang/String; = "PrivacyPersistenceAdapter"
1964 +.field public static final VALUE_FALSE:Ljava/lang/String; = "0"
1966 +.field public static final VALUE_TRUE:Ljava/lang/String; = "1"
1968 +.field public static readingThreads:Ljava/lang/Integer;
1972 +.field private context:Landroid/content/Context;
1974 +.field private db:Landroid/database/sqlite/SQLiteDatabase;
1978 +.method static constructor <clinit>()V
1983 + invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
1985 + move-result-object v0
1987 + sput-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
1991 + new-array v0, v0, [Ljava/lang/String;
1993 + const-string v1, "_id"
1995 + aput-object v1, v0, v2
1999 + const-string/jumbo v2, "packageName"
2001 + aput-object v2, v0, v1
2005 + const-string/jumbo v2, "uid"
2007 + aput-object v2, v0, v1
2011 + const-string v2, "deviceIdSetting"
2013 + aput-object v2, v0, v1
2017 + const-string v2, "deviceId"
2019 + aput-object v2, v0, v1
2023 + const-string v2, "line1NumberSetting"
2025 + aput-object v2, v0, v1
2029 + const-string v2, "line1Number"
2031 + aput-object v2, v0, v1
2035 + const-string v2, "locationGpsSetting"
2037 + aput-object v2, v0, v1
2041 + const-string v2, "locationGpsLat"
2043 + aput-object v2, v0, v1
2047 + const-string v2, "locationGpsLon"
2049 + aput-object v2, v0, v1
2053 + const-string v2, "locationNetworkSetting"
2055 + aput-object v2, v0, v1
2059 + const-string v2, "locationNetworkLat"
2061 + aput-object v2, v0, v1
2065 + const-string v2, "locationNetworkLon"
2067 + aput-object v2, v0, v1
2071 + const-string/jumbo v2, "networkInfoSetting"
2073 + aput-object v2, v0, v1
2077 + const-string/jumbo v2, "simInfoSetting"
2079 + aput-object v2, v0, v1
2083 + const-string/jumbo v2, "simSerialNumberSetting"
2085 + aput-object v2, v0, v1
2089 + const-string/jumbo v2, "simSerialNumber"
2091 + aput-object v2, v0, v1
2095 + const-string/jumbo v2, "subscriberIdSetting"
2097 + aput-object v2, v0, v1
2101 + const-string/jumbo v2, "subscriberId"
2103 + aput-object v2, v0, v1
2107 + const-string v2, "accountsSetting"
2109 + aput-object v2, v0, v1
2113 + const-string v2, "accountsAuthTokensSetting"
2115 + aput-object v2, v0, v1
2119 + const-string/jumbo v2, "outgoingCallsSetting"
2121 + aput-object v2, v0, v1
2125 + const-string v2, "incomingCallsSetting"
2127 + aput-object v2, v0, v1
2131 + const-string v2, "contactsSetting"
2133 + aput-object v2, v0, v1
2137 + const-string v2, "calendarSetting"
2139 + aput-object v2, v0, v1
2143 + const-string/jumbo v2, "mmsSetting"
2145 + aput-object v2, v0, v1
2149 + const-string/jumbo v2, "smsSetting"
2151 + aput-object v2, v0, v1
2155 + const-string v2, "callLogSetting"
2157 + aput-object v2, v0, v1
2161 + const-string v2, "bookmarksSetting"
2163 + aput-object v2, v0, v1
2167 + const-string/jumbo v2, "systemLogsSetting"
2169 + aput-object v2, v0, v1
2173 + const-string v2, "externalStorageSetting"
2175 + aput-object v2, v0, v1
2179 + const-string v2, "cameraSetting"
2181 + aput-object v2, v0, v1
2185 + const-string/jumbo v2, "recordAudioSetting"
2187 + aput-object v2, v0, v1
2191 + const-string/jumbo v2, "notificationSetting"
2193 + aput-object v2, v0, v1
2197 + const-string v2, "intentBootCompletedSetting"
2199 + aput-object v2, v0, v1
2201 + sput-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->DATABASE_FIELDS:[Ljava/lang/String;
2206 +.method public constructor <init>(Landroid/content/Context;)V
2209 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
2211 + iput-object p1, p0, Landroid/privacy/PrivacyPersistenceAdapter;->context:Landroid/content/Context;
2213 + new-instance v2, Ljava/io/File;
2215 + const-string v3, "/data/system/"
2217 + invoke-direct {v2, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
2219 + invoke-virtual {v2}, Ljava/io/File;->canWrite()Z
2223 + if-eqz v0, :cond_3c
2225 + new-instance v2, Ljava/io/File;
2227 + const-string v3, "/data/system/privacy.db"
2229 + invoke-direct {v2, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
2231 + invoke-virtual {v2}, Ljava/io/File;->exists()Z
2235 + if-nez v2, :cond_22
2237 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->createDatabase()V
2240 + new-instance v2, Ljava/io/File;
2242 + const-string v3, "/data/system/privacy"
2244 + invoke-direct {v2, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
2246 + invoke-virtual {v2}, Ljava/io/File;->exists()Z
2250 + if-nez v2, :cond_32
2252 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->createSettingsDir()V
2255 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getDbVersion()I
2261 + if-ge v1, v2, :cond_3c
2263 + invoke-direct {p0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->upgradeDatabase(I)V
2269 +.method private declared-synchronized createDatabase()V
2275 + const-string v2, "PrivacyPersistenceAdapter"
2277 + const-string v3, "createDatabase - creating privacy database file"
2279 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
2281 + .catchall {:try_start_1 .. :try_end_8} :catchall_4c
2284 + const-string v2, "/data/system/privacy.db"
2288 + const/high16 v4, 0x1000
2290 + invoke-static {v2, v3, v4}, Landroid/database/sqlite/SQLiteDatabase;->openDatabase(Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;I)Landroid/database/sqlite/SQLiteDatabase;
2292 + move-result-object v0
2294 + const-string v2, "PrivacyPersistenceAdapter"
2296 + const-string v3, "createDatabase - creating privacy database"
2298 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
2300 + 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);"
2302 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
2304 + const-string v2, "CREATE TABLE IF NOT EXISTS allowed_contacts ( settings_id, contact_id, PRIMARY KEY(settings_id, contact_id) );"
2306 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
2308 + const-string v2, "CREATE TABLE IF NOT EXISTS map ( name TEXT PRIMARY KEY, value TEXT );"
2310 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
2312 + const-string v2, "INSERT OR REPLACE INTO map (name, value) VALUES (\"db_version\", 3);"
2314 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
2316 + const-string v2, "INSERT OR REPLACE INTO map (name, value) VALUES (\"enabled\", \"1\");"
2318 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
2320 + const-string v2, "INSERT OR REPLACE INTO map (name, value) VALUES (\"notifications_enabled\", \"1\");"
2322 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
2324 + if-eqz v0, :cond_41
2326 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
2330 + if-eqz v2, :cond_41
2332 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
2334 + .catchall {:try_start_8 .. :try_end_41} :catchall_4c
2335 + .catch Landroid/database/SQLException; {:try_start_8 .. :try_end_41} :catch_43
2347 + const-string v2, "PrivacyPersistenceAdapter"
2349 + const-string v3, "createDatabase - failed to create privacy database"
2351 + invoke-static {v2, v3, v1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
2353 + .catchall {:try_start_44 .. :try_end_4b} :catchall_4c
2365 +.method private declared-synchronized createSettingsDir()V
2371 + new-instance v0, Ljava/io/File;
2373 + const-string v1, "/data/system/privacy/"
2375 + invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
2377 + invoke-virtual {v0}, Ljava/io/File;->mkdirs()Z
2383 + invoke-virtual {v0, v1, v2}, Ljava/io/File;->setReadable(ZZ)Z
2389 + invoke-virtual {v0, v1, v2}, Ljava/io/File;->setExecutable(ZZ)Z
2391 + .catchall {:try_start_1 .. :try_end_15} :catchall_17
2405 +.method private deleteRecursive(Ljava/io/File;)V
2408 + invoke-virtual {p1}, Ljava/io/File;->isDirectory()Z
2412 + if-eqz v4, :cond_16
2414 + invoke-virtual {p1}, Ljava/io/File;->listFiles()[Ljava/io/File;
2416 + move-result-object v0
2418 + array-length v3, v0
2423 + if-ge v2, v3, :cond_16
2425 + aget-object v1, v0, v2
2427 + invoke-direct {p0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteRecursive(Ljava/io/File;)V
2429 + add-int/lit8 v2, v2, 0x1
2434 + invoke-virtual {p1}, Ljava/io/File;->delete()Z
2439 +.method private getDbVersion()I
2446 + sget-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2448 + sget-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2450 + invoke-virtual {v6}, Ljava/lang/Integer;->intValue()I
2454 + add-int/lit8 v6, v6, 0x1
2456 + invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
2458 + move-result-object v6
2460 + sput-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2462 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
2464 + move-result-object v1
2467 + const-string v6, "SELECT name FROM sqlite_master WHERE type=\'table\' AND name=\'map\';"
2469 + invoke-direct {p0, v1, v6}, Landroid/privacy/PrivacyPersistenceAdapter;->rawQuery(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;)Landroid/database/Cursor;
2471 + move-result-object v0
2473 + if-eqz v0, :cond_5e
2475 + invoke-interface {v0}, Landroid/database/Cursor;->getCount()I
2479 + if-nez v6, :cond_25
2484 + invoke-interface {v0}, Landroid/database/Cursor;->close()V
2486 + sget-object v7, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2490 + .catch Ljava/lang/Exception; {:try_start_16 .. :try_end_2b} :catch_55
2493 + sget-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2495 + sget-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2497 + invoke-virtual {v6}, Ljava/lang/Integer;->intValue()I
2501 + add-int/lit8 v6, v6, -0x1
2503 + invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
2505 + move-result-object v6
2507 + sput-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2509 + sget-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2511 + invoke-virtual {v6}, Ljava/lang/Integer;->intValue()I
2515 + if-nez v6, :cond_4e
2517 + if-eqz v1, :cond_4e
2519 + invoke-virtual {v1}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
2523 + if-eqz v6, :cond_4e
2525 + invoke-virtual {v1}, Landroid/database/sqlite/SQLiteDatabase;->close()V
2531 + if-ne v3, v4, :cond_66
2541 + .catchall {:try_start_2b .. :try_end_54} :catchall_52
2546 + .catch Ljava/lang/Exception; {:try_start_54 .. :try_end_55} :catch_55
2551 + const-string v6, "PrivacyPersistenceAdapter"
2553 + const-string v7, "getDbVersion - failed to check if table map exists (exception)"
2555 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
2561 + const-string v6, "PrivacyPersistenceAdapter"
2563 + const-string v7, "getDbVersion - failed to check if table map exists (cursor is null)"
2565 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
2567 + .catch Ljava/lang/Exception; {:try_start_5e .. :try_end_65} :catch_55
2572 + const-string v6, "db_version"
2574 + invoke-virtual {p0, v6}, Landroid/privacy/PrivacyPersistenceAdapter;->getValue(Ljava/lang/String;)Ljava/lang/String;
2576 + move-result-object v5
2578 + if-nez v5, :cond_70
2586 + invoke-static {v5}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
2588 + .catch Ljava/lang/Exception; {:try_start_70 .. :try_end_73} :catch_76
2599 + const-string v6, "PrivacyPersistenceAdapter"
2601 + const-string v7, "getDbVersion - failed to parse database version; returning 1"
2603 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
2610 +.method private declared-synchronized getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
2616 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2618 + if-eqz v0, :cond_11
2620 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2622 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
2626 + if-eqz v0, :cond_11
2628 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2630 + .catchall {:try_start_1 .. :try_end_f} :catchall_1e
2639 + const-string v0, "/data/system/privacy.db"
2645 + invoke-static {v0, v1, v2}, Landroid/database/sqlite/SQLiteDatabase;->openDatabase(Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;I)Landroid/database/sqlite/SQLiteDatabase;
2647 + move-result-object v0
2649 + iput-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2651 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2653 + .catchall {:try_start_11 .. :try_end_1d} :catchall_1e
2665 +.method private declared-synchronized getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
2671 + new-instance v0, Ljava/io/File;
2673 + const-string v1, "/data/system/privacy.db"
2675 + invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
2677 + invoke-virtual {v0}, Ljava/io/File;->exists()Z
2681 + if-nez v0, :cond_11
2683 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->createDatabase()V
2686 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2688 + if-eqz v0, :cond_29
2690 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2692 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
2696 + if-eqz v0, :cond_29
2698 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2700 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isReadOnly()Z
2704 + if-nez v0, :cond_29
2706 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2708 + .catchall {:try_start_1 .. :try_end_27} :catchall_36
2717 + const-string v0, "/data/system/privacy.db"
2723 + invoke-static {v0, v1, v2}, Landroid/database/sqlite/SQLiteDatabase;->openDatabase(Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;I)Landroid/database/sqlite/SQLiteDatabase;
2725 + move-result-object v0
2727 + iput-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2729 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2731 + .catchall {:try_start_29 .. :try_end_35} :catchall_36
2743 +.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;
2745 + .annotation system Ldalvik/annotation/Throws;
2747 + Ljava/lang/Exception;
2758 + if-nez v3, :cond_27
2762 + if-ge v2, v4, :cond_27
2764 + if-eqz v0, :cond_d
2767 + invoke-interface {v0}, Landroid/database/Cursor;->close()V
2770 + 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;
2772 + .catch Ljava/lang/IllegalStateException; {:try_start_a .. :try_end_10} :catch_15
2774 + move-result-object v0
2779 + add-int/lit8 v2, v2, 0x1
2788 + if-eqz p1, :cond_22
2790 + invoke-virtual {p1}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
2794 + if-eqz v4, :cond_22
2796 + invoke-virtual {p1}, Landroid/database/sqlite/SQLiteDatabase;->close()V
2799 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
2801 + move-result-object p1
2806 + if-nez v3, :cond_32
2808 + new-instance v4, Ljava/lang/Exception;
2810 + const-string/jumbo v5, "query - failed to execute query on the DB"
2812 + invoke-direct {v4, v5}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
2820 +.method private rawQuery(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;)Landroid/database/Cursor;
2822 + .annotation system Ldalvik/annotation/Throws;
2824 + Ljava/lang/Exception;
2835 + if-nez v3, :cond_28
2839 + if-ge v2, v4, :cond_28
2841 + if-eqz v0, :cond_d
2844 + invoke-interface {v0}, Landroid/database/Cursor;->close()V
2849 + invoke-virtual {p1, p2, v4}, Landroid/database/sqlite/SQLiteDatabase;->rawQuery(Ljava/lang/String;[Ljava/lang/String;)Landroid/database/Cursor;
2851 + .catch Ljava/lang/IllegalStateException; {:try_start_a .. :try_end_11} :catch_16
2853 + move-result-object v0
2858 + add-int/lit8 v2, v2, 0x1
2867 + if-eqz p1, :cond_23
2869 + invoke-virtual {p1}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
2873 + if-eqz v4, :cond_23
2875 + invoke-virtual {p1}, Landroid/database/sqlite/SQLiteDatabase;->close()V
2878 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
2880 + move-result-object p1
2885 + if-nez v3, :cond_33
2887 + new-instance v4, Ljava/lang/Exception;
2889 + const-string/jumbo v5, "query - failed to execute query on the DB"
2891 + invoke-direct {v4, v5}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
2899 +.method private declared-synchronized upgradeDatabase(I)V
2905 + const-string v17, "PrivacyPersistenceAdapter"
2907 + new-instance v18, Ljava/lang/StringBuilder;
2909 + invoke-direct/range {v18 .. v18}, Ljava/lang/StringBuilder;-><init>()V
2911 + const-string/jumbo v19, "upgradeDatabase - upgrading DB from version "
2913 + invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2915 + move-result-object v18
2917 + move-object/from16 v0, v18
2919 + move/from16 v1, p1
2921 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
2923 + move-result-object v18
2925 + const-string v19, " to "
2927 + invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2929 + move-result-object v18
2933 + invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
2935 + move-result-object v18
2937 + invoke-virtual/range {v18 .. v18}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2939 + move-result-object v18
2941 + invoke-static/range {v17 .. v18}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
2943 + new-instance v6, Ljava/io/File;
2945 + const-string v17, "/data/system/privacy.db"
2947 + move-object/from16 v0, v17
2949 + invoke-direct {v6, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
2951 + new-instance v5, Ljava/io/File;
2953 + const-string v17, "/data/system/privacy.db.bak"
2955 + move-object/from16 v0, v17
2957 + invoke-direct {v5, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
2959 + .catchall {:try_start_1 .. :try_end_3c} :catchall_66
2962 + invoke-virtual {v5}, Ljava/io/File;->delete()Z
2964 + .catchall {:try_start_3c .. :try_end_3f} :catchall_66
2965 + .catch Ljava/lang/SecurityException; {:try_start_3c .. :try_end_3f} :catch_5c
2969 + invoke-static {v6, v5}, Landroid/os/FileUtils;->copyFile(Ljava/io/File;Ljava/io/File;)Z
2971 + invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
2973 + move-result-wide v17
2975 + invoke-virtual {v5}, Ljava/io/File;->lastModified()J
2977 + move-result-wide v19
2979 + sub-long v17, v17, v19
2981 + const-wide/16 v19, 0x7d0
2983 + cmp-long v17, v17, v19
2985 + if-lez v17, :cond_69
2987 + const-string v17, "PrivacyPersistenceAdapter"
2989 + const-string/jumbo v18, "upgradeDatabase - could not create a database backup, aborting..."
2991 + invoke-static/range {v17 .. v18}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
2993 + .catchall {:try_start_3f .. :try_end_5a} :catchall_66
3004 + const-string v17, "PrivacyPersistenceAdapter"
3006 + const-string/jumbo v18, "upgradeDatabase - could not remove old backup"
3008 + invoke-static/range {v17 .. v18}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
3010 + .catchall {:try_start_5d .. :try_end_65} :catchall_66
3015 + move-exception v17
3023 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
3025 + move-result-object v4
3027 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->beginTransaction()V
3029 + packed-switch p1, :pswitch_data_164
3033 + if-eqz v4, :cond_159
3035 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3039 + if-eqz v17, :cond_159
3041 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
3043 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3046 + invoke-virtual/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->purgeSettings()Z
3048 + .catchall {:try_start_69 .. :try_end_84} :catchall_66
3053 + if-eqz v4, :cond_73
3056 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3060 + if-eqz v17, :cond_73
3062 + const-string v17, "DROP TABLE IF EXISTS version;"
3064 + move-object/from16 v0, v17
3066 + invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
3068 + const-string v17, "CREATE TABLE IF NOT EXISTS allowed_contacts ( settings_id, contact_id, PRIMARY KEY(settings_id, contact_id) );"
3070 + move-object/from16 v0, v17
3072 + invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
3074 + const-string v17, "CREATE TABLE IF NOT EXISTS map ( name TEXT PRIMARY KEY, value TEXT );"
3076 + move-object/from16 v0, v17
3078 + invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
3080 + const-string v17, "INSERT OR REPLACE INTO map (name, value) VALUES (\"db_version\", 3);"
3082 + move-object/from16 v0, v17
3084 + invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
3086 + const-string v17, "INSERT OR REPLACE INTO map (name, value) VALUES (\"enabled\", \"1\");"
3088 + move-object/from16 v0, v17
3090 + invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
3092 + const-string v17, "INSERT OR REPLACE INTO map (name, value) VALUES (\"notifications_enabled\", \"1\");"
3094 + move-object/from16 v0, v17
3096 + invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
3098 + new-instance v14, Ljava/io/File;
3100 + const-string v17, "/data/system/privacy"
3102 + move-object/from16 v0, v17
3104 + invoke-direct {v14, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
3106 + invoke-virtual {v14}, Ljava/io/File;->listFiles()[Ljava/io/File;
3108 + move-result-object v2
3110 + array-length v10, v2
3117 + if-ge v9, v10, :cond_127
3119 + aget-object v13, v2, v9
3121 + invoke-virtual {v13}, Ljava/io/File;->listFiles()[Ljava/io/File;
3123 + move-result-object v3
3125 + array-length v11, v3
3130 + if-ge v8, v11, :cond_123
3132 + aget-object v16, v3, v8
3134 + invoke-virtual/range {v16 .. v16}, Ljava/io/File;->isDirectory()Z
3138 + if-eqz v17, :cond_120
3140 + invoke-virtual/range {v16 .. v16}, Ljava/io/File;->listFiles()[Ljava/io/File;
3142 + move-result-object v15
3146 + aget-object v17, v15, v17
3148 + if-eqz v17, :cond_120
3150 + new-instance v12, Ljava/io/File;
3152 + new-instance v17, Ljava/lang/StringBuilder;
3154 + invoke-direct/range {v17 .. v17}, Ljava/lang/StringBuilder;-><init>()V
3156 + move-object/from16 v0, v17
3158 + invoke-virtual {v0, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
3160 + move-result-object v17
3162 + const-string v18, "/"
3164 + invoke-virtual/range {v17 .. v18}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3166 + move-result-object v17
3170 + aget-object v18, v15, v18
3172 + invoke-virtual/range {v18 .. v18}, Ljava/io/File;->getName()Ljava/lang/String;
3174 + move-result-object v18
3176 + invoke-virtual/range {v17 .. v18}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3178 + move-result-object v17
3180 + invoke-virtual/range {v17 .. v17}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3182 + move-result-object v17
3184 + move-object/from16 v0, v17
3186 + invoke-direct {v12, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
3188 + invoke-virtual {v12}, Ljava/io/File;->delete()Z
3192 + aget-object v17, v15, v17
3194 + move-object/from16 v0, v17
3196 + invoke-virtual {v0, v12}, Ljava/io/File;->renameTo(Ljava/io/File;)Z
3198 + move-object/from16 v0, p0
3200 + move-object/from16 v1, v16
3202 + invoke-direct {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteRecursive(Ljava/io/File;)V
3205 + add-int/lit8 v8, v8, 0x1
3210 + add-int/lit8 v8, v9, 0x1
3217 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->setTransactionSuccessful()V
3219 + .catchall {:try_start_87 .. :try_end_12a} :catchall_66
3220 + .catch Ljava/lang/Exception; {:try_start_87 .. :try_end_12a} :catch_12c
3227 + if-eqz v4, :cond_13b
3230 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3234 + if-eqz v17, :cond_13b
3236 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
3238 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3241 + const-string v17, "PrivacyPersistenceAdapter"
3243 + const-string/jumbo v18, "upgradeDatabase - could not upgrade DB; will restore backup"
3245 + move-object/from16 v0, v17
3247 + move-object/from16 v1, v18
3249 + invoke-static {v0, v1, v7}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
3251 + invoke-static {v5, v6}, Landroid/os/FileUtils;->copyFile(Ljava/io/File;Ljava/io/File;)Z
3253 + invoke-virtual {v5}, Ljava/io/File;->delete()Z
3258 + const-string v17, "PrivacyPersistenceAdapter"
3260 + const-string/jumbo v18, "upgradeDatabase - trying to upgrade most current DB version"
3262 + invoke-static/range {v17 .. v18}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
3267 + const-string v17, "PrivacyPersistenceAdapter"
3269 + const-string/jumbo v18, "upgradeDatabase - database is null or closed; cant call endTransaction()"
3271 + invoke-static/range {v17 .. v18}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
3273 + .catchall {:try_start_12f .. :try_end_161} :catchall_66
3280 + .packed-switch 0x1
3284 + .end packed-switch
3289 +.method public declared-synchronized deleteSettings(Ljava/lang/String;)Z
3297 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
3299 + move-result-object v0
3301 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->beginTransaction()V
3303 + .catchall {:try_start_2 .. :try_end_9} :catchall_107
3306 + const-string/jumbo v1, "settings"
3310 + new-array v2, v2, [Ljava/lang/String;
3314 + const-string v4, "_id"
3316 + aput-object v4, v2, v3
3318 + const-string/jumbo v3, "packageName=?"
3322 + new-array v4, v4, [Ljava/lang/String;
3326 + aput-object p1, v4, v5
3334 + 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;
3336 + move-result-object v8
3338 + if-eqz v8, :cond_4c
3340 + invoke-interface {v8}, Landroid/database/Cursor;->getCount()I
3344 + if-lez v1, :cond_4c
3346 + invoke-interface {v8}, Landroid/database/Cursor;->moveToFirst()Z
3350 + if-eqz v1, :cond_4c
3354 + invoke-interface {v8, v1}, Landroid/database/Cursor;->getInt(I)I
3358 + const-string v1, "allowed_contacts"
3360 + const-string/jumbo v2, "settings_id=?"
3364 + new-array v3, v3, [Ljava/lang/String;
3368 + invoke-static {v10}, Ljava/lang/Integer;->toString(I)Ljava/lang/String;
3370 + move-result-object v5
3372 + aput-object v5, v3, v4
3374 + invoke-virtual {v0, v1, v2, v3}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
3376 + invoke-interface {v8}, Landroid/database/Cursor;->close()V
3379 + const-string/jumbo v1, "settings"
3381 + const-string/jumbo v2, "packageName=?"
3385 + new-array v3, v3, [Ljava/lang/String;
3389 + aput-object p1, v3, v4
3391 + invoke-virtual {v0, v1, v2, v3}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
3395 + if-nez v1, :cond_8d
3397 + const-string v1, "PrivacyPersistenceAdapter"
3399 + new-instance v2, Ljava/lang/StringBuilder;
3401 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
3403 + const-string v3, "deleteSettings - database entry for "
3405 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3407 + move-result-object v2
3409 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3411 + move-result-object v2
3413 + const-string v3, " not found"
3415 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3417 + move-result-object v2
3419 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3421 + move-result-object v2
3423 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
3425 + .catchall {:try_start_9 .. :try_end_7c} :catchall_10a
3426 + .catch Ljava/lang/Exception; {:try_start_9 .. :try_end_7c} :catch_ef
3431 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
3433 + if-eqz v0, :cond_8b
3435 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3439 + if-eqz v2, :cond_8b
3441 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3443 + .catchall {:try_start_7d .. :try_end_8b} :catchall_107
3453 + new-instance v12, Ljava/io/File;
3455 + new-instance v1, Ljava/lang/StringBuilder;
3457 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
3459 + const-string v2, "/data/system/privacy/"
3461 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3463 + move-result-object v1
3465 + invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3467 + move-result-object v1
3469 + const-string v2, "/"
3471 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3473 + move-result-object v1
3475 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3477 + move-result-object v1
3479 + invoke-direct {v12, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
3481 + new-instance v13, Ljava/io/File;
3483 + new-instance v1, Ljava/lang/StringBuilder;
3485 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
3487 + const-string v2, "/data/system/privacy/"
3489 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3491 + move-result-object v1
3493 + invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3495 + move-result-object v1
3497 + const-string v2, "/systemLogsSetting"
3499 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3501 + move-result-object v1
3503 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3505 + move-result-object v1
3507 + invoke-direct {v13, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
3509 + invoke-virtual {v13}, Ljava/io/File;->delete()Z
3511 + invoke-virtual {v12}, Ljava/io/File;->list()[Ljava/lang/String;
3513 + move-result-object v1
3515 + if-eqz v1, :cond_d9
3517 + invoke-virtual {v12}, Ljava/io/File;->list()[Ljava/lang/String;
3519 + move-result-object v1
3521 + array-length v1, v1
3523 + if-nez v1, :cond_dc
3526 + invoke-virtual {v12}, Ljava/io/File;->delete()Z
3529 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->setTransactionSuccessful()V
3531 + .catchall {:try_start_8d .. :try_end_df} :catchall_10a
3532 + .catch Ljava/lang/Exception; {:try_start_8d .. :try_end_df} :catch_ef
3535 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
3537 + if-eqz v0, :cond_ed
3539 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3543 + if-eqz v1, :cond_ed
3545 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3547 + .catchall {:try_start_df .. :try_end_ed} :catchall_107
3561 + const-string v1, "PrivacyPersistenceAdapter"
3563 + const-string v2, "deleteSettings - could not delete settings"
3565 + invoke-static {v1, v2, v9}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
3567 + .catchall {:try_start_f1 .. :try_end_f8} :catchall_10a
3570 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
3572 + if-eqz v0, :cond_ed
3574 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3578 + if-eqz v1, :cond_ed
3580 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3582 + .catchall {:try_start_f8 .. :try_end_106} :catchall_107
3597 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
3599 + if-eqz v0, :cond_119
3601 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3605 + if-eqz v2, :cond_119
3607 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3612 + .catchall {:try_start_10b .. :try_end_11a} :catchall_107
3615 +.method public declared-synchronized getSettings(Ljava/lang/String;Z)Landroid/privacy/PrivacySettings;
3622 + if-nez p1, :cond_10
3625 + const-string v1, "PrivacyPersistenceAdapter"
3627 + const-string v4, "getSettings - insufficient application identifier - package name is required"
3629 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
3631 + .catchall {:try_start_5 .. :try_end_c} :catchall_2d8
3633 + move-object/from16 v3, v43
3642 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
3644 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
3646 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
3650 + add-int/lit8 v1, v1, 0x1
3652 + invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
3654 + move-result-object v1
3656 + sput-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
3658 + .catchall {:try_start_10 .. :try_end_20} :catchall_2d8
3661 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
3663 + .catchall {:try_start_20 .. :try_end_23} :catchall_2d8
3664 + .catch Landroid/database/sqlite/SQLiteException; {:try_start_20 .. :try_end_23} :catch_245
3666 + move-result-object v2
3671 + const-string/jumbo v3, "settings"
3673 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->DATABASE_FIELDS:[Ljava/lang/String;
3675 + const-string/jumbo v5, "packageName=?"
3679 + new-array v6, v1, [Ljava/lang/String;
3683 + aput-object p1, v6, v1
3693 + move-object/from16 v1, p0
3695 + 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;
3697 + move-result-object v41
3699 + if-eqz v41, :cond_2dc
3701 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->moveToFirst()Z
3705 + if-eqz v1, :cond_2dc
3707 + new-instance v3, Landroid/privacy/PrivacySettings;
3711 + move-object/from16 v0, v41
3713 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getInt(I)I
3717 + invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
3719 + move-result-object v4
3723 + move-object/from16 v0, v41
3725 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
3727 + move-result-object v5
3731 + move-object/from16 v0, v41
3733 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getInt(I)I
3739 + move-object/from16 v0, v41
3741 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3745 + int-to-byte v7, v1
3749 + move-object/from16 v0, v41
3751 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
3753 + move-result-object v8
3757 + move-object/from16 v0, v41
3759 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3763 + int-to-byte v9, v1
3767 + move-object/from16 v0, v41
3769 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
3771 + move-result-object v10
3775 + move-object/from16 v0, v41
3777 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3781 + int-to-byte v11, v1
3785 + move-object/from16 v0, v41
3787 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
3789 + move-result-object v12
3793 + move-object/from16 v0, v41
3795 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
3797 + move-result-object v13
3801 + move-object/from16 v0, v41
3803 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3807 + int-to-byte v14, v1
3811 + move-object/from16 v0, v41
3813 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
3815 + move-result-object v15
3819 + move-object/from16 v0, v41
3821 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
3823 + move-result-object v16
3827 + move-object/from16 v0, v41
3829 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3833 + int-to-byte v0, v1
3835 + move/from16 v17, v0
3839 + move-object/from16 v0, v41
3841 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3845 + int-to-byte v0, v1
3847 + move/from16 v18, v0
3851 + move-object/from16 v0, v41
3853 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3857 + int-to-byte v0, v1
3859 + move/from16 v19, v0
3863 + move-object/from16 v0, v41
3865 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
3867 + move-result-object v20
3871 + move-object/from16 v0, v41
3873 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3877 + int-to-byte v0, v1
3879 + move/from16 v21, v0
3883 + move-object/from16 v0, v41
3885 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
3887 + move-result-object v22
3891 + move-object/from16 v0, v41
3893 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3897 + int-to-byte v0, v1
3899 + move/from16 v23, v0
3903 + move-object/from16 v0, v41
3905 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3909 + int-to-byte v0, v1
3911 + move/from16 v24, v0
3915 + move-object/from16 v0, v41
3917 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3921 + int-to-byte v0, v1
3923 + move/from16 v25, v0
3927 + move-object/from16 v0, v41
3929 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3933 + int-to-byte v0, v1
3935 + move/from16 v26, v0
3939 + move-object/from16 v0, v41
3941 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3945 + int-to-byte v0, v1
3947 + move/from16 v27, v0
3951 + move-object/from16 v0, v41
3953 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3957 + int-to-byte v0, v1
3959 + move/from16 v28, v0
3963 + move-object/from16 v0, v41
3965 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3969 + int-to-byte v0, v1
3971 + move/from16 v29, v0
3975 + move-object/from16 v0, v41
3977 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3981 + int-to-byte v0, v1
3983 + move/from16 v30, v0
3987 + move-object/from16 v0, v41
3989 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3993 + int-to-byte v0, v1
3995 + move/from16 v31, v0
3999 + move-object/from16 v0, v41
4001 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4005 + int-to-byte v0, v1
4007 + move/from16 v32, v0
4011 + move-object/from16 v0, v41
4013 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4017 + int-to-byte v0, v1
4019 + move/from16 v33, v0
4023 + move-object/from16 v0, v41
4025 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4029 + int-to-byte v0, v1
4031 + move/from16 v34, v0
4035 + move-object/from16 v0, v41
4037 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4041 + int-to-byte v0, v1
4043 + move/from16 v35, v0
4047 + move-object/from16 v0, v41
4049 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4053 + int-to-byte v0, v1
4055 + move/from16 v36, v0
4059 + move-object/from16 v0, v41
4061 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4065 + int-to-byte v0, v1
4067 + move/from16 v37, v0
4071 + move-object/from16 v0, v41
4073 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4077 + int-to-byte v0, v1
4079 + move/from16 v38, v0
4083 + 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
4085 + .catchall {:try_start_26 .. :try_end_1a1} :catchall_29b
4086 + .catch Ljava/lang/Exception; {:try_start_26 .. :try_end_1a1} :catch_2d3
4089 + new-instance v1, Ljava/lang/StringBuilder;
4091 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
4093 + const-string v4, "SELECT * FROM allowed_contacts WHERE settings_id="
4095 + invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4097 + move-result-object v1
4099 + invoke-virtual {v3}, Landroid/privacy/PrivacySettings;->get_id()Ljava/lang/Integer;
4101 + move-result-object v4
4103 + invoke-virtual {v4}, Ljava/lang/Integer;->intValue()I
4107 + invoke-static {v4}, Ljava/lang/Integer;->toString(I)Ljava/lang/String;
4109 + move-result-object v4
4111 + invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4113 + move-result-object v1
4115 + const-string v4, ";"
4117 + invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4119 + move-result-object v1
4121 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4123 + move-result-object v1
4125 + move-object/from16 v0, p0
4127 + invoke-direct {v0, v2, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->rawQuery(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;)Landroid/database/Cursor;
4129 + move-result-object v41
4131 + if-eqz v41, :cond_268
4133 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->getCount()I
4137 + if-lez v1, :cond_268
4139 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->getCount()I
4143 + new-array v0, v1, [I
4145 + move-object/from16 v40, v0
4148 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->moveToNext()Z
4152 + if-eqz v1, :cond_263
4154 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->getPosition()I
4160 + move-object/from16 v0, v41
4162 + invoke-interface {v0, v4}, Landroid/database/Cursor;->getInt(I)I
4168 + .catchall {:try_start_1a1 .. :try_end_1ef} :catchall_2d1
4169 + .catch Ljava/lang/Exception; {:try_start_1a1 .. :try_end_1ef} :catch_1f0
4174 + move-exception v42
4178 + const-string v1, "PrivacyPersistenceAdapter"
4180 + new-instance v4, Ljava/lang/StringBuilder;
4182 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
4184 + const-string v5, "getSettings - failed to get settings for package: "
4186 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4188 + move-result-object v4
4190 + move-object/from16 v0, p1
4192 + invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4194 + move-result-object v4
4196 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4198 + move-result-object v4
4200 + move-object/from16 v0, v42
4202 + invoke-static {v1, v4, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
4204 + invoke-virtual/range {v42 .. v42}, Ljava/lang/Exception;->printStackTrace()V
4206 + if-eqz v41, :cond_215
4208 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->close()V
4210 + .catchall {:try_start_1f1 .. :try_end_215} :catchall_2d1
4213 + if-eqz v41, :cond_21a
4216 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->close()V
4219 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4223 + .catchall {:try_start_217 .. :try_end_21d} :catchall_298
4226 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4228 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4230 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
4234 + add-int/lit8 v1, v1, -0x1
4236 + invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4238 + move-result-object v1
4240 + sput-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4242 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4244 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
4248 + if-nez v1, :cond_240
4250 + if-eqz v2, :cond_240
4252 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
4256 + if-eqz v1, :cond_240
4258 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
4263 + .catchall {:try_start_21d .. :try_end_241} :catchall_2ce
4266 + move-object/from16 v43, v3
4271 + move-exception v42
4274 + const-string v1, "PrivacyPersistenceAdapter"
4276 + const-string v4, "getSettings - database could not be opened"
4278 + move-object/from16 v0, v42
4280 + invoke-static {v1, v4, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
4282 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4284 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4286 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
4290 + add-int/lit8 v1, v1, -0x1
4292 + invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4294 + move-result-object v1
4296 + sput-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4298 + .catchall {:try_start_246 .. :try_end_25f} :catchall_2d8
4300 + move-object/from16 v3, v43
4306 + move-object/from16 v0, v40
4308 + invoke-virtual {v3, v0}, Landroid/privacy/PrivacySettings;->setAllowedContacts([I)V
4310 + .catchall {:try_start_263 .. :try_end_268} :catchall_2d1
4311 + .catch Ljava/lang/Exception; {:try_start_263 .. :try_end_268} :catch_1f0
4315 + if-eqz v41, :cond_26d
4318 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->close()V
4321 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4325 + .catchall {:try_start_26a .. :try_end_270} :catchall_298
4328 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4330 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4332 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
4336 + add-int/lit8 v1, v1, -0x1
4338 + invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4340 + move-result-object v1
4342 + sput-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4344 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4346 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
4350 + if-nez v1, :cond_293
4352 + if-eqz v2, :cond_293
4354 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
4358 + if-eqz v1, :cond_293
4360 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
4372 + .catchall {:try_start_270 .. :try_end_297} :catchall_295
4377 + .catchall {:try_start_297 .. :try_end_298} :catchall_298
4390 + move-object/from16 v3, v43
4393 + if-eqz v41, :cond_2a3
4396 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->close()V
4399 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4403 + .catchall {:try_start_2a0 .. :try_end_2a6} :catchall_298
4406 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4408 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4410 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
4414 + add-int/lit8 v5, v5, -0x1
4416 + invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4418 + move-result-object v5
4420 + sput-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4422 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4424 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
4428 + if-nez v5, :cond_2c9
4430 + if-eqz v2, :cond_2c9
4432 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
4436 + if-eqz v5, :cond_2c9
4438 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
4443 + .catchall {:try_start_2a6 .. :try_end_2ca} :catchall_2cb
4448 + .catchall {:try_start_2ca .. :try_end_2cb} :catchall_298
4456 + .catchall {:try_start_2cc .. :try_end_2cd} :catchall_2cb
4461 + .catchall {:try_start_2cd .. :try_end_2ce} :catchall_298
4469 + .catchall {:try_start_2cf .. :try_end_2d0} :catchall_2ce
4474 + .catchall {:try_start_2d0 .. :try_end_2d1} :catchall_298
4482 + move-exception v42
4484 + move-object/from16 v3, v43
4491 + move-object/from16 v3, v43
4496 + move-object/from16 v3, v43
4501 +.method public getValue(Ljava/lang/String;)Ljava/lang/String;
4504 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4506 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4508 + invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
4512 + add-int/lit8 v0, v0, 0x1
4514 + invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4516 + move-result-object v0
4518 + sput-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4520 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
4522 + move-result-object v1
4527 + const-string/jumbo v2, "map"
4531 + new-array v3, v0, [Ljava/lang/String;
4535 + const-string/jumbo v4, "value"
4537 + aput-object v4, v3, v0
4539 + const-string/jumbo v4, "name=?"
4543 + new-array v5, v0, [Ljava/lang/String;
4547 + aput-object p1, v5, v0
4557 + move-object v0, p0
4559 + 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;
4561 + move-result-object v10
4563 + if-eqz v10, :cond_77
4565 + invoke-interface {v10}, Landroid/database/Cursor;->getCount()I
4569 + if-lez v0, :cond_77
4571 + invoke-interface {v10}, Landroid/database/Cursor;->moveToFirst()Z
4575 + if-eqz v0, :cond_77
4577 + const-string/jumbo v0, "value"
4579 + invoke-interface {v10, v0}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
4583 + invoke-interface {v10, v0}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
4585 + move-result-object v12
4587 + invoke-interface {v10}, Landroid/database/Cursor;->close()V
4589 + .catch Ljava/lang/Exception; {:try_start_15 .. :try_end_4f} :catch_90
4592 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4597 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4599 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4601 + invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
4605 + add-int/lit8 v0, v0, -0x1
4607 + invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4609 + move-result-object v0
4611 + sput-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4613 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4615 + invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
4619 + if-nez v0, :cond_75
4621 + if-eqz v1, :cond_75
4623 + invoke-virtual {v1}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
4627 + if-eqz v0, :cond_75
4629 + invoke-virtual {v1}, Landroid/database/sqlite/SQLiteDatabase;->close()V
4634 + .catchall {:try_start_52 .. :try_end_76} :catchall_aa
4640 + const-string v0, "PrivacyPersistenceAdapter"
4642 + new-instance v2, Ljava/lang/StringBuilder;
4644 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
4646 + const-string v3, "getValue - could not get value for name: "
4648 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4650 + move-result-object v2
4652 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4654 + move-result-object v2
4656 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4658 + move-result-object v2
4660 + invoke-static {v0, v2}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
4662 + .catch Ljava/lang/Exception; {:try_start_77 .. :try_end_8f} :catch_90
4667 + move-exception v11
4669 + const-string v0, "PrivacyPersistenceAdapter"
4671 + new-instance v2, Ljava/lang/StringBuilder;
4673 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
4675 + const-string v3, "getValue - could not get value for name: "
4677 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4679 + move-result-object v2
4681 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4683 + move-result-object v2
4685 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4687 + move-result-object v2
4689 + invoke-static {v0, v2, v11}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
4699 + .catchall {:try_start_ab .. :try_end_ac} :catchall_aa
4704 +.method public purgeSettings()Z
4709 + new-instance v13, Ljava/util/ArrayList;
4711 + invoke-direct {v13}, Ljava/util/ArrayList;-><init>()V
4713 + move-object/from16 v0, p0
4715 + iget-object v2, v0, Landroid/privacy/PrivacyPersistenceAdapter;->context:Landroid/content/Context;
4717 + invoke-virtual {v2}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
4719 + move-result-object v21
4723 + move-object/from16 v0, v21
4725 + invoke-virtual {v0, v2}, Landroid/content/pm/PackageManager;->getInstalledApplications(I)Ljava/util/List;
4727 + move-result-object v19
4729 + invoke-interface/range {v19 .. v19}, Ljava/util/List;->iterator()Ljava/util/Iterator;
4731 + move-result-object v18
4734 + invoke-interface/range {v18 .. v18}, Ljava/util/Iterator;->hasNext()Z
4738 + if-eqz v2, :cond_2d
4740 + invoke-interface/range {v18 .. v18}, Ljava/util/Iterator;->next()Ljava/lang/Object;
4742 + move-result-object v12
4744 + check-cast v12, Landroid/content/pm/ApplicationInfo;
4746 + iget-object v2, v12, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
4748 + invoke-interface {v13, v2}, Ljava/util/List;->add(Ljava/lang/Object;)Z
4753 + new-instance v26, Ljava/io/File;
4755 + const-string v2, "/data/system/privacy"
4757 + move-object/from16 v0, v26
4759 + invoke-direct {v0, v2}, Ljava/io/File;-><init>(Ljava/lang/String;)V
4761 + invoke-virtual/range {v26 .. v26}, Ljava/io/File;->listFiles()[Ljava/io/File;
4763 + move-result-object v15
4765 + array-length v0, v15
4767 + move/from16 v20, v0
4772 + move/from16 v0, v18
4774 + move/from16 v1, v20
4776 + if-ge v0, v1, :cond_5d
4778 + aget-object v23, v15, v18
4780 + invoke-virtual/range {v23 .. v23}, Ljava/io/File;->getName()Ljava/lang/String;
4782 + move-result-object v24
4784 + move-object/from16 v0, v24
4786 + invoke-interface {v13, v0}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
4790 + if-nez v2, :cond_5a
4792 + move-object/from16 v0, p0
4794 + move-object/from16 v1, v23
4796 + invoke-direct {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteRecursive(Ljava/io/File;)V
4799 + add-int/lit8 v18, v18, 0x1
4804 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4806 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4808 + invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
4812 + add-int/lit8 v2, v2, 0x1
4814 + invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4816 + move-result-object v2
4818 + sput-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4820 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
4822 + move-result-object v3
4827 + const-string/jumbo v4, "settings"
4831 + new-array v5, v2, [Ljava/lang/String;
4835 + const-string/jumbo v6, "packageName"
4837 + aput-object v6, v5, v2
4851 + move-object/from16 v2, p0
4853 + 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;
4855 + move-result-object v16
4857 + new-instance v14, Ljava/util/ArrayList;
4859 + invoke-direct {v14}, Ljava/util/ArrayList;-><init>()V
4862 + invoke-interface/range {v16 .. v16}, Landroid/database/Cursor;->moveToNext()Z
4866 + if-eqz v2, :cond_142
4870 + move-object/from16 v0, v16
4872 + invoke-interface {v0, v2}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
4874 + move-result-object v24
4876 + move-object/from16 v0, v24
4878 + invoke-interface {v13, v0}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
4882 + if-nez v2, :cond_e7
4884 + move-object/from16 v0, p0
4886 + move-object/from16 v1, v24
4888 + invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteSettings(Ljava/lang/String;)Z
4890 + .catchall {:try_start_73 .. :try_end_ac} :catchall_107
4891 + .catch Ljava/lang/Exception; {:try_start_73 .. :try_end_ac} :catch_ad
4896 + move-exception v17
4899 + const-string v2, "PrivacyPersistenceAdapter"
4901 + const-string/jumbo v4, "purgeSettings - purging DB failed"
4903 + move-object/from16 v0, v17
4905 + invoke-static {v2, v4, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
4907 + .catchall {:try_start_ae .. :try_end_b8} :catchall_107
4911 + if-eqz v16, :cond_bf
4913 + invoke-interface/range {v16 .. v16}, Landroid/database/Cursor;->close()V
4916 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4921 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4923 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4925 + invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
4929 + add-int/lit8 v2, v2, -0x1
4931 + invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4933 + move-result-object v2
4935 + sput-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4937 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4939 + invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
4943 + if-nez v2, :cond_e5
4945 + if-eqz v3, :cond_e5
4947 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
4951 + if-eqz v2, :cond_e5
4953 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->close()V
4958 + .catchall {:try_start_c2 .. :try_end_e6} :catchall_13f
4965 + move-object/from16 v0, v24
4967 + invoke-interface {v14, v0}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
4971 + if-eqz v2, :cond_135
4975 + move-object/from16 v0, p0
4977 + move-object/from16 v1, v24
4979 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacyPersistenceAdapter;->getSettings(Ljava/lang/String;Z)Landroid/privacy/PrivacySettings;
4981 + move-result-object v22
4983 + move-object/from16 v0, p0
4985 + move-object/from16 v1, v24
4987 + invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteSettings(Ljava/lang/String;)Z
4989 + move-object/from16 v0, p0
4991 + move-object/from16 v1, v22
4993 + invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->saveSettings(Landroid/privacy/PrivacySettings;)Z
4995 + .catchall {:try_start_e7 .. :try_end_106} :catchall_107
4996 + .catch Ljava/lang/Exception; {:try_start_e7 .. :try_end_106} :catch_ad
5003 + if-eqz v16, :cond_10d
5005 + invoke-interface/range {v16 .. v16}, Landroid/database/Cursor;->close()V
5008 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5013 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5015 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5017 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
5021 + add-int/lit8 v5, v5, -0x1
5023 + invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5025 + move-result-object v5
5027 + sput-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5029 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5031 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
5035 + if-nez v5, :cond_133
5037 + if-eqz v3, :cond_133
5039 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
5043 + if-eqz v5, :cond_133
5045 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->close()V
5050 + .catchall {:try_start_110 .. :try_end_134} :catchall_13c
5056 + move-object/from16 v0, v24
5058 + invoke-interface {v14, v0}, Ljava/util/List;->add(Ljava/lang/Object;)Z
5060 + .catchall {:try_start_135 .. :try_end_13a} :catchall_107
5061 + .catch Ljava/lang/Exception; {:try_start_135 .. :try_end_13a} :catch_ad
5071 + .catchall {:try_start_13d .. :try_end_13e} :catchall_13c
5081 + .catchall {:try_start_140 .. :try_end_141} :catchall_13f
5086 + if-eqz v16, :cond_147
5088 + invoke-interface/range {v16 .. v16}, Landroid/database/Cursor;->close()V
5091 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5096 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5098 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5100 + invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
5104 + add-int/lit8 v2, v2, -0x1
5106 + invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5108 + move-result-object v2
5110 + sput-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5112 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5114 + invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
5118 + if-nez v2, :cond_16d
5120 + if-eqz v3, :cond_16d
5122 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
5126 + if-eqz v2, :cond_16d
5128 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->close()V
5140 + .catchall {:try_start_14a .. :try_end_172} :catchall_170
5145 +.method public declared-synchronized saveSettings(Landroid/privacy/PrivacySettings;)Z
5153 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getPackageName()Ljava/lang/String;
5155 + move-result-object v17
5157 + if-eqz v17, :cond_f
5159 + invoke-virtual/range {v17 .. v17}, Ljava/lang/String;->isEmpty()Z
5163 + if-eqz v3, :cond_1a
5166 + const-string v3, "PrivacyPersistenceAdapter"
5168 + const-string/jumbo v4, "saveSettings - either package name, UID or both is missing"
5170 + invoke-static {v3, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
5172 + .catchall {:try_start_3 .. :try_end_17} :catchall_2c2
5183 + new-instance v23, Landroid/content/ContentValues;
5185 + invoke-direct/range {v23 .. v23}, Landroid/content/ContentValues;-><init>()V
5187 + const-string/jumbo v3, "packageName"
5189 + move-object/from16 v0, v23
5191 + move-object/from16 v1, v17
5193 + invoke-virtual {v0, v3, v1}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5195 + const-string/jumbo v3, "uid"
5199 + invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5201 + move-result-object v4
5203 + move-object/from16 v0, v23
5205 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
5207 + const-string v3, "deviceIdSetting"
5209 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
5213 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5215 + move-result-object v4
5217 + move-object/from16 v0, v23
5219 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5221 + const-string v3, "deviceId"
5223 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getDeviceId()Ljava/lang/String;
5225 + move-result-object v4
5227 + move-object/from16 v0, v23
5229 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5231 + const-string v3, "line1NumberSetting"
5233 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
5237 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5239 + move-result-object v4
5241 + move-object/from16 v0, v23
5243 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5245 + const-string v3, "line1Number"
5247 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLine1Number()Ljava/lang/String;
5249 + move-result-object v4
5251 + move-object/from16 v0, v23
5253 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5255 + const-string v3, "locationGpsSetting"
5257 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
5261 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5263 + move-result-object v4
5265 + move-object/from16 v0, v23
5267 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5269 + const-string v3, "locationGpsLat"
5271 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
5273 + move-result-object v4
5275 + move-object/from16 v0, v23
5277 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5279 + const-string v3, "locationGpsLon"
5281 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
5283 + move-result-object v4
5285 + move-object/from16 v0, v23
5287 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5289 + const-string v3, "locationNetworkSetting"
5291 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
5295 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5297 + move-result-object v4
5299 + move-object/from16 v0, v23
5301 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5303 + const-string v3, "locationNetworkLat"
5305 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
5307 + move-result-object v4
5309 + move-object/from16 v0, v23
5311 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5313 + const-string v3, "locationNetworkLon"
5315 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
5317 + move-result-object v4
5319 + move-object/from16 v0, v23
5321 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5323 + const-string/jumbo v3, "networkInfoSetting"
5325 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
5329 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5331 + move-result-object v4
5333 + move-object/from16 v0, v23
5335 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5337 + const-string/jumbo v3, "simInfoSetting"
5339 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSimInfoSetting()B
5343 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5345 + move-result-object v4
5347 + move-object/from16 v0, v23
5349 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5351 + const-string/jumbo v3, "simSerialNumberSetting"
5353 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSimSerialNumberSetting()B
5357 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5359 + move-result-object v4
5361 + move-object/from16 v0, v23
5363 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5365 + const-string/jumbo v3, "simSerialNumber"
5367 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSimSerialNumber()Ljava/lang/String;
5369 + move-result-object v4
5371 + move-object/from16 v0, v23
5373 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5375 + const-string/jumbo v3, "subscriberIdSetting"
5377 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSubscriberIdSetting()B
5381 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5383 + move-result-object v4
5385 + move-object/from16 v0, v23
5387 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5389 + const-string/jumbo v3, "subscriberId"
5391 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSubscriberId()Ljava/lang/String;
5393 + move-result-object v4
5395 + move-object/from16 v0, v23
5397 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5399 + const-string v3, "accountsSetting"
5401 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
5405 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5407 + move-result-object v4
5409 + move-object/from16 v0, v23
5411 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5413 + const-string v3, "accountsAuthTokensSetting"
5415 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
5419 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5421 + move-result-object v4
5423 + move-object/from16 v0, v23
5425 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5427 + const-string/jumbo v3, "outgoingCallsSetting"
5429 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getOutgoingCallsSetting()B
5433 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5435 + move-result-object v4
5437 + move-object/from16 v0, v23
5439 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5441 + const-string v3, "incomingCallsSetting"
5443 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getIncomingCallsSetting()B
5447 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5449 + move-result-object v4
5451 + move-object/from16 v0, v23
5453 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5455 + const-string v3, "contactsSetting"
5457 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getContactsSetting()B
5461 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5463 + move-result-object v4
5465 + move-object/from16 v0, v23
5467 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5469 + const-string v3, "calendarSetting"
5471 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getCalendarSetting()B
5475 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5477 + move-result-object v4
5479 + move-object/from16 v0, v23
5481 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5483 + const-string/jumbo v3, "mmsSetting"
5485 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getMmsSetting()B
5489 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5491 + move-result-object v4
5493 + move-object/from16 v0, v23
5495 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5497 + const-string/jumbo v3, "smsSetting"
5499 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSmsSetting()B
5503 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5505 + move-result-object v4
5507 + move-object/from16 v0, v23
5509 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5511 + const-string v3, "callLogSetting"
5513 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getCallLogSetting()B
5517 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5519 + move-result-object v4
5521 + move-object/from16 v0, v23
5523 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5525 + const-string v3, "bookmarksSetting"
5527 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getBookmarksSetting()B
5531 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5533 + move-result-object v4
5535 + move-object/from16 v0, v23
5537 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5539 + const-string/jumbo v3, "systemLogsSetting"
5541 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSystemLogsSetting()B
5545 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5547 + move-result-object v4
5549 + move-object/from16 v0, v23
5551 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5553 + const-string/jumbo v3, "notificationSetting"
5555 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getNotificationSetting()B
5559 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5561 + move-result-object v4
5563 + move-object/from16 v0, v23
5565 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5567 + const-string v3, "intentBootCompletedSetting"
5569 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getIntentBootCompletedSetting()B
5573 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5575 + move-result-object v4
5577 + move-object/from16 v0, v23
5579 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5581 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5583 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5585 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
5589 + add-int/lit8 v3, v3, 0x1
5591 + invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5593 + move-result-object v3
5595 + sput-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5597 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
5599 + move-result-object v2
5601 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->beginTransaction()V
5603 + .catchall {:try_start_1a .. :try_end_1eb} :catchall_2c2
5608 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->get_id()Ljava/lang/Integer;
5610 + move-result-object v15
5612 + if-eqz v15, :cond_2c8
5614 + const-string/jumbo v3, "settings"
5616 + const-string v4, "_id=?"
5620 + new-array v5, v5, [Ljava/lang/String;
5624 + invoke-virtual {v15}, Ljava/lang/Integer;->toString()Ljava/lang/String;
5626 + move-result-object v7
5628 + aput-object v7, v5, v6
5630 + move-object/from16 v0, v23
5632 + 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
5638 + if-ge v3, v4, :cond_249
5640 + new-instance v3, Ljava/lang/Exception;
5642 + const-string/jumbo v4, "saveSettings - failed to update database entry"
5644 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
5648 + .catchall {:try_start_1ec .. :try_end_213} :catchall_291
5649 + .catch Ljava/lang/Exception; {:try_start_1ec .. :try_end_213} :catch_213
5652 + move-exception v13
5657 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
5659 + if-eqz v11, :cond_21e
5661 + invoke-interface {v11}, Landroid/database/Cursor;->close()V
5664 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5668 + .catchall {:try_start_216 .. :try_end_221} :catchall_2c2
5671 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5673 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5675 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
5679 + add-int/lit8 v3, v3, -0x1
5681 + invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5683 + move-result-object v3
5685 + sput-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5687 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5689 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
5693 + if-nez v3, :cond_244
5695 + if-eqz v2, :cond_244
5697 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
5701 + if-eqz v3, :cond_244
5703 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
5708 + .catchall {:try_start_221 .. :try_end_245} :catchall_4ca
5711 + move/from16 v3, v18
5717 + const-string v3, "allowed_contacts"
5719 + const-string/jumbo v4, "settings_id=?"
5723 + new-array v5, v5, [Ljava/lang/String;
5727 + invoke-virtual {v15}, Ljava/lang/Integer;->toString()Ljava/lang/String;
5729 + move-result-object v7
5731 + aput-object v7, v5, v6
5733 + invoke-virtual {v2, v3, v4, v5}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
5735 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAllowedContacts()[I
5737 + move-result-object v10
5739 + if-eqz v10, :cond_3f2
5741 + new-instance v12, Landroid/content/ContentValues;
5743 + invoke-direct {v12}, Landroid/content/ContentValues;-><init>()V
5748 + array-length v3, v10
5750 + if-ge v14, v3, :cond_3f2
5752 + const-string/jumbo v3, "settings_id"
5754 + invoke-virtual {v12, v3, v15}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
5756 + const-string v3, "contact_id"
5760 + invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5762 + move-result-object v4
5764 + invoke-virtual {v12, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
5766 + const-string v3, "allowed_contacts"
5770 + invoke-virtual {v2, v3, v4, v12}, Landroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
5772 + move-result-wide v3
5774 + const-wide/16 v5, -0x1
5776 + cmp-long v3, v3, v5
5778 + if-nez v3, :cond_2c5
5780 + new-instance v3, Ljava/lang/Exception;
5782 + const-string/jumbo v4, "saveSettings - failed to update database entry (contacts)"
5784 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
5788 + .catchall {:try_start_249 .. :try_end_291} :catchall_291
5789 + .catch Ljava/lang/Exception; {:try_start_249 .. :try_end_291} :catch_213
5795 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
5797 + if-eqz v11, :cond_29a
5799 + invoke-interface {v11}, Landroid/database/Cursor;->close()V
5802 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5806 + .catchall {:try_start_292 .. :try_end_29d} :catchall_2c2
5809 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5811 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5813 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
5817 + add-int/lit8 v5, v5, -0x1
5819 + invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5821 + move-result-object v5
5823 + sput-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5825 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5827 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
5831 + if-nez v5, :cond_2c0
5833 + if-eqz v2, :cond_2c0
5835 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
5839 + if-eqz v5, :cond_2c0
5841 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
5846 + .catchall {:try_start_29d .. :try_end_2c1} :catchall_4cd
5851 + .catchall {:try_start_2c1 .. :try_end_2c2} :catchall_2c2
5861 + add-int/lit8 v14, v14, 0x1
5867 + const-string/jumbo v3, "settings"
5871 + new-array v4, v4, [Ljava/lang/String;
5875 + const-string v6, "_id"
5877 + aput-object v6, v4, v5
5879 + const-string/jumbo v5, "packageName=?"
5883 + new-array v6, v6, [Ljava/lang/String;
5887 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getPackageName()Ljava/lang/String;
5889 + move-result-object v8
5891 + aput-object v8, v6, v7
5899 + 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;
5901 + move-result-object v11
5903 + if-eqz v11, :cond_3e7
5905 + invoke-interface {v11}, Landroid/database/Cursor;->getCount()I
5911 + if-ne v3, v4, :cond_36e
5913 + const-string/jumbo v3, "settings"
5915 + const-string/jumbo v4, "packageName=?"
5919 + new-array v5, v5, [Ljava/lang/String;
5923 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getPackageName()Ljava/lang/String;
5925 + move-result-object v7
5927 + aput-object v7, v5, v6
5929 + move-object/from16 v0, v23
5931 + 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
5937 + if-ge v3, v4, :cond_312
5939 + new-instance v3, Ljava/lang/Exception;
5941 + const-string/jumbo v4, "saveSettings - failed to update database entry"
5943 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
5948 + invoke-interface {v11}, Landroid/database/Cursor;->moveToFirst()Z
5952 + if-eqz v3, :cond_3f2
5956 + invoke-interface {v11, v3}, Landroid/database/Cursor;->getInt(I)I
5960 + invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5962 + move-result-object v16
5964 + const-string v3, "allowed_contacts"
5966 + const-string/jumbo v4, "settings_id=?"
5970 + new-array v5, v5, [Ljava/lang/String;
5974 + invoke-virtual/range {v16 .. v16}, Ljava/lang/Integer;->toString()Ljava/lang/String;
5976 + move-result-object v7
5978 + aput-object v7, v5, v6
5980 + invoke-virtual {v2, v3, v4, v5}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
5982 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAllowedContacts()[I
5984 + move-result-object v10
5986 + if-eqz v10, :cond_3f2
5988 + new-instance v12, Landroid/content/ContentValues;
5990 + invoke-direct {v12}, Landroid/content/ContentValues;-><init>()V
5995 + array-length v3, v10
5997 + if-ge v14, v3, :cond_3f2
5999 + const-string/jumbo v3, "settings_id"
6001 + move-object/from16 v0, v16
6003 + invoke-virtual {v12, v3, v0}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
6005 + const-string v3, "contact_id"
6009 + invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
6011 + move-result-object v4
6013 + invoke-virtual {v12, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
6015 + const-string v3, "allowed_contacts"
6019 + invoke-virtual {v2, v3, v4, v12}, Landroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
6021 + move-result-wide v3
6023 + const-wide/16 v5, -0x1
6025 + cmp-long v3, v3, v5
6027 + if-nez v3, :cond_36b
6029 + new-instance v3, Ljava/lang/Exception;
6031 + const-string/jumbo v4, "saveSettings - failed to update database entry (contacts)"
6033 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
6038 + add-int/lit8 v14, v14, 0x1
6043 + invoke-interface {v11}, Landroid/database/Cursor;->getCount()I
6047 + if-nez v3, :cond_3dc
6049 + const-string/jumbo v3, "settings"
6053 + move-object/from16 v0, v23
6055 + invoke-virtual {v2, v3, v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
6057 + move-result-wide v19
6059 + const-wide/16 v3, -0x1
6061 + cmp-long v3, v19, v3
6063 + if-nez v3, :cond_38d
6065 + new-instance v3, Ljava/lang/Exception;
6067 + const-string/jumbo v4, "saveSettings - failed to insert new record into DB"
6069 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
6074 + const-string v3, "allowed_contacts"
6076 + const-string/jumbo v4, "settings_id=?"
6080 + new-array v5, v5, [Ljava/lang/String;
6084 + invoke-static/range {v19 .. v20}, Ljava/lang/Long;->toString(J)Ljava/lang/String;
6086 + move-result-object v7
6088 + aput-object v7, v5, v6
6090 + invoke-virtual {v2, v3, v4, v5}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
6092 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAllowedContacts()[I
6094 + move-result-object v10
6096 + if-eqz v10, :cond_3f2
6098 + new-instance v12, Landroid/content/ContentValues;
6100 + invoke-direct {v12}, Landroid/content/ContentValues;-><init>()V
6105 + array-length v3, v10
6107 + if-ge v14, v3, :cond_3f2
6109 + const-string/jumbo v3, "settings_id"
6111 + invoke-static/range {v19 .. v20}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
6113 + move-result-object v4
6115 + invoke-virtual {v12, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Long;)V
6117 + const-string v3, "contact_id"
6121 + invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
6123 + move-result-object v4
6125 + invoke-virtual {v12, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
6127 + const-string v3, "allowed_contacts"
6131 + invoke-virtual {v2, v3, v4, v12}, Landroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
6133 + move-result-wide v3
6135 + const-wide/16 v5, -0x1
6137 + cmp-long v3, v3, v5
6139 + if-nez v3, :cond_3d9
6141 + new-instance v3, Ljava/lang/Exception;
6143 + const-string/jumbo v4, "saveSettings - failed to update database entry (contacts)"
6145 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
6150 + add-int/lit8 v14, v14, 0x1
6157 + new-instance v3, Ljava/lang/Exception;
6159 + const-string/jumbo v4, "saveSettings - duplicate entries in the privacy.db"
6161 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
6168 + new-instance v3, Ljava/lang/Exception;
6170 + const-string/jumbo v4, "saveSettings - cursor is null, database access failed"
6172 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
6177 + new-instance v21, Ljava/io/File;
6179 + new-instance v3, Ljava/lang/StringBuilder;
6181 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
6183 + const-string v4, "/data/system/privacy/"
6185 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6187 + move-result-object v3
6189 + move-object/from16 v0, v17
6191 + invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6193 + move-result-object v3
6195 + const-string v4, "/"
6197 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6199 + move-result-object v3
6201 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6203 + move-result-object v3
6205 + move-object/from16 v0, v21
6207 + invoke-direct {v0, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
6209 + new-instance v22, Ljava/io/File;
6211 + new-instance v3, Ljava/lang/StringBuilder;
6213 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
6215 + const-string v4, "/data/system/privacy/"
6217 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6219 + move-result-object v3
6221 + move-object/from16 v0, v17
6223 + invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6225 + move-result-object v3
6227 + const-string v4, "/"
6229 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6231 + move-result-object v3
6233 + const-string v4, "/systemLogsSetting"
6235 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6237 + move-result-object v3
6239 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6241 + move-result-object v3
6243 + move-object/from16 v0, v22
6245 + invoke-direct {v0, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
6247 + .catchall {:try_start_2c8 .. :try_end_43c} :catchall_291
6248 + .catch Ljava/lang/Exception; {:try_start_2c8 .. :try_end_43c} :catch_213
6251 + invoke-virtual/range {v21 .. v21}, Ljava/io/File;->mkdirs()Z
6257 + move-object/from16 v0, v21
6259 + invoke-virtual {v0, v3, v4}, Ljava/io/File;->setReadable(ZZ)Z
6265 + move-object/from16 v0, v21
6267 + invoke-virtual {v0, v3, v4}, Ljava/io/File;->setExecutable(ZZ)Z
6269 + invoke-virtual/range {v22 .. v22}, Ljava/io/File;->createNewFile()Z
6275 + move-object/from16 v0, v22
6277 + invoke-virtual {v0, v3, v4}, Ljava/io/File;->setReadable(ZZ)Z
6279 + new-instance v24, Ljava/io/OutputStreamWriter;
6281 + new-instance v3, Ljava/io/FileOutputStream;
6283 + move-object/from16 v0, v22
6285 + invoke-direct {v3, v0}, Ljava/io/FileOutputStream;-><init>(Ljava/io/File;)V
6287 + move-object/from16 v0, v24
6289 + invoke-direct {v0, v3}, Ljava/io/OutputStreamWriter;-><init>(Ljava/io/OutputStream;)V
6291 + new-instance v3, Ljava/lang/StringBuilder;
6293 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
6295 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSystemLogsSetting()B
6299 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
6301 + move-result-object v3
6303 + const-string v4, ""
6305 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6307 + move-result-object v3
6309 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6311 + move-result-object v3
6313 + move-object/from16 v0, v24
6315 + invoke-virtual {v0, v3}, Ljava/io/OutputStreamWriter;->append(Ljava/lang/CharSequence;)Ljava/io/Writer;
6317 + invoke-virtual/range {v24 .. v24}, Ljava/io/OutputStreamWriter;->flush()V
6319 + invoke-virtual/range {v24 .. v24}, Ljava/io/OutputStreamWriter;->close()V
6321 + .catchall {:try_start_43c .. :try_end_487} :catchall_291
6322 + .catch Ljava/io/IOException; {:try_start_43c .. :try_end_487} :catch_4be
6323 + .catch Ljava/lang/Exception; {:try_start_43c .. :try_end_487} :catch_213
6326 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->setTransactionSuccessful()V
6328 + .catchall {:try_start_487 .. :try_end_48a} :catchall_291
6329 + .catch Ljava/lang/Exception; {:try_start_487 .. :try_end_48a} :catch_213
6332 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
6334 + if-eqz v11, :cond_492
6336 + invoke-interface {v11}, Landroid/database/Cursor;->close()V
6339 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6343 + .catchall {:try_start_48a .. :try_end_495} :catchall_2c2
6346 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6348 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6350 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
6354 + add-int/lit8 v3, v3, -0x1
6356 + invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
6358 + move-result-object v3
6360 + sput-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6362 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6364 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
6368 + if-nez v3, :cond_4b8
6370 + if-eqz v2, :cond_4b8
6372 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
6376 + if-eqz v3, :cond_4b8
6378 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
6390 + .catchall {:try_start_495 .. :try_end_4bd} :catchall_4bb
6395 + .catchall {:try_start_4bd .. :try_end_4be} :catchall_2c2
6398 + move-exception v13
6403 + new-instance v3, Ljava/lang/Exception;
6405 + const-string/jumbo v4, "saveSettings - could not write settings to file"
6407 + invoke-direct {v3, v4, v13}, Ljava/lang/Exception;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
6411 + .catchall {:try_start_4c1 .. :try_end_4ca} :catchall_291
6412 + .catch Ljava/lang/Exception; {:try_start_4c1 .. :try_end_4ca} :catch_213
6420 + .catchall {:try_start_4cb .. :try_end_4cc} :catchall_4ca
6425 + .catchall {:try_start_4cc .. :try_end_4cd} :catchall_2c2
6433 + .catchall {:try_start_4ce .. :try_end_4cf} :catchall_4cd
6438 + .catchall {:try_start_4cf .. :try_end_4d0} :catchall_2c2
6441 +.method public declared-synchronized setValue(Ljava/lang/String;Ljava/lang/String;)Z
6447 + const-string v3, "PrivacyPersistenceAdapter"
6449 + new-instance v4, Ljava/lang/StringBuilder;
6451 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
6453 + const-string/jumbo v5, "setValue - name "
6455 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6457 + move-result-object v4
6459 + invoke-virtual {v4, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6461 + move-result-object v4
6463 + const-string v5, " value "
6465 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6467 + move-result-object v4
6469 + invoke-virtual {v4, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6471 + move-result-object v4
6473 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6475 + move-result-object v4
6477 + invoke-static {v3, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
6479 + new-instance v2, Landroid/content/ContentValues;
6481 + invoke-direct {v2}, Landroid/content/ContentValues;-><init>()V
6483 + const-string/jumbo v3, "name"
6485 + invoke-virtual {v2, v3, p1}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
6487 + const-string/jumbo v3, "value"
6489 + invoke-virtual {v2, v3, p2}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
6491 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
6493 + move-result-object v0
6495 + const-string/jumbo v3, "map"
6499 + invoke-virtual {v0, v3, v4, v2}, Landroid/database/sqlite/SQLiteDatabase;->replace(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
6501 + move-result-wide v3
6503 + const-wide/16 v5, -0x1
6505 + cmp-long v3, v3, v5
6507 + if-eqz v3, :cond_5d
6512 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6514 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
6518 + if-nez v3, :cond_5b
6520 + if-eqz v0, :cond_5b
6522 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
6526 + if-eqz v3, :cond_5b
6528 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
6530 + .catchall {:try_start_1 .. :try_end_5b} :catchall_5f
6549 diff -Npru -x '*RIL*' pdroid-framework/smali/android/privacy/PrivacySettings$1.smali stock-framework/smali/android/privacy/PrivacySettings$1.smali
6550 --- pdroid-framework/smali/android/privacy/PrivacySettings$1.smali 1969-12-31 18:00:00.000000000 -0600
6551 +++ stock-framework/smali/android/privacy/PrivacySettings$1.smali 2012-10-13 14:14:43.358155419 -0500
6553 +.class final Landroid/privacy/PrivacySettings$1;
6554 +.super Ljava/lang/Object;
6555 +.source "PrivacySettings.java"
6558 +.implements Landroid/os/Parcelable$Creator;
6562 +.annotation system Ldalvik/annotation/EnclosingClass;
6563 + value = Landroid/privacy/PrivacySettings;
6566 +.annotation system Ldalvik/annotation/InnerClass;
6571 +.annotation system Ldalvik/annotation/Signature;
6573 + "Ljava/lang/Object;",
6574 + "Landroid/os/Parcelable$Creator",
6576 + "Landroid/privacy/PrivacySettings;",
6583 +.method constructor <init>()V
6586 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
6593 +.method public createFromParcel(Landroid/os/Parcel;)Landroid/privacy/PrivacySettings;
6596 + new-instance v0, Landroid/privacy/PrivacySettings;
6598 + invoke-direct {v0, p1}, Landroid/privacy/PrivacySettings;-><init>(Landroid/os/Parcel;)V
6603 +.method public bridge synthetic createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
6606 + invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettings$1;->createFromParcel(Landroid/os/Parcel;)Landroid/privacy/PrivacySettings;
6608 + move-result-object v0
6613 +.method public newArray(I)[Landroid/privacy/PrivacySettings;
6616 + new-array v0, p1, [Landroid/privacy/PrivacySettings;
6621 +.method public bridge synthetic newArray(I)[Ljava/lang/Object;
6624 + invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettings$1;->newArray(I)[Landroid/privacy/PrivacySettings;
6626 + move-result-object v0
6630 diff -Npru -x '*RIL*' pdroid-framework/smali/android/privacy/PrivacySettingsManagerService.smali stock-framework/smali/android/privacy/PrivacySettingsManagerService.smali
6631 --- pdroid-framework/smali/android/privacy/PrivacySettingsManagerService.smali 1969-12-31 18:00:00.000000000 -0600
6632 +++ stock-framework/smali/android/privacy/PrivacySettingsManagerService.smali 2012-10-13 14:14:43.382155538 -0500
6634 +.class public final Landroid/privacy/PrivacySettingsManagerService;
6635 +.super Landroid/privacy/IPrivacySettingsManager$Stub;
6636 +.source "PrivacySettingsManagerService.java"
6640 +.field private static final TAG:Ljava/lang/String; = "PrivacySettingsManagerService"
6642 +.field private static final VERSION:D = 1.32
6644 +.field private static final WRITE_PRIVACY_SETTINGS:Ljava/lang/String; = "android.privacy.WRITE_PRIVACY_SETTINGS"
6646 +.field public static obs:Landroid/privacy/PrivacyFileObserver;
6650 +.field private bootCompleted:Z
6652 +.field private context:Landroid/content/Context;
6654 +.field private enabled:Z
6656 +.field private notificationsEnabled:Z
6658 +.field private persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
6662 +.method public constructor <init>(Landroid/content/Context;)V
6665 + invoke-direct {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;-><init>()V
6667 + const-string v0, "PrivacySettingsManagerService"
6669 + new-instance v1, Ljava/lang/StringBuilder;
6671 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
6673 + const-string v2, "PrivacySettingsManagerService - initializing for package: "
6675 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6677 + move-result-object v1
6679 + invoke-virtual {p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
6681 + move-result-object v2
6683 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6685 + move-result-object v1
6687 + const-string v2, " UID: "
6689 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6691 + move-result-object v1
6693 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
6697 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
6699 + move-result-object v1
6701 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6703 + move-result-object v1
6705 + invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
6707 + iput-object p1, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
6709 + new-instance v0, Landroid/privacy/PrivacyPersistenceAdapter;
6711 + invoke-direct {v0, p1}, Landroid/privacy/PrivacyPersistenceAdapter;-><init>(Landroid/content/Context;)V
6713 + iput-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
6715 + new-instance v0, Landroid/privacy/PrivacyFileObserver;
6717 + const-string v1, "/data/system/privacy"
6719 + invoke-direct {v0, v1, p0}, Landroid/privacy/PrivacyFileObserver;-><init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
6721 + sput-object v0, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
6723 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
6725 + const-string v1, "enabled"
6727 + invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->getValue(Ljava/lang/String;)Ljava/lang/String;
6729 + move-result-object v0
6731 + const-string v1, "1"
6733 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
6737 + iput-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->enabled:Z
6739 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
6741 + const-string/jumbo v1, "notifications_enabled"
6743 + invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->getValue(Ljava/lang/String;)Ljava/lang/String;
6745 + move-result-object v0
6747 + const-string v1, "1"
6749 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
6753 + iput-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->notificationsEnabled:Z
6757 + iput-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->bootCompleted:Z
6764 +.method public addObserver(Ljava/lang/String;)V
6767 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
6769 + const-string v1, "android.privacy.WRITE_PRIVACY_SETTINGS"
6771 + const-string v2, "Requires WRITE_PRIVACY_SETTINGS"
6773 + invoke-virtual {v0, v1, v2}, Landroid/content/Context;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
6775 + sget-object v0, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
6777 + invoke-virtual {v0, p1}, Landroid/privacy/PrivacyFileObserver;->addObserver(Ljava/lang/String;)V
6782 +.method public deleteSettings(Ljava/lang/String;)Z
6787 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
6791 + const/16 v3, 0x3e8
6793 + if-eq v2, v3, :cond_12
6795 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
6797 + const-string v3, "android.privacy.WRITE_PRIVACY_SETTINGS"
6799 + const-string v4, "Requires WRITE_PRIVACY_SETTINGS"
6801 + invoke-virtual {v2, v3, v4}, Landroid/content/Context;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
6804 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
6806 + invoke-virtual {v2, p1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteSettings(Ljava/lang/String;)Z
6810 + new-instance v2, Ljava/lang/StringBuilder;
6812 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
6814 + const-string v3, "/data/system/privacy/"
6816 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6818 + move-result-object v2
6820 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6822 + move-result-object v2
6824 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6826 + move-result-object v0
6828 + new-instance v2, Ljava/io/File;
6830 + invoke-direct {v2, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
6832 + invoke-virtual {v2}, Ljava/io/File;->exists()Z
6836 + if-eqz v2, :cond_3e
6838 + if-ne v1, v5, :cond_3e
6840 + sget-object v2, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
6842 + invoke-virtual {v2, v0}, Landroid/privacy/PrivacyFileObserver;->addObserver(Ljava/lang/String;)V
6849 + if-ne v1, v5, :cond_3d
6851 + sget-object v2, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
6853 + iget-object v2, v2, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap;
6855 + invoke-virtual {v2, v0}, Ljava/util/HashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
6860 +.method public getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
6863 + iget-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->enabled:Z
6865 + if-nez v0, :cond_12
6867 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
6869 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
6871 + move-result-object v0
6873 + const-string v1, "com.privacy.pdroid"
6875 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
6879 + if-eqz v0, :cond_1a
6882 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
6886 + invoke-virtual {v0, p1, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->getSettings(Ljava/lang/String;Z)Landroid/privacy/PrivacySettings;
6888 + move-result-object v0
6899 +.method public getVersion()D
6902 + const-wide v0, 0x3ff51eb851eb851fL
6907 +.method public notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
6910 + iget-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->bootCompleted:Z
6912 + if-eqz v1, :cond_34
6914 + iget-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->notificationsEnabled:Z
6916 + if-eqz v1, :cond_34
6918 + new-instance v0, Landroid/content/Intent;
6920 + invoke-direct {v0}, Landroid/content/Intent;-><init>()V
6922 + const-string v1, "com.privacy.pdroid.PRIVACY_NOTIFICATION"
6924 + invoke-virtual {v0, v1}, Landroid/content/Intent;->setAction(Ljava/lang/String;)Landroid/content/Intent;
6926 + const-string/jumbo v1, "packageName"
6928 + invoke-virtual {v0, v1, p1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
6930 + const-string/jumbo v1, "uid"
6934 + invoke-virtual {v0, v1, v2}, Landroid/content/Intent;->putExtra(Ljava/lang/String;I)Landroid/content/Intent;
6936 + const-string v1, "accessMode"
6938 + invoke-virtual {v0, v1, p2}, Landroid/content/Intent;->putExtra(Ljava/lang/String;B)Landroid/content/Intent;
6940 + const-string v1, "dataType"
6942 + invoke-virtual {v0, v1, p3}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
6944 + const-string/jumbo v1, "output"
6946 + invoke-virtual {v0, v1, p4}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
6948 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
6950 + invoke-virtual {v1, v0}, Landroid/content/Context;->sendBroadcast(Landroid/content/Intent;)V
6956 +.method public purgeSettings()Z
6959 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
6961 + invoke-virtual {v0}, Landroid/privacy/PrivacyPersistenceAdapter;->purgeSettings()Z
6968 +.method public registerObservers()V
6971 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
6973 + const-string v1, "android.privacy.WRITE_PRIVACY_SETTINGS"
6975 + const-string v2, "Requires WRITE_PRIVACY_SETTINGS"
6977 + invoke-virtual {v0, v1, v2}, Landroid/content/Context;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
6979 + new-instance v0, Landroid/privacy/PrivacyFileObserver;
6981 + const-string v1, "/data/system/privacy"
6983 + invoke-direct {v0, v1, p0}, Landroid/privacy/PrivacyFileObserver;-><init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
6985 + sput-object v0, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
6990 +.method public saveSettings(Landroid/privacy/PrivacySettings;)Z
6993 + const-string v1, "PrivacySettingsManagerService"
6995 + new-instance v2, Ljava/lang/StringBuilder;
6997 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
6999 + const-string/jumbo v3, "saveSettings - checking if caller (UID: "
7001 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7003 + move-result-object v2
7005 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
7009 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
7011 + move-result-object v2
7013 + const-string v3, ") has sufficient permissions"
7015 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7017 + move-result-object v2
7019 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
7021 + move-result-object v2
7023 + invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
7025 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
7029 + const/16 v2, 0x3e8
7031 + if-eq v1, v2, :cond_34
7033 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
7035 + const-string v2, "android.privacy.WRITE_PRIVACY_SETTINGS"
7037 + const-string v3, "Requires WRITE_PRIVACY_SETTINGS"
7039 + invoke-virtual {v1, v2, v3}, Landroid/content/Context;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
7042 + const-string v1, "PrivacySettingsManagerService"
7044 + new-instance v2, Ljava/lang/StringBuilder;
7046 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
7048 + const-string/jumbo v3, "saveSettings - "
7050 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7052 + move-result-object v2
7054 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
7056 + move-result-object v2
7058 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
7060 + move-result-object v2
7062 + invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
7064 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
7066 + invoke-virtual {v1, p1}, Landroid/privacy/PrivacyPersistenceAdapter;->saveSettings(Landroid/privacy/PrivacySettings;)Z
7072 + if-ne v0, v1, :cond_5f
7074 + sget-object v1, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
7076 + invoke-virtual {p1}, Landroid/privacy/PrivacySettings;->getPackageName()Ljava/lang/String;
7078 + move-result-object v2
7080 + invoke-virtual {v1, v2}, Landroid/privacy/PrivacyFileObserver;->addObserver(Ljava/lang/String;)V
7086 +.method public setBootCompleted()V
7091 + iput-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->bootCompleted:Z
7096 +.method public setEnabled(Z)Z
7101 + if-eqz p1, :cond_12
7103 + const-string v0, "1"
7106 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
7108 + const-string v3, "enabled"
7110 + invoke-virtual {v2, v3, v0}, Landroid/privacy/PrivacyPersistenceAdapter;->setValue(Ljava/lang/String;Ljava/lang/String;)Z
7114 + if-eqz v2, :cond_15
7116 + iput-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->enabled:Z
7123 + const-string v0, "0"
7133 +.method public setNotificationsEnabled(Z)Z
7138 + if-eqz p1, :cond_15
7140 + const-string v0, "1"
7143 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
7145 + const-string/jumbo v3, "notifications_enabled"
7147 + invoke-virtual {v2, v3, v0}, Landroid/privacy/PrivacyPersistenceAdapter;->setValue(Ljava/lang/String;Ljava/lang/String;)Z
7151 + if-eqz v2, :cond_18
7153 + iput-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->notificationsEnabled:Z
7155 + iput-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->bootCompleted:Z
7161 + const-string v0, "0"
7170 diff -Npru -x '*RIL*' pdroid-framework/smali/android/privacy/PrivacySettingsManager.smali stock-framework/smali/android/privacy/PrivacySettingsManager.smali
7171 --- pdroid-framework/smali/android/privacy/PrivacySettingsManager.smali 1969-12-31 18:00:00.000000000 -0600
7172 +++ stock-framework/smali/android/privacy/PrivacySettingsManager.smali 2012-10-13 14:14:43.362155434 -0500
7174 +.class public final Landroid/privacy/PrivacySettingsManager;
7175 +.super Ljava/lang/Object;
7176 +.source "PrivacySettingsManager.java"
7180 +.field public static final ACTION_PRIVACY_NOTIFICATION:Ljava/lang/String; = "com.privacy.pdroid.PRIVACY_NOTIFICATION"
7182 +.field private static final TAG:Ljava/lang/String; = "PrivacySettingsManager"
7186 +.field private service:Landroid/privacy/IPrivacySettingsManager;
7190 +.method public constructor <init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
7193 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
7195 + iput-object p2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7202 +.method public addObserver(Ljava/lang/String;)V
7206 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7208 + if-eqz v1, :cond_a
7210 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7212 + invoke-interface {v1, p1}, Landroid/privacy/IPrivacySettingsManager;->addObserver(Ljava/lang/String;)V
7218 + const-string v1, "PrivacySettingsManager"
7220 + const-string v2, "deleteSettings - PrivacySettingsManagerService is null"
7222 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7224 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_11} :catch_12
7231 + const-string v1, "PrivacySettingsManager"
7233 + const-string v2, "RemoteException in addObserver: "
7235 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7240 +.method public deleteSettings(Ljava/lang/String;)Z
7243 + invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettingsManager;->deleteSettings(Ljava/lang/String;)Z
7250 +.method public deleteSettings(Ljava/lang/String;I)Z
7256 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7258 + if-eqz v2, :cond_c
7260 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7262 + invoke-interface {v2, p1}, Landroid/privacy/IPrivacySettingsManager;->deleteSettings(Ljava/lang/String;)Z
7270 + const-string v2, "PrivacySettingsManager"
7272 + const-string v3, "deleteSettings - PrivacySettingsManagerService is null"
7274 + invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7276 + .catch Landroid/os/RemoteException; {:try_start_1 .. :try_end_13} :catch_14
7283 + const-string v2, "PrivacySettingsManager"
7285 + const-string v3, "RemoteException in deleteSettings: "
7287 + invoke-static {v2, v3, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7292 +.method public getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
7298 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7300 + if-eqz v2, :cond_c
7302 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7304 + invoke-interface {v2, p1}, Landroid/privacy/IPrivacySettingsManager;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
7306 + move-result-object v1
7312 + const-string v2, "PrivacySettingsManager"
7314 + const-string v3, "getSettings - PrivacySettingsManagerService is null"
7316 + invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7318 + .catch Landroid/os/RemoteException; {:try_start_1 .. :try_end_13} :catch_14
7325 + invoke-virtual {v0}, Landroid/os/RemoteException;->printStackTrace()V
7330 +.method public getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
7333 + invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
7335 + move-result-object v0
7340 +.method public getVersion()D
7344 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7346 + if-eqz v1, :cond_b
7348 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7350 + invoke-interface {v1}, Landroid/privacy/IPrivacySettingsManager;->getVersion()D
7352 + move-result-wide v1
7358 + const-string v1, "PrivacySettingsManager"
7360 + const-string v2, "getVersion - PrivacySettingsManagerService is null"
7362 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7364 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_12} :catch_15
7367 + const-wide/16 v1, 0x0
7374 + const-string v1, "PrivacySettingsManager"
7376 + const-string v2, "RemoteException in getVersion: "
7378 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7383 +.method public isServiceAvailable()Z
7386 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7388 + if-eqz v0, :cond_6
7401 +.method public notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
7405 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7407 + if-eqz v1, :cond_a
7409 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7411 + invoke-interface {v1, p1, p2, p3, p4}, Landroid/privacy/IPrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
7417 + const-string v1, "PrivacySettingsManager"
7419 + const-string v2, "deleteSettings - PrivacySettingsManagerService is null"
7421 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7423 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_11} :catch_12
7430 + const-string v1, "PrivacySettingsManager"
7432 + const-string v2, "RemoteException in notification: "
7434 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7439 +.method public notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
7442 + move-object v0, p0
7444 + move-object v1, p1
7448 + move-object v3, p4
7450 + move-object v4, p5
7452 + move-object v5, p6
7454 + invoke-virtual/range {v0 .. v5}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
7459 +.method public purgeSettings()Z
7463 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7465 + if-eqz v1, :cond_b
7467 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7469 + invoke-interface {v1}, Landroid/privacy/IPrivacySettingsManager;->purgeSettings()Z
7477 + const-string v1, "PrivacySettingsManager"
7479 + const-string v2, "deleteSettings - PrivacySettingsManagerService is null"
7481 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7483 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_12} :catch_14
7493 + const-string v1, "PrivacySettingsManager"
7495 + const-string v2, "RemoteException in purgeSettings: "
7497 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7502 +.method public registerObservers()V
7506 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7508 + if-eqz v1, :cond_a
7510 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7512 + invoke-interface {v1}, Landroid/privacy/IPrivacySettingsManager;->registerObservers()V
7518 + const-string v1, "PrivacySettingsManager"
7520 + const-string v2, "deleteSettings - PrivacySettingsManagerService is null"
7522 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7524 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_11} :catch_12
7531 + const-string v1, "PrivacySettingsManager"
7533 + const-string v2, "RemoteException in registerObservers: "
7535 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7540 +.method public saveSettings(Landroid/privacy/PrivacySettings;)Z
7546 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7548 + if-eqz v2, :cond_c
7550 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7552 + invoke-interface {v2, p1}, Landroid/privacy/IPrivacySettingsManager;->saveSettings(Landroid/privacy/PrivacySettings;)Z
7560 + const-string v2, "PrivacySettingsManager"
7562 + const-string/jumbo v3, "saveSettings - PrivacySettingsManagerService is null"
7564 + invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7566 + .catch Landroid/os/RemoteException; {:try_start_1 .. :try_end_14} :catch_15
7573 + const-string v2, "PrivacySettingsManager"
7575 + const-string v3, "RemoteException in saveSettings: "
7577 + invoke-static {v2, v3, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7582 +.method public setBootCompleted()V
7586 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7588 + if-eqz v1, :cond_a
7590 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7592 + invoke-interface {v1}, Landroid/privacy/IPrivacySettingsManager;->setBootCompleted()V
7598 + const-string v1, "PrivacySettingsManager"
7600 + const-string/jumbo v2, "setBootCompleted - PrivacySettingsManagerService is null"
7602 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7604 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_12} :catch_13
7611 + const-string v1, "PrivacySettingsManager"
7613 + const-string v2, "RemoteException in setBootCompleted: "
7615 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7620 +.method public setEnabled(Z)Z
7624 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7626 + if-eqz v1, :cond_b
7628 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7630 + invoke-interface {v1, p1}, Landroid/privacy/IPrivacySettingsManager;->setEnabled(Z)Z
7638 + const-string v1, "PrivacySettingsManager"
7640 + const-string/jumbo v2, "setEnabled - PrivacySettingsManagerService is null"
7642 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7644 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_13} :catch_15
7654 + const-string v1, "PrivacySettingsManager"
7656 + const-string v2, "RemoteException in setEnabled: "
7658 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7663 +.method public setNotificationsEnabled(Z)Z
7667 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7669 + if-eqz v1, :cond_b
7671 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7673 + invoke-interface {v1, p1}, Landroid/privacy/IPrivacySettingsManager;->setNotificationsEnabled(Z)Z
7681 + const-string v1, "PrivacySettingsManager"
7683 + const-string/jumbo v2, "setNotificationsEnabled - PrivacySettingsManagerService is null"
7685 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7687 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_13} :catch_15
7697 + const-string v1, "PrivacySettingsManager"
7699 + const-string v2, "RemoteException in setNotificationsEnabled: "
7701 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7705 diff -Npru -x '*RIL*' pdroid-framework/smali/android/privacy/PrivacySettings.smali stock-framework/smali/android/privacy/PrivacySettings.smali
7706 --- pdroid-framework/smali/android/privacy/PrivacySettings.smali 1969-12-31 18:00:00.000000000 -0600
7707 +++ stock-framework/smali/android/privacy/PrivacySettings.smali 2012-10-13 14:14:43.362155434 -0500
7709 +.class public final Landroid/privacy/PrivacySettings;
7710 +.super Ljava/lang/Object;
7711 +.source "PrivacySettings.java"
7714 +.implements Landroid/os/Parcelable;
7718 +.field public static final CREATOR:Landroid/os/Parcelable$Creator; = null
7719 + .annotation system Ldalvik/annotation/Signature;
7721 + "Landroid/os/Parcelable$Creator",
7723 + "Landroid/privacy/PrivacySettings;",
7729 +.field public static final CUSTOM:B = 0x2t
7731 +.field public static final DATA_ACCOUNTS_LIST:Ljava/lang/String; = "accountsList"
7733 +.field public static final DATA_AUTH_TOKENS:Ljava/lang/String; = "authTokens"
7735 +.field public static final DATA_BOOKMARKS:Ljava/lang/String; = "bookmarks"
7737 +.field public static final DATA_CALENDAR:Ljava/lang/String; = "calendar"
7739 +.field public static final DATA_CALL_LOG:Ljava/lang/String; = "callLog"
7741 +.field public static final DATA_CONTACTS:Ljava/lang/String; = "contacts"
7743 +.field public static final DATA_DEVICE_ID:Ljava/lang/String; = "deviceID"
7745 +.field public static final DATA_INCOMING_CALL:Ljava/lang/String; = "incomingCall"
7747 +.field public static final DATA_INTENT_BOOT_COMPLETED:Ljava/lang/String; = "intentBootCompleted"
7749 +.field public static final DATA_LINE_1_NUMBER:Ljava/lang/String; = "line1Number"
7751 +.field public static final DATA_LOCATION_GPS:Ljava/lang/String; = "locationGPS"
7753 +.field public static final DATA_LOCATION_NETWORK:Ljava/lang/String; = "locationNetwork"
7755 +.field public static final DATA_MMS:Ljava/lang/String; = "mms"
7757 +.field public static final DATA_MMS_SMS:Ljava/lang/String; = "mmsSms"
7759 +.field public static final DATA_NETWORK_INFO_CURRENT:Ljava/lang/String; = "networkInfoCurrent"
7761 +.field public static final DATA_NETWORK_INFO_SIM:Ljava/lang/String; = "networkInfoSIM"
7763 +.field public static final DATA_OUTGOING_CALL:Ljava/lang/String; = "outgoingCall"
7765 +.field public static final DATA_SIM_SERIAL:Ljava/lang/String; = "simSerial"
7767 +.field public static final DATA_SMS:Ljava/lang/String; = "sms"
7769 +.field public static final DATA_SUBSCRIBER_ID:Ljava/lang/String; = "subscriberID"
7771 +.field public static final DATA_SYSTEM_LOGS:Ljava/lang/String; = "systemLogs"
7773 +.field public static final EMPTY:B = 0x1t
7775 +.field public static final RANDOM:B = 0x3t
7777 +.field public static final REAL:B = 0x0t
7779 +.field public static final SETTING_NOTIFY_OFF:B = 0x0t
7781 +.field public static final SETTING_NOTIFY_ON:B = 0x1t
7785 +.field private final _id:Ljava/lang/Integer;
7787 +.field private accountsAuthTokensSetting:B
7789 +.field private accountsSetting:B
7791 +.field private allowedContacts:[I
7793 +.field private bookmarksSetting:B
7795 +.field private calendarSetting:B
7797 +.field private callLogSetting:B
7799 +.field private contactsSetting:B
7801 +.field private deviceId:Ljava/lang/String;
7803 +.field private deviceIdSetting:B
7805 +.field private incomingCallsSetting:B
7807 +.field private intentBootCompletedSetting:B
7809 +.field private line1Number:Ljava/lang/String;
7811 +.field private line1NumberSetting:B
7813 +.field private locationGpsLat:Ljava/lang/String;
7815 +.field private locationGpsLon:Ljava/lang/String;
7817 +.field private locationGpsSetting:B
7819 +.field private locationNetworkLat:Ljava/lang/String;
7821 +.field private locationNetworkLon:Ljava/lang/String;
7823 +.field private locationNetworkSetting:B
7825 +.field private mmsSetting:B
7827 +.field private networkInfoSetting:B
7829 +.field private notificationSetting:B
7831 +.field private outgoingCallsSetting:B
7833 +.field private packageName:Ljava/lang/String;
7835 +.field private simInfoSetting:B
7837 +.field private simSerialNumber:Ljava/lang/String;
7839 +.field private simSerialNumberSetting:B
7841 +.field private smsSetting:B
7843 +.field private subscriberId:Ljava/lang/String;
7845 +.field private subscriberIdSetting:B
7847 +.field private systemLogsSetting:B
7849 +.field private uid:I
7853 +.method static constructor <clinit>()V
7856 + new-instance v0, Landroid/privacy/PrivacySettings$1;
7858 + invoke-direct {v0}, Landroid/privacy/PrivacySettings$1;-><init>()V
7860 + sput-object v0, Landroid/privacy/PrivacySettings;->CREATOR:Landroid/os/Parcelable$Creator;
7865 +.method public constructor <init>(Landroid/os/Parcel;)V
7868 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
7870 + invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I
7876 + if-ne v0, v1, :cond_ce
7881 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
7883 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
7885 + move-result-object v1
7887 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
7889 + invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I
7893 + iput v1, p0, Landroid/privacy/PrivacySettings;->uid:I
7895 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
7899 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
7901 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
7903 + move-result-object v1
7905 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
7907 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
7911 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
7913 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
7915 + move-result-object v1
7917 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
7919 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
7923 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
7925 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
7927 + move-result-object v1
7929 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
7931 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
7933 + move-result-object v1
7935 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
7937 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
7941 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting: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;->locationNetworkLat: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;->locationNetworkLon:Ljava/lang/String;
7955 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
7959 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
7961 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
7965 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
7967 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
7971 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
7973 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
7975 + move-result-object v1
7977 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
7979 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
7983 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
7985 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
7987 + move-result-object v1
7989 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
7991 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
7995 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
7997 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8001 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
8003 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8007 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
8009 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8013 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
8015 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8019 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
8021 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8025 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
8027 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8031 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
8033 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8037 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
8039 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8043 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
8045 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8049 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
8051 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8055 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
8057 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8061 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
8063 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8067 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
8069 + invoke-virtual {p1}, Landroid/os/Parcel;->createIntArray()[I
8071 + move-result-object v1
8073 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
8078 + invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
8080 + move-result-object v1
8085 +.method public constructor <init>(Ljava/lang/Integer;Ljava/lang/String;I)V
8092 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
8094 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
8096 + iput-object p2, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
8098 + iput p3, p0, Landroid/privacy/PrivacySettings;->uid:I
8100 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
8102 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
8104 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
8106 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
8108 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8110 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
8112 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
8114 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8116 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
8118 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
8120 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
8122 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
8124 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
8126 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
8128 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
8130 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
8132 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
8134 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
8136 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
8138 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
8140 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
8142 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
8144 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
8146 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
8148 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
8150 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
8152 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
8154 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
8156 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
8158 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
8163 +.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
8166 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
8168 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
8170 + iput-object p2, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
8172 + iput p3, p0, Landroid/privacy/PrivacySettings;->uid:I
8174 + iput-byte p4, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
8176 + iput-object p5, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
8178 + iput-byte p6, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
8180 + iput-object p7, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
8182 + iput-byte p8, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8184 + iput-object p9, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
8186 + iput-object p10, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
8188 + iput-byte p11, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8190 + iput-object p12, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
8192 + iput-object p13, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
8194 + iput-byte p14, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
8196 + move/from16 v0, p15
8198 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
8200 + move/from16 v0, p16
8202 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
8204 + move-object/from16 v0, p17
8206 + iput-object v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
8208 + move/from16 v0, p18
8210 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
8212 + move-object/from16 v0, p19
8214 + iput-object v0, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
8216 + move/from16 v0, p20
8218 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
8220 + move/from16 v0, p21
8222 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
8224 + move/from16 v0, p22
8226 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
8228 + move/from16 v0, p23
8230 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
8232 + move/from16 v0, p24
8234 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
8236 + move/from16 v0, p25
8238 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
8240 + move/from16 v0, p26
8242 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
8244 + move/from16 v0, p27
8246 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
8248 + move/from16 v0, p28
8250 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
8252 + move/from16 v0, p29
8254 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
8256 + move/from16 v0, p30
8258 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
8260 + move/from16 v0, p34
8262 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
8264 + move/from16 v0, p35
8266 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
8268 + move-object/from16 v0, p36
8270 + iput-object v0, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
8275 +.method private getRandomLat()Ljava/lang/String;
8278 + const-wide v7, 0x4056800000000000L
8280 + invoke-static {}, Ljava/lang/Math;->random()D
8282 + move-result-wide v3
8284 + const-wide v5, 0x4066800000000000L
8286 + mul-double v0, v3, v5
8288 + cmpl-double v3, v0, v7
8290 + if-lez v3, :cond_35
8292 + new-instance v2, Ljava/math/BigDecimal;
8294 + sub-double v3, v0, v7
8296 + invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;-><init>(D)V
8299 + new-instance v3, Ljava/lang/StringBuilder;
8301 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
8307 + invoke-virtual {v2, v4, v5}, Ljava/math/BigDecimal;->setScale(II)Ljava/math/BigDecimal;
8309 + move-result-object v4
8311 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
8313 + move-result-object v3
8315 + const-string v4, ""
8317 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8319 + move-result-object v3
8321 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8323 + move-result-object v3
8328 + new-instance v2, Ljava/math/BigDecimal;
8332 + invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;-><init>(D)V
8337 +.method private getRandomLon()Ljava/lang/String;
8340 + const-wide v7, 0x4066800000000000L
8342 + invoke-static {}, Ljava/lang/Math;->random()D
8344 + move-result-wide v3
8346 + const-wide v5, 0x4076800000000000L
8348 + mul-double v0, v3, v5
8350 + cmpl-double v3, v0, v7
8352 + if-lez v3, :cond_35
8354 + new-instance v2, Ljava/math/BigDecimal;
8356 + sub-double v3, v0, v7
8358 + invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;-><init>(D)V
8361 + new-instance v3, Ljava/lang/StringBuilder;
8363 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
8369 + invoke-virtual {v2, v4, v5}, Ljava/math/BigDecimal;->setScale(II)Ljava/math/BigDecimal;
8371 + move-result-object v4
8373 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
8375 + move-result-object v3
8377 + const-string v4, ""
8379 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8381 + move-result-object v3
8383 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8385 + move-result-object v3
8390 + new-instance v2, Ljava/math/BigDecimal;
8394 + invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;-><init>(D)V
8401 +.method public describeContents()I
8409 +.method public getAccountsAuthTokensSetting()B
8412 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
8417 +.method public getAccountsSetting()B
8420 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
8425 +.method public getAllowedContacts()[I
8428 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
8433 +.method public getBookmarksSetting()B
8436 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
8441 +.method public getCalendarSetting()B
8444 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
8449 +.method public getCallLogSetting()B
8452 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
8457 +.method public getContactsSetting()B
8460 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
8465 +.method public getDeviceId()Ljava/lang/String;
8468 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
8472 + if-ne v2, v3, :cond_8
8474 + const-string v2, ""
8480 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
8484 + if-ne v2, v3, :cond_35
8486 + new-instance v0, Ljava/util/Random;
8488 + invoke-direct {v0}, Ljava/util/Random;-><init>()V
8490 + new-instance v2, Ljava/lang/StringBuilder;
8492 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
8494 + invoke-virtual {v0}, Ljava/util/Random;->nextLong()J
8496 + move-result-wide v3
8498 + invoke-static {v3, v4}, Ljava/lang/Math;->abs(J)J
8500 + move-result-wide v3
8502 + invoke-virtual {v2, v3, v4}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
8504 + move-result-object v2
8506 + const-string v3, ""
8508 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8510 + move-result-object v2
8512 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8514 + move-result-object v1
8520 + invoke-virtual {v1, v2, v3}, Ljava/lang/String;->substring(II)Ljava/lang/String;
8522 + move-result-object v2
8527 + iget-object v2, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
8532 +.method public getDeviceIdSetting()B
8535 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
8540 +.method public getIncomingCallsSetting()B
8543 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
8548 +.method public getIntentBootCompletedSetting()B
8551 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
8556 +.method public getLine1Number()Ljava/lang/String;
8559 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
8563 + if-ne v2, v3, :cond_8
8565 + const-string v2, ""
8571 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
8575 + if-ne v2, v3, :cond_3b
8577 + new-instance v0, Ljava/util/Random;
8579 + invoke-direct {v0}, Ljava/util/Random;-><init>()V
8581 + new-instance v2, Ljava/lang/StringBuilder;
8583 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
8585 + const-string v3, "+"
8587 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8589 + move-result-object v2
8591 + invoke-virtual {v0}, Ljava/util/Random;->nextLong()J
8593 + move-result-wide v3
8595 + invoke-static {v3, v4}, Ljava/lang/Math;->abs(J)J
8597 + move-result-wide v3
8599 + invoke-virtual {v2, v3, v4}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
8601 + move-result-object v2
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 {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8611 + move-result-object v1
8617 + invoke-virtual {v1, v2, v3}, Ljava/lang/String;->substring(II)Ljava/lang/String;
8619 + move-result-object v2
8624 + iget-object v2, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
8629 +.method public getLine1NumberSetting()B
8632 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
8637 +.method public getLocationGpsLat()Ljava/lang/String;
8640 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8644 + if-ne v0, v1, :cond_8
8646 + const-string v0, ""
8652 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8656 + if-ne v0, v1, :cond_12
8658 + invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLat()Ljava/lang/String;
8660 + move-result-object v0
8665 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
8670 +.method public getLocationGpsLon()Ljava/lang/String;
8673 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8677 + if-ne v0, v1, :cond_8
8679 + const-string v0, ""
8685 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8689 + if-ne v0, v1, :cond_12
8691 + invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLon()Ljava/lang/String;
8693 + move-result-object v0
8698 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
8703 +.method public getLocationGpsSetting()B
8706 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8711 +.method public getLocationNetworkLat()Ljava/lang/String;
8714 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8718 + if-ne v0, v1, :cond_8
8720 + const-string v0, ""
8726 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8730 + if-ne v0, v1, :cond_12
8732 + invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLat()Ljava/lang/String;
8734 + move-result-object v0
8739 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
8744 +.method public getLocationNetworkLon()Ljava/lang/String;
8747 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8751 + if-ne v0, v1, :cond_8
8753 + const-string v0, ""
8759 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8763 + if-ne v0, v1, :cond_12
8765 + invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLon()Ljava/lang/String;
8767 + move-result-object v0
8772 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
8777 +.method public getLocationNetworkSetting()B
8780 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8785 +.method public getMmsSetting()B
8788 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
8793 +.method public getNetworkInfoSetting()B
8796 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
8801 +.method public getNotificationSetting()B
8804 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
8809 +.method public getOutgoingCallsSetting()B
8812 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
8817 +.method public getPackageName()Ljava/lang/String;
8820 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
8825 +.method public getSimInfoSetting()B
8828 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
8833 +.method public getSimSerialNumber()Ljava/lang/String;
8836 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
8840 + if-ne v1, v2, :cond_8
8842 + const-string v1, ""
8848 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
8852 + if-ne v1, v2, :cond_2e
8854 + new-instance v0, Ljava/util/Random;
8856 + invoke-direct {v0}, Ljava/util/Random;-><init>()V
8858 + new-instance v1, Ljava/lang/StringBuilder;
8860 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
8862 + invoke-virtual {v0}, Ljava/util/Random;->nextLong()J
8864 + move-result-wide v2
8866 + invoke-static {v2, v3}, Ljava/lang/Math;->abs(J)J
8868 + move-result-wide v2
8870 + invoke-virtual {v1, v2, v3}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
8872 + move-result-object v1
8874 + const-string v2, ""
8876 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8878 + move-result-object v1
8880 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8882 + move-result-object v1
8887 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
8892 +.method public getSimSerialNumberSetting()B
8895 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
8900 +.method public getSmsSetting()B
8903 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
8908 +.method public getSubscriberId()Ljava/lang/String;
8911 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
8915 + if-ne v2, v3, :cond_8
8917 + const-string v2, ""
8923 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
8927 + if-ne v2, v3, :cond_35
8929 + new-instance v0, Ljava/util/Random;
8931 + invoke-direct {v0}, Ljava/util/Random;-><init>()V
8933 + new-instance v2, Ljava/lang/StringBuilder;
8935 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
8937 + invoke-virtual {v0}, Ljava/util/Random;->nextLong()J
8939 + move-result-wide v3
8941 + invoke-static {v3, v4}, Ljava/lang/Math;->abs(J)J
8943 + move-result-wide v3
8945 + invoke-virtual {v2, v3, v4}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
8947 + move-result-object v2
8949 + const-string v3, ""
8951 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8953 + move-result-object v2
8955 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8957 + move-result-object v1
8963 + invoke-virtual {v1, v2, v3}, Ljava/lang/String;->substring(II)Ljava/lang/String;
8965 + move-result-object v2
8970 + iget-object v2, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
8975 +.method public getSubscriberIdSetting()B
8978 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
8983 +.method public getSystemLogsSetting()B
8986 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
8991 +.method public getUid()I
8994 + iget v0, p0, Landroid/privacy/PrivacySettings;->uid:I
8999 +.method public get_id()Ljava/lang/Integer;
9002 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
9007 +.method public setAccountsAuthTokensSetting(B)V
9010 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
9015 +.method public setAccountsSetting(B)V
9018 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
9023 +.method public setAllowedContacts([I)V
9026 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
9031 +.method public setBookmarksSetting(B)V
9034 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
9039 +.method public setCalendarSetting(B)V
9042 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
9047 +.method public setCallLogSetting(B)V
9050 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
9055 +.method public setContactsSetting(B)V
9058 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
9063 +.method public setDeviceId(Ljava/lang/String;)V
9066 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
9071 +.method public setDeviceIdSetting(B)V
9074 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
9079 +.method public setIncomingCallsSetting(B)V
9082 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
9087 +.method public setIntentBootCompletedSetting(B)V
9090 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
9095 +.method public setLine1Number(Ljava/lang/String;)V
9098 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
9103 +.method public setLine1NumberSetting(B)V
9106 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
9111 +.method public setLocationGpsLat(Ljava/lang/String;)V
9114 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
9119 +.method public setLocationGpsLon(Ljava/lang/String;)V
9122 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
9127 +.method public setLocationGpsSetting(B)V
9130 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
9135 +.method public setLocationNetworkLat(Ljava/lang/String;)V
9138 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
9143 +.method public setLocationNetworkLon(Ljava/lang/String;)V
9146 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
9151 +.method public setLocationNetworkSetting(B)V
9154 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
9159 +.method public setMmsSetting(B)V
9162 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
9167 +.method public setNetworkInfoSetting(B)V
9170 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
9175 +.method public setNotificationSetting(B)V
9178 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
9183 +.method public setOutgoingCallsSetting(B)V
9186 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
9191 +.method public setPackageName(Ljava/lang/String;)V
9194 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
9199 +.method public setSimInfoSetting(B)V
9202 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
9207 +.method public setSimSerialNumber(Ljava/lang/String;)V
9210 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
9215 +.method public setSimSerialNumberSetting(B)V
9218 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
9223 +.method public setSmsSetting(B)V
9226 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
9231 +.method public setSubscriberId(Ljava/lang/String;)V
9234 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
9239 +.method public setSubscriberIdSetting(B)V
9242 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
9247 +.method public setSystemLogsSetting(B)V
9250 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
9255 +.method public setUid(I)V
9258 + iput p1, p0, Landroid/privacy/PrivacySettings;->uid:I
9263 +.method public toString()Ljava/lang/String;
9266 + new-instance v0, Ljava/lang/StringBuilder;
9268 + invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
9270 + const-string v1, "PrivacySettings [_id="
9272 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9274 + move-result-object v0
9276 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
9278 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
9280 + move-result-object v0
9282 + const-string v1, ", accountsAuthTokensSetting="
9284 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9286 + move-result-object v0
9288 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
9290 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9292 + move-result-object v0
9294 + const-string v1, ", accountsSetting="
9296 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9298 + move-result-object v0
9300 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
9302 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9304 + move-result-object v0
9306 + const-string v1, ", bookmarksSetting="
9308 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9310 + move-result-object v0
9312 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
9314 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9316 + move-result-object v0
9318 + const-string v1, ", calendarSetting="
9320 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9322 + move-result-object v0
9324 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
9326 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9328 + move-result-object v0
9330 + const-string v1, ", callLogSetting="
9332 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9334 + move-result-object v0
9336 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
9338 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9340 + move-result-object v0
9342 + const-string v1, ", contactsSetting="
9344 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9346 + move-result-object v0
9348 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
9350 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9352 + move-result-object v0
9354 + const-string v1, ", deviceId="
9356 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9358 + move-result-object v0
9360 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
9362 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9364 + move-result-object v0
9366 + const-string v1, ", deviceIdSetting="
9368 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9370 + move-result-object v0
9372 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
9374 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9376 + move-result-object v0
9378 + const-string v1, ", incomingCallsSetting="
9380 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9382 + move-result-object v0
9384 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
9386 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9388 + move-result-object v0
9390 + const-string v1, ", intentBootCompletedSetting="
9392 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9394 + move-result-object v0
9396 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
9398 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9400 + move-result-object v0
9402 + const-string v1, ", line1Number="
9404 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9406 + move-result-object v0
9408 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
9410 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9412 + move-result-object v0
9414 + const-string v1, ", line1NumberSetting="
9416 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9418 + move-result-object v0
9420 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
9422 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9424 + move-result-object v0
9426 + const-string v1, ", locationGpsLat="
9428 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9430 + move-result-object v0
9432 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
9434 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9436 + move-result-object v0
9438 + const-string v1, ", locationGpsLon="
9440 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9442 + move-result-object v0
9444 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
9446 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9448 + move-result-object v0
9450 + const-string v1, ", locationGpsSetting="
9452 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9454 + move-result-object v0
9456 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
9458 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9460 + move-result-object v0
9462 + const-string v1, ", locationNetworkLat="
9464 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9466 + move-result-object v0
9468 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
9470 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9472 + move-result-object v0
9474 + const-string v1, ", locationNetworkLon="
9476 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9478 + move-result-object v0
9480 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
9482 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9484 + move-result-object v0
9486 + const-string v1, ", locationNetworkSetting="
9488 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9490 + move-result-object v0
9492 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
9494 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9496 + move-result-object v0
9498 + const-string v1, ", mmsSetting="
9500 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9502 + move-result-object v0
9504 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
9506 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9508 + move-result-object v0
9510 + const-string v1, ", networkInfoSetting="
9512 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9514 + move-result-object v0
9516 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
9518 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9520 + move-result-object v0
9522 + const-string v1, ", notificationSetting="
9524 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9526 + move-result-object v0
9528 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
9530 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9532 + move-result-object v0
9534 + const-string v1, ", outgoingCallsSetting="
9536 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9538 + move-result-object v0
9540 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
9542 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9544 + move-result-object v0
9546 + const-string v1, ", packageName="
9548 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9550 + move-result-object v0
9552 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
9554 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9556 + move-result-object v0
9558 + const-string v1, ", simInfoSetting="
9560 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9562 + move-result-object v0
9564 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
9566 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9568 + move-result-object v0
9570 + const-string v1, ", simSerialNumber="
9572 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9574 + move-result-object v0
9576 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
9578 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9580 + move-result-object v0
9582 + const-string v1, ", simSerialNumberSetting="
9584 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9586 + move-result-object v0
9588 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
9590 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9592 + move-result-object v0
9594 + const-string v1, ", smsSetting="
9596 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9598 + move-result-object v0
9600 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
9602 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9604 + move-result-object v0
9606 + const-string v1, ", subscriberId="
9608 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9610 + move-result-object v0
9612 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
9614 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9616 + move-result-object v0
9618 + const-string v1, ", subscriberIdSetting="
9620 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9622 + move-result-object v0
9624 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
9626 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9628 + move-result-object v0
9630 + const-string v1, ", systemLogsSetting="
9632 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9634 + move-result-object v0
9636 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
9638 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9640 + move-result-object v0
9642 + const-string v1, ", uid="
9644 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9646 + move-result-object v0
9648 + iget v1, p0, Landroid/privacy/PrivacySettings;->uid:I
9650 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9652 + move-result-object v0
9654 + const-string v1, "]"
9656 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9658 + move-result-object v0
9660 + invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
9662 + move-result-object v0
9667 +.method public writeToParcel(Landroid/os/Parcel;I)V
9670 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
9672 + if-nez v0, :cond_a9
9677 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeInt(I)V
9679 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
9681 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9683 + iget v0, p0, Landroid/privacy/PrivacySettings;->uid:I
9685 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeInt(I)V
9687 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
9689 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9691 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
9693 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9695 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
9697 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9699 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
9701 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9703 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
9705 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9707 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
9709 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9711 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
9713 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9715 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
9717 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9719 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
9721 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9723 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
9725 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9727 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
9729 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9731 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
9733 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9735 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
9737 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9739 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
9741 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9743 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
9745 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9747 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
9749 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9751 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
9753 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9755 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
9757 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9759 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
9761 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9763 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
9765 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9767 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
9769 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9771 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
9773 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9775 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
9777 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9779 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
9781 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9783 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
9785 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9787 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
9789 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9791 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
9793 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9795 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
9797 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9799 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
9801 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9803 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
9805 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeIntArray([I)V
9810 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
9812 + invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
9818 diff -Npru -x '*RIL*' pdroid-framework/smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali stock-framework/smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali
9819 --- pdroid-framework/smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali 1969-12-31 18:00:00.000000000 -0600
9820 +++ stock-framework/smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali 2012-10-13 14:14:43.382155538 -0500
9822 +.class Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
9823 +.super Ljava/lang/Object;
9824 +.source "PrivacyAccountManager.java"
9827 +.implements Landroid/accounts/AccountManagerFuture;
9831 +.annotation system Ldalvik/annotation/EnclosingClass;
9832 + value = Landroid/privacy/surrogate/PrivacyAccountManager;
9835 +.annotation system Ldalvik/annotation/InnerClass;
9837 + name = "PrivacyAccountManagerFuture"
9840 +.annotation system Ldalvik/annotation/Signature;
9843 + "Ljava/lang/Object;",
9845 + "Ljava/lang/Object;",
9846 + "Landroid/accounts/AccountManagerFuture",
9853 +.field private result:Ljava/lang/Object;
9854 + .annotation system Ldalvik/annotation/Signature;
9861 +.field final synthetic this$0:Landroid/privacy/surrogate/PrivacyAccountManager;
9865 +.method public constructor <init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
9867 + .annotation system Ldalvik/annotation/Signature;
9873 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->this$0:Landroid/privacy/surrogate/PrivacyAccountManager;
9875 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
9877 + iput-object p2, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->result:Ljava/lang/Object;
9884 +.method public cancel(Z)Z
9892 +.method public getResult()Ljava/lang/Object;
9894 + .annotation system Ldalvik/annotation/Signature;
9900 + .annotation system Ldalvik/annotation/Throws;
9902 + Landroid/accounts/OperationCanceledException;,
9903 + Ljava/io/IOException;,
9904 + Landroid/accounts/AuthenticatorException;
9908 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->result:Ljava/lang/Object;
9913 +.method public getResult(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;
9915 + .annotation system Ldalvik/annotation/Signature;
9918 + "Ljava/util/concurrent/TimeUnit;",
9923 + .annotation system Ldalvik/annotation/Throws;
9925 + Landroid/accounts/OperationCanceledException;,
9926 + Ljava/io/IOException;,
9927 + Landroid/accounts/AuthenticatorException;
9931 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->result:Ljava/lang/Object;
9936 +.method public isCancelled()Z
9944 +.method public isDone()Z
9951 diff -Npru -x '*RIL*' pdroid-framework/smali/android/privacy/surrogate/PrivacyAccountManager.smali stock-framework/smali/android/privacy/surrogate/PrivacyAccountManager.smali
9952 --- pdroid-framework/smali/android/privacy/surrogate/PrivacyAccountManager.smali 1969-12-31 18:00:00.000000000 -0600
9953 +++ stock-framework/smali/android/privacy/surrogate/PrivacyAccountManager.smali 2012-10-13 14:14:43.386155553 -0500
9955 +.class public final Landroid/privacy/surrogate/PrivacyAccountManager;
9956 +.super Landroid/accounts/AccountManager;
9957 +.source "PrivacyAccountManager.java"
9961 +.annotation system Ldalvik/annotation/MemberClasses;
9963 + Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
9969 +.field private static final TAG:Ljava/lang/String; = "PrivacyAccountManager"
9973 +.field private context:Landroid/content/Context;
9975 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
9979 +.method public constructor <init>(Landroid/content/Context;Landroid/accounts/IAccountManager;)V
9982 + invoke-direct {p0, p1, p2}, Landroid/accounts/AccountManager;-><init>(Landroid/content/Context;Landroid/accounts/IAccountManager;)V
9984 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
9986 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
9988 + const-string/jumbo v1, "privacy"
9990 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
9992 + move-result-object v1
9994 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
9996 + move-result-object v1
9998 + invoke-direct {v0, p1, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
10000 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10005 +.method public constructor <init>(Landroid/content/Context;Landroid/accounts/IAccountManager;Landroid/os/Handler;)V
10008 + invoke-direct {p0, p1, p2, p3}, Landroid/accounts/AccountManager;-><init>(Landroid/content/Context;Landroid/accounts/IAccountManager;Landroid/os/Handler;)V
10010 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10012 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
10014 + const-string/jumbo v1, "privacy"
10016 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
10018 + move-result-object v1
10020 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
10022 + move-result-object v1
10024 + invoke-direct {v0, p1, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
10026 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10033 +.method public blockingGetAuthToken(Landroid/accounts/Account;Ljava/lang/String;Z)Ljava/lang/String;
10035 + .annotation system Ldalvik/annotation/Throws;
10037 + Landroid/accounts/OperationCanceledException;,
10038 + Ljava/io/IOException;,
10039 + Landroid/accounts/AuthenticatorException;
10045 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10047 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10049 + move-result-object v1
10051 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10055 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10057 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10059 + move-result-object v6
10061 + if-eqz v6, :cond_23
10063 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
10067 + if-eqz v0, :cond_23
10071 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10075 + const-string v4, "authTokens"
10077 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10083 + invoke-super {p0, p1, p2, p3}, Landroid/accounts/AccountManager;->blockingGetAuthToken(Landroid/accounts/Account;Ljava/lang/String;Z)Ljava/lang/String;
10085 + move-result-object v7
10087 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10091 + const-string v4, "authTokens"
10093 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10098 +.method public getAccounts()[Landroid/accounts/Account;
10105 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10107 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10109 + move-result-object v1
10111 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10115 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10117 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10119 + move-result-object v6
10121 + if-eqz v6, :cond_27
10123 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
10127 + if-eqz v0, :cond_27
10129 + const-string v8, "[empty accounts list]"
10131 + new-array v7, v3, [Landroid/accounts/Account;
10133 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10137 + const-string v4, "accountsList"
10139 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10145 + const-string v8, "[real value]"
10147 + invoke-super {p0}, Landroid/accounts/AccountManager;->getAccounts()[Landroid/accounts/Account;
10149 + move-result-object v7
10151 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10153 + const-string v4, "accountsList"
10155 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10160 +.method public getAccountsByType(Ljava/lang/String;)[Landroid/accounts/Account;
10167 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10169 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10171 + move-result-object v1
10173 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10177 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10179 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10181 + move-result-object v6
10183 + if-eqz v6, :cond_27
10185 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
10189 + if-eqz v0, :cond_27
10191 + const-string v8, "[empty accounts list]"
10193 + new-array v7, v3, [Landroid/accounts/Account;
10195 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10199 + const-string v4, "accountsList"
10201 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10207 + const-string v8, "[real value]"
10209 + invoke-super {p0, p1}, Landroid/accounts/AccountManager;->getAccountsByType(Ljava/lang/String;)[Landroid/accounts/Account;
10211 + move-result-object v7
10213 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10215 + const-string v4, "accountsList"
10217 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10222 +.method public getAccountsByTypeAndFeatures(Ljava/lang/String;[Ljava/lang/String;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
10224 + .annotation system Ldalvik/annotation/Signature;
10227 + "Ljava/lang/String;",
10229 + "Ljava/lang/String;",
10230 + "Landroid/accounts/AccountManagerCallback",
10232 + "Landroid/accounts/Account;",
10234 + "Landroid/os/Handler;",
10236 + "Landroid/accounts/AccountManagerFuture",
10238 + "Landroid/accounts/Account;",
10247 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10249 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10251 + move-result-object v1
10253 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10257 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10259 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10261 + move-result-object v6
10263 + if-eqz v6, :cond_2c
10265 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
10269 + if-eqz v0, :cond_2c
10271 + const-string v8, "[false]"
10273 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10275 + new-array v0, v3, [Landroid/accounts/Account;
10277 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
10279 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10283 + const-string v4, "accountsList"
10285 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10291 + const-string v8, "[real value]"
10293 + 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;
10295 + move-result-object v7
10297 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10299 + const-string v4, "accountsList"
10301 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10306 +.method public getAuthToken(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;Landroid/app/Activity;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
10308 + .annotation system Ldalvik/annotation/Signature;
10311 + "Landroid/accounts/Account;",
10312 + "Ljava/lang/String;",
10313 + "Landroid/os/Bundle;",
10314 + "Landroid/app/Activity;",
10315 + "Landroid/accounts/AccountManagerCallback",
10317 + "Landroid/os/Bundle;",
10319 + "Landroid/os/Handler;",
10321 + "Landroid/accounts/AccountManagerFuture",
10323 + "Landroid/os/Bundle;",
10330 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10332 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10334 + move-result-object v1
10336 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10340 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10342 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10344 + move-result-object v6
10346 + if-eqz v6, :cond_2e
10348 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
10352 + if-eqz v0, :cond_2e
10354 + const-string v8, "[empty]"
10356 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10358 + new-instance v0, Landroid/os/Bundle;
10360 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
10362 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
10364 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10368 + const-string v4, "authTokens"
10370 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10376 + const-string v8, "[real value]"
10378 + 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;
10380 + move-result-object v7
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
10393 +.method public getAuthToken(Landroid/accounts/Account;Ljava/lang/String;ZLandroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
10395 + .annotation system Ldalvik/annotation/Signature;
10398 + "Landroid/accounts/Account;",
10399 + "Ljava/lang/String;",
10401 + "Landroid/accounts/AccountManagerCallback",
10403 + "Landroid/os/Bundle;",
10405 + "Landroid/os/Handler;",
10407 + "Landroid/accounts/AccountManagerFuture",
10409 + "Landroid/os/Bundle;",
10416 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10418 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10420 + move-result-object v1
10422 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10426 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10428 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10430 + move-result-object v6
10432 + if-eqz v6, :cond_2e
10434 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
10438 + if-eqz v0, :cond_2e
10440 + const-string v8, "[empty]"
10442 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10444 + new-instance v0, Landroid/os/Bundle;
10446 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
10448 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
10450 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10454 + const-string v4, "authTokens"
10456 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10462 + const-string v8, "[real value]"
10464 + invoke-super/range {p0 .. p5}, Landroid/accounts/AccountManager;->getAuthToken(Landroid/accounts/Account;Ljava/lang/String;ZLandroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
10466 + move-result-object v7
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
10479 +.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;
10481 + .annotation system Ldalvik/annotation/Signature;
10484 + "Ljava/lang/String;",
10485 + "Ljava/lang/String;",
10487 + "Ljava/lang/String;",
10488 + "Landroid/app/Activity;",
10489 + "Landroid/os/Bundle;",
10490 + "Landroid/os/Bundle;",
10491 + "Landroid/accounts/AccountManagerCallback",
10493 + "Landroid/os/Bundle;",
10495 + "Landroid/os/Handler;",
10497 + "Landroid/accounts/AccountManagerFuture",
10499 + "Landroid/os/Bundle;",
10504 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10506 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10508 + move-result-object v1
10510 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10514 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10516 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10518 + move-result-object v6
10520 + if-eqz v6, :cond_2e
10522 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
10526 + if-eqz v0, :cond_2e
10528 + const-string v8, "[empty]"
10530 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10532 + new-instance v0, Landroid/os/Bundle;
10534 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
10536 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
10538 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10542 + const-string v4, "authTokens"
10546 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10552 + const-string v8, "[real value]"
10554 + 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;
10556 + move-result-object v7
10558 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10562 + const-string v4, "authTokens"
10566 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10571 +.method public hasFeatures(Landroid/accounts/Account;[Ljava/lang/String;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
10573 + .annotation system Ldalvik/annotation/Signature;
10576 + "Landroid/accounts/Account;",
10578 + "Ljava/lang/String;",
10579 + "Landroid/accounts/AccountManagerCallback",
10581 + "Ljava/lang/Boolean;",
10583 + "Landroid/os/Handler;",
10585 + "Landroid/accounts/AccountManagerFuture",
10587 + "Ljava/lang/Boolean;",
10596 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10598 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10600 + move-result-object v1
10602 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10606 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10608 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10610 + move-result-object v6
10612 + if-eqz v6, :cond_2e
10614 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
10618 + if-eqz v0, :cond_2e
10620 + const-string v8, "[false]"
10622 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10624 + invoke-static {v3}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
10626 + move-result-object v0
10628 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
10630 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10634 + const-string v4, "accountsList"
10636 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10642 + const-string v8, "[real value]"
10644 + 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;
10646 + move-result-object v7
10648 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10650 + const-string v4, "accountsList"
10652 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10656 diff -Npru -x '*RIL*' pdroid-framework/smali/android/privacy/surrogate/PrivacyActivityManagerService.smali stock-framework/smali/android/privacy/surrogate/PrivacyActivityManagerService.smali
10657 --- pdroid-framework/smali/android/privacy/surrogate/PrivacyActivityManagerService.smali 1969-12-31 18:00:00.000000000 -0600
10658 +++ stock-framework/smali/android/privacy/surrogate/PrivacyActivityManagerService.smali 2012-10-13 14:14:43.386155553 -0500
10660 +.class public final Landroid/privacy/surrogate/PrivacyActivityManagerService;
10661 +.super Ljava/lang/Object;
10662 +.source "PrivacyActivityManagerService.java"
10666 +.field private static final TAG:Ljava/lang/String; = "PrivacyActivityManagerService"
10668 +.field private static pSetMan:Landroid/privacy/PrivacySettingsManager;
10670 +.field private static tmpIn:Landroid/content/Intent;
10672 +.field private static tmpInHash:J
10674 +.field private static tmpInReceivers:I
10676 +.field private static tmpMms:Landroid/content/Intent;
10678 +.field private static tmpMmsHash:J
10680 +.field private static tmpMmsReceivers:I
10682 +.field private static tmpOut:Landroid/content/Intent;
10684 +.field private static tmpOutHash:J
10686 +.field private static tmpOutReceivers:I
10688 +.field private static tmpPackageAddedHash:J
10690 +.field private static tmpSms:Landroid/content/Intent;
10692 +.field private static tmpSmsHash:J
10694 +.field private static tmpSmsReceivers:I
10698 +.method static constructor <clinit>()V
10703 + const-wide/16 v0, 0x0
10705 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInHash:J
10707 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
10709 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutHash:J
10711 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
10713 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsHash:J
10715 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
10717 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsHash:J
10719 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
10721 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpPackageAddedHash:J
10726 +.method public constructor <init>()V
10729 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
10734 +.method public static enforcePrivacyPermission(Ljava/lang/String;ILandroid/content/Intent;Landroid/content/Context;I)V
10737 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10739 + if-nez v2, :cond_11
10741 + const-string/jumbo v2, "privacy"
10743 + move-object/from16 v0, p3
10745 + invoke-virtual {v0, v2}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
10747 + move-result-object v2
10749 + check-cast v2, Landroid/privacy/PrivacySettingsManager;
10751 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10754 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->getAction()Ljava/lang/String;
10756 + move-result-object v9
10758 + const-string v2, "android.intent.action.NEW_OUTGOING_CALL"
10760 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
10764 + if-eqz v2, :cond_ad
10766 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10768 + move-object/from16 v0, p0
10770 + move/from16 v1, p1
10772 + invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10774 + move-result-object v8
10776 + const-string v2, "android.intent.extra.PHONE_NUMBER"
10778 + move-object/from16 v0, p2
10780 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
10782 + move-result-object v16
10784 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutHash:J
10786 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
10788 + move-result-wide v4
10790 + cmp-long v2, v2, v4
10792 + if-eqz v2, :cond_49
10794 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->clone()Ljava/lang/Object;
10796 + move-result-object v2
10798 + check-cast v2, Landroid/content/Intent;
10800 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOut:Landroid/content/Intent;
10802 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
10804 + move-result-wide v2
10806 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutHash:J
10808 + sput p4, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
10811 + if-eqz v8, :cond_76
10814 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getOutgoingCallsSetting()B
10818 + if-eqz v2, :cond_76
10820 + const-string v16, ""
10822 + const-string v2, "android.intent.extra.PHONE_NUMBER"
10824 + move-object/from16 v0, p2
10826 + move-object/from16 v1, v16
10828 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
10830 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10834 + const-string/jumbo v6, "outgoingCall"
10838 + move-object/from16 v3, p0
10840 + move/from16 v4, p1
10842 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10844 + .catch Ljava/lang/Exception; {:try_start_4b .. :try_end_6a} :catch_a0
10848 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
10852 + if-le v2, v3, :cond_a9
10854 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
10856 + add-int/lit8 v2, v2, -0x1
10858 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
10866 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutHash:J
10868 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
10870 + move-result-wide v4
10872 + cmp-long v2, v2, v4
10874 + if-nez v2, :cond_6a
10876 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOut:Landroid/content/Intent;
10878 + const-string v3, "android.intent.extra.PHONE_NUMBER"
10880 + invoke-virtual {v2, v3}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
10882 + move-result-object v16
10884 + const-string v2, "android.intent.extra.PHONE_NUMBER"
10886 + move-object/from16 v0, p2
10888 + move-object/from16 v1, v16
10890 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
10892 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10896 + const-string/jumbo v6, "outgoingCall"
10900 + move-object/from16 v3, p0
10902 + move/from16 v4, p1
10904 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10906 + .catch Ljava/lang/Exception; {:try_start_76 .. :try_end_9f} :catch_a0
10911 + move-exception v13
10913 + const-string v2, "PrivacyActivityManagerService"
10915 + const-string v3, "failed to enforce intent broadcast permission"
10917 + invoke-static {v2, v3, v13}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
10924 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOut:Landroid/content/Intent;
10929 + const-string v2, "android.intent.action.PHONE_STATE"
10931 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
10935 + if-eqz v2, :cond_14d
10937 + const-string v2, "incoming_number"
10939 + move-object/from16 v0, p2
10941 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
10943 + move-result-object v16
10945 + if-eqz v16, :cond_75
10947 + invoke-virtual/range {v16 .. v16}, Ljava/lang/String;->isEmpty()Z
10951 + if-nez v2, :cond_75
10953 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10955 + move-object/from16 v0, p0
10957 + move/from16 v1, p1
10959 + invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10961 + move-result-object v8
10963 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInHash:J
10965 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
10967 + move-result-wide v4
10969 + cmp-long v2, v2, v4
10971 + if-eqz v2, :cond_e9
10973 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->clone()Ljava/lang/Object;
10975 + move-result-object v2
10977 + check-cast v2, Landroid/content/Intent;
10979 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpIn:Landroid/content/Intent;
10981 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
10983 + move-result-wide v2
10985 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInHash:J
10987 + sput p4, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
10990 + if-eqz v8, :cond_116
10993 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getIncomingCallsSetting()B
10997 + if-eqz v2, :cond_116
10999 + const-string v16, ""
11001 + const-string v2, "incoming_number"
11003 + move-object/from16 v0, p2
11005 + move-object/from16 v1, v16
11007 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
11009 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11013 + const-string v6, "incomingCall"
11017 + move-object/from16 v3, p0
11019 + move/from16 v4, p1
11021 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11023 + .catch Ljava/lang/Exception; {:try_start_eb .. :try_end_109} :catch_13f
11027 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
11031 + if-le v2, v3, :cond_148
11033 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
11035 + add-int/lit8 v2, v2, -0x1
11037 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
11043 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInHash:J
11045 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11047 + move-result-wide v4
11049 + cmp-long v2, v2, v4
11051 + if-nez v2, :cond_109
11053 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpIn:Landroid/content/Intent;
11055 + const-string v3, "incoming_number"
11057 + invoke-virtual {v2, v3}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
11059 + move-result-object v16
11061 + const-string v2, "incoming_number"
11063 + move-object/from16 v0, p2
11065 + move-object/from16 v1, v16
11067 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
11069 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11073 + const-string v6, "incomingCall"
11077 + move-object/from16 v3, p0
11079 + move/from16 v4, p1
11081 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11083 + .catch Ljava/lang/Exception; {:try_start_116 .. :try_end_13e} :catch_13f
11088 + move-exception v13
11090 + const-string v2, "PrivacyActivityManagerService"
11092 + const-string v3, "failed to enforce intent broadcast permission"
11094 + invoke-static {v2, v3, v13}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
11101 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpIn:Landroid/content/Intent;
11106 + const-string v2, "android.provider.Telephony.SMS_RECEIVED"
11108 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11112 + if-eqz v2, :cond_222
11114 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11116 + move-object/from16 v0, p0
11118 + move/from16 v1, p1
11120 + invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
11122 + move-result-object v8
11124 + const-string v16, "[real]"
11126 + const-string/jumbo v2, "pdus"
11128 + move-object/from16 v0, p2
11130 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
11132 + move-result-object v2
11134 + check-cast v2, [Ljava/lang/Object;
11136 + move-object v15, v2
11138 + check-cast v15, [Ljava/lang/Object;
11140 + if-eqz v15, :cond_1cd
11144 + aget-object v2, v15, v2
11146 + check-cast v2, [B
11148 + check-cast v2, [B
11150 + move-object v12, v2
11153 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsHash:J
11155 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11157 + move-result-wide v4
11159 + cmp-long v2, v2, v4
11161 + if-eqz v2, :cond_193
11163 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->clone()Ljava/lang/Object;
11165 + move-result-object v2
11167 + check-cast v2, Landroid/content/Intent;
11169 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSms:Landroid/content/Intent;
11171 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11173 + move-result-wide v2
11175 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsHash:J
11177 + sput p4, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
11180 + if-eqz v8, :cond_1cf
11183 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getSmsSetting()B
11187 + if-eqz v2, :cond_1cf
11189 + const-string v16, "[empty]"
11193 + new-array v14, v2, [Ljava/lang/Object;
11197 + const/16 v3, 0x10
11199 + new-array v3, v3, [B
11201 + fill-array-data v3, :array_350
11203 + aput-object v3, v14, v2
11205 + const-string/jumbo v2, "pdus"
11207 + move-object/from16 v0, p2
11209 + invoke-virtual {v0, v2, v14}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent;
11211 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11215 + const-string/jumbo v6, "sms"
11219 + move-object/from16 v3, p0
11221 + move/from16 v4, p1
11223 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11225 + .catch Ljava/lang/Exception; {:try_start_195 .. :try_end_1c0} :catch_212
11229 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
11233 + if-le v2, v3, :cond_21d
11235 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
11237 + add-int/lit8 v2, v2, -0x1
11239 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
11250 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsHash:J
11252 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11254 + move-result-wide v4
11256 + cmp-long v2, v2, v4
11258 + if-nez v2, :cond_1c0
11260 + const-string/jumbo v2, "pdus"
11262 + sget-object v3, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSms:Landroid/content/Intent;
11264 + const-string/jumbo v4, "pdus"
11266 + invoke-virtual {v3, v4}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
11268 + move-result-object v3
11270 + move-object/from16 v0, p2
11272 + invoke-virtual {v0, v2, v3}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent;
11274 + const-string/jumbo v2, "pdus"
11276 + move-object/from16 v0, p2
11278 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
11280 + move-result-object v2
11282 + check-cast v2, [Ljava/lang/Object;
11284 + move-object v0, v2
11286 + check-cast v0, [Ljava/lang/Object;
11288 + move-object v15, v0
11290 + if-eqz v15, :cond_21b
11294 + aget-object v2, v15, v2
11296 + check-cast v2, [B
11298 + check-cast v2, [B
11300 + move-object v12, v2
11303 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11307 + const-string/jumbo v6, "sms"
11311 + move-object/from16 v3, p0
11313 + move/from16 v4, p1
11315 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11317 + .catch Ljava/lang/Exception; {:try_start_1cf .. :try_end_211} :catch_212
11322 + move-exception v13
11324 + const-string v2, "PrivacyActivityManagerService"
11326 + const-string v3, "failed to enforce intent broadcast permission"
11328 + invoke-static {v2, v3, v13}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
11340 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSms:Landroid/content/Intent;
11345 + const-string v2, "android.provider.Telephony.WAP_PUSH_RECEIVED"
11347 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11351 + if-nez v2, :cond_232
11353 + const-string v2, "android.intent.action.DATA_SMS_RECEIVED"
11355 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11359 + if-eqz v2, :cond_2ff
11362 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11364 + move-object/from16 v0, p0
11366 + move/from16 v1, p1
11368 + invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
11370 + move-result-object v8
11372 + const-string v16, "[real]"
11374 + const-string/jumbo v2, "pdus"
11376 + move-object/from16 v0, p2
11378 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
11380 + move-result-object v2
11382 + check-cast v2, [Ljava/lang/Object;
11384 + move-object v15, v2
11386 + check-cast v15, [Ljava/lang/Object;
11388 + if-eqz v15, :cond_2aa
11392 + aget-object v2, v15, v2
11394 + check-cast v2, [B
11396 + check-cast v2, [B
11398 + move-object v12, v2
11401 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsHash:J
11403 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11405 + move-result-wide v4
11407 + cmp-long v2, v2, v4
11409 + if-eqz v2, :cond_270
11411 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->clone()Ljava/lang/Object;
11413 + move-result-object v2
11415 + check-cast v2, Landroid/content/Intent;
11417 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMms:Landroid/content/Intent;
11419 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11421 + move-result-wide v2
11423 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsHash:J
11425 + sput p4, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
11428 + if-eqz v8, :cond_2ac
11431 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getMmsSetting()B
11435 + if-eqz v2, :cond_2ac
11437 + const-string v16, "[empty]"
11441 + new-array v14, v2, [Ljava/lang/Object;
11445 + const/16 v3, 0x10
11447 + new-array v3, v3, [B
11449 + fill-array-data v3, :array_35c
11451 + aput-object v3, v14, v2
11453 + const-string/jumbo v2, "pdus"
11455 + move-object/from16 v0, p2
11457 + invoke-virtual {v0, v2, v14}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent;
11459 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11463 + const-string/jumbo v6, "mms"
11467 + move-object/from16 v3, p0
11469 + move/from16 v4, p1
11471 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11473 + .catch Ljava/lang/Exception; {:try_start_272 .. :try_end_29d} :catch_2ef
11477 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
11481 + if-le v2, v3, :cond_2fa
11483 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
11485 + add-int/lit8 v2, v2, -0x1
11487 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
11498 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsHash:J
11500 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11502 + move-result-wide v4
11504 + cmp-long v2, v2, v4
11506 + if-nez v2, :cond_29d
11508 + const-string/jumbo v2, "pdus"
11510 + sget-object v3, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMms:Landroid/content/Intent;
11512 + const-string/jumbo v4, "pdus"
11514 + invoke-virtual {v3, v4}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
11516 + move-result-object v3
11518 + move-object/from16 v0, p2
11520 + invoke-virtual {v0, v2, v3}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent;
11522 + const-string/jumbo v2, "pdus"
11524 + move-object/from16 v0, p2
11526 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
11528 + move-result-object v2
11530 + check-cast v2, [Ljava/lang/Object;
11532 + move-object v0, v2
11534 + check-cast v0, [Ljava/lang/Object;
11536 + move-object v15, v0
11538 + if-eqz v15, :cond_2f8
11542 + aget-object v2, v15, v2
11544 + check-cast v2, [B
11546 + check-cast v2, [B
11548 + move-object v12, v2
11551 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11555 + const-string/jumbo v6, "mms"
11559 + move-object/from16 v3, p0
11561 + move/from16 v4, p1
11563 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11565 + .catch Ljava/lang/Exception; {:try_start_2ac .. :try_end_2ee} :catch_2ef
11570 + move-exception v13
11572 + const-string v2, "PrivacyActivityManagerService"
11574 + const-string v3, "failed to enforce intent broadcast permission"
11576 + invoke-static {v2, v3, v13}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
11588 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMms:Landroid/content/Intent;
11593 + const-string v2, "android.intent.action.BOOT_COMPLETED"
11595 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11599 + if-eqz v2, :cond_30e
11601 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11603 + invoke-virtual {v2}, Landroid/privacy/PrivacySettingsManager;->setBootCompleted()V
11608 + const-string v2, "android.intent.action.PACKAGE_ADDED"
11610 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11614 + if-eqz v2, :cond_75
11616 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpPackageAddedHash:J
11618 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11620 + move-result-wide v4
11622 + cmp-long v2, v2, v4
11624 + if-eqz v2, :cond_75
11626 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11628 + move-result-wide v2
11630 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpPackageAddedHash:J
11632 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->getData()Landroid/net/Uri;
11634 + move-result-object v2
11636 + invoke-virtual {v2}, Landroid/net/Uri;->getSchemeSpecificPart()Ljava/lang/String;
11638 + move-result-object v10
11640 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->getExtras()Landroid/os/Bundle;
11642 + move-result-object v2
11644 + const-string v3, "android.intent.extra.UID"
11646 + invoke-virtual {v2, v3}, Landroid/os/Bundle;->getInt(Ljava/lang/String;)I
11650 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11652 + invoke-virtual {v2, v10, v11}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
11654 + move-result-object v8
11656 + if-eqz v8, :cond_75
11658 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getUid()I
11662 + if-eq v2, v11, :cond_75
11664 + invoke-virtual {v8, v11}, Landroid/privacy/PrivacySettings;->setUid(I)V
11666 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11668 + invoke-virtual {v2, v8}, Landroid/privacy/PrivacySettingsManager;->saveSettings(Landroid/privacy/PrivacySettings;)Z
11713 +.method private static hashCode(Landroid/content/Intent;)J
11716 + const-wide/16 v3, 0x0
11718 + const-string/jumbo v2, "privacy_hash"
11720 + invoke-virtual {p0, v2, v3, v4}, Landroid/content/Intent;->getLongExtra(Ljava/lang/String;J)J
11722 + move-result-wide v0
11724 + cmp-long v2, v0, v3
11726 + if-nez v2, :cond_1e
11728 + invoke-virtual {p0}, Landroid/content/Intent;->filterHashCode()I
11732 + int-to-long v2, v2
11734 + invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
11736 + move-result-wide v4
11738 + add-long v0, v2, v4
11740 + const-string/jumbo v2, "privacy_hash"
11742 + invoke-virtual {p0, v2, v0, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;J)Landroid/content/Intent;
11747 diff -Npru -x '*RIL*' pdroid-framework/smali/android/privacy/surrogate/PrivacyContentResolver.smali stock-framework/smali/android/privacy/surrogate/PrivacyContentResolver.smali
11748 --- pdroid-framework/smali/android/privacy/surrogate/PrivacyContentResolver.smali 1969-12-31 18:00:00.000000000 -0600
11749 +++ stock-framework/smali/android/privacy/surrogate/PrivacyContentResolver.smali 2012-10-13 14:14:43.390155572 -0500
11751 +.class public final Landroid/privacy/surrogate/PrivacyContentResolver;
11752 +.super Ljava/lang/Object;
11753 +.source "PrivacyContentResolver.java"
11757 +.field private static final TAG:Ljava/lang/String; = "PrivacyContentResolver"
11759 +.field private static pSetMan:Landroid/privacy/PrivacySettingsManager;
11763 +.method public constructor <init>()V
11766 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
11771 +.method private static arrayToString([Ljava/lang/String;)Ljava/lang/String;
11774 + new-instance v4, Ljava/lang/StringBuffer;
11776 + invoke-direct {v4}, Ljava/lang/StringBuffer;-><init>()V
11778 + if-eqz p0, :cond_2d
11780 + move-object v0, p0
11782 + array-length v3, v0
11787 + if-ge v2, v3, :cond_30
11789 + aget-object v1, v0, v2
11791 + new-instance v5, Ljava/lang/StringBuilder;
11793 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
11795 + const-string v6, "["
11797 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
11799 + move-result-object v5
11801 + invoke-virtual {v5, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
11803 + move-result-object v5
11805 + const-string v6, "]"
11807 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
11809 + move-result-object v5
11811 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
11813 + move-result-object v5
11815 + invoke-virtual {v4, v5}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
11817 + add-int/lit8 v2, v2, 0x1
11822 + const-string v5, ""
11828 + invoke-virtual {v4}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String;
11830 + move-result-object v5
11835 +.method public static enforcePrivacyPermission(Landroid/net/Uri;[Ljava/lang/String;Landroid/content/Context;Landroid/database/Cursor;)Landroid/database/Cursor;
11837 + .annotation system Ldalvik/annotation/Throws;
11839 + Landroid/os/RemoteException;
11843 + if-eqz p0, :cond_1e4
11845 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11847 + if-nez v1, :cond_13
11849 + const-string/jumbo v1, "privacy"
11851 + move-object/from16 v0, p2
11853 + invoke-virtual {v0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
11855 + move-result-object v1
11857 + check-cast v1, Landroid/privacy/PrivacySettingsManager;
11859 + sput-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11862 + invoke-virtual/range {p2 .. p2}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
11864 + move-result-object v2
11866 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
11870 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11872 + invoke-virtual {v1, v2, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
11874 + move-result-object v7
11876 + invoke-virtual/range {p0 .. p0}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
11878 + move-result-object v9
11880 + const-string v15, "[real]"
11882 + move-object/from16 v13, p3
11884 + if-eqz v9, :cond_54
11886 + const-string v1, "contacts"
11888 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11892 + if-nez v1, :cond_3b
11894 + const-string v1, "com.android.contacts"
11896 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11900 + if-eqz v1, :cond_ab
11903 + if-eqz v7, :cond_54
11905 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getContactsSetting()B
11911 + if-ne v1, v4, :cond_55
11913 + const-string v15, "[empty]"
11915 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
11917 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
11919 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11923 + const-string v5, "contacts"
11927 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11931 + return-object v13
11934 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getContactsSetting()B
11940 + if-ne v1, v4, :cond_a1
11942 + invoke-virtual/range {p0 .. p0}, Landroid/net/Uri;->toString()Ljava/lang/String;
11944 + move-result-object v1
11946 + sget-object v4, Landroid/provider/ContactsContract$Contacts;->CONTENT_URI:Landroid/net/Uri;
11948 + invoke-virtual {v4}, Landroid/net/Uri;->toString()Ljava/lang/String;
11950 + move-result-object v4
11952 + invoke-virtual {v1, v4}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
11956 + if-eqz v1, :cond_a1
11960 + if-eqz p1, :cond_82
11962 + move-object/from16 v8, p1
11964 + array-length v12, v8
11969 + if-ge v10, v12, :cond_82
11971 + aget-object v16, v8, v10
11973 + const-string v1, "_id"
11975 + move-object/from16 v0, v16
11977 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11981 + if-eqz v1, :cond_93
11986 + if-nez v11, :cond_96
11988 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
11990 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
11993 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11997 + const-string v5, "contacts"
12001 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12006 + add-int/lit8 v10, v10, 0x1
12011 + new-instance v14, Landroid/privacy/surrogate/PrivacyCursor;
12013 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getAllowedContacts()[I
12015 + move-result-object v1
12017 + invoke-direct {v14, v13, v1}, Landroid/privacy/surrogate/PrivacyCursor;-><init>(Landroid/database/Cursor;[I)V
12019 + move-object v13, v14
12024 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12028 + const-string v5, "contacts"
12032 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12037 + const-string v1, "com.android.calendar"
12039 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12043 + if-eqz v1, :cond_d8
12045 + if-eqz v7, :cond_cd
12047 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getCalendarSetting()B
12053 + if-ne v1, v4, :cond_cd
12055 + const-string v15, "[empty]"
12057 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12059 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12061 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12065 + const-string v5, "calendar"
12069 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12074 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12078 + const-string v5, "calendar"
12082 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12087 + sget-object v1, Landroid/provider/Telephony$Mms;->CONTENT_URI:Landroid/net/Uri;
12089 + invoke-virtual {v1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
12091 + move-result-object v1
12093 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12097 + if-eqz v1, :cond_10c
12099 + if-eqz v7, :cond_100
12101 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getMmsSetting()B
12107 + if-ne v1, v4, :cond_100
12109 + const-string v15, "[empty]"
12111 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12113 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12115 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12119 + const-string/jumbo v5, "mms"
12123 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12128 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12132 + const-string/jumbo v5, "mms"
12136 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12141 + sget-object v1, Landroid/provider/Telephony$Sms;->CONTENT_URI:Landroid/net/Uri;
12143 + invoke-virtual {v1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
12145 + move-result-object v1
12147 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12151 + if-eqz v1, :cond_140
12153 + if-eqz v7, :cond_134
12155 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getSmsSetting()B
12161 + if-ne v1, v4, :cond_134
12163 + const-string v15, "[empty]"
12165 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12167 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12169 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12173 + const-string/jumbo v5, "sms"
12177 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12182 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12186 + const-string/jumbo v5, "sms"
12190 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12195 + sget-object v1, Landroid/provider/Telephony$MmsSms;->CONTENT_URI:Landroid/net/Uri;
12197 + invoke-virtual {v1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
12199 + move-result-object v1
12201 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12205 + if-nez v1, :cond_155
12207 + const-string/jumbo v1, "mms-sms-v2"
12209 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12213 + if-eqz v1, :cond_184
12216 + if-eqz v7, :cond_178
12218 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getMmsSetting()B
12224 + if-eq v1, v4, :cond_165
12226 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getSmsSetting()B
12232 + if-ne v1, v4, :cond_178
12235 + const-string v15, "[empty]"
12237 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12239 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12241 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12245 + const-string/jumbo v5, "mmsSms"
12249 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12254 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12258 + const-string/jumbo v5, "mmsSms"
12262 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12267 + const-string v1, "call_log"
12269 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12273 + if-eqz v1, :cond_1b2
12275 + if-eqz v7, :cond_1a7
12277 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getCallLogSetting()B
12283 + if-ne v1, v4, :cond_1a7
12285 + const-string v15, "[empty]"
12287 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12289 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12291 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12295 + const-string v5, "callLog"
12299 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12304 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12308 + const-string v5, "callLog"
12312 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12317 + sget-object v1, Landroid/provider/Browser;->BOOKMARKS_URI:Landroid/net/Uri;
12319 + invoke-virtual {v1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
12321 + move-result-object v1
12323 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12327 + if-eqz v1, :cond_54
12329 + if-eqz v7, :cond_1d9
12331 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getBookmarksSetting()B
12337 + if-ne v1, v4, :cond_1d9
12339 + const-string v15, "[empty]"
12341 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12343 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12345 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12349 + const-string v5, "bookmarks"
12353 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12358 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12362 + const-string v5, "bookmarks"
12366 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12371 + move-object/from16 v13, p3
12375 diff -Npru -x '*RIL*' pdroid-framework/smali/android/privacy/surrogate/PrivacyCursor.smali stock-framework/smali/android/privacy/surrogate/PrivacyCursor.smali
12376 --- pdroid-framework/smali/android/privacy/surrogate/PrivacyCursor.smali 1969-12-31 18:00:00.000000000 -0600
12377 +++ stock-framework/smali/android/privacy/surrogate/PrivacyCursor.smali 2012-10-13 14:14:43.410155672 -0500
12379 +.class public Landroid/privacy/surrogate/PrivacyCursor;
12380 +.super Ljava/lang/Object;
12381 +.source "PrivacyCursor.java"
12384 +.implements Landroid/database/Cursor;
12388 +.field private static final TAG:Ljava/lang/String; = "PrivacyCursor"
12392 +.field private allowedIdMapping:[I
12394 +.field private allowedIds:[I
12396 +.field private realCursor:Landroid/database/Cursor;
12400 +.method public constructor <init>()V
12403 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
12408 +.method public constructor <init>(Landroid/database/Cursor;[I)V
12411 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
12413 + if-eqz p2, :cond_8
12415 + array-length v2, p2
12417 + if-nez v2, :cond_9
12423 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12425 + iput-object p2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIds:[I
12427 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12429 + if-eqz v2, :cond_3f
12431 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12433 + invoke-interface {v2}, Landroid/database/Cursor;->getPosition()I
12437 + array-length v2, p2
12439 + new-array v2, v2, [I
12441 + iput-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
12447 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12449 + invoke-interface {v2}, Landroid/database/Cursor;->moveToNext()Z
12453 + if-eqz v2, :cond_3a
12455 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12457 + invoke-direct {p0, v2}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(Landroid/database/Cursor;)Z
12461 + if-eqz v2, :cond_1d
12463 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
12465 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12467 + invoke-interface {v3}, Landroid/database/Cursor;->getPosition()I
12473 + add-int/lit8 v1, v1, 0x1
12478 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12480 + invoke-interface {v2, v0}, Landroid/database/Cursor;->moveToPosition(I)Z
12486 +.method private getContactId(Landroid/database/Cursor;)I
12489 + const-string v2, "_id"
12491 + invoke-interface {p1, v2}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
12499 + if-eq v0, v2, :cond_e
12501 + invoke-interface {p1, v0}, Landroid/database/Cursor;->getInt(I)I
12509 +.method private getMappedPos(I)I
12515 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
12517 + array-length v1, v1
12519 + if-ge v0, v1, :cond_10
12521 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
12525 + if-ne v1, p1, :cond_d
12531 + add-int/lit8 v0, v0, 0x1
12541 +.method private isAllowed(I)Z
12546 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIds:[I
12548 + array-length v3, v0
12553 + if-ge v2, v3, :cond_c
12557 + if-ne p1, v1, :cond_d
12565 + add-int/lit8 v2, v2, 0x1
12570 +.method private isAllowed(Landroid/database/Cursor;)Z
12573 + invoke-direct {p0, p1}, Landroid/privacy/surrogate/PrivacyCursor;->getContactId(Landroid/database/Cursor;)I
12577 + invoke-direct {p0, v0}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(I)Z
12586 +.method public close()V
12589 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12591 + if-eqz v0, :cond_9
12593 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12595 + invoke-interface {v0}, Landroid/database/Cursor;->close()V
12601 +.method public copyStringToBuffer(ILandroid/database/CharArrayBuffer;)V
12604 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12606 + if-eqz v0, :cond_9
12608 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12610 + invoke-interface {v0, p1, p2}, Landroid/database/Cursor;->copyStringToBuffer(ILandroid/database/CharArrayBuffer;)V
12616 +.method public deactivate()V
12619 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12621 + if-eqz v0, :cond_9
12623 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12625 + invoke-interface {v0}, Landroid/database/Cursor;->deactivate()V
12631 +.method public getBlob(I)[B
12634 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12636 + if-eqz v0, :cond_b
12638 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12640 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getBlob(I)[B
12642 + move-result-object v0
12650 + new-array v0, v0, [B
12655 +.method public getColumnCount()I
12658 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12660 + if-eqz v0, :cond_b
12662 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12664 + invoke-interface {v0}, Landroid/database/Cursor;->getColumnCount()I
12677 +.method public getColumnIndex(Ljava/lang/String;)I
12680 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12682 + if-eqz v0, :cond_b
12684 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12686 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
12699 +.method public getColumnIndexOrThrow(Ljava/lang/String;)I
12701 + .annotation system Ldalvik/annotation/Throws;
12703 + Ljava/lang/IllegalArgumentException;
12707 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12709 + if-eqz v0, :cond_b
12711 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12713 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getColumnIndexOrThrow(Ljava/lang/String;)I
12726 +.method public getColumnName(I)Ljava/lang/String;
12729 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12731 + if-eqz v0, :cond_b
12733 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12735 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getColumnName(I)Ljava/lang/String;
12737 + move-result-object v0
12743 + const-string v0, ""
12748 +.method public getColumnNames()[Ljava/lang/String;
12751 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12753 + if-eqz v0, :cond_b
12755 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12757 + invoke-interface {v0}, Landroid/database/Cursor;->getColumnNames()[Ljava/lang/String;
12759 + move-result-object v0
12767 + new-array v0, v0, [Ljava/lang/String;
12771 + const-string v2, ""
12773 + aput-object v2, v0, v1
12778 +.method public getCount()I
12781 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12783 + if-eqz v0, :cond_23
12785 + const-string v0, "PrivacyCursor"
12787 + new-instance v1, Ljava/lang/StringBuilder;
12789 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
12791 + const-string v2, "getCount: "
12793 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
12795 + move-result-object v1
12797 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
12799 + array-length v2, v2
12801 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
12803 + move-result-object v1
12805 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
12807 + move-result-object v1
12809 + invoke-static {v0, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
12811 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
12813 + array-length v0, v0
12824 +.method public getDouble(I)D
12827 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12829 + if-eqz v0, :cond_b
12831 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12833 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getDouble(I)D
12835 + move-result-wide v0
12841 + const-wide/16 v0, 0x0
12846 +.method public getExtras()Landroid/os/Bundle;
12849 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12851 + if-eqz v0, :cond_b
12853 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12855 + invoke-interface {v0}, Landroid/database/Cursor;->getExtras()Landroid/os/Bundle;
12857 + move-result-object v0
12863 + new-instance v0, Landroid/os/Bundle;
12865 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
12870 +.method public getFloat(I)F
12873 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12875 + if-eqz v0, :cond_b
12877 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12879 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getFloat(I)F
12892 +.method public getInt(I)I
12895 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12897 + if-eqz v1, :cond_b
12899 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12901 + invoke-interface {v1, p1}, Landroid/database/Cursor;->getInt(I)I
12914 +.method public getLong(I)J
12917 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12919 + if-eqz v0, :cond_b
12921 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12923 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getLong(I)J
12925 + move-result-wide v0
12931 + const-wide/16 v0, 0x0
12936 +.method public getPosition()I
12939 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12941 + if-eqz v1, :cond_37
12943 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12945 + invoke-interface {v1}, Landroid/database/Cursor;->getPosition()I
12949 + invoke-direct {p0, v1}, Landroid/privacy/surrogate/PrivacyCursor;->getMappedPos(I)I
12953 + const-string v1, "PrivacyCursor"
12955 + new-instance v2, Ljava/lang/StringBuilder;
12957 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
12959 + const-string v3, "getPosition - mapped position: "
12961 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
12963 + move-result-object v2
12965 + invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
12967 + move-result-object v2
12969 + const-string v3, " real position: "
12971 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
12973 + move-result-object v2
12975 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12977 + invoke-interface {v3}, Landroid/database/Cursor;->getPosition()I
12981 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
12983 + move-result-object v2
12985 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
12987 + move-result-object v2
12989 + invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
13000 +.method public getShort(I)S
13003 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13005 + if-eqz v0, :cond_b
13007 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13009 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getShort(I)S
13022 +.method public getString(I)Ljava/lang/String;
13025 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13027 + if-eqz v0, :cond_b
13029 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13031 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
13033 + move-result-object v0
13039 + const-string v0, ""
13044 +.method public getType(I)I
13047 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13049 + if-eqz v0, :cond_b
13051 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13053 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getType(I)I
13061 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13068 +.method public getWantsAllOnMoveCalls()Z
13071 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13073 + if-eqz v0, :cond_b
13075 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13077 + invoke-interface {v0}, Landroid/database/Cursor;->getWantsAllOnMoveCalls()Z
13090 +.method public isAfterLast()Z
13093 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13095 + if-eqz v0, :cond_b
13097 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13099 + invoke-interface {v0}, Landroid/database/Cursor;->isAfterLast()Z
13112 +.method public isBeforeFirst()Z
13115 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13117 + if-eqz v0, :cond_b
13119 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13121 + invoke-interface {v0}, Landroid/database/Cursor;->isBeforeFirst()Z
13134 +.method public isClosed()Z
13137 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13139 + if-eqz v0, :cond_b
13141 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13143 + invoke-interface {v0}, Landroid/database/Cursor;->isClosed()Z
13156 +.method public isFirst()Z
13161 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13163 + if-eqz v1, :cond_12
13165 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13167 + invoke-interface {v1}, Landroid/database/Cursor;->getPosition()I
13171 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13175 + if-ne v1, v2, :cond_12
13183 +.method public isLast()Z
13186 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13188 + if-eqz v0, :cond_17
13190 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13192 + invoke-interface {v0}, Landroid/database/Cursor;->getPosition()I
13196 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13198 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13200 + array-length v2, v2
13202 + add-int/lit8 v2, v2, -0x1
13206 + if-ne v0, v1, :cond_17
13219 +.method public isNull(I)Z
13222 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13224 + if-eqz v0, :cond_b
13226 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13228 + invoke-interface {v0, p1}, Landroid/database/Cursor;->isNull(I)Z
13241 +.method public move(I)Z
13246 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13248 + if-eqz v3, :cond_33
13250 + const-string v3, "PrivacyCursor"
13252 + new-instance v4, Ljava/lang/StringBuilder;
13254 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
13256 + const-string/jumbo v5, "move - offset: "
13258 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13260 + move-result-object v4
13262 + invoke-virtual {v4, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
13264 + move-result-object v4
13266 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
13268 + move-result-object v4
13270 + invoke-static {v3, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
13273 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13275 + iget-object v4, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13277 + invoke-interface {v4}, Landroid/database/Cursor;->getPosition()I
13281 + invoke-direct {p0, v4}, Landroid/privacy/surrogate/PrivacyCursor;->getMappedPos(I)I
13285 + add-int/2addr v4, p1
13289 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13291 + invoke-interface {v3, v1}, Landroid/database/Cursor;->moveToPosition(I)Z
13293 + .catch Ljava/lang/ArrayIndexOutOfBoundsException; {:try_start_1e .. :try_end_32} :catch_34
13302 + move-exception v0
13307 +.method public moveToFirst()Z
13312 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13314 + if-eqz v1, :cond_f
13316 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13318 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13322 + invoke-interface {v1, v2}, Landroid/database/Cursor;->moveToPosition(I)Z
13330 +.method public moveToLast()Z
13333 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13335 + if-eqz v1, :cond_14
13337 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13339 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13341 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13343 + array-length v3, v3
13345 + add-int/lit8 v3, v3, -0x1
13349 + invoke-interface {v1, v2}, Landroid/database/Cursor;->moveToPosition(I)Z
13362 +.method public moveToNext()Z
13367 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13369 + if-eqz v1, :cond_d
13371 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13373 + invoke-interface {v1}, Landroid/database/Cursor;->moveToNext()Z
13377 + if-nez v1, :cond_e
13388 + if-ne v0, v1, :cond_d
13390 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13392 + invoke-direct {p0, v1}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(Landroid/database/Cursor;)Z
13396 + if-nez v1, :cond_d
13398 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13400 + invoke-interface {v1}, Landroid/database/Cursor;->moveToNext()Z
13407 +.method public moveToPosition(I)Z
13412 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13414 + if-eqz v2, :cond_f
13417 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13419 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13423 + invoke-interface {v2, v3}, Landroid/database/Cursor;->moveToPosition(I)Z
13425 + .catch Ljava/lang/ArrayIndexOutOfBoundsException; {:try_start_5 .. :try_end_e} :catch_10
13434 + move-exception v0
13439 +.method public moveToPrevious()Z
13444 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13446 + if-eqz v1, :cond_d
13448 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13450 + invoke-interface {v1}, Landroid/database/Cursor;->moveToPrevious()Z
13454 + if-nez v1, :cond_e
13465 + if-ne v0, v1, :cond_d
13467 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13469 + invoke-direct {p0, v1}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(Landroid/database/Cursor;)Z
13473 + if-nez v1, :cond_d
13475 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13477 + invoke-interface {v1}, Landroid/database/Cursor;->moveToPrevious()Z
13484 +.method public registerContentObserver(Landroid/database/ContentObserver;)V
13487 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13489 + if-eqz v0, :cond_9
13491 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13493 + invoke-interface {v0, p1}, Landroid/database/Cursor;->registerContentObserver(Landroid/database/ContentObserver;)V
13499 +.method public registerDataSetObserver(Landroid/database/DataSetObserver;)V
13502 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13504 + if-eqz v0, :cond_9
13506 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13508 + invoke-interface {v0, p1}, Landroid/database/Cursor;->registerDataSetObserver(Landroid/database/DataSetObserver;)V
13514 +.method public requery()Z
13517 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13519 + if-eqz v0, :cond_b
13521 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13523 + invoke-interface {v0}, Landroid/database/Cursor;->requery()Z
13536 +.method public respond(Landroid/os/Bundle;)Landroid/os/Bundle;
13539 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13541 + if-eqz v0, :cond_b
13543 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13545 + invoke-interface {v0, p1}, Landroid/database/Cursor;->respond(Landroid/os/Bundle;)Landroid/os/Bundle;
13547 + move-result-object v0
13553 + new-instance v0, Landroid/os/Bundle;
13555 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
13560 +.method public setNotificationUri(Landroid/content/ContentResolver;Landroid/net/Uri;)V
13563 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13565 + if-eqz v0, :cond_9
13567 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13569 + invoke-interface {v0, p1, p2}, Landroid/database/Cursor;->setNotificationUri(Landroid/content/ContentResolver;Landroid/net/Uri;)V
13575 +.method public unregisterContentObserver(Landroid/database/ContentObserver;)V
13578 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13580 + if-eqz v0, :cond_9
13582 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13584 + invoke-interface {v0, p1}, Landroid/database/Cursor;->unregisterContentObserver(Landroid/database/ContentObserver;)V
13590 +.method public unregisterDataSetObserver(Landroid/database/DataSetObserver;)V
13593 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13595 + if-eqz v0, :cond_9
13597 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13599 + invoke-interface {v0, p1}, Landroid/database/Cursor;->unregisterDataSetObserver(Landroid/database/DataSetObserver;)V
13604 diff -Npru -x '*RIL*' pdroid-framework/smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali stock-framework/smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali
13605 --- pdroid-framework/smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali 1969-12-31 18:00:00.000000000 -0600
13606 +++ stock-framework/smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali 2012-10-13 14:14:43.410155672 -0500
13608 +.class Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
13609 +.super Ljava/lang/Thread;
13610 +.source "PrivacyLocationManager.java"
13614 +.annotation system Ldalvik/annotation/EnclosingClass;
13615 + value = Landroid/privacy/surrogate/PrivacyLocationManager;
13618 +.annotation system Ldalvik/annotation/InnerClass;
13619 + accessFlags = 0x2
13620 + name = "PrivacyLocationUpdater"
13625 +.field private intent:Landroid/app/PendingIntent;
13627 +.field private latitude:D
13629 +.field private listener:Landroid/location/LocationListener;
13631 +.field private longitude:D
13633 +.field private provider:Ljava/lang/String;
13635 +.field final synthetic this$0:Landroid/privacy/surrogate/PrivacyLocationManager;
13639 +.method public constructor <init>(Landroid/privacy/surrogate/PrivacyLocationManager;Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;DD)V
13642 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->this$0:Landroid/privacy/surrogate/PrivacyLocationManager;
13644 + invoke-direct {p0}, Ljava/lang/Thread;-><init>()V
13646 + iput-object p2, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->provider:Ljava/lang/String;
13648 + iput-object p3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->listener:Landroid/location/LocationListener;
13650 + iput-object p4, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->intent:Landroid/app/PendingIntent;
13652 + iput-wide p5, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->latitude:D
13654 + iput-wide p7, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->longitude:D
13661 +.method public run()V
13664 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->provider:Ljava/lang/String;
13666 + if-eqz v3, :cond_43
13668 + new-instance v2, Landroid/location/Location;
13670 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->provider:Ljava/lang/String;
13672 + invoke-direct {v2, v3}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
13674 + iget-wide v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->latitude:D
13676 + invoke-virtual {v2, v3, v4}, Landroid/location/Location;->setLatitude(D)V
13678 + iget-wide v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->longitude:D
13680 + invoke-virtual {v2, v3, v4}, Landroid/location/Location;->setLongitude(D)V
13687 + if-ge v1, v3, :cond_43
13689 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->listener:Landroid/location/LocationListener;
13691 + if-eqz v3, :cond_34
13693 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->listener:Landroid/location/LocationListener;
13695 + invoke-interface {v3, v2}, Landroid/location/LocationListener;->onLocationChanged(Landroid/location/Location;)V
13700 + invoke-static {}, Ljava/lang/Math;->random()D
13702 + move-result-wide v3
13704 + const-wide v5, 0x408f400000000000L
13706 + mul-double/2addr v3, v5
13708 + double-to-int v3, v3
13710 + int-to-long v3, v3
13712 + invoke-static {v3, v4}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->sleep(J)V
13714 + .catch Ljava/lang/InterruptedException; {:try_start_22 .. :try_end_31} :catch_3e
13717 + add-int/lit8 v1, v1, 0x1
13722 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->intent:Landroid/app/PendingIntent;
13724 + if-eqz v3, :cond_22
13726 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->intent:Landroid/app/PendingIntent;
13728 + invoke-virtual {v3}, Landroid/app/PendingIntent;->cancel()V
13733 + move-exception v0
13735 + invoke-virtual {v0}, Ljava/lang/InterruptedException;->printStackTrace()V
13742 diff -Npru -x '*RIL*' pdroid-framework/smali/android/privacy/surrogate/PrivacyLocationManager.smali stock-framework/smali/android/privacy/surrogate/PrivacyLocationManager.smali
13743 --- pdroid-framework/smali/android/privacy/surrogate/PrivacyLocationManager.smali 1969-12-31 18:00:00.000000000 -0600
13744 +++ stock-framework/smali/android/privacy/surrogate/PrivacyLocationManager.smali 2012-10-13 14:14:43.414155691 -0500
13746 +.class public final Landroid/privacy/surrogate/PrivacyLocationManager;
13747 +.super Landroid/location/LocationManager;
13748 +.source "PrivacyLocationManager.java"
13752 +.annotation system Ldalvik/annotation/MemberClasses;
13754 + Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
13760 +.field private static final CUSTOM_LOCATION_UPDATE_COUNT:I = 0x5
13762 +.field private static final TAG:Ljava/lang/String; = "PrivacyLocationManager"
13766 +.field private context:Landroid/content/Context;
13768 +.field private lock:Ljava/lang/Object;
13770 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
13774 +.method public constructor <init>(Landroid/location/ILocationManager;Landroid/content/Context;)V
13777 + invoke-direct {p0, p2, p1}, Landroid/location/LocationManager;-><init>(Landroid/content/Context;Landroid/location/ILocationManager;)V
13779 + new-instance v0, Ljava/lang/Object;
13781 + invoke-direct {v0}, Ljava/lang/Object;-><init>()V
13783 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->lock:Ljava/lang/Object;
13785 + iput-object p2, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
13787 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
13789 + const-string/jumbo v1, "privacy"
13791 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
13793 + move-result-object v1
13795 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
13797 + move-result-object v1
13799 + invoke-direct {v0, p2, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
13801 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
13806 +.method private requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
13811 + if-nez p1, :cond_5
13819 + invoke-virtual {p1}, Landroid/location/Criteria;->getAccuracy()I
13825 + if-eq v0, v1, :cond_24
13827 + invoke-virtual {p1}, Landroid/location/Criteria;->getBearingAccuracy()I
13831 + if-eq v0, v2, :cond_24
13833 + invoke-virtual {p1}, Landroid/location/Criteria;->getHorizontalAccuracy()I
13837 + if-eq v0, v2, :cond_24
13839 + invoke-virtual {p1}, Landroid/location/Criteria;->getVerticalAccuracy()I
13843 + if-eq v0, v2, :cond_24
13845 + invoke-virtual {p1}, Landroid/location/Criteria;->getSpeedAccuracy()I
13849 + if-ne v0, v2, :cond_2b
13852 + const-string v0, "gps"
13854 + invoke-direct {p0, v0, p2, p3}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
13861 + const-string/jumbo v0, "network"
13863 + invoke-direct {p0, v0, p2, p3}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
13870 +.method private requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
13873 + move-object/from16 v0, p0
13875 + iget-object v0, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->lock:Ljava/lang/Object;
13877 + move-object/from16 v19, v0
13879 + monitor-enter v19
13882 + move-object/from16 v0, p0
13884 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
13886 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
13888 + move-result-object v2
13890 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
13894 + move-object/from16 v0, p0
13896 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
13898 + invoke-virtual {v1, v2, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
13900 + move-result-object v7
13902 + const/16 v18, 0x0
13904 + if-eqz v7, :cond_239
13906 + const-string v1, "gps"
13908 + move-object/from16 v0, p1
13910 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
13914 + if-eqz v1, :cond_111
13916 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
13920 + packed-switch v1, :pswitch_data_25e
13929 + move-object/from16 v0, p0
13931 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
13935 + const-string v5, "locationGPS"
13939 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
13944 + move-exception v1
13948 + .catchall {:try_start_7 .. :try_end_40} :catchall_3e
13953 + if-eqz p3, :cond_46
13956 + invoke-virtual/range {p3 .. p3}, Landroid/app/PendingIntent;->cancel()V
13959 + const/16 v18, 0x1
13961 + move-object/from16 v0, p0
13963 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
13967 + const-string v5, "locationGPS"
13971 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
13973 + .catchall {:try_start_43 .. :try_end_53} :catchall_3e
13979 + new-instance v8, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
13981 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
13983 + move-result-object v1
13985 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
13987 + move-result-wide v13
13989 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
13991 + move-result-object v1
13993 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
13995 + move-result-wide v15
13997 + move-object/from16 v9, p0
13999 + move-object/from16 v10, p1
14001 + move-object/from16 v11, p2
14003 + move-object/from16 v12, p3
14005 + 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
14007 + invoke-virtual {v8}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->start()V
14009 + .catchall {:try_start_54 .. :try_end_74} :catchall_3e
14010 + .catch Ljava/lang/NumberFormatException; {:try_start_54 .. :try_end_74} :catch_a6
14012 + const/16 v18, 0x1
14016 + move-object/from16 v0, p0
14018 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14022 + const-string v5, "locationGPS"
14024 + new-instance v6, Ljava/lang/StringBuilder;
14026 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
14028 + const-string v8, "Lat: "
14030 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14032 + move-result-object v6
14034 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
14036 + move-result-object v8
14038 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14040 + move-result-object v6
14042 + const-string v8, " Lon: "
14044 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14046 + move-result-object v6
14048 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
14050 + move-result-object v8
14052 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14054 + move-result-object v6
14056 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14058 + move-result-object v6
14060 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14065 + move-exception v17
14067 + const-string v1, "PrivacyLocationManager"
14069 + const-string/jumbo v4, "requestLocationUpdates: invalid coordinates"
14071 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
14073 + .catchall {:try_start_76 .. :try_end_af} :catchall_3e
14075 + const/16 v18, 0x1
14081 + new-instance v8, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
14083 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
14085 + move-result-object v1
14087 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14089 + move-result-wide v13
14091 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
14093 + move-result-object v1
14095 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14097 + move-result-wide v15
14099 + move-object/from16 v9, p0
14101 + move-object/from16 v10, p1
14103 + move-object/from16 v11, p2
14105 + move-object/from16 v12, p3
14107 + 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
14109 + invoke-virtual {v8}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->start()V
14111 + .catchall {:try_start_b2 .. :try_end_d2} :catchall_3e
14112 + .catch Ljava/lang/NumberFormatException; {:try_start_b2 .. :try_end_d2} :catch_105
14114 + const/16 v18, 0x1
14118 + move-object/from16 v0, p0
14120 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14124 + const-string v5, "locationGPS"
14126 + new-instance v6, Ljava/lang/StringBuilder;
14128 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
14130 + const-string v8, "Lat: "
14132 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14134 + move-result-object v6
14136 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
14138 + move-result-object v8
14140 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14142 + move-result-object v6
14144 + const-string v8, " Lon: "
14146 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14148 + move-result-object v6
14150 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
14152 + move-result-object v8
14154 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14156 + move-result-object v6
14158 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14160 + move-result-object v6
14162 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14167 + move-exception v17
14169 + const-string v1, "PrivacyLocationManager"
14171 + const-string/jumbo v4, "requestLocationUpdates: invalid coordinates"
14173 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
14175 + const/16 v18, 0x1
14180 + const-string/jumbo v1, "network"
14182 + move-object/from16 v0, p1
14184 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
14188 + if-eqz v1, :cond_204
14190 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
14194 + packed-switch v1, :pswitch_data_26a
14199 + move-object/from16 v0, p0
14201 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14205 + const-string v5, "locationNetwork"
14209 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14214 + if-eqz p3, :cond_137
14216 + invoke-virtual/range {p3 .. p3}, Landroid/app/PendingIntent;->cancel()V
14219 + const/16 v18, 0x1
14221 + move-object/from16 v0, p0
14223 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14227 + const-string v5, "locationNetwork"
14231 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14233 + .catchall {:try_start_d4 .. :try_end_144} :catchall_3e
14239 + new-instance v8, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
14241 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
14243 + move-result-object v1
14245 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14247 + move-result-wide v13
14249 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
14251 + move-result-object v1
14253 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14255 + move-result-wide v15
14257 + move-object/from16 v9, p0
14259 + move-object/from16 v10, p1
14261 + move-object/from16 v11, p2
14263 + move-object/from16 v12, p3
14265 + 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
14267 + invoke-virtual {v8}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->start()V
14269 + .catchall {:try_start_146 .. :try_end_166} :catchall_3e
14270 + .catch Ljava/lang/NumberFormatException; {:try_start_146 .. :try_end_166} :catch_199
14272 + const/16 v18, 0x1
14276 + move-object/from16 v0, p0
14278 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14282 + const-string v5, "locationNetwork"
14284 + new-instance v6, Ljava/lang/StringBuilder;
14286 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
14288 + const-string v8, "Lat: "
14290 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14292 + move-result-object v6
14294 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
14296 + move-result-object v8
14298 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14300 + move-result-object v6
14302 + const-string v8, " Lon: "
14304 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14306 + move-result-object v6
14308 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
14310 + move-result-object v8
14312 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14314 + move-result-object v6
14316 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14318 + move-result-object v6
14320 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14325 + move-exception v17
14327 + const-string v1, "PrivacyLocationManager"
14329 + const-string/jumbo v4, "requestLocationUpdates: invalid coordinates"
14331 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
14333 + .catchall {:try_start_168 .. :try_end_1a2} :catchall_3e
14335 + const/16 v18, 0x1
14341 + new-instance v8, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
14343 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
14345 + move-result-object v1
14347 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14349 + move-result-wide v13
14351 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
14353 + move-result-object v1
14355 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14357 + move-result-wide v15
14359 + move-object/from16 v9, p0
14361 + move-object/from16 v10, p1
14363 + move-object/from16 v11, p2
14365 + move-object/from16 v12, p3
14367 + 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
14369 + invoke-virtual {v8}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->start()V
14371 + .catchall {:try_start_1a5 .. :try_end_1c5} :catchall_3e
14372 + .catch Ljava/lang/NumberFormatException; {:try_start_1a5 .. :try_end_1c5} :catch_1f8
14374 + const/16 v18, 0x1
14378 + move-object/from16 v0, p0
14380 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14384 + const-string v5, "locationNetwork"
14386 + new-instance v6, Ljava/lang/StringBuilder;
14388 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
14390 + const-string v8, "Lat: "
14392 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14394 + move-result-object v6
14396 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
14398 + move-result-object v8
14400 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14402 + move-result-object v6
14404 + const-string v8, " Lon: "
14406 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14408 + move-result-object v6
14410 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
14412 + move-result-object v8
14414 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14416 + move-result-object v6
14418 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14420 + move-result-object v6
14422 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14427 + move-exception v17
14429 + const-string v1, "PrivacyLocationManager"
14431 + const-string/jumbo v4, "requestLocationUpdates: invalid coordinates"
14433 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
14435 + const/16 v18, 0x1
14440 + const-string/jumbo v1, "passive"
14442 + move-object/from16 v0, p1
14444 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
14448 + if-eqz v1, :cond_30
14450 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
14454 + if-nez v1, :cond_22a
14456 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
14460 + if-nez v1, :cond_22a
14462 + const/16 v18, 0x0
14464 + move-object/from16 v0, p0
14466 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14470 + const-string v5, "locationGPS"
14474 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14479 + const/16 v18, 0x1
14481 + move-object/from16 v0, p0
14483 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14487 + const-string v5, "locationGPS"
14491 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14496 + const-string/jumbo v1, "network"
14498 + move-object/from16 v0, p1
14500 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
14504 + if-eqz v1, :cond_251
14506 + move-object/from16 v0, p0
14508 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14512 + const-string v5, "locationNetwork"
14516 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14521 + move-object/from16 v0, p0
14523 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14527 + const-string v5, "locationGPS"
14531 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14533 + .catchall {:try_start_1c7 .. :try_end_25c} :catchall_3e
14537 + :pswitch_data_25e
14538 + .packed-switch 0x0
14543 + .end packed-switch
14545 + :pswitch_data_26a
14546 + .packed-switch 0x0
14551 + .end packed-switch
14556 +.method public addNmeaListener(Landroid/location/GpsStatus$NmeaListener;)Z
14563 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
14565 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
14567 + move-result-object v1
14569 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
14573 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14575 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
14577 + move-result-object v6
14579 + if-eqz v6, :cond_24
14581 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
14585 + if-eqz v0, :cond_24
14587 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14591 + const-string v4, "locationGPS"
14593 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14601 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14603 + const-string v4, "locationGPS"
14607 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14609 + invoke-super {p0, p1}, Landroid/location/LocationManager;->addNmeaListener(Landroid/location/GpsStatus$NmeaListener;)Z
14616 +.method public getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
14629 + if-nez p1, :cond_c
14631 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
14633 + move-result-object v7
14640 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
14642 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
14644 + move-result-object v1
14646 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
14650 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14652 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
14654 + move-result-object v6
14658 + if-eqz v6, :cond_22c
14660 + const-string v0, "gps"
14662 + invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
14666 + if-eqz v0, :cond_ff
14668 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
14672 + packed-switch v0, :pswitch_data_29a
14677 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
14679 + move-result-object v7
14681 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14683 + const-string v4, "locationGPS"
14685 + if-eqz v7, :cond_5e
14687 + new-instance v5, Ljava/lang/StringBuilder;
14689 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
14691 + const-string v8, "Lat: "
14693 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14695 + move-result-object v5
14697 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
14699 + move-result-wide v8
14701 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
14703 + move-result-object v5
14705 + const-string v8, " Lon: "
14707 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14709 + move-result-object v5
14711 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
14713 + move-result-wide v8
14715 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
14717 + move-result-object v5
14719 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14721 + move-result-object v5
14724 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14729 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14731 + const-string v4, "locationGPS"
14735 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14740 + new-instance v7, Landroid/location/Location;
14742 + invoke-direct {v7, p1}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
14744 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
14746 + move-result-object v0
14748 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14750 + move-result-wide v3
14752 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLatitude(D)V
14754 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
14756 + move-result-object v0
14758 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14760 + move-result-wide v3
14762 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLongitude(D)V
14764 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14766 + const-string v4, "locationGPS"
14768 + new-instance v3, Ljava/lang/StringBuilder;
14770 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
14772 + const-string v5, "Lat: "
14774 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14776 + move-result-object v3
14778 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
14780 + move-result-wide v8
14782 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
14784 + move-result-object v3
14786 + const-string v5, " Lon: "
14788 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14790 + move-result-object v3
14792 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
14794 + move-result-wide v8
14796 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
14798 + move-result-object v3
14800 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14802 + move-result-object v5
14806 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14811 + new-instance v7, Landroid/location/Location;
14813 + invoke-direct {v7, p1}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
14815 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
14817 + move-result-object v0
14819 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14821 + move-result-wide v3
14823 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLatitude(D)V
14825 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
14827 + move-result-object v0
14829 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14831 + move-result-wide v3
14833 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLongitude(D)V
14835 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14837 + const-string v4, "locationGPS"
14839 + new-instance v3, Ljava/lang/StringBuilder;
14841 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
14843 + const-string v5, "Lat: "
14845 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14847 + move-result-object v3
14849 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
14851 + move-result-wide v8
14853 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
14855 + move-result-object v3
14857 + const-string v5, " Lon: "
14859 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14861 + move-result-object v3
14863 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
14865 + move-result-wide v8
14867 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
14869 + move-result-object v3
14871 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14873 + move-result-object v5
14877 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14882 + const-string/jumbo v0, "network"
14884 + invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
14888 + if-eqz v0, :cond_1e3
14890 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
14894 + packed-switch v0, :pswitch_data_2a6
14899 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
14901 + move-result-object v7
14903 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14905 + const-string v4, "locationNetwork"
14907 + if-eqz v7, :cond_140
14909 + new-instance v5, Ljava/lang/StringBuilder;
14911 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
14913 + const-string v8, "Lat: "
14915 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14917 + move-result-object v5
14919 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
14921 + move-result-wide v8
14923 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
14925 + move-result-object v5
14927 + const-string v8, " Lon: "
14929 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14931 + move-result-object v5
14933 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
14935 + move-result-wide v8
14937 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
14939 + move-result-object v5
14941 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14943 + move-result-object v5
14946 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14951 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14953 + const-string v4, "locationNetwork"
14957 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14962 + new-instance v7, Landroid/location/Location;
14964 + invoke-direct {v7, p1}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
14966 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
14968 + move-result-object v0
14970 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14972 + move-result-wide v3
14974 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLatitude(D)V
14976 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
14978 + move-result-object v0
14980 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14982 + move-result-wide v3
14984 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLongitude(D)V
14986 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14988 + const-string v4, "locationNetwork"
14990 + new-instance v3, Ljava/lang/StringBuilder;
14992 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
14994 + const-string v5, "Lat: "
14996 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14998 + move-result-object v3
15000 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15002 + move-result-wide v8
15004 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15006 + move-result-object v3
15008 + const-string v5, " Lon: "
15010 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15012 + move-result-object v3
15014 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15016 + move-result-wide v8
15018 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15020 + move-result-object v3
15022 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15024 + move-result-object v5
15028 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15033 + new-instance v7, Landroid/location/Location;
15035 + invoke-direct {v7, p1}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
15037 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
15039 + move-result-object v0
15041 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
15043 + move-result-wide v3
15045 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLatitude(D)V
15047 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
15049 + move-result-object v0
15051 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
15053 + move-result-wide v3
15055 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLongitude(D)V
15057 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15059 + const-string v4, "locationNetwork"
15061 + new-instance v3, Ljava/lang/StringBuilder;
15063 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
15065 + const-string v5, "Lat: "
15067 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15069 + move-result-object v3
15071 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15073 + move-result-wide v8
15075 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15077 + move-result-object v3
15079 + const-string v5, " Lon: "
15081 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15083 + move-result-object v3
15085 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15087 + move-result-wide v8
15089 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15091 + move-result-object v3
15093 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15095 + move-result-object v5
15099 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15104 + const-string/jumbo v0, "passive"
15106 + invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15110 + if-eqz v0, :cond_b
15112 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
15116 + if-nez v0, :cond_b
15118 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15122 + if-nez v0, :cond_b
15124 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
15126 + move-result-object v7
15128 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15130 + const-string v4, "locationGPS"
15132 + if-eqz v7, :cond_227
15134 + new-instance v5, Ljava/lang/StringBuilder;
15136 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
15138 + const-string v8, "Lat: "
15140 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15142 + move-result-object v5
15144 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15146 + move-result-wide v8
15148 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15150 + move-result-object v5
15152 + const-string v8, " Lon: "
15154 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15156 + move-result-object v5
15158 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15160 + move-result-wide v8
15162 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15164 + move-result-object v5
15166 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15168 + move-result-object v5
15171 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15176 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
15178 + move-result-object v7
15180 + const-string/jumbo v0, "network"
15182 + invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15186 + if-eqz v0, :cond_269
15188 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15190 + const-string v4, "locationNetwork"
15192 + if-eqz v7, :cond_264
15194 + new-instance v5, Ljava/lang/StringBuilder;
15196 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
15198 + const-string v8, "Lat: "
15200 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15202 + move-result-object v5
15204 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15206 + move-result-wide v8
15208 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15210 + move-result-object v5
15212 + const-string v8, " Lon: "
15214 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15216 + move-result-object v5
15218 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15220 + move-result-wide v8
15222 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15224 + move-result-object v5
15226 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15228 + move-result-object v5
15231 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15236 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15238 + const-string v4, "locationGPS"
15240 + if-eqz v7, :cond_294
15242 + new-instance v5, Ljava/lang/StringBuilder;
15244 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
15246 + const-string v8, "Lat: "
15248 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15250 + move-result-object v5
15252 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15254 + move-result-wide v8
15256 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15258 + move-result-object v5
15260 + const-string v8, " Lon: "
15262 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15264 + move-result-object v5
15266 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15268 + move-result-wide v8
15270 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15272 + move-result-object v5
15274 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15276 + move-result-object v5
15279 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15285 + :pswitch_data_29a
15286 + .packed-switch 0x0
15291 + .end packed-switch
15293 + :pswitch_data_2a6
15294 + .packed-switch 0x0
15299 + .end packed-switch
15302 +.method public getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15305 + if-nez p1, :cond_7
15307 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15309 + move-result-object v0
15316 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15318 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
15320 + invoke-virtual {v3}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
15322 + move-result-object v3
15324 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
15328 + invoke-virtual {v2, v3, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
15330 + move-result-object v1
15334 + if-eqz v1, :cond_5f
15336 + const-string v2, "gps"
15338 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15342 + if-eqz v2, :cond_2f
15344 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
15348 + packed-switch v2, :pswitch_data_64
15354 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15356 + move-result-object v0
15361 + const-string/jumbo v2, "network"
15363 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15367 + if-eqz v2, :cond_45
15369 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15373 + packed-switch v2, :pswitch_data_70
15379 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15381 + move-result-object v0
15386 + const-string/jumbo v2, "passive"
15388 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15392 + if-eqz v2, :cond_6
15394 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
15398 + if-eqz v2, :cond_5a
15400 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15404 + if-nez v2, :cond_6
15407 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15409 + move-result-object v0
15414 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15416 + move-result-object v0
15421 + .packed-switch 0x0
15426 + .end packed-switch
15429 + .packed-switch 0x0
15434 + .end packed-switch
15437 +.method public isProviderEnabled(Ljava/lang/String;)Z
15440 + if-nez p1, :cond_7
15442 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
15452 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15454 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
15456 + invoke-virtual {v3}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
15458 + move-result-object v3
15460 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
15464 + invoke-virtual {v2, v3, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
15466 + move-result-object v1
15470 + if-eqz v1, :cond_65
15472 + const-string v2, "gps"
15474 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15478 + if-eqz v2, :cond_31
15480 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
15484 + packed-switch v2, :pswitch_data_6a
15489 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
15501 + const-string/jumbo v2, "network"
15503 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15507 + if-eqz v2, :cond_49
15509 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15513 + packed-switch v2, :pswitch_data_76
15518 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
15530 + const-string/jumbo v2, "passive"
15532 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15536 + if-eqz v2, :cond_6
15538 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
15542 + if-eqz v2, :cond_5e
15544 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15548 + if-nez v2, :cond_63
15551 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
15563 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
15570 + .packed-switch 0x0
15575 + .end packed-switch
15578 + .packed-switch 0x0
15583 + .end packed-switch
15586 +.method public requestLocationUpdates(JFLandroid/location/Criteria;Landroid/app/PendingIntent;)V
15589 + if-eqz p4, :cond_4
15591 + if-nez p5, :cond_8
15594 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/app/PendingIntent;)V
15603 + invoke-direct {p0, p4, v0, p5}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15607 + if-nez v0, :cond_7
15609 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/app/PendingIntent;)V
15614 +.method public requestLocationUpdates(JFLandroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
15617 + if-eqz p4, :cond_4
15619 + if-nez p5, :cond_8
15622 + invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
15631 + invoke-direct {p0, p4, p5, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15635 + if-nez v0, :cond_7
15637 + invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
15642 +.method public requestLocationUpdates(Ljava/lang/String;JFLandroid/app/PendingIntent;)V
15645 + if-eqz p1, :cond_4
15647 + if-nez p5, :cond_8
15650 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/app/PendingIntent;)V
15659 + invoke-direct {p0, p1, v0, p5}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15663 + if-nez v0, :cond_7
15665 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/app/PendingIntent;)V
15670 +.method public requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;)V
15673 + if-eqz p1, :cond_4
15675 + if-nez p5, :cond_8
15678 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;)V
15687 + invoke-direct {p0, p1, p5, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15691 + if-nez v0, :cond_7
15693 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;)V
15698 +.method public requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;Landroid/os/Looper;)V
15701 + if-eqz p1, :cond_4
15703 + if-nez p5, :cond_8
15706 + invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;Landroid/os/Looper;)V
15715 + invoke-direct {p0, p1, p5, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15719 + if-nez v0, :cond_7
15721 + invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;Landroid/os/Looper;)V
15726 +.method public requestSingleUpdate(Landroid/location/Criteria;Landroid/app/PendingIntent;)V
15729 + if-eqz p1, :cond_4
15731 + if-nez p2, :cond_8
15734 + invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/app/PendingIntent;)V
15743 + invoke-direct {p0, p1, v0, p2}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15747 + if-nez v0, :cond_7
15749 + invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/app/PendingIntent;)V
15754 +.method public requestSingleUpdate(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
15757 + if-eqz p1, :cond_4
15759 + if-nez p2, :cond_8
15762 + invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
15771 + invoke-direct {p0, p1, p2, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15775 + if-nez v0, :cond_7
15777 + invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
15782 +.method public requestSingleUpdate(Ljava/lang/String;Landroid/app/PendingIntent;)V
15785 + if-eqz p1, :cond_4
15787 + if-nez p2, :cond_8
15790 + invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/app/PendingIntent;)V
15799 + invoke-direct {p0, p1, v0, p2}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15803 + if-nez v0, :cond_7
15805 + invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/app/PendingIntent;)V
15810 +.method public requestSingleUpdate(Ljava/lang/String;Landroid/location/LocationListener;Landroid/os/Looper;)V
15813 + if-eqz p1, :cond_4
15815 + if-nez p2, :cond_8
15818 + invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/location/LocationListener;Landroid/os/Looper;)V
15827 + invoke-direct {p0, p1, p2, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15831 + if-nez v0, :cond_7
15833 + invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/location/LocationListener;Landroid/os/Looper;)V
15837 diff -Npru -x '*RIL*' pdroid-framework/smali/android/privacy/surrogate/PrivacyTelephonyManager.smali stock-framework/smali/android/privacy/surrogate/PrivacyTelephonyManager.smali
15838 --- pdroid-framework/smali/android/privacy/surrogate/PrivacyTelephonyManager.smali 1969-12-31 18:00:00.000000000 -0600
15839 +++ stock-framework/smali/android/privacy/surrogate/PrivacyTelephonyManager.smali 2012-10-13 14:14:43.434155791 -0500
15841 +.class public final Landroid/privacy/surrogate/PrivacyTelephonyManager;
15842 +.super Landroid/telephony/TelephonyManager;
15843 +.source "PrivacyTelephonyManager.java"
15847 +.field private static final TAG:Ljava/lang/String; = "PrivacyTelephonyManager"
15851 +.field private context:Landroid/content/Context;
15853 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
15857 +.method public constructor <init>(Landroid/content/Context;)V
15860 + invoke-direct {p0, p1}, Landroid/telephony/TelephonyManager;-><init>(Landroid/content/Context;)V
15862 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
15864 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
15866 + const-string/jumbo v1, "privacy"
15868 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
15870 + move-result-object v1
15872 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
15874 + move-result-object v1
15876 + invoke-direct {v0, p1, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
15878 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15883 +.method private getNetworkInfo()Ljava/lang/String;
15888 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
15890 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
15892 + move-result-object v1
15894 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
15898 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15900 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
15902 + move-result-object v6
15904 + if-eqz v6, :cond_25
15906 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
15910 + if-eqz v0, :cond_25
15912 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15916 + const-string/jumbo v4, "networkInfoCurrent"
15918 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15920 + const-string v5, ""
15926 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15930 + const-string/jumbo v4, "networkInfoCurrent"
15932 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15937 +.method private getSimInfo()Ljava/lang/String;
15942 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
15944 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
15946 + move-result-object v1
15948 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
15952 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15954 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
15956 + move-result-object v6
15958 + if-eqz v6, :cond_25
15960 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSimInfoSetting()B
15964 + if-eqz v0, :cond_25
15966 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15970 + const-string/jumbo v4, "networkInfoSIM"
15972 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15974 + const-string v5, ""
15980 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15984 + const-string/jumbo v4, "networkInfoSIM"
15986 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15993 +.method public getDeviceId()Ljava/lang/String;
15996 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
15998 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16000 + move-result-object v1
16002 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16006 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16008 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16010 + move-result-object v6
16012 + if-eqz v6, :cond_28
16014 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
16018 + if-eqz v0, :cond_28
16020 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceId()Ljava/lang/String;
16022 + move-result-object v5
16024 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16026 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
16030 + const-string v4, "deviceID"
16032 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16038 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getDeviceId()Ljava/lang/String;
16040 + move-result-object v5
16042 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16046 + const-string v4, "deviceID"
16048 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16053 +.method public getLine1Number()Ljava/lang/String;
16056 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16058 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16060 + move-result-object v1
16062 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16066 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16068 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16070 + move-result-object v6
16072 + if-eqz v6, :cond_28
16074 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
16078 + if-eqz v0, :cond_28
16080 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1Number()Ljava/lang/String;
16082 + move-result-object v5
16084 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16086 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
16090 + const-string v4, "line1Number"
16092 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16098 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getLine1Number()Ljava/lang/String;
16100 + move-result-object v5
16102 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16106 + const-string v4, "line1Number"
16108 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16113 +.method public getNeighboringCellInfo()Ljava/util/List;
16115 + .annotation system Ldalvik/annotation/Signature;
16118 + "Ljava/util/List",
16120 + "Landroid/telephony/NeighboringCellInfo;",
16125 + iget-object v6, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16127 + iget-object v7, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16129 + invoke-virtual {v7}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16131 + move-result-object v7
16133 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16137 + invoke-virtual {v6, v7, v8}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16139 + move-result-object v5
16143 + const-string v4, "[null]"
16145 + if-eqz v5, :cond_1c
16147 + invoke-virtual {v5}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
16153 + if-ne v6, v7, :cond_1d
16160 + invoke-virtual {v5}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
16164 + if-eqz v6, :cond_2b
16166 + new-instance v3, Ljava/util/ArrayList;
16168 + invoke-direct {v3}, Ljava/util/ArrayList;-><init>()V
16170 + const-string v4, "[empty list of cells]"
16175 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNeighboringCellInfo()Ljava/util/List;
16177 + move-result-object v3
16179 + const-string v0, ""
16181 + invoke-interface {v3}, Ljava/util/List;->iterator()Ljava/util/Iterator;
16183 + move-result-object v2
16186 + invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z
16190 + if-eqz v6, :cond_5f
16192 + invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
16194 + move-result-object v1
16196 + check-cast v1, Landroid/telephony/NeighboringCellInfo;
16198 + new-instance v6, Ljava/lang/StringBuilder;
16200 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
16202 + invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16204 + move-result-object v6
16206 + const-string v7, "\t"
16208 + invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16210 + move-result-object v6
16212 + invoke-virtual {v6, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
16214 + move-result-object v6
16216 + const-string v7, "\n"
16218 + invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16220 + move-result-object v6
16222 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
16224 + move-result-object v0
16229 + new-instance v6, Ljava/lang/StringBuilder;
16231 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
16233 + const-string v7, "[real value]:\n"
16235 + invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16237 + move-result-object v6
16239 + invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16241 + move-result-object v6
16243 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
16245 + move-result-object v4
16250 +.method public getNetworkCountryIso()Ljava/lang/String;
16253 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getNetworkInfo()Ljava/lang/String;
16255 + move-result-object v0
16257 + if-nez v0, :cond_a
16259 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNetworkCountryIso()Ljava/lang/String;
16261 + move-result-object v0
16267 +.method public getNetworkOperator()Ljava/lang/String;
16270 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getNetworkInfo()Ljava/lang/String;
16272 + move-result-object v0
16274 + if-nez v0, :cond_a
16276 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNetworkOperator()Ljava/lang/String;
16278 + move-result-object v0
16284 +.method public getNetworkOperatorName()Ljava/lang/String;
16287 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getNetworkInfo()Ljava/lang/String;
16289 + move-result-object v0
16291 + if-nez v0, :cond_a
16293 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNetworkOperatorName()Ljava/lang/String;
16295 + move-result-object v0
16301 +.method public getSimCountryIso()Ljava/lang/String;
16304 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getSimInfo()Ljava/lang/String;
16306 + move-result-object v0
16308 + if-nez v0, :cond_a
16310 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSimCountryIso()Ljava/lang/String;
16312 + move-result-object v0
16318 +.method public getSimOperator()Ljava/lang/String;
16321 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getSimInfo()Ljava/lang/String;
16323 + move-result-object v0
16325 + if-nez v0, :cond_a
16327 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSimOperator()Ljava/lang/String;
16329 + move-result-object v0
16335 +.method public getSimOperatorName()Ljava/lang/String;
16338 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getSimInfo()Ljava/lang/String;
16340 + move-result-object v0
16342 + if-nez v0, :cond_a
16344 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSimOperatorName()Ljava/lang/String;
16346 + move-result-object v0
16352 +.method public getSimSerialNumber()Ljava/lang/String;
16355 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16357 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16359 + move-result-object v1
16361 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16365 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16367 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16369 + move-result-object v6
16371 + if-eqz v6, :cond_29
16373 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSimSerialNumberSetting()B
16377 + if-eqz v0, :cond_29
16379 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSimSerialNumber()Ljava/lang/String;
16381 + move-result-object v5
16383 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16385 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSimSerialNumberSetting()B
16389 + const-string/jumbo v4, "simSerial"
16391 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16397 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSimSerialNumber()Ljava/lang/String;
16399 + move-result-object v5
16401 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16405 + const-string/jumbo v4, "simSerial"
16407 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16412 +.method public getSubscriberId()Ljava/lang/String;
16415 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16417 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16419 + move-result-object v1
16421 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16425 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16427 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16429 + move-result-object v6
16431 + if-eqz v6, :cond_29
16433 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberIdSetting()B
16437 + if-eqz v0, :cond_29
16439 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberId()Ljava/lang/String;
16441 + move-result-object v5
16443 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16445 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberIdSetting()B
16449 + const-string/jumbo v4, "subscriberID"
16451 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16457 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSubscriberId()Ljava/lang/String;
16459 + move-result-object v5
16461 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16465 + const-string/jumbo v4, "subscriberID"
16467 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16472 +.method public getVoiceMailNumber()Ljava/lang/String;
16475 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16477 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16479 + move-result-object v1
16481 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16485 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16487 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16489 + move-result-object v6
16491 + if-eqz v6, :cond_28
16493 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
16497 + if-eqz v0, :cond_28
16499 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1Number()Ljava/lang/String;
16501 + move-result-object v5
16503 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16505 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
16509 + const-string v4, "line1Number"
16511 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16517 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getVoiceMailNumber()Ljava/lang/String;
16519 + move-result-object v5
16521 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16525 + const-string v4, "line1Number"
16527 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16532 +.method public listen(Landroid/telephony/PhoneStateListener;I)V
16535 + and-int/lit8 v0, p2, 0x10
16537 + if-nez v0, :cond_8
16539 + and-int/lit8 v0, p2, 0x20
16541 + if-eqz v0, :cond_21
16544 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16546 + invoke-virtual {p1, v0}, Landroid/telephony/PhoneStateListener;->setContext(Landroid/content/Context;)V
16548 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16550 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16552 + move-result-object v0
16554 + invoke-virtual {p1, v0}, Landroid/telephony/PhoneStateListener;->setPackageName(Ljava/lang/String;)V
16556 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16560 + invoke-virtual {p1, v0}, Landroid/telephony/PhoneStateListener;->setUid(I)V
16562 + invoke-super {p0, p1, p2}, Landroid/telephony/TelephonyManager;->listen(Landroid/telephony/PhoneStateListener;I)V
16568 + invoke-super {p0, p1, p2}, Landroid/telephony/TelephonyManager;->listen(Landroid/telephony/PhoneStateListener;I)V
16572 diff -Npru -x '*RIL*' pdroid-framework/smali/android/telephony/PhoneStateListener$1.smali stock-framework/smali/android/telephony/PhoneStateListener$1.smali
16573 --- pdroid-framework/smali/android/telephony/PhoneStateListener$1.smali 2012-10-13 14:14:08.989984996 -0500
16574 +++ stock-framework/smali/android/telephony/PhoneStateListener$1.smali 2012-10-13 14:14:45.726167162 -0500
16575 @@ -64,23 +64,196 @@
16578 .method public onCallStateChanged(ILjava/lang/String;)V
16582 - iget-object v0, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16583 + move-object/from16 v0, p0
16585 - iget-object v0, v0, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
16586 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16588 - const/16 v1, 0x20
16589 + #getter for: Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
16590 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
16593 + move-result-object v3
16595 - invoke-static {v0, v1, p1, v2, p2}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
16596 + if-eqz v3, :cond_99
16598 - move-result-object v0
16599 + if-eqz p2, :cond_99
16601 - invoke-virtual {v0}, Landroid/os/Message;->sendToTarget()V
16602 + invoke-virtual/range {p2 .. p2}, Ljava/lang/String;->isEmpty()Z
16606 + if-nez v3, :cond_99
16608 + move-object/from16 v0, p0
16610 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16612 + #getter for: Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
16613 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
16615 + move-result-object v3
16617 + const-string/jumbo v4, "privacy"
16619 + invoke-virtual {v3, v4}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
16621 + move-result-object v2
16623 + check-cast v2, Landroid/privacy/PrivacySettingsManager;
16625 + move-object/from16 v0, p0
16627 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16629 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
16630 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
16632 + move-result-object v3
16634 + move-object/from16 v0, p0
16636 + iget-object v4, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16638 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
16639 + invoke-static {v4}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
16643 + invoke-virtual {v2, v3, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16645 + move-result-object v8
16647 + if-eqz v8, :cond_6a
16649 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getIncomingCallsSetting()B
16653 + if-eqz v3, :cond_6a
16655 + const-string v7, ""
16657 + move-object/from16 v0, p0
16659 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16661 + iget-object v3, v3, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
16663 + const/16 v4, 0x20
16667 + move/from16 v0, p1
16669 + invoke-static {v3, v4, v0, v5, v7}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
16671 + move-result-object v3
16673 + invoke-virtual {v3}, Landroid/os/Message;->sendToTarget()V
16675 + move-object/from16 v0, p0
16677 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16679 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
16680 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
16682 + move-result-object v3
16684 + move-object/from16 v0, p0
16686 + iget-object v4, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16688 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
16689 + invoke-static {v4}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
16695 + const-string v6, "incomingCall"
16697 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16703 + move-object/from16 v0, p0
16705 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16707 + iget-object v3, v3, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
16709 + const/16 v4, 0x20
16713 + move/from16 v0, p1
16715 + move-object/from16 v1, p2
16717 + invoke-static {v3, v4, v0, v5, v1}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
16719 + move-result-object v3
16721 + invoke-virtual {v3}, Landroid/os/Message;->sendToTarget()V
16723 + move-object/from16 v0, p0
16725 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16727 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
16728 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
16730 + move-result-object v10
16732 + move-object/from16 v0, p0
16734 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16736 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
16737 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
16743 + const-string v13, "incomingCall"
16745 + move-object v9, v2
16747 + move-object/from16 v14, p2
16749 + move-object v15, v8
16751 + invoke-virtual/range {v9 .. v15}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16756 + move-object/from16 v0, p0
16758 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16760 + iget-object v3, v3, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
16762 + const/16 v4, 0x20
16766 + move/from16 v0, p1
16768 + move-object/from16 v1, p2
16770 + invoke-static {v3, v4, v0, v5, v1}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
16772 + move-result-object v3
16774 + invoke-virtual {v3}, Landroid/os/Message;->sendToTarget()V
16779 .method public onCellInfoChanged(Landroid/telephony/CellInfo;)V
16780 @@ -104,27 +277,124 @@
16783 .method public onCellLocationChanged(Landroid/os/Bundle;)V
16791 invoke-static {p1}, Landroid/telephony/CellLocation;->newFromBundle(Landroid/os/Bundle;)Landroid/telephony/CellLocation;
16793 + move-result-object v7
16795 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16797 + #getter for: Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
16798 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
16800 + move-result-object v1
16802 + if-eqz v1, :cond_4a
16804 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16806 + #getter for: Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
16807 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
16809 + move-result-object v1
16811 + const-string/jumbo v2, "privacy"
16813 + invoke-virtual {v1, v2}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
16815 move-result-object v0
16817 + check-cast v0, Landroid/privacy/PrivacySettingsManager;
16819 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16821 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
16822 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
16824 + move-result-object v1
16826 + iget-object v2, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16828 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
16829 + invoke-static {v2}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
16833 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16835 + move-result-object v6
16837 + if-eqz v6, :cond_4b
16839 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
16843 + if-eqz v1, :cond_4b
16845 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16847 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
16848 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
16850 + move-result-object v1
16852 + iget-object v2, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16854 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
16855 + invoke-static {v2}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
16859 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
16863 + const-string v4, "locationNetwork"
16865 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16872 iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16874 iget-object v1, v1, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
16878 - invoke-static {v1, v2, v3, v3, v0}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
16879 + invoke-static {v1, v2, v3, v3, v7}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
16881 move-result-object v1
16883 invoke-virtual {v1}, Landroid/os/Message;->sendToTarget()V
16886 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16888 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
16889 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
16891 + move-result-object v1
16893 + iget-object v2, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16895 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
16896 + invoke-static {v2}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
16900 + const-string v4, "locationNetwork"
16902 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16907 .method public onDataActivity(I)V
16908 diff -Npru -x '*RIL*' pdroid-framework/smali/android/telephony/PhoneStateListener.smali stock-framework/smali/android/telephony/PhoneStateListener.smali
16909 --- pdroid-framework/smali/android/telephony/PhoneStateListener.smali 2012-10-13 14:14:06.305971688 -0500
16910 +++ stock-framework/smali/android/telephony/PhoneStateListener.smali 2012-10-13 14:14:40.642141944 -0500
16911 @@ -31,12 +31,20 @@
16913 .field public static final LISTEN_SIGNAL_STRENGTHS:I = 0x100
16915 +.field private static final TAG:Ljava/lang/String; = "PhoneStateListener"
16919 .field callback:Lcom/android/internal/telephony/IPhoneStateListener;
16921 +.field private context:Landroid/content/Context;
16923 .field mHandler:Landroid/os/Handler;
16925 +.field private packageName:Ljava/lang/String;
16927 +.field private uid:I
16931 .method public constructor <init>()V
16936 +.method static synthetic access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
16939 + iget-object v0, p0, Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
16944 +.method static synthetic access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
16947 + iget-object v0, p0, Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
16952 +.method static synthetic access$200(Landroid/telephony/PhoneStateListener;)I
16955 + iget v0, p0, Landroid/telephony/PhoneStateListener;->uid:I
16962 .method public onCallForwardingIndicatorChanged(Z)V
16963 @@ -134,3 +166,27 @@
16968 +.method public setContext(Landroid/content/Context;)V
16971 + iput-object p1, p0, Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
16976 +.method public setPackageName(Ljava/lang/String;)V
16979 + iput-object p1, p0, Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
16984 +.method public setUid(I)V
16987 + iput p1, p0, Landroid/telephony/PhoneStateListener;->uid:I