1 diff -Npru stock-framework/smali/android/app/ContextImpl$20.smali pdroid-framework/smali/android/app/ContextImpl$20.smali
2 --- stock-framework/smali/android/app/ContextImpl$20.smali 2012-08-22 21:52:30.695601664 -0500
3 +++ pdroid-framework/smali/android/app/ContextImpl$20.smali 2012-08-22 21:52:50.795701339 -0500
7 .method public createStaticService()Ljava/lang/Object;
11 - const-string v1, "location"
12 + const-string v2, "location"
14 - invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
15 + invoke-static {v2}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
19 - new-instance v1, Landroid/location/LocationManager;
21 invoke-static {v0}, Landroid/location/ILocationManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/location/ILocationManager;
23 - move-result-object v2
24 + move-result-object v1
26 + new-instance v2, Landroid/privacy/surrogate/PrivacyLocationManager;
28 + invoke-static {}, Landroid/app/ContextImpl;->getStaticOuterContext()Landroid/content/Context;
30 + move-result-object v3
32 - invoke-direct {v1, v2}, Landroid/location/LocationManager;-><init>(Landroid/location/ILocationManager;)V
33 + invoke-direct {v2, v1, v3}, Landroid/privacy/surrogate/PrivacyLocationManager;-><init>(Landroid/location/ILocationManager;Landroid/content/Context;)V
38 diff -Npru stock-framework/smali/android/app/ContextImpl$29.smali pdroid-framework/smali/android/app/ContextImpl$29.smali
39 --- stock-framework/smali/android/app/ContextImpl$29.smali 2012-08-22 21:52:30.711601746 -0500
40 +++ pdroid-framework/smali/android/app/ContextImpl$29.smali 2012-08-22 21:52:50.803701378 -0500
42 .method public createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
45 - new-instance v0, Landroid/telephony/TelephonyManager;
46 + new-instance v0, Landroid/privacy/surrogate/PrivacyTelephonyManager;
48 invoke-virtual {p1}, Landroid/app/ContextImpl;->getOuterContext()Landroid/content/Context;
52 - invoke-direct {v0, v1}, Landroid/telephony/TelephonyManager;-><init>(Landroid/content/Context;)V
53 + invoke-direct {v0, v1}, Landroid/privacy/surrogate/PrivacyTelephonyManager;-><init>(Landroid/content/Context;)V
57 diff -Npru stock-framework/smali/android/app/ContextImpl$38.smali pdroid-framework/smali/android/app/ContextImpl$38.smali
58 --- stock-framework/smali/android/app/ContextImpl$38.smali 1969-12-31 18:00:00.000000000 -0600
59 +++ pdroid-framework/smali/android/app/ContextImpl$38.smali 2012-08-22 21:52:50.819701450 -0500
61 +.class final Landroid/app/ContextImpl$38;
62 +.super Landroid/app/ContextImpl$StaticServiceFetcher;
63 +.source "ContextImpl.java"
67 +.annotation system Ldalvik/annotation/EnclosingClass;
68 + value = Landroid/app/ContextImpl;
71 +.annotation system Ldalvik/annotation/InnerClass;
78 +.method constructor <init>()V
81 + invoke-direct {p0}, Landroid/app/ContextImpl$StaticServiceFetcher;-><init>()V
88 +.method public createStaticService()Ljava/lang/Object;
91 + const-string/jumbo v2, "privacy"
93 + invoke-static {v2}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
95 + move-result-object v0
97 + invoke-static {v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
99 + move-result-object v1
101 + new-instance v2, Landroid/privacy/PrivacySettingsManager;
103 + invoke-static {}, Landroid/app/ContextImpl;->getStaticOuterContext()Landroid/content/Context;
105 + move-result-object v3
107 + invoke-direct {v2, v3, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
111 diff -Npru stock-framework/smali/android/app/ContextImpl$3.smali pdroid-framework/smali/android/app/ContextImpl$3.smali
112 --- stock-framework/smali/android/app/ContextImpl$3.smali 2012-08-22 21:52:30.723601805 -0500
113 +++ pdroid-framework/smali/android/app/ContextImpl$3.smali 2012-08-22 21:52:50.819701450 -0500
116 move-result-object v1
118 - new-instance v2, Landroid/accounts/AccountManager;
119 + new-instance v2, Landroid/privacy/surrogate/PrivacyAccountManager;
121 - invoke-direct {v2, p1, v1}, Landroid/accounts/AccountManager;-><init>(Landroid/content/Context;Landroid/accounts/IAccountManager;)V
122 + invoke-direct {v2, p1, v1}, Landroid/privacy/surrogate/PrivacyAccountManager;-><init>(Landroid/content/Context;Landroid/accounts/IAccountManager;)V
126 diff -Npru stock-framework/smali/android/app/ContextImpl.smali pdroid-framework/smali/android/app/ContextImpl.smali
127 --- stock-framework/smali/android/app/ContextImpl.smali 2012-08-22 21:52:30.791602142 -0500
128 +++ pdroid-framework/smali/android/app/ContextImpl.smali 2012-08-22 21:52:50.891701813 -0500
131 .field private static sNextPerContextServiceCacheIndex:I
133 +.field private static sOuterContext:Landroid/content/Context;
135 .field private static final sSharedPrefs:Ljava/util/HashMap;
136 .annotation system Ldalvik/annotation/Signature;
140 invoke-static {v0, v1}, Landroid/app/ContextImpl;->registerService(Ljava/lang/String;Landroid/app/ContextImpl$ServiceFetcher;)V
142 + const-string/jumbo v0, "privacy"
144 + new-instance v1, Landroid/app/ContextImpl$38;
146 + invoke-direct {v1}, Landroid/app/ContextImpl$38;-><init>()V
148 + invoke-static {v0, v1}, Landroid/app/ContextImpl;->registerService(Ljava/lang/String;Landroid/app/ContextImpl$ServiceFetcher;)V
155 iput-object p0, p0, Landroid/app/ContextImpl;->mOuterContext:Landroid/content/Context;
157 + sput-object p0, Landroid/app/ContextImpl;->sOuterContext:Landroid/content/Context;
164 iput-object p0, p0, Landroid/app/ContextImpl;->mOuterContext:Landroid/content/Context;
166 + sput-object p0, Landroid/app/ContextImpl;->sOuterContext:Landroid/content/Context;
175 +.method static final getStaticOuterContext()Landroid/content/Context;
178 + sget-object v0, Landroid/app/ContextImpl;->sOuterContext:Landroid/content/Context;
183 .method private getWallpaperManager()Landroid/app/WallpaperManager;
186 @@ -4256,6 +4278,8 @@
188 iput-object p1, p0, Landroid/app/ContextImpl;->mOuterContext:Landroid/content/Context;
190 + sput-object p1, Landroid/app/ContextImpl;->sOuterContext:Landroid/content/Context;
195 diff -Npru stock-framework/smali/android/app/Fragment.smali pdroid-framework/smali/android/app/Fragment.smali
196 --- stock-framework/smali/android/app/Fragment.smali 2012-08-22 21:52:30.827602321 -0500
197 +++ pdroid-framework/smali/android/app/Fragment.smali 2012-08-22 21:52:50.907701886 -0500
200 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
202 - const-string v0, "mHidden="
203 + const-string/jumbo v0, "mHidden="
205 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
209 iget-object v0, p0, Landroid/app/Fragment;->mFragmentManager:Landroid/app/FragmentManagerImpl;
211 - if-eqz v0, :cond_e8
212 + if-eqz v0, :cond_e9
214 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
216 @@ -541,10 +541,10 @@
218 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
222 iget-object v0, p0, Landroid/app/Fragment;->mActivity:Landroid/app/Activity;
224 - if-eqz v0, :cond_f9
225 + if-eqz v0, :cond_fa
227 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
229 @@ -556,10 +556,10 @@
231 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
235 iget-object v0, p0, Landroid/app/Fragment;->mArguments:Landroid/os/Bundle;
237 - if-eqz v0, :cond_10a
238 + if-eqz v0, :cond_10b
240 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
242 @@ -571,10 +571,10 @@
244 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
248 iget-object v0, p0, Landroid/app/Fragment;->mSavedFragmentState:Landroid/os/Bundle;
250 - if-eqz v0, :cond_11c
251 + if-eqz v0, :cond_11d
253 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
255 @@ -586,10 +586,10 @@
257 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
261 iget-object v0, p0, Landroid/app/Fragment;->mSavedViewState:Landroid/util/SparseArray;
263 - if-eqz v0, :cond_12e
264 + if-eqz v0, :cond_12f
266 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
268 @@ -601,10 +601,10 @@
270 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
274 iget-object v0, p0, Landroid/app/Fragment;->mTarget:Landroid/app/Fragment;
276 - if-eqz v0, :cond_14a
277 + if-eqz v0, :cond_14b
279 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
281 @@ -624,10 +624,10 @@
283 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(I)V
287 iget v0, p0, Landroid/app/Fragment;->mNextAnim:I
289 - if-eqz v0, :cond_15c
290 + if-eqz v0, :cond_15d
292 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
294 @@ -639,10 +639,10 @@
296 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(I)V
300 iget-object v0, p0, Landroid/app/Fragment;->mContainer:Landroid/view/ViewGroup;
302 - if-eqz v0, :cond_16d
303 + if-eqz v0, :cond_16e
305 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
307 @@ -654,10 +654,10 @@
309 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
313 iget-object v0, p0, Landroid/app/Fragment;->mView:Landroid/view/View;
315 - if-eqz v0, :cond_17f
316 + if-eqz v0, :cond_180
318 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
320 @@ -669,10 +669,10 @@
322 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
326 iget-object v0, p0, Landroid/app/Fragment;->mAnimatingAway:Landroid/animation/Animator;
328 - if-eqz v0, :cond_19e
329 + if-eqz v0, :cond_19f
331 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
333 @@ -694,10 +694,10 @@
335 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(I)V
339 iget-object v0, p0, Landroid/app/Fragment;->mLoaderManager:Landroid/app/LoaderManagerImpl;
341 - if-eqz v0, :cond_1c2
342 + if-eqz v0, :cond_1c3
344 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
348 invoke-virtual {v0, v1, p2, p3, p4}, Landroid/app/LoaderManagerImpl;->dump(Ljava/lang/String;Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
355 diff -Npru stock-framework/smali/android/app/LoaderManagerImpl$LoaderInfo.smali pdroid-framework/smali/android/app/LoaderManagerImpl$LoaderInfo.smali
356 --- stock-framework/smali/android/app/LoaderManagerImpl$LoaderInfo.smali 2012-08-22 21:52:31.271604520 -0500
357 +++ pdroid-framework/smali/android/app/LoaderManagerImpl$LoaderInfo.smali 2012-08-22 21:52:51.251703617 -0500
358 @@ -575,12 +575,12 @@
360 iget-boolean v0, p0, Landroid/app/LoaderManagerImpl$LoaderInfo;->mDeliveredData:Z
362 - if-eqz v0, :cond_7b
363 + if-eqz v0, :cond_7c
366 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
368 - const-string v0, "mHaveData="
369 + const-string/jumbo v0, "mHaveData="
371 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
375 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
379 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
381 const-string/jumbo v0, "mStarted="
384 iget-object v0, p0, Landroid/app/LoaderManagerImpl$LoaderInfo;->mPendingLoader:Landroid/app/LoaderManagerImpl$LoaderInfo;
386 - if-eqz v0, :cond_ed
387 + if-eqz v0, :cond_ee
389 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
393 invoke-virtual {v0, v1, p2, p3, p4}, Landroid/app/LoaderManagerImpl$LoaderInfo;->dump(Ljava/lang/String;Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
400 diff -Npru stock-framework/smali/android/location/Location.smali pdroid-framework/smali/android/location/Location.smali
401 --- stock-framework/smali/android/location/Location.smali 2012-08-22 21:52:32.967612932 -0500
402 +++ pdroid-framework/smali/android/location/Location.smali 2012-08-22 21:52:52.987712197 -0500
403 @@ -1707,7 +1707,7 @@
405 move-result-object v0
407 - const-string v1, "mHasAltitude="
408 + const-string/jumbo v1, "mHasAltitude="
410 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
412 @@ -1745,7 +1745,7 @@
414 move-result-object v0
416 - const-string v1, "mHasSpeed="
417 + const-string/jumbo v1, "mHasSpeed="
419 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
421 @@ -1783,7 +1783,7 @@
423 move-result-object v0
425 - const-string v1, "mHasBearing="
426 + const-string/jumbo v1, "mHasBearing="
428 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
430 @@ -1821,7 +1821,7 @@
432 move-result-object v0
434 - const-string v1, "mHasAccuracy="
435 + const-string/jumbo v1, "mHasAccuracy="
437 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
439 diff -Npru stock-framework/smali/android/privacy/IPrivacySettingsManager.smali pdroid-framework/smali/android/privacy/IPrivacySettingsManager.smali
440 --- stock-framework/smali/android/privacy/IPrivacySettingsManager.smali 1969-12-31 18:00:00.000000000 -0600
441 +++ pdroid-framework/smali/android/privacy/IPrivacySettingsManager.smali 2012-08-22 21:52:53.695715716 -0500
443 +.class public interface abstract Landroid/privacy/IPrivacySettingsManager;
444 +.super Ljava/lang/Object;
445 +.source "IPrivacySettingsManager.java"
448 +.implements Landroid/os/IInterface;
452 +.annotation system Ldalvik/annotation/MemberClasses;
454 + Landroid/privacy/IPrivacySettingsManager$Stub;
460 +.method public abstract addObserver(Ljava/lang/String;)V
461 + .annotation system Ldalvik/annotation/Throws;
463 + Landroid/os/RemoteException;
468 +.method public abstract deleteSettings(Ljava/lang/String;)Z
469 + .annotation system Ldalvik/annotation/Throws;
471 + Landroid/os/RemoteException;
476 +.method public abstract getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
477 + .annotation system Ldalvik/annotation/Throws;
479 + Landroid/os/RemoteException;
484 +.method public abstract getVersion()D
485 + .annotation system Ldalvik/annotation/Throws;
487 + Landroid/os/RemoteException;
492 +.method public abstract notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
493 + .annotation system Ldalvik/annotation/Throws;
495 + Landroid/os/RemoteException;
500 +.method public abstract purgeSettings()Z
501 + .annotation system Ldalvik/annotation/Throws;
503 + Landroid/os/RemoteException;
508 +.method public abstract registerObservers()V
509 + .annotation system Ldalvik/annotation/Throws;
511 + Landroid/os/RemoteException;
516 +.method public abstract saveSettings(Landroid/privacy/PrivacySettings;)Z
517 + .annotation system Ldalvik/annotation/Throws;
519 + Landroid/os/RemoteException;
524 +.method public abstract setBootCompleted()V
525 + .annotation system Ldalvik/annotation/Throws;
527 + Landroid/os/RemoteException;
532 +.method public abstract setEnabled(Z)Z
533 + .annotation system Ldalvik/annotation/Throws;
535 + Landroid/os/RemoteException;
540 +.method public abstract setNotificationsEnabled(Z)Z
541 + .annotation system Ldalvik/annotation/Throws;
543 + Landroid/os/RemoteException;
547 diff -Npru stock-framework/smali/android/privacy/IPrivacySettingsManager$Stub$Proxy.smali pdroid-framework/smali/android/privacy/IPrivacySettingsManager$Stub$Proxy.smali
548 --- stock-framework/smali/android/privacy/IPrivacySettingsManager$Stub$Proxy.smali 1969-12-31 18:00:00.000000000 -0600
549 +++ pdroid-framework/smali/android/privacy/IPrivacySettingsManager$Stub$Proxy.smali 2012-08-22 21:52:53.695715716 -0500
551 +.class Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;
552 +.super Ljava/lang/Object;
553 +.source "IPrivacySettingsManager.java"
556 +.implements Landroid/privacy/IPrivacySettingsManager;
560 +.annotation system Ldalvik/annotation/EnclosingClass;
561 + value = Landroid/privacy/IPrivacySettingsManager$Stub;
564 +.annotation system Ldalvik/annotation/InnerClass;
571 +.field private mRemote:Landroid/os/IBinder;
575 +.method constructor <init>(Landroid/os/IBinder;)V
578 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
580 + iput-object p1, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
587 +.method public addObserver(Ljava/lang/String;)V
589 + .annotation system Ldalvik/annotation/Throws;
591 + Landroid/os/RemoteException;
595 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
597 + move-result-object v0
599 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
601 + move-result-object v1
604 + const-string v2, "android.privacy.IPrivacySettingsManager"
606 + invoke-virtual {v0, v2}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
608 + invoke-virtual {v0, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
610 + iget-object v2, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
616 + invoke-interface {v2, v3, v0, v1, v4}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
618 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
620 + .catchall {:try_start_8 .. :try_end_1a} :catchall_21
622 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
624 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
631 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
633 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
638 +.method public asBinder()Landroid/os/IBinder;
641 + iget-object v0, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
646 +.method public deleteSettings(Ljava/lang/String;)Z
648 + .annotation system Ldalvik/annotation/Throws;
650 + Landroid/os/RemoteException;
656 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
658 + move-result-object v0
660 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
662 + move-result-object v1
665 + const-string v3, "android.privacy.IPrivacySettingsManager"
667 + invoke-virtual {v0, v3}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
669 + invoke-virtual {v0, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
671 + iget-object v3, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
677 + invoke-interface {v3, v4, v0, v1, v5}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
679 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
681 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
683 + .catchall {:try_start_9 .. :try_end_1e} :catchall_29
687 + if-eqz v3, :cond_22
692 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
694 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
701 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
703 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
708 +.method public getInterfaceDescriptor()Ljava/lang/String;
711 + const-string v0, "android.privacy.IPrivacySettingsManager"
716 +.method public getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
718 + .annotation system Ldalvik/annotation/Throws;
720 + Landroid/os/RemoteException;
724 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
726 + move-result-object v0
728 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
730 + move-result-object v1
733 + const-string v3, "android.privacy.IPrivacySettingsManager"
735 + invoke-virtual {v0, v3}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
737 + invoke-virtual {v0, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
739 + iget-object v3, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
745 + invoke-interface {v3, v4, v0, v1, v5}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
747 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
749 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
753 + if-eqz v3, :cond_2f
755 + sget-object v3, Landroid/privacy/PrivacySettings;->CREATOR:Landroid/os/Parcelable$Creator;
757 + invoke-interface {v3, v1}, Landroid/os/Parcelable$Creator;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
759 + move-result-object v2
761 + check-cast v2, Landroid/privacy/PrivacySettings;
763 + .catchall {:try_start_8 .. :try_end_28} :catchall_31
766 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
768 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
780 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
782 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
787 +.method public getVersion()D
789 + .annotation system Ldalvik/annotation/Throws;
791 + Landroid/os/RemoteException;
795 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
797 + move-result-object v0
799 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
801 + move-result-object v1
804 + const-string v4, "android.privacy.IPrivacySettingsManager"
806 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
808 + iget-object v4, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
814 + invoke-interface {v4, v5, v0, v1, v6}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
816 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
818 + invoke-virtual {v1}, Landroid/os/Parcel;->readDouble()D
820 + .catchall {:try_start_8 .. :try_end_1b} :catchall_23
822 + move-result-wide v2
824 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
826 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
833 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
835 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
840 +.method public notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
842 + .annotation system Ldalvik/annotation/Throws;
844 + Landroid/os/RemoteException;
848 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
850 + move-result-object v0
852 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
854 + move-result-object v1
857 + const-string v2, "android.privacy.IPrivacySettingsManager"
859 + invoke-virtual {v0, v2}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
861 + invoke-virtual {v0, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
863 + invoke-virtual {v0, p2}, Landroid/os/Parcel;->writeByte(B)V
865 + invoke-virtual {v0, p3}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
867 + invoke-virtual {v0, p4}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
869 + iget-object v2, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
875 + invoke-interface {v2, v3, v0, v1, v4}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
877 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
879 + .catchall {:try_start_8 .. :try_end_23} :catchall_2a
881 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
883 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
890 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
892 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
897 +.method public purgeSettings()Z
899 + .annotation system Ldalvik/annotation/Throws;
901 + Landroid/os/RemoteException;
907 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
909 + move-result-object v0
911 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
913 + move-result-object v1
916 + const-string v3, "android.privacy.IPrivacySettingsManager"
918 + invoke-virtual {v0, v3}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
920 + iget-object v3, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
926 + invoke-interface {v3, v4, v0, v1, v5}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
928 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
930 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
932 + .catchall {:try_start_9 .. :try_end_1b} :catchall_26
936 + if-eqz v3, :cond_1f
941 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
943 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
950 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
952 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
957 +.method public registerObservers()V
959 + .annotation system Ldalvik/annotation/Throws;
961 + Landroid/os/RemoteException;
965 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
967 + move-result-object v0
969 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
971 + move-result-object v1
974 + const-string v2, "android.privacy.IPrivacySettingsManager"
976 + invoke-virtual {v0, v2}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
978 + iget-object v2, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
984 + invoke-interface {v2, v3, v0, v1, v4}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
986 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
988 + .catchall {:try_start_8 .. :try_end_17} :catchall_1e
990 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
992 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
999 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1001 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1006 +.method public saveSettings(Landroid/privacy/PrivacySettings;)Z
1008 + .annotation system Ldalvik/annotation/Throws;
1010 + Landroid/os/RemoteException;
1018 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1020 + move-result-object v0
1022 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1024 + move-result-object v1
1027 + const-string v4, "android.privacy.IPrivacySettingsManager"
1029 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
1031 + if-eqz p1, :cond_30
1035 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInt(I)V
1039 + invoke-virtual {p1, v0, v4}, Landroid/privacy/PrivacySettings;->writeToParcel(Landroid/os/Parcel;I)V
1042 + iget-object v4, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
1048 + invoke-interface {v4, v5, v0, v1, v6}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1050 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
1052 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
1054 + .catchall {:try_start_a .. :try_end_26} :catchall_35
1058 + if-eqz v4, :cond_3d
1061 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1063 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1071 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInt(I)V
1073 + .catchall {:try_start_31 .. :try_end_34} :catchall_35
1080 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1082 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1092 +.method public setBootCompleted()V
1094 + .annotation system Ldalvik/annotation/Throws;
1096 + Landroid/os/RemoteException;
1100 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1102 + move-result-object v0
1104 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1106 + move-result-object v1
1109 + const-string v2, "android.privacy.IPrivacySettingsManager"
1111 + invoke-virtual {v0, v2}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
1113 + iget-object v2, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
1119 + invoke-interface {v2, v3, v0, v1, v4}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1121 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
1123 + .catchall {:try_start_8 .. :try_end_18} :catchall_1f
1125 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1127 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1134 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1136 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1141 +.method public setEnabled(Z)Z
1143 + .annotation system Ldalvik/annotation/Throws;
1145 + Landroid/os/RemoteException;
1153 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1155 + move-result-object v0
1157 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1159 + move-result-object v1
1162 + const-string v4, "android.privacy.IPrivacySettingsManager"
1164 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
1166 + if-eqz p1, :cond_2d
1171 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInt(I)V
1173 + iget-object v4, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
1179 + invoke-interface {v4, v5, v0, v1, v6}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1181 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
1183 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
1185 + .catchall {:try_start_a .. :try_end_23} :catchall_31
1189 + if-eqz v4, :cond_2f
1192 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1194 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1211 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1213 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1218 +.method public setNotificationsEnabled(Z)Z
1220 + .annotation system Ldalvik/annotation/Throws;
1222 + Landroid/os/RemoteException;
1230 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1232 + move-result-object v0
1234 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1236 + move-result-object v1
1239 + const-string v4, "android.privacy.IPrivacySettingsManager"
1241 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
1243 + if-eqz p1, :cond_2d
1248 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInt(I)V
1250 + iget-object v4, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
1256 + invoke-interface {v4, v5, v0, v1, v6}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1258 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
1260 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
1262 + .catchall {:try_start_a .. :try_end_23} :catchall_31
1266 + if-eqz v4, :cond_2f
1269 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1271 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1288 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1290 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1294 diff -Npru stock-framework/smali/android/privacy/IPrivacySettingsManager$Stub.smali pdroid-framework/smali/android/privacy/IPrivacySettingsManager$Stub.smali
1295 --- stock-framework/smali/android/privacy/IPrivacySettingsManager$Stub.smali 1969-12-31 18:00:00.000000000 -0600
1296 +++ pdroid-framework/smali/android/privacy/IPrivacySettingsManager$Stub.smali 2012-08-22 21:52:53.699715733 -0500
1298 +.class public abstract Landroid/privacy/IPrivacySettingsManager$Stub;
1299 +.super Landroid/os/Binder;
1300 +.source "IPrivacySettingsManager.java"
1303 +.implements Landroid/privacy/IPrivacySettingsManager;
1307 +.annotation system Ldalvik/annotation/EnclosingClass;
1308 + value = Landroid/privacy/IPrivacySettingsManager;
1311 +.annotation system Ldalvik/annotation/InnerClass;
1312 + accessFlags = 0x409
1316 +.annotation system Ldalvik/annotation/MemberClasses;
1318 + Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;
1324 +.field private static final DESCRIPTOR:Ljava/lang/String; = "android.privacy.IPrivacySettingsManager"
1326 +.field static final TRANSACTION_addObserver:I = 0x6
1328 +.field static final TRANSACTION_deleteSettings:I = 0x3
1330 +.field static final TRANSACTION_getSettings:I = 0x1
1332 +.field static final TRANSACTION_getVersion:I = 0x8
1334 +.field static final TRANSACTION_notification:I = 0x4
1336 +.field static final TRANSACTION_purgeSettings:I = 0x7
1338 +.field static final TRANSACTION_registerObservers:I = 0x5
1340 +.field static final TRANSACTION_saveSettings:I = 0x2
1342 +.field static final TRANSACTION_setBootCompleted:I = 0xb
1344 +.field static final TRANSACTION_setEnabled:I = 0x9
1346 +.field static final TRANSACTION_setNotificationsEnabled:I = 0xa
1350 +.method public constructor <init>()V
1353 + invoke-direct {p0}, Landroid/os/Binder;-><init>()V
1355 + const-string v0, "android.privacy.IPrivacySettingsManager"
1357 + invoke-virtual {p0, p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->attachInterface(Landroid/os/IInterface;Ljava/lang/String;)V
1362 +.method public static asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
1365 + if-nez p0, :cond_4
1373 + const-string v1, "android.privacy.IPrivacySettingsManager"
1375 + invoke-interface {p0, v1}, Landroid/os/IBinder;->queryLocalInterface(Ljava/lang/String;)Landroid/os/IInterface;
1377 + move-result-object v0
1379 + if-eqz v0, :cond_13
1381 + instance-of v1, v0, Landroid/privacy/IPrivacySettingsManager;
1383 + if-eqz v1, :cond_13
1385 + check-cast v0, Landroid/privacy/IPrivacySettingsManager;
1390 + new-instance v0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;
1392 + invoke-direct {v0, p0}, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
1399 +.method public asBinder()Landroid/os/IBinder;
1405 +.method public onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1407 + .annotation system Ldalvik/annotation/Throws;
1409 + Landroid/os/RemoteException;
1417 + sparse-switch p1, :sswitch_data_10e
1419 + invoke-super {p0, p1, p2, p3, p4}, Landroid/os/Binder;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1427 + const-string v6, "android.privacy.IPrivacySettingsManager"
1429 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
1434 + const-string v8, "android.privacy.IPrivacySettingsManager"
1436 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1438 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
1440 + move-result-object v0
1442 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
1444 + move-result-object v4
1446 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1448 + if-eqz v4, :cond_29
1450 + invoke-virtual {p3, v7}, Landroid/os/Parcel;->writeInt(I)V
1452 + invoke-virtual {v4, p3, v7}, Landroid/privacy/PrivacySettings;->writeToParcel(Landroid/os/Parcel;I)V
1457 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
1462 + const-string v8, "android.privacy.IPrivacySettingsManager"
1464 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1466 + invoke-virtual {p2}, Landroid/os/Parcel;->readInt()I
1470 + if-eqz v8, :cond_4e
1472 + sget-object v8, Landroid/privacy/PrivacySettings;->CREATOR:Landroid/os/Parcelable$Creator;
1474 + invoke-interface {v8, p2}, Landroid/os/Parcelable$Creator;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
1476 + move-result-object v0
1478 + check-cast v0, Landroid/privacy/PrivacySettings;
1481 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->saveSettings(Landroid/privacy/PrivacySettings;)Z
1485 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1487 + if-eqz v4, :cond_4a
1492 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
1502 + const-string v8, "android.privacy.IPrivacySettingsManager"
1504 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1506 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
1508 + move-result-object v0
1510 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->deleteSettings(Ljava/lang/String;)Z
1514 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1516 + if-eqz v4, :cond_63
1521 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
1526 + const-string v6, "android.privacy.IPrivacySettingsManager"
1528 + invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1530 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
1532 + move-result-object v0
1534 + invoke-virtual {p2}, Landroid/os/Parcel;->readByte()B
1538 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
1540 + move-result-object v2
1542 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
1544 + move-result-object v3
1546 + invoke-virtual {p0, v0, v1, v2, v3}, Landroid/privacy/IPrivacySettingsManager$Stub;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
1548 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1553 + const-string v6, "android.privacy.IPrivacySettingsManager"
1555 + invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1557 + invoke-virtual {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;->registerObservers()V
1559 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1564 + const-string v6, "android.privacy.IPrivacySettingsManager"
1566 + invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1568 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
1570 + move-result-object v0
1572 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->addObserver(Ljava/lang/String;)V
1574 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1579 + const-string v8, "android.privacy.IPrivacySettingsManager"
1581 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1583 + invoke-virtual {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;->purgeSettings()Z
1587 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1589 + if-eqz v4, :cond_b0
1594 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
1599 + const-string v6, "android.privacy.IPrivacySettingsManager"
1601 + invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1603 + invoke-virtual {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;->getVersion()D
1605 + move-result-wide v4
1607 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1609 + invoke-virtual {p3, v4, v5}, Landroid/os/Parcel;->writeDouble(D)V
1614 + const-string v8, "android.privacy.IPrivacySettingsManager"
1616 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1618 + invoke-virtual {p2}, Landroid/os/Parcel;->readInt()I
1622 + if-eqz v8, :cond_e1
1627 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->setEnabled(Z)Z
1631 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1633 + if-eqz v4, :cond_dc
1638 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
1648 + const-string v8, "android.privacy.IPrivacySettingsManager"
1650 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1652 + invoke-virtual {p2}, Landroid/os/Parcel;->readInt()I
1656 + if-eqz v8, :cond_fe
1661 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->setNotificationsEnabled(Z)Z
1665 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1667 + if-eqz v4, :cond_f9
1672 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
1682 + const-string v6, "android.privacy.IPrivacySettingsManager"
1684 + invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1686 + invoke-virtual {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;->setBootCompleted()V
1688 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1696 + 0x1 -> :sswitch_10
1697 + 0x2 -> :sswitch_2d
1698 + 0x3 -> :sswitch_50
1699 + 0x4 -> :sswitch_67
1700 + 0x5 -> :sswitch_83
1701 + 0x6 -> :sswitch_90
1702 + 0x7 -> :sswitch_a1
1703 + 0x8 -> :sswitch_b5
1704 + 0x9 -> :sswitch_c6
1705 + 0xa -> :sswitch_e3
1706 + 0xb -> :sswitch_100
1707 + 0x5f4e5446 -> :sswitch_a
1708 + .end sparse-switch
1710 diff -Npru stock-framework/smali/android/privacy/PrivacyFileObserver.smali pdroid-framework/smali/android/privacy/PrivacyFileObserver.smali
1711 --- stock-framework/smali/android/privacy/PrivacyFileObserver.smali 1969-12-31 18:00:00.000000000 -0600
1712 +++ pdroid-framework/smali/android/privacy/PrivacyFileObserver.smali 2012-08-22 21:52:53.699715733 -0500
1714 +.class public Landroid/privacy/PrivacyFileObserver;
1715 +.super Landroid/os/FileObserver;
1716 +.source "PrivacyFileObserver.java"
1720 +.field public static final PACKAGE_PATH_INDEX:I = 0x3
1722 +.field public static final TAG:Ljava/lang/String; = "PrivacyFileObserver"
1726 +.field public absolutePath:Ljava/lang/String;
1728 +.field public children:Ljava/util/HashMap;
1729 + .annotation system Ldalvik/annotation/Signature;
1731 + "Ljava/util/HashMap",
1733 + "Ljava/lang/String;",
1734 + "Landroid/privacy/PrivacyFileObserver;",
1740 +.field private pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
1744 +.method public constructor <init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
1747 + const/16 v8, 0xfff
1749 + invoke-direct {p0, p1, v8}, Landroid/os/FileObserver;-><init>(Ljava/lang/String;I)V
1751 + iput-object p1, p0, Landroid/privacy/PrivacyFileObserver;->absolutePath:Ljava/lang/String;
1753 + iput-object p2, p0, Landroid/privacy/PrivacyFileObserver;->pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
1755 + new-instance v8, Ljava/util/HashMap;
1757 + invoke-direct {v8}, Ljava/util/HashMap;-><init>()V
1759 + iput-object v8, p0, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap;
1761 + new-instance v7, Ljava/io/File;
1763 + iget-object v8, p0, Landroid/privacy/PrivacyFileObserver;->absolutePath:Ljava/lang/String;
1765 + invoke-direct {v7, v8}, Ljava/io/File;-><init>(Ljava/lang/String;)V
1767 + invoke-virtual {v7}, Ljava/io/File;->isDirectory()Z
1771 + if-eqz v8, :cond_42
1773 + invoke-virtual {v7}, Ljava/io/File;->listFiles()[Ljava/io/File;
1775 + move-result-object v6
1777 + move-object v0, v6
1779 + array-length v4, v0
1784 + if-ge v3, v4, :cond_42
1786 + aget-object v2, v0, v3
1788 + invoke-virtual {v2}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
1790 + move-result-object v5
1792 + new-instance v1, Landroid/privacy/PrivacyFileObserver;
1794 + invoke-direct {v1, v5, p2}, Landroid/privacy/PrivacyFileObserver;-><init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
1796 + iget-object v8, p0, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap;
1798 + invoke-virtual {v8, v5, v1}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
1800 + invoke-virtual {v2}, Ljava/io/File;->isFile()Z
1804 + if-eqz v8, :cond_3f
1806 + invoke-virtual {v1}, Landroid/privacy/PrivacyFileObserver;->startWatching()V
1809 + add-int/lit8 v3, v3, 0x1
1819 +.method public addObserver(Ljava/lang/String;)V
1822 + new-instance v2, Ljava/lang/StringBuilder;
1824 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
1826 + iget-object v3, p0, Landroid/privacy/PrivacyFileObserver;->absolutePath:Ljava/lang/String;
1828 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1830 + move-result-object v2
1832 + const-string v3, "/"
1834 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1836 + move-result-object v2
1838 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1840 + move-result-object v2
1842 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
1844 + move-result-object v1
1846 + iget-object v2, p0, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap;
1848 + invoke-virtual {v2, v1}, Ljava/util/HashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
1850 + new-instance v0, Landroid/privacy/PrivacyFileObserver;
1852 + iget-object v2, p0, Landroid/privacy/PrivacyFileObserver;->pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
1854 + invoke-direct {v0, v1, v2}, Landroid/privacy/PrivacyFileObserver;-><init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
1856 + iget-object v2, p0, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap;
1858 + invoke-virtual {v2, v1, v0}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
1863 +.method public onEvent(ILjava/lang/String;)V
1866 + and-int/lit8 v4, p1, 0x1
1868 + if-eqz v4, :cond_34
1870 + new-instance v3, Ljava/util/StringTokenizer;
1872 + iget-object v4, p0, Landroid/privacy/PrivacyFileObserver;->absolutePath:Ljava/lang/String;
1874 + const-string v5, "/"
1876 + invoke-direct {v3, v4, v5}, Ljava/util/StringTokenizer;-><init>(Ljava/lang/String;Ljava/lang/String;)V
1883 + if-ge v0, v4, :cond_1d
1885 + invoke-virtual {v3}, Ljava/util/StringTokenizer;->hasMoreElements()Z
1889 + if-eqz v4, :cond_1d
1891 + invoke-virtual {v3}, Ljava/util/StringTokenizer;->nextToken()Ljava/lang/String;
1893 + add-int/lit8 v0, v0, 0x1
1898 + invoke-virtual {v3}, Ljava/util/StringTokenizer;->nextToken()Ljava/lang/String;
1900 + move-result-object v2
1902 + iget-object v4, p0, Landroid/privacy/PrivacyFileObserver;->pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
1904 + invoke-virtual {v4, v2}, Landroid/privacy/PrivacySettingsManagerService;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
1906 + move-result-object v1
1908 + iget-object v4, p0, Landroid/privacy/PrivacyFileObserver;->pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
1910 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getSystemLogsSetting()B
1914 + const-string/jumbo v6, "systemLogs"
1918 + invoke-virtual {v4, v2, v5, v6, v7}, Landroid/privacy/PrivacySettingsManagerService;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
1924 +.method public startWatching()V
1927 + invoke-super {p0}, Landroid/os/FileObserver;->startWatching()V
1931 diff -Npru stock-framework/smali/android/privacy/PrivacyPersistenceAdapter.smali pdroid-framework/smali/android/privacy/PrivacyPersistenceAdapter.smali
1932 --- stock-framework/smali/android/privacy/PrivacyPersistenceAdapter.smali 1969-12-31 18:00:00.000000000 -0600
1933 +++ pdroid-framework/smali/android/privacy/PrivacyPersistenceAdapter.smali 2012-08-22 21:52:53.703715757 -0500
1935 +.class public Landroid/privacy/PrivacyPersistenceAdapter;
1936 +.super Ljava/lang/Object;
1937 +.source "PrivacyPersistenceAdapter.java"
1941 +.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) );"
1943 +.field private static final CREATE_TABLE_MAP:Ljava/lang/String; = "CREATE TABLE IF NOT EXISTS map ( name TEXT PRIMARY KEY, value TEXT );"
1945 +.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);"
1947 +.field private static final DATABASE_FIELDS:[Ljava/lang/String; = null
1949 +.field private static final DATABASE_FILE:Ljava/lang/String; = "/data/system/privacy.db"
1951 +.field private static final DATABASE_VERSION:I = 0x3
1953 +.field public static final DUMMY_UID:I = -0x1
1955 +.field private static final INSERT_ENABLED:Ljava/lang/String; = "INSERT OR REPLACE INTO map (name, value) VALUES (\"enabled\", \"1\");"
1957 +.field private static final INSERT_NOTIFICATIONS_ENABLED:Ljava/lang/String; = "INSERT OR REPLACE INTO map (name, value) VALUES (\"notifications_enabled\", \"1\");"
1959 +.field private static final INSERT_VERSION:Ljava/lang/String; = "INSERT OR REPLACE INTO map (name, value) VALUES (\"db_version\", 3);"
1961 +.field private static final RETRY_QUERY_COUNT:I = 0x5
1963 +.field public static final SETTINGS_DIRECTORY:Ljava/lang/String; = "/data/system/privacy"
1965 +.field public static final SETTING_DB_VERSION:Ljava/lang/String; = "db_version"
1967 +.field public static final SETTING_ENABLED:Ljava/lang/String; = "enabled"
1969 +.field public static final SETTING_NOTIFICATIONS_ENABLED:Ljava/lang/String; = "notifications_enabled"
1971 +.field private static final TABLE_ALLOWED_CONTACTS:Ljava/lang/String; = "allowed_contacts"
1973 +.field private static final TABLE_MAP:Ljava/lang/String; = "map"
1975 +.field private static final TABLE_SETTINGS:Ljava/lang/String; = "settings"
1977 +.field private static final TABLE_VERSION:Ljava/lang/String; = "version"
1979 +.field private static final TAG:Ljava/lang/String; = "PrivacyPersistenceAdapter"
1981 +.field public static final VALUE_FALSE:Ljava/lang/String; = "0"
1983 +.field public static final VALUE_TRUE:Ljava/lang/String; = "1"
1985 +.field public static readingThreads:Ljava/lang/Integer;
1989 +.field private context:Landroid/content/Context;
1991 +.field private db:Landroid/database/sqlite/SQLiteDatabase;
1995 +.method static constructor <clinit>()V
2000 + invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
2002 + move-result-object v0
2004 + sput-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2008 + new-array v0, v0, [Ljava/lang/String;
2010 + const-string v1, "_id"
2012 + aput-object v1, v0, v2
2016 + const-string/jumbo v2, "packageName"
2018 + aput-object v2, v0, v1
2022 + const-string/jumbo v2, "uid"
2024 + aput-object v2, v0, v1
2028 + const-string v2, "deviceIdSetting"
2030 + aput-object v2, v0, v1
2034 + const-string v2, "deviceId"
2036 + aput-object v2, v0, v1
2040 + const-string v2, "line1NumberSetting"
2042 + aput-object v2, v0, v1
2046 + const-string v2, "line1Number"
2048 + aput-object v2, v0, v1
2052 + const-string v2, "locationGpsSetting"
2054 + aput-object v2, v0, v1
2058 + const-string v2, "locationGpsLat"
2060 + aput-object v2, v0, v1
2064 + const-string v2, "locationGpsLon"
2066 + aput-object v2, v0, v1
2070 + const-string v2, "locationNetworkSetting"
2072 + aput-object v2, v0, v1
2076 + const-string v2, "locationNetworkLat"
2078 + aput-object v2, v0, v1
2082 + const-string v2, "locationNetworkLon"
2084 + aput-object v2, v0, v1
2088 + const-string/jumbo v2, "networkInfoSetting"
2090 + aput-object v2, v0, v1
2094 + const-string/jumbo v2, "simInfoSetting"
2096 + aput-object v2, v0, v1
2100 + const-string/jumbo v2, "simSerialNumberSetting"
2102 + aput-object v2, v0, v1
2106 + const-string/jumbo v2, "simSerialNumber"
2108 + aput-object v2, v0, v1
2112 + const-string/jumbo v2, "subscriberIdSetting"
2114 + aput-object v2, v0, v1
2118 + const-string/jumbo v2, "subscriberId"
2120 + aput-object v2, v0, v1
2124 + const-string v2, "accountsSetting"
2126 + aput-object v2, v0, v1
2130 + const-string v2, "accountsAuthTokensSetting"
2132 + aput-object v2, v0, v1
2136 + const-string/jumbo v2, "outgoingCallsSetting"
2138 + aput-object v2, v0, v1
2142 + const-string v2, "incomingCallsSetting"
2144 + aput-object v2, v0, v1
2148 + const-string v2, "contactsSetting"
2150 + aput-object v2, v0, v1
2154 + const-string v2, "calendarSetting"
2156 + aput-object v2, v0, v1
2160 + const-string/jumbo v2, "mmsSetting"
2162 + aput-object v2, v0, v1
2166 + const-string/jumbo v2, "smsSetting"
2168 + aput-object v2, v0, v1
2172 + const-string v2, "callLogSetting"
2174 + aput-object v2, v0, v1
2178 + const-string v2, "bookmarksSetting"
2180 + aput-object v2, v0, v1
2184 + const-string/jumbo v2, "systemLogsSetting"
2186 + aput-object v2, v0, v1
2190 + const-string v2, "externalStorageSetting"
2192 + aput-object v2, v0, v1
2196 + const-string v2, "cameraSetting"
2198 + aput-object v2, v0, v1
2202 + const-string/jumbo v2, "recordAudioSetting"
2204 + aput-object v2, v0, v1
2208 + const-string/jumbo v2, "notificationSetting"
2210 + aput-object v2, v0, v1
2214 + const-string v2, "intentBootCompletedSetting"
2216 + aput-object v2, v0, v1
2218 + sput-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->DATABASE_FIELDS:[Ljava/lang/String;
2223 +.method public constructor <init>(Landroid/content/Context;)V
2226 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
2228 + iput-object p1, p0, Landroid/privacy/PrivacyPersistenceAdapter;->context:Landroid/content/Context;
2230 + new-instance v2, Ljava/io/File;
2232 + const-string v3, "/data/system/"
2234 + invoke-direct {v2, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
2236 + invoke-virtual {v2}, Ljava/io/File;->canWrite()Z
2240 + if-eqz v0, :cond_3c
2242 + new-instance v2, Ljava/io/File;
2244 + const-string v3, "/data/system/privacy.db"
2246 + invoke-direct {v2, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
2248 + invoke-virtual {v2}, Ljava/io/File;->exists()Z
2252 + if-nez v2, :cond_22
2254 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->createDatabase()V
2257 + new-instance v2, Ljava/io/File;
2259 + const-string v3, "/data/system/privacy"
2261 + invoke-direct {v2, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
2263 + invoke-virtual {v2}, Ljava/io/File;->exists()Z
2267 + if-nez v2, :cond_32
2269 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->createSettingsDir()V
2272 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getDbVersion()I
2278 + if-ge v1, v2, :cond_3c
2280 + invoke-direct {p0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->upgradeDatabase(I)V
2286 +.method private declared-synchronized createDatabase()V
2292 + const-string v2, "PrivacyPersistenceAdapter"
2294 + const-string v3, "createDatabase - creating privacy database file"
2296 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
2298 + .catchall {:try_start_1 .. :try_end_8} :catchall_4c
2301 + const-string v2, "/data/system/privacy.db"
2305 + const/high16 v4, 0x1000
2307 + invoke-static {v2, v3, v4}, Landroid/database/sqlite/SQLiteDatabase;->openDatabase(Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;I)Landroid/database/sqlite/SQLiteDatabase;
2309 + move-result-object v0
2311 + const-string v2, "PrivacyPersistenceAdapter"
2313 + const-string v3, "createDatabase - creating privacy database"
2315 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
2317 + 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);"
2319 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
2321 + const-string v2, "CREATE TABLE IF NOT EXISTS allowed_contacts ( settings_id, contact_id, PRIMARY KEY(settings_id, contact_id) );"
2323 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
2325 + const-string v2, "CREATE TABLE IF NOT EXISTS map ( name TEXT PRIMARY KEY, value TEXT );"
2327 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
2329 + const-string v2, "INSERT OR REPLACE INTO map (name, value) VALUES (\"db_version\", 3);"
2331 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
2333 + const-string v2, "INSERT OR REPLACE INTO map (name, value) VALUES (\"enabled\", \"1\");"
2335 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
2337 + const-string v2, "INSERT OR REPLACE INTO map (name, value) VALUES (\"notifications_enabled\", \"1\");"
2339 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
2341 + if-eqz v0, :cond_41
2343 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
2347 + if-eqz v2, :cond_41
2349 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
2351 + .catchall {:try_start_8 .. :try_end_41} :catchall_4c
2352 + .catch Landroid/database/SQLException; {:try_start_8 .. :try_end_41} :catch_43
2364 + const-string v2, "PrivacyPersistenceAdapter"
2366 + const-string v3, "createDatabase - failed to create privacy database"
2368 + invoke-static {v2, v3, v1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
2370 + .catchall {:try_start_44 .. :try_end_4b} :catchall_4c
2382 +.method private declared-synchronized createSettingsDir()V
2388 + new-instance v0, Ljava/io/File;
2390 + const-string v1, "/data/system/privacy/"
2392 + invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
2394 + invoke-virtual {v0}, Ljava/io/File;->mkdirs()Z
2400 + invoke-virtual {v0, v1, v2}, Ljava/io/File;->setReadable(ZZ)Z
2406 + invoke-virtual {v0, v1, v2}, Ljava/io/File;->setExecutable(ZZ)Z
2408 + .catchall {:try_start_1 .. :try_end_15} :catchall_17
2422 +.method private deleteRecursive(Ljava/io/File;)V
2425 + invoke-virtual {p1}, Ljava/io/File;->isDirectory()Z
2429 + if-eqz v4, :cond_16
2431 + invoke-virtual {p1}, Ljava/io/File;->listFiles()[Ljava/io/File;
2433 + move-result-object v0
2435 + array-length v3, v0
2440 + if-ge v2, v3, :cond_16
2442 + aget-object v1, v0, v2
2444 + invoke-direct {p0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteRecursive(Ljava/io/File;)V
2446 + add-int/lit8 v2, v2, 0x1
2451 + invoke-virtual {p1}, Ljava/io/File;->delete()Z
2456 +.method private getDbVersion()I
2463 + sget-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2465 + sget-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2467 + invoke-virtual {v6}, Ljava/lang/Integer;->intValue()I
2471 + add-int/lit8 v6, v6, 0x1
2473 + invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
2475 + move-result-object v6
2477 + sput-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2479 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
2481 + move-result-object v1
2484 + const-string v6, "SELECT name FROM sqlite_master WHERE type=\'table\' AND name=\'map\';"
2486 + invoke-direct {p0, v1, v6}, Landroid/privacy/PrivacyPersistenceAdapter;->rawQuery(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;)Landroid/database/Cursor;
2488 + move-result-object v0
2490 + if-eqz v0, :cond_5e
2492 + invoke-interface {v0}, Landroid/database/Cursor;->getCount()I
2496 + if-nez v6, :cond_25
2501 + invoke-interface {v0}, Landroid/database/Cursor;->close()V
2503 + sget-object v7, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2507 + .catch Ljava/lang/Exception; {:try_start_16 .. :try_end_2b} :catch_55
2510 + sget-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2512 + sget-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2514 + invoke-virtual {v6}, Ljava/lang/Integer;->intValue()I
2518 + add-int/lit8 v6, v6, -0x1
2520 + invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
2522 + move-result-object v6
2524 + sput-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2526 + sget-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2528 + invoke-virtual {v6}, Ljava/lang/Integer;->intValue()I
2532 + if-nez v6, :cond_4e
2534 + if-eqz v1, :cond_4e
2536 + invoke-virtual {v1}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
2540 + if-eqz v6, :cond_4e
2542 + invoke-virtual {v1}, Landroid/database/sqlite/SQLiteDatabase;->close()V
2548 + if-ne v3, v4, :cond_66
2558 + .catchall {:try_start_2b .. :try_end_54} :catchall_52
2563 + .catch Ljava/lang/Exception; {:try_start_54 .. :try_end_55} :catch_55
2568 + const-string v6, "PrivacyPersistenceAdapter"
2570 + const-string v7, "getDbVersion - failed to check if table map exists (exception)"
2572 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
2578 + const-string v6, "PrivacyPersistenceAdapter"
2580 + const-string v7, "getDbVersion - failed to check if table map exists (cursor is null)"
2582 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
2584 + .catch Ljava/lang/Exception; {:try_start_5e .. :try_end_65} :catch_55
2589 + const-string v6, "db_version"
2591 + invoke-virtual {p0, v6}, Landroid/privacy/PrivacyPersistenceAdapter;->getValue(Ljava/lang/String;)Ljava/lang/String;
2593 + move-result-object v5
2595 + if-nez v5, :cond_70
2603 + invoke-static {v5}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
2605 + .catch Ljava/lang/Exception; {:try_start_70 .. :try_end_73} :catch_76
2616 + const-string v6, "PrivacyPersistenceAdapter"
2618 + const-string v7, "getDbVersion - failed to parse database version; returning 1"
2620 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
2627 +.method private declared-synchronized getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
2633 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2635 + if-eqz v0, :cond_11
2637 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2639 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
2643 + if-eqz v0, :cond_11
2645 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2647 + .catchall {:try_start_1 .. :try_end_f} :catchall_1e
2656 + const-string v0, "/data/system/privacy.db"
2662 + invoke-static {v0, v1, v2}, Landroid/database/sqlite/SQLiteDatabase;->openDatabase(Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;I)Landroid/database/sqlite/SQLiteDatabase;
2664 + move-result-object v0
2666 + iput-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2668 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2670 + .catchall {:try_start_11 .. :try_end_1d} :catchall_1e
2682 +.method private declared-synchronized getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
2688 + new-instance v0, Ljava/io/File;
2690 + const-string v1, "/data/system/privacy.db"
2692 + invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
2694 + invoke-virtual {v0}, Ljava/io/File;->exists()Z
2698 + if-nez v0, :cond_11
2700 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->createDatabase()V
2703 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2705 + if-eqz v0, :cond_29
2707 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2709 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
2713 + if-eqz v0, :cond_29
2715 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2717 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isReadOnly()Z
2721 + if-nez v0, :cond_29
2723 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2725 + .catchall {:try_start_1 .. :try_end_27} :catchall_36
2734 + const-string v0, "/data/system/privacy.db"
2740 + invoke-static {v0, v1, v2}, Landroid/database/sqlite/SQLiteDatabase;->openDatabase(Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;I)Landroid/database/sqlite/SQLiteDatabase;
2742 + move-result-object v0
2744 + iput-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2746 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2748 + .catchall {:try_start_29 .. :try_end_35} :catchall_36
2760 +.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;
2762 + .annotation system Ldalvik/annotation/Throws;
2764 + Ljava/lang/Exception;
2775 + if-nez v3, :cond_27
2779 + if-ge v2, v4, :cond_27
2781 + if-eqz v0, :cond_d
2784 + invoke-interface {v0}, Landroid/database/Cursor;->close()V
2787 + 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;
2789 + .catch Ljava/lang/IllegalStateException; {:try_start_a .. :try_end_10} :catch_15
2791 + move-result-object v0
2796 + add-int/lit8 v2, v2, 0x1
2805 + if-eqz p1, :cond_22
2807 + invoke-virtual {p1}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
2811 + if-eqz v4, :cond_22
2813 + invoke-virtual {p1}, Landroid/database/sqlite/SQLiteDatabase;->close()V
2816 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
2818 + move-result-object p1
2823 + if-nez v3, :cond_32
2825 + new-instance v4, Ljava/lang/Exception;
2827 + const-string/jumbo v5, "query - failed to execute query on the DB"
2829 + invoke-direct {v4, v5}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
2837 +.method private rawQuery(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;)Landroid/database/Cursor;
2839 + .annotation system Ldalvik/annotation/Throws;
2841 + Ljava/lang/Exception;
2852 + if-nez v3, :cond_28
2856 + if-ge v2, v4, :cond_28
2858 + if-eqz v0, :cond_d
2861 + invoke-interface {v0}, Landroid/database/Cursor;->close()V
2866 + invoke-virtual {p1, p2, v4}, Landroid/database/sqlite/SQLiteDatabase;->rawQuery(Ljava/lang/String;[Ljava/lang/String;)Landroid/database/Cursor;
2868 + .catch Ljava/lang/IllegalStateException; {:try_start_a .. :try_end_11} :catch_16
2870 + move-result-object v0
2875 + add-int/lit8 v2, v2, 0x1
2884 + if-eqz p1, :cond_23
2886 + invoke-virtual {p1}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
2890 + if-eqz v4, :cond_23
2892 + invoke-virtual {p1}, Landroid/database/sqlite/SQLiteDatabase;->close()V
2895 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
2897 + move-result-object p1
2902 + if-nez v3, :cond_33
2904 + new-instance v4, Ljava/lang/Exception;
2906 + const-string/jumbo v5, "query - failed to execute query on the DB"
2908 + invoke-direct {v4, v5}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
2916 +.method private declared-synchronized upgradeDatabase(I)V
2922 + const-string v17, "PrivacyPersistenceAdapter"
2924 + new-instance v18, Ljava/lang/StringBuilder;
2926 + invoke-direct/range {v18 .. v18}, Ljava/lang/StringBuilder;-><init>()V
2928 + const-string/jumbo v19, "upgradeDatabase - upgrading DB from version "
2930 + invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2932 + move-result-object v18
2934 + move-object/from16 v0, v18
2936 + move/from16 v1, p1
2938 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
2940 + move-result-object v18
2942 + const-string v19, " to "
2944 + invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2946 + move-result-object v18
2950 + invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
2952 + move-result-object v18
2954 + invoke-virtual/range {v18 .. v18}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2956 + move-result-object v18
2958 + invoke-static/range {v17 .. v18}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
2960 + new-instance v6, Ljava/io/File;
2962 + const-string v17, "/data/system/privacy.db"
2964 + move-object/from16 v0, v17
2966 + invoke-direct {v6, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
2968 + new-instance v5, Ljava/io/File;
2970 + const-string v17, "/data/system/privacy.db.bak"
2972 + move-object/from16 v0, v17
2974 + invoke-direct {v5, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
2976 + .catchall {:try_start_1 .. :try_end_3c} :catchall_66
2979 + invoke-virtual {v5}, Ljava/io/File;->delete()Z
2981 + .catchall {:try_start_3c .. :try_end_3f} :catchall_66
2982 + .catch Ljava/lang/SecurityException; {:try_start_3c .. :try_end_3f} :catch_5c
2986 + invoke-static {v6, v5}, Landroid/os/FileUtils;->copyFile(Ljava/io/File;Ljava/io/File;)Z
2988 + invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
2990 + move-result-wide v17
2992 + invoke-virtual {v5}, Ljava/io/File;->lastModified()J
2994 + move-result-wide v19
2996 + sub-long v17, v17, v19
2998 + const-wide/16 v19, 0x7d0
3000 + cmp-long v17, v17, v19
3002 + if-lez v17, :cond_69
3004 + const-string v17, "PrivacyPersistenceAdapter"
3006 + const-string/jumbo v18, "upgradeDatabase - could not create a database backup, aborting..."
3008 + invoke-static/range {v17 .. v18}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
3010 + .catchall {:try_start_3f .. :try_end_5a} :catchall_66
3021 + const-string v17, "PrivacyPersistenceAdapter"
3023 + const-string/jumbo v18, "upgradeDatabase - could not remove old backup"
3025 + invoke-static/range {v17 .. v18}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
3027 + .catchall {:try_start_5d .. :try_end_65} :catchall_66
3032 + move-exception v17
3040 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
3042 + move-result-object v4
3044 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->beginTransaction()V
3046 + packed-switch p1, :pswitch_data_164
3050 + if-eqz v4, :cond_159
3052 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3056 + if-eqz v17, :cond_159
3058 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
3060 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3063 + invoke-virtual/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->purgeSettings()Z
3065 + .catchall {:try_start_69 .. :try_end_84} :catchall_66
3070 + if-eqz v4, :cond_73
3073 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3077 + if-eqz v17, :cond_73
3079 + const-string v17, "DROP TABLE IF EXISTS version;"
3081 + move-object/from16 v0, v17
3083 + invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
3085 + const-string v17, "CREATE TABLE IF NOT EXISTS allowed_contacts ( settings_id, contact_id, PRIMARY KEY(settings_id, contact_id) );"
3087 + move-object/from16 v0, v17
3089 + invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
3091 + const-string v17, "CREATE TABLE IF NOT EXISTS map ( name TEXT PRIMARY KEY, value TEXT );"
3093 + move-object/from16 v0, v17
3095 + invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
3097 + const-string v17, "INSERT OR REPLACE INTO map (name, value) VALUES (\"db_version\", 3);"
3099 + move-object/from16 v0, v17
3101 + invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
3103 + const-string v17, "INSERT OR REPLACE INTO map (name, value) VALUES (\"enabled\", \"1\");"
3105 + move-object/from16 v0, v17
3107 + invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
3109 + const-string v17, "INSERT OR REPLACE INTO map (name, value) VALUES (\"notifications_enabled\", \"1\");"
3111 + move-object/from16 v0, v17
3113 + invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
3115 + new-instance v14, Ljava/io/File;
3117 + const-string v17, "/data/system/privacy"
3119 + move-object/from16 v0, v17
3121 + invoke-direct {v14, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
3123 + invoke-virtual {v14}, Ljava/io/File;->listFiles()[Ljava/io/File;
3125 + move-result-object v2
3127 + array-length v10, v2
3134 + if-ge v9, v10, :cond_127
3136 + aget-object v13, v2, v9
3138 + invoke-virtual {v13}, Ljava/io/File;->listFiles()[Ljava/io/File;
3140 + move-result-object v3
3142 + array-length v11, v3
3147 + if-ge v8, v11, :cond_123
3149 + aget-object v16, v3, v8
3151 + invoke-virtual/range {v16 .. v16}, Ljava/io/File;->isDirectory()Z
3155 + if-eqz v17, :cond_120
3157 + invoke-virtual/range {v16 .. v16}, Ljava/io/File;->listFiles()[Ljava/io/File;
3159 + move-result-object v15
3163 + aget-object v17, v15, v17
3165 + if-eqz v17, :cond_120
3167 + new-instance v12, Ljava/io/File;
3169 + new-instance v17, Ljava/lang/StringBuilder;
3171 + invoke-direct/range {v17 .. v17}, Ljava/lang/StringBuilder;-><init>()V
3173 + move-object/from16 v0, v17
3175 + invoke-virtual {v0, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
3177 + move-result-object v17
3179 + const-string v18, "/"
3181 + invoke-virtual/range {v17 .. v18}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3183 + move-result-object v17
3187 + aget-object v18, v15, v18
3189 + invoke-virtual/range {v18 .. v18}, Ljava/io/File;->getName()Ljava/lang/String;
3191 + move-result-object v18
3193 + invoke-virtual/range {v17 .. v18}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3195 + move-result-object v17
3197 + invoke-virtual/range {v17 .. v17}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3199 + move-result-object v17
3201 + move-object/from16 v0, v17
3203 + invoke-direct {v12, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
3205 + invoke-virtual {v12}, Ljava/io/File;->delete()Z
3209 + aget-object v17, v15, v17
3211 + move-object/from16 v0, v17
3213 + invoke-virtual {v0, v12}, Ljava/io/File;->renameTo(Ljava/io/File;)Z
3215 + move-object/from16 v0, p0
3217 + move-object/from16 v1, v16
3219 + invoke-direct {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteRecursive(Ljava/io/File;)V
3222 + add-int/lit8 v8, v8, 0x1
3227 + add-int/lit8 v8, v9, 0x1
3234 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->setTransactionSuccessful()V
3236 + .catchall {:try_start_87 .. :try_end_12a} :catchall_66
3237 + .catch Ljava/lang/Exception; {:try_start_87 .. :try_end_12a} :catch_12c
3244 + if-eqz v4, :cond_13b
3247 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3251 + if-eqz v17, :cond_13b
3253 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
3255 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3258 + const-string v17, "PrivacyPersistenceAdapter"
3260 + const-string/jumbo v18, "upgradeDatabase - could not upgrade DB; will restore backup"
3262 + move-object/from16 v0, v17
3264 + move-object/from16 v1, v18
3266 + invoke-static {v0, v1, v7}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
3268 + invoke-static {v5, v6}, Landroid/os/FileUtils;->copyFile(Ljava/io/File;Ljava/io/File;)Z
3270 + invoke-virtual {v5}, Ljava/io/File;->delete()Z
3275 + const-string v17, "PrivacyPersistenceAdapter"
3277 + const-string/jumbo v18, "upgradeDatabase - trying to upgrade most current DB version"
3279 + invoke-static/range {v17 .. v18}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
3284 + const-string v17, "PrivacyPersistenceAdapter"
3286 + const-string/jumbo v18, "upgradeDatabase - database is null or closed; cant call endTransaction()"
3288 + invoke-static/range {v17 .. v18}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
3290 + .catchall {:try_start_12f .. :try_end_161} :catchall_66
3297 + .packed-switch 0x1
3301 + .end packed-switch
3306 +.method public declared-synchronized deleteSettings(Ljava/lang/String;)Z
3314 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
3316 + move-result-object v0
3318 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->beginTransaction()V
3320 + .catchall {:try_start_2 .. :try_end_9} :catchall_107
3323 + const-string/jumbo v1, "settings"
3327 + new-array v2, v2, [Ljava/lang/String;
3331 + const-string v4, "_id"
3333 + aput-object v4, v2, v3
3335 + const-string/jumbo v3, "packageName=?"
3339 + new-array v4, v4, [Ljava/lang/String;
3343 + aput-object p1, v4, v5
3351 + 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;
3353 + move-result-object v8
3355 + if-eqz v8, :cond_4c
3357 + invoke-interface {v8}, Landroid/database/Cursor;->getCount()I
3361 + if-lez v1, :cond_4c
3363 + invoke-interface {v8}, Landroid/database/Cursor;->moveToFirst()Z
3367 + if-eqz v1, :cond_4c
3371 + invoke-interface {v8, v1}, Landroid/database/Cursor;->getInt(I)I
3375 + const-string v1, "allowed_contacts"
3377 + const-string/jumbo v2, "settings_id=?"
3381 + new-array v3, v3, [Ljava/lang/String;
3385 + invoke-static {v10}, Ljava/lang/Integer;->toString(I)Ljava/lang/String;
3387 + move-result-object v5
3389 + aput-object v5, v3, v4
3391 + invoke-virtual {v0, v1, v2, v3}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
3393 + invoke-interface {v8}, Landroid/database/Cursor;->close()V
3396 + const-string/jumbo v1, "settings"
3398 + const-string/jumbo v2, "packageName=?"
3402 + new-array v3, v3, [Ljava/lang/String;
3406 + aput-object p1, v3, v4
3408 + invoke-virtual {v0, v1, v2, v3}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
3412 + if-nez v1, :cond_8d
3414 + const-string v1, "PrivacyPersistenceAdapter"
3416 + new-instance v2, Ljava/lang/StringBuilder;
3418 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
3420 + const-string v3, "deleteSettings - database entry for "
3422 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3424 + move-result-object v2
3426 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3428 + move-result-object v2
3430 + const-string v3, " not found"
3432 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3434 + move-result-object v2
3436 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3438 + move-result-object v2
3440 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
3442 + .catchall {:try_start_9 .. :try_end_7c} :catchall_10a
3443 + .catch Ljava/lang/Exception; {:try_start_9 .. :try_end_7c} :catch_ef
3448 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
3450 + if-eqz v0, :cond_8b
3452 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3456 + if-eqz v2, :cond_8b
3458 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3460 + .catchall {:try_start_7d .. :try_end_8b} :catchall_107
3470 + new-instance v12, Ljava/io/File;
3472 + new-instance v1, Ljava/lang/StringBuilder;
3474 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
3476 + const-string v2, "/data/system/privacy/"
3478 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3480 + move-result-object v1
3482 + invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3484 + move-result-object v1
3486 + const-string v2, "/"
3488 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3490 + move-result-object v1
3492 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3494 + move-result-object v1
3496 + invoke-direct {v12, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
3498 + new-instance v13, Ljava/io/File;
3500 + new-instance v1, Ljava/lang/StringBuilder;
3502 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
3504 + const-string v2, "/data/system/privacy/"
3506 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3508 + move-result-object v1
3510 + invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3512 + move-result-object v1
3514 + const-string v2, "/systemLogsSetting"
3516 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3518 + move-result-object v1
3520 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3522 + move-result-object v1
3524 + invoke-direct {v13, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
3526 + invoke-virtual {v13}, Ljava/io/File;->delete()Z
3528 + invoke-virtual {v12}, Ljava/io/File;->list()[Ljava/lang/String;
3530 + move-result-object v1
3532 + if-eqz v1, :cond_d9
3534 + invoke-virtual {v12}, Ljava/io/File;->list()[Ljava/lang/String;
3536 + move-result-object v1
3538 + array-length v1, v1
3540 + if-nez v1, :cond_dc
3543 + invoke-virtual {v12}, Ljava/io/File;->delete()Z
3546 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->setTransactionSuccessful()V
3548 + .catchall {:try_start_8d .. :try_end_df} :catchall_10a
3549 + .catch Ljava/lang/Exception; {:try_start_8d .. :try_end_df} :catch_ef
3552 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
3554 + if-eqz v0, :cond_ed
3556 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3560 + if-eqz v1, :cond_ed
3562 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3564 + .catchall {:try_start_df .. :try_end_ed} :catchall_107
3578 + const-string v1, "PrivacyPersistenceAdapter"
3580 + const-string v2, "deleteSettings - could not delete settings"
3582 + invoke-static {v1, v2, v9}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
3584 + .catchall {:try_start_f1 .. :try_end_f8} :catchall_10a
3587 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
3589 + if-eqz v0, :cond_ed
3591 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3595 + if-eqz v1, :cond_ed
3597 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3599 + .catchall {:try_start_f8 .. :try_end_106} :catchall_107
3614 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
3616 + if-eqz v0, :cond_119
3618 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3622 + if-eqz v2, :cond_119
3624 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3629 + .catchall {:try_start_10b .. :try_end_11a} :catchall_107
3632 +.method public declared-synchronized getSettings(Ljava/lang/String;Z)Landroid/privacy/PrivacySettings;
3639 + if-nez p1, :cond_10
3642 + const-string v1, "PrivacyPersistenceAdapter"
3644 + const-string v4, "getSettings - insufficient application identifier - package name is required"
3646 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
3648 + .catchall {:try_start_5 .. :try_end_c} :catchall_2d8
3650 + move-object/from16 v3, v43
3659 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
3661 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
3663 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
3667 + add-int/lit8 v1, v1, 0x1
3669 + invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
3671 + move-result-object v1
3673 + sput-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
3675 + .catchall {:try_start_10 .. :try_end_20} :catchall_2d8
3678 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
3680 + .catchall {:try_start_20 .. :try_end_23} :catchall_2d8
3681 + .catch Landroid/database/sqlite/SQLiteException; {:try_start_20 .. :try_end_23} :catch_245
3683 + move-result-object v2
3688 + const-string/jumbo v3, "settings"
3690 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->DATABASE_FIELDS:[Ljava/lang/String;
3692 + const-string/jumbo v5, "packageName=?"
3696 + new-array v6, v1, [Ljava/lang/String;
3700 + aput-object p1, v6, v1
3710 + move-object/from16 v1, p0
3712 + 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;
3714 + move-result-object v41
3716 + if-eqz v41, :cond_2dc
3718 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->moveToFirst()Z
3722 + if-eqz v1, :cond_2dc
3724 + new-instance v3, Landroid/privacy/PrivacySettings;
3728 + move-object/from16 v0, v41
3730 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getInt(I)I
3734 + invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
3736 + move-result-object v4
3740 + move-object/from16 v0, v41
3742 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
3744 + move-result-object v5
3748 + move-object/from16 v0, v41
3750 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getInt(I)I
3756 + move-object/from16 v0, v41
3758 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3762 + int-to-byte v7, v1
3766 + move-object/from16 v0, v41
3768 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
3770 + move-result-object v8
3774 + move-object/from16 v0, v41
3776 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3780 + int-to-byte v9, v1
3784 + move-object/from16 v0, v41
3786 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
3788 + move-result-object v10
3792 + move-object/from16 v0, v41
3794 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3798 + int-to-byte v11, v1
3802 + move-object/from16 v0, v41
3804 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
3806 + move-result-object v12
3810 + move-object/from16 v0, v41
3812 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
3814 + move-result-object v13
3818 + move-object/from16 v0, v41
3820 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3824 + int-to-byte v14, v1
3828 + move-object/from16 v0, v41
3830 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
3832 + move-result-object v15
3836 + move-object/from16 v0, v41
3838 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
3840 + move-result-object v16
3844 + move-object/from16 v0, v41
3846 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3850 + int-to-byte v0, v1
3852 + move/from16 v17, v0
3856 + move-object/from16 v0, v41
3858 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3862 + int-to-byte v0, v1
3864 + move/from16 v18, v0
3868 + move-object/from16 v0, v41
3870 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3874 + int-to-byte v0, v1
3876 + move/from16 v19, v0
3880 + move-object/from16 v0, v41
3882 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
3884 + move-result-object v20
3888 + move-object/from16 v0, v41
3890 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3894 + int-to-byte v0, v1
3896 + move/from16 v21, v0
3900 + move-object/from16 v0, v41
3902 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
3904 + move-result-object v22
3908 + move-object/from16 v0, v41
3910 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3914 + int-to-byte v0, v1
3916 + move/from16 v23, v0
3920 + move-object/from16 v0, v41
3922 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3926 + int-to-byte v0, v1
3928 + move/from16 v24, v0
3932 + move-object/from16 v0, v41
3934 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3938 + int-to-byte v0, v1
3940 + move/from16 v25, v0
3944 + move-object/from16 v0, v41
3946 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3950 + int-to-byte v0, v1
3952 + move/from16 v26, v0
3956 + move-object/from16 v0, v41
3958 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3962 + int-to-byte v0, v1
3964 + move/from16 v27, v0
3968 + move-object/from16 v0, v41
3970 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3974 + int-to-byte v0, v1
3976 + move/from16 v28, v0
3980 + move-object/from16 v0, v41
3982 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3986 + int-to-byte v0, v1
3988 + move/from16 v29, v0
3992 + move-object/from16 v0, v41
3994 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3998 + int-to-byte v0, v1
4000 + move/from16 v30, v0
4004 + move-object/from16 v0, v41
4006 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4010 + int-to-byte v0, v1
4012 + move/from16 v31, v0
4016 + move-object/from16 v0, v41
4018 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4022 + int-to-byte v0, v1
4024 + move/from16 v32, v0
4028 + move-object/from16 v0, v41
4030 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4034 + int-to-byte v0, v1
4036 + move/from16 v33, v0
4040 + move-object/from16 v0, v41
4042 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4046 + int-to-byte v0, v1
4048 + move/from16 v34, v0
4052 + move-object/from16 v0, v41
4054 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4058 + int-to-byte v0, v1
4060 + move/from16 v35, v0
4064 + move-object/from16 v0, v41
4066 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4070 + int-to-byte v0, v1
4072 + move/from16 v36, v0
4076 + move-object/from16 v0, v41
4078 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4082 + int-to-byte v0, v1
4084 + move/from16 v37, v0
4088 + move-object/from16 v0, v41
4090 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4094 + int-to-byte v0, v1
4096 + move/from16 v38, v0
4100 + 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
4102 + .catchall {:try_start_26 .. :try_end_1a1} :catchall_29b
4103 + .catch Ljava/lang/Exception; {:try_start_26 .. :try_end_1a1} :catch_2d3
4106 + new-instance v1, Ljava/lang/StringBuilder;
4108 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
4110 + const-string v4, "SELECT * FROM allowed_contacts WHERE settings_id="
4112 + invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4114 + move-result-object v1
4116 + invoke-virtual {v3}, Landroid/privacy/PrivacySettings;->get_id()Ljava/lang/Integer;
4118 + move-result-object v4
4120 + invoke-virtual {v4}, Ljava/lang/Integer;->intValue()I
4124 + invoke-static {v4}, Ljava/lang/Integer;->toString(I)Ljava/lang/String;
4126 + move-result-object v4
4128 + invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4130 + move-result-object v1
4132 + const-string v4, ";"
4134 + invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4136 + move-result-object v1
4138 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4140 + move-result-object v1
4142 + move-object/from16 v0, p0
4144 + invoke-direct {v0, v2, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->rawQuery(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;)Landroid/database/Cursor;
4146 + move-result-object v41
4148 + if-eqz v41, :cond_268
4150 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->getCount()I
4154 + if-lez v1, :cond_268
4156 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->getCount()I
4160 + new-array v0, v1, [I
4162 + move-object/from16 v40, v0
4165 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->moveToNext()Z
4169 + if-eqz v1, :cond_263
4171 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->getPosition()I
4177 + move-object/from16 v0, v41
4179 + invoke-interface {v0, v4}, Landroid/database/Cursor;->getInt(I)I
4185 + .catchall {:try_start_1a1 .. :try_end_1ef} :catchall_2d1
4186 + .catch Ljava/lang/Exception; {:try_start_1a1 .. :try_end_1ef} :catch_1f0
4191 + move-exception v42
4195 + const-string v1, "PrivacyPersistenceAdapter"
4197 + new-instance v4, Ljava/lang/StringBuilder;
4199 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
4201 + const-string v5, "getSettings - failed to get settings for package: "
4203 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4205 + move-result-object v4
4207 + move-object/from16 v0, p1
4209 + invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4211 + move-result-object v4
4213 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4215 + move-result-object v4
4217 + move-object/from16 v0, v42
4219 + invoke-static {v1, v4, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
4221 + invoke-virtual/range {v42 .. v42}, Ljava/lang/Exception;->printStackTrace()V
4223 + if-eqz v41, :cond_215
4225 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->close()V
4227 + .catchall {:try_start_1f1 .. :try_end_215} :catchall_2d1
4230 + if-eqz v41, :cond_21a
4233 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->close()V
4236 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4240 + .catchall {:try_start_217 .. :try_end_21d} :catchall_298
4243 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4245 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4247 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
4251 + add-int/lit8 v1, v1, -0x1
4253 + invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4255 + move-result-object v1
4257 + sput-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4259 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4261 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
4265 + if-nez v1, :cond_240
4267 + if-eqz v2, :cond_240
4269 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
4273 + if-eqz v1, :cond_240
4275 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
4280 + .catchall {:try_start_21d .. :try_end_241} :catchall_2ce
4283 + move-object/from16 v43, v3
4288 + move-exception v42
4291 + const-string v1, "PrivacyPersistenceAdapter"
4293 + const-string v4, "getSettings - database could not be opened"
4295 + move-object/from16 v0, v42
4297 + invoke-static {v1, v4, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
4299 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4301 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4303 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
4307 + add-int/lit8 v1, v1, -0x1
4309 + invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4311 + move-result-object v1
4313 + sput-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4315 + .catchall {:try_start_246 .. :try_end_25f} :catchall_2d8
4317 + move-object/from16 v3, v43
4323 + move-object/from16 v0, v40
4325 + invoke-virtual {v3, v0}, Landroid/privacy/PrivacySettings;->setAllowedContacts([I)V
4327 + .catchall {:try_start_263 .. :try_end_268} :catchall_2d1
4328 + .catch Ljava/lang/Exception; {:try_start_263 .. :try_end_268} :catch_1f0
4332 + if-eqz v41, :cond_26d
4335 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->close()V
4338 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4342 + .catchall {:try_start_26a .. :try_end_270} :catchall_298
4345 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4347 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4349 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
4353 + add-int/lit8 v1, v1, -0x1
4355 + invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4357 + move-result-object v1
4359 + sput-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4361 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4363 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
4367 + if-nez v1, :cond_293
4369 + if-eqz v2, :cond_293
4371 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
4375 + if-eqz v1, :cond_293
4377 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
4389 + .catchall {:try_start_270 .. :try_end_297} :catchall_295
4394 + .catchall {:try_start_297 .. :try_end_298} :catchall_298
4407 + move-object/from16 v3, v43
4410 + if-eqz v41, :cond_2a3
4413 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->close()V
4416 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4420 + .catchall {:try_start_2a0 .. :try_end_2a6} :catchall_298
4423 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4425 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4427 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
4431 + add-int/lit8 v5, v5, -0x1
4433 + invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4435 + move-result-object v5
4437 + sput-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4439 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4441 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
4445 + if-nez v5, :cond_2c9
4447 + if-eqz v2, :cond_2c9
4449 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
4453 + if-eqz v5, :cond_2c9
4455 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
4460 + .catchall {:try_start_2a6 .. :try_end_2ca} :catchall_2cb
4465 + .catchall {:try_start_2ca .. :try_end_2cb} :catchall_298
4473 + .catchall {:try_start_2cc .. :try_end_2cd} :catchall_2cb
4478 + .catchall {:try_start_2cd .. :try_end_2ce} :catchall_298
4486 + .catchall {:try_start_2cf .. :try_end_2d0} :catchall_2ce
4491 + .catchall {:try_start_2d0 .. :try_end_2d1} :catchall_298
4499 + move-exception v42
4501 + move-object/from16 v3, v43
4508 + move-object/from16 v3, v43
4513 + move-object/from16 v3, v43
4518 +.method public getValue(Ljava/lang/String;)Ljava/lang/String;
4521 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4523 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4525 + invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
4529 + add-int/lit8 v0, v0, 0x1
4531 + invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4533 + move-result-object v0
4535 + sput-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4537 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
4539 + move-result-object v1
4544 + const-string/jumbo v2, "map"
4548 + new-array v3, v0, [Ljava/lang/String;
4552 + const-string/jumbo v4, "value"
4554 + aput-object v4, v3, v0
4556 + const-string/jumbo v4, "name=?"
4560 + new-array v5, v0, [Ljava/lang/String;
4564 + aput-object p1, v5, v0
4574 + move-object v0, p0
4576 + 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;
4578 + move-result-object v10
4580 + if-eqz v10, :cond_77
4582 + invoke-interface {v10}, Landroid/database/Cursor;->getCount()I
4586 + if-lez v0, :cond_77
4588 + invoke-interface {v10}, Landroid/database/Cursor;->moveToFirst()Z
4592 + if-eqz v0, :cond_77
4594 + const-string/jumbo v0, "value"
4596 + invoke-interface {v10, v0}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
4600 + invoke-interface {v10, v0}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
4602 + move-result-object v12
4604 + invoke-interface {v10}, Landroid/database/Cursor;->close()V
4606 + .catch Ljava/lang/Exception; {:try_start_15 .. :try_end_4f} :catch_90
4609 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4614 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4616 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4618 + invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
4622 + add-int/lit8 v0, v0, -0x1
4624 + invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4626 + move-result-object v0
4628 + sput-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4630 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4632 + invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
4636 + if-nez v0, :cond_75
4638 + if-eqz v1, :cond_75
4640 + invoke-virtual {v1}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
4644 + if-eqz v0, :cond_75
4646 + invoke-virtual {v1}, Landroid/database/sqlite/SQLiteDatabase;->close()V
4651 + .catchall {:try_start_52 .. :try_end_76} :catchall_aa
4657 + const-string v0, "PrivacyPersistenceAdapter"
4659 + new-instance v2, Ljava/lang/StringBuilder;
4661 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
4663 + const-string v3, "getValue - could not get value for name: "
4665 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4667 + move-result-object v2
4669 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4671 + move-result-object v2
4673 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4675 + move-result-object v2
4677 + invoke-static {v0, v2}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
4679 + .catch Ljava/lang/Exception; {:try_start_77 .. :try_end_8f} :catch_90
4684 + move-exception v11
4686 + const-string v0, "PrivacyPersistenceAdapter"
4688 + new-instance v2, Ljava/lang/StringBuilder;
4690 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
4692 + const-string v3, "getValue - could not get value for name: "
4694 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4696 + move-result-object v2
4698 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4700 + move-result-object v2
4702 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4704 + move-result-object v2
4706 + invoke-static {v0, v2, v11}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
4716 + .catchall {:try_start_ab .. :try_end_ac} :catchall_aa
4721 +.method public purgeSettings()Z
4726 + new-instance v13, Ljava/util/ArrayList;
4728 + invoke-direct {v13}, Ljava/util/ArrayList;-><init>()V
4730 + move-object/from16 v0, p0
4732 + iget-object v2, v0, Landroid/privacy/PrivacyPersistenceAdapter;->context:Landroid/content/Context;
4734 + invoke-virtual {v2}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
4736 + move-result-object v21
4740 + move-object/from16 v0, v21
4742 + invoke-virtual {v0, v2}, Landroid/content/pm/PackageManager;->getInstalledApplications(I)Ljava/util/List;
4744 + move-result-object v19
4746 + invoke-interface/range {v19 .. v19}, Ljava/util/List;->iterator()Ljava/util/Iterator;
4748 + move-result-object v18
4751 + invoke-interface/range {v18 .. v18}, Ljava/util/Iterator;->hasNext()Z
4755 + if-eqz v2, :cond_2d
4757 + invoke-interface/range {v18 .. v18}, Ljava/util/Iterator;->next()Ljava/lang/Object;
4759 + move-result-object v12
4761 + check-cast v12, Landroid/content/pm/ApplicationInfo;
4763 + iget-object v2, v12, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
4765 + invoke-interface {v13, v2}, Ljava/util/List;->add(Ljava/lang/Object;)Z
4770 + new-instance v26, Ljava/io/File;
4772 + const-string v2, "/data/system/privacy"
4774 + move-object/from16 v0, v26
4776 + invoke-direct {v0, v2}, Ljava/io/File;-><init>(Ljava/lang/String;)V
4778 + invoke-virtual/range {v26 .. v26}, Ljava/io/File;->listFiles()[Ljava/io/File;
4780 + move-result-object v15
4782 + array-length v0, v15
4784 + move/from16 v20, v0
4789 + move/from16 v0, v18
4791 + move/from16 v1, v20
4793 + if-ge v0, v1, :cond_5d
4795 + aget-object v23, v15, v18
4797 + invoke-virtual/range {v23 .. v23}, Ljava/io/File;->getName()Ljava/lang/String;
4799 + move-result-object v24
4801 + move-object/from16 v0, v24
4803 + invoke-interface {v13, v0}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
4807 + if-nez v2, :cond_5a
4809 + move-object/from16 v0, p0
4811 + move-object/from16 v1, v23
4813 + invoke-direct {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteRecursive(Ljava/io/File;)V
4816 + add-int/lit8 v18, v18, 0x1
4821 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4823 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4825 + invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
4829 + add-int/lit8 v2, v2, 0x1
4831 + invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4833 + move-result-object v2
4835 + sput-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4837 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
4839 + move-result-object v3
4844 + const-string/jumbo v4, "settings"
4848 + new-array v5, v2, [Ljava/lang/String;
4852 + const-string/jumbo v6, "packageName"
4854 + aput-object v6, v5, v2
4868 + move-object/from16 v2, p0
4870 + 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;
4872 + move-result-object v16
4874 + new-instance v14, Ljava/util/ArrayList;
4876 + invoke-direct {v14}, Ljava/util/ArrayList;-><init>()V
4879 + invoke-interface/range {v16 .. v16}, Landroid/database/Cursor;->moveToNext()Z
4883 + if-eqz v2, :cond_142
4887 + move-object/from16 v0, v16
4889 + invoke-interface {v0, v2}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
4891 + move-result-object v24
4893 + move-object/from16 v0, v24
4895 + invoke-interface {v13, v0}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
4899 + if-nez v2, :cond_e7
4901 + move-object/from16 v0, p0
4903 + move-object/from16 v1, v24
4905 + invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteSettings(Ljava/lang/String;)Z
4907 + .catchall {:try_start_73 .. :try_end_ac} :catchall_107
4908 + .catch Ljava/lang/Exception; {:try_start_73 .. :try_end_ac} :catch_ad
4913 + move-exception v17
4916 + const-string v2, "PrivacyPersistenceAdapter"
4918 + const-string/jumbo v4, "purgeSettings - purging DB failed"
4920 + move-object/from16 v0, v17
4922 + invoke-static {v2, v4, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
4924 + .catchall {:try_start_ae .. :try_end_b8} :catchall_107
4928 + if-eqz v16, :cond_bf
4930 + invoke-interface/range {v16 .. v16}, Landroid/database/Cursor;->close()V
4933 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4938 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4940 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4942 + invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
4946 + add-int/lit8 v2, v2, -0x1
4948 + invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4950 + move-result-object v2
4952 + sput-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4954 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4956 + invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
4960 + if-nez v2, :cond_e5
4962 + if-eqz v3, :cond_e5
4964 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
4968 + if-eqz v2, :cond_e5
4970 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->close()V
4975 + .catchall {:try_start_c2 .. :try_end_e6} :catchall_13f
4982 + move-object/from16 v0, v24
4984 + invoke-interface {v14, v0}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
4988 + if-eqz v2, :cond_135
4992 + move-object/from16 v0, p0
4994 + move-object/from16 v1, v24
4996 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacyPersistenceAdapter;->getSettings(Ljava/lang/String;Z)Landroid/privacy/PrivacySettings;
4998 + move-result-object v22
5000 + move-object/from16 v0, p0
5002 + move-object/from16 v1, v24
5004 + invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteSettings(Ljava/lang/String;)Z
5006 + move-object/from16 v0, p0
5008 + move-object/from16 v1, v22
5010 + invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->saveSettings(Landroid/privacy/PrivacySettings;)Z
5012 + .catchall {:try_start_e7 .. :try_end_106} :catchall_107
5013 + .catch Ljava/lang/Exception; {:try_start_e7 .. :try_end_106} :catch_ad
5020 + if-eqz v16, :cond_10d
5022 + invoke-interface/range {v16 .. v16}, Landroid/database/Cursor;->close()V
5025 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5030 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5032 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5034 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
5038 + add-int/lit8 v5, v5, -0x1
5040 + invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5042 + move-result-object v5
5044 + sput-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5046 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5048 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
5052 + if-nez v5, :cond_133
5054 + if-eqz v3, :cond_133
5056 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
5060 + if-eqz v5, :cond_133
5062 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->close()V
5067 + .catchall {:try_start_110 .. :try_end_134} :catchall_13c
5073 + move-object/from16 v0, v24
5075 + invoke-interface {v14, v0}, Ljava/util/List;->add(Ljava/lang/Object;)Z
5077 + .catchall {:try_start_135 .. :try_end_13a} :catchall_107
5078 + .catch Ljava/lang/Exception; {:try_start_135 .. :try_end_13a} :catch_ad
5088 + .catchall {:try_start_13d .. :try_end_13e} :catchall_13c
5098 + .catchall {:try_start_140 .. :try_end_141} :catchall_13f
5103 + if-eqz v16, :cond_147
5105 + invoke-interface/range {v16 .. v16}, Landroid/database/Cursor;->close()V
5108 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5113 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5115 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5117 + invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
5121 + add-int/lit8 v2, v2, -0x1
5123 + invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5125 + move-result-object v2
5127 + sput-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5129 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5131 + invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
5135 + if-nez v2, :cond_16d
5137 + if-eqz v3, :cond_16d
5139 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
5143 + if-eqz v2, :cond_16d
5145 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->close()V
5157 + .catchall {:try_start_14a .. :try_end_172} :catchall_170
5162 +.method public declared-synchronized saveSettings(Landroid/privacy/PrivacySettings;)Z
5170 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getPackageName()Ljava/lang/String;
5172 + move-result-object v17
5174 + if-eqz v17, :cond_f
5176 + invoke-virtual/range {v17 .. v17}, Ljava/lang/String;->isEmpty()Z
5180 + if-eqz v3, :cond_1a
5183 + const-string v3, "PrivacyPersistenceAdapter"
5185 + const-string/jumbo v4, "saveSettings - either package name, UID or both is missing"
5187 + invoke-static {v3, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
5189 + .catchall {:try_start_3 .. :try_end_17} :catchall_2c2
5200 + new-instance v23, Landroid/content/ContentValues;
5202 + invoke-direct/range {v23 .. v23}, Landroid/content/ContentValues;-><init>()V
5204 + const-string/jumbo v3, "packageName"
5206 + move-object/from16 v0, v23
5208 + move-object/from16 v1, v17
5210 + invoke-virtual {v0, v3, v1}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5212 + const-string/jumbo v3, "uid"
5216 + invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5218 + move-result-object v4
5220 + move-object/from16 v0, v23
5222 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
5224 + const-string v3, "deviceIdSetting"
5226 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
5230 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5232 + move-result-object v4
5234 + move-object/from16 v0, v23
5236 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5238 + const-string v3, "deviceId"
5240 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getDeviceId()Ljava/lang/String;
5242 + move-result-object v4
5244 + move-object/from16 v0, v23
5246 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5248 + const-string v3, "line1NumberSetting"
5250 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
5254 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5256 + move-result-object v4
5258 + move-object/from16 v0, v23
5260 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5262 + const-string v3, "line1Number"
5264 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLine1Number()Ljava/lang/String;
5266 + move-result-object v4
5268 + move-object/from16 v0, v23
5270 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5272 + const-string v3, "locationGpsSetting"
5274 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
5278 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5280 + move-result-object v4
5282 + move-object/from16 v0, v23
5284 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5286 + const-string v3, "locationGpsLat"
5288 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
5290 + move-result-object v4
5292 + move-object/from16 v0, v23
5294 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5296 + const-string v3, "locationGpsLon"
5298 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
5300 + move-result-object v4
5302 + move-object/from16 v0, v23
5304 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5306 + const-string v3, "locationNetworkSetting"
5308 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
5312 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5314 + move-result-object v4
5316 + move-object/from16 v0, v23
5318 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5320 + const-string v3, "locationNetworkLat"
5322 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
5324 + move-result-object v4
5326 + move-object/from16 v0, v23
5328 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5330 + const-string v3, "locationNetworkLon"
5332 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
5334 + move-result-object v4
5336 + move-object/from16 v0, v23
5338 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5340 + const-string/jumbo v3, "networkInfoSetting"
5342 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
5346 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5348 + move-result-object v4
5350 + move-object/from16 v0, v23
5352 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5354 + const-string/jumbo v3, "simInfoSetting"
5356 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSimInfoSetting()B
5360 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5362 + move-result-object v4
5364 + move-object/from16 v0, v23
5366 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5368 + const-string/jumbo v3, "simSerialNumberSetting"
5370 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSimSerialNumberSetting()B
5374 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5376 + move-result-object v4
5378 + move-object/from16 v0, v23
5380 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5382 + const-string/jumbo v3, "simSerialNumber"
5384 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSimSerialNumber()Ljava/lang/String;
5386 + move-result-object v4
5388 + move-object/from16 v0, v23
5390 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5392 + const-string/jumbo v3, "subscriberIdSetting"
5394 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSubscriberIdSetting()B
5398 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5400 + move-result-object v4
5402 + move-object/from16 v0, v23
5404 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5406 + const-string/jumbo v3, "subscriberId"
5408 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSubscriberId()Ljava/lang/String;
5410 + move-result-object v4
5412 + move-object/from16 v0, v23
5414 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5416 + const-string v3, "accountsSetting"
5418 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
5422 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5424 + move-result-object v4
5426 + move-object/from16 v0, v23
5428 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5430 + const-string v3, "accountsAuthTokensSetting"
5432 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
5436 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5438 + move-result-object v4
5440 + move-object/from16 v0, v23
5442 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5444 + const-string/jumbo v3, "outgoingCallsSetting"
5446 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getOutgoingCallsSetting()B
5450 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5452 + move-result-object v4
5454 + move-object/from16 v0, v23
5456 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5458 + const-string v3, "incomingCallsSetting"
5460 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getIncomingCallsSetting()B
5464 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5466 + move-result-object v4
5468 + move-object/from16 v0, v23
5470 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5472 + const-string v3, "contactsSetting"
5474 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getContactsSetting()B
5478 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5480 + move-result-object v4
5482 + move-object/from16 v0, v23
5484 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5486 + const-string v3, "calendarSetting"
5488 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getCalendarSetting()B
5492 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5494 + move-result-object v4
5496 + move-object/from16 v0, v23
5498 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5500 + const-string/jumbo v3, "mmsSetting"
5502 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getMmsSetting()B
5506 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5508 + move-result-object v4
5510 + move-object/from16 v0, v23
5512 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5514 + const-string/jumbo v3, "smsSetting"
5516 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSmsSetting()B
5520 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5522 + move-result-object v4
5524 + move-object/from16 v0, v23
5526 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5528 + const-string v3, "callLogSetting"
5530 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getCallLogSetting()B
5534 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5536 + move-result-object v4
5538 + move-object/from16 v0, v23
5540 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5542 + const-string v3, "bookmarksSetting"
5544 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getBookmarksSetting()B
5548 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5550 + move-result-object v4
5552 + move-object/from16 v0, v23
5554 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5556 + const-string/jumbo v3, "systemLogsSetting"
5558 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSystemLogsSetting()B
5562 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5564 + move-result-object v4
5566 + move-object/from16 v0, v23
5568 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5570 + const-string/jumbo v3, "notificationSetting"
5572 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getNotificationSetting()B
5576 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5578 + move-result-object v4
5580 + move-object/from16 v0, v23
5582 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5584 + const-string v3, "intentBootCompletedSetting"
5586 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getIntentBootCompletedSetting()B
5590 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5592 + move-result-object v4
5594 + move-object/from16 v0, v23
5596 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5598 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5600 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5602 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
5606 + add-int/lit8 v3, v3, 0x1
5608 + invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5610 + move-result-object v3
5612 + sput-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5614 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
5616 + move-result-object v2
5618 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->beginTransaction()V
5620 + .catchall {:try_start_1a .. :try_end_1eb} :catchall_2c2
5625 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->get_id()Ljava/lang/Integer;
5627 + move-result-object v15
5629 + if-eqz v15, :cond_2c8
5631 + const-string/jumbo v3, "settings"
5633 + const-string v4, "_id=?"
5637 + new-array v5, v5, [Ljava/lang/String;
5641 + invoke-virtual {v15}, Ljava/lang/Integer;->toString()Ljava/lang/String;
5643 + move-result-object v7
5645 + aput-object v7, v5, v6
5647 + move-object/from16 v0, v23
5649 + 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
5655 + if-ge v3, v4, :cond_249
5657 + new-instance v3, Ljava/lang/Exception;
5659 + const-string/jumbo v4, "saveSettings - failed to update database entry"
5661 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
5665 + .catchall {:try_start_1ec .. :try_end_213} :catchall_291
5666 + .catch Ljava/lang/Exception; {:try_start_1ec .. :try_end_213} :catch_213
5669 + move-exception v13
5674 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
5676 + if-eqz v11, :cond_21e
5678 + invoke-interface {v11}, Landroid/database/Cursor;->close()V
5681 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5685 + .catchall {:try_start_216 .. :try_end_221} :catchall_2c2
5688 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5690 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5692 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
5696 + add-int/lit8 v3, v3, -0x1
5698 + invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5700 + move-result-object v3
5702 + sput-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5704 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5706 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
5710 + if-nez v3, :cond_244
5712 + if-eqz v2, :cond_244
5714 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
5718 + if-eqz v3, :cond_244
5720 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
5725 + .catchall {:try_start_221 .. :try_end_245} :catchall_4ca
5728 + move/from16 v3, v18
5734 + const-string v3, "allowed_contacts"
5736 + const-string/jumbo v4, "settings_id=?"
5740 + new-array v5, v5, [Ljava/lang/String;
5744 + invoke-virtual {v15}, Ljava/lang/Integer;->toString()Ljava/lang/String;
5746 + move-result-object v7
5748 + aput-object v7, v5, v6
5750 + invoke-virtual {v2, v3, v4, v5}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
5752 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAllowedContacts()[I
5754 + move-result-object v10
5756 + if-eqz v10, :cond_3f2
5758 + new-instance v12, Landroid/content/ContentValues;
5760 + invoke-direct {v12}, Landroid/content/ContentValues;-><init>()V
5765 + array-length v3, v10
5767 + if-ge v14, v3, :cond_3f2
5769 + const-string/jumbo v3, "settings_id"
5771 + invoke-virtual {v12, v3, v15}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
5773 + const-string v3, "contact_id"
5777 + invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5779 + move-result-object v4
5781 + invoke-virtual {v12, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
5783 + const-string v3, "allowed_contacts"
5787 + invoke-virtual {v2, v3, v4, v12}, Landroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
5789 + move-result-wide v3
5791 + const-wide/16 v5, -0x1
5793 + cmp-long v3, v3, v5
5795 + if-nez v3, :cond_2c5
5797 + new-instance v3, Ljava/lang/Exception;
5799 + const-string/jumbo v4, "saveSettings - failed to update database entry (contacts)"
5801 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
5805 + .catchall {:try_start_249 .. :try_end_291} :catchall_291
5806 + .catch Ljava/lang/Exception; {:try_start_249 .. :try_end_291} :catch_213
5812 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
5814 + if-eqz v11, :cond_29a
5816 + invoke-interface {v11}, Landroid/database/Cursor;->close()V
5819 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5823 + .catchall {:try_start_292 .. :try_end_29d} :catchall_2c2
5826 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5828 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5830 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
5834 + add-int/lit8 v5, v5, -0x1
5836 + invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5838 + move-result-object v5
5840 + sput-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5842 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5844 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
5848 + if-nez v5, :cond_2c0
5850 + if-eqz v2, :cond_2c0
5852 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
5856 + if-eqz v5, :cond_2c0
5858 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
5863 + .catchall {:try_start_29d .. :try_end_2c1} :catchall_4cd
5868 + .catchall {:try_start_2c1 .. :try_end_2c2} :catchall_2c2
5878 + add-int/lit8 v14, v14, 0x1
5884 + const-string/jumbo v3, "settings"
5888 + new-array v4, v4, [Ljava/lang/String;
5892 + const-string v6, "_id"
5894 + aput-object v6, v4, v5
5896 + const-string/jumbo v5, "packageName=?"
5900 + new-array v6, v6, [Ljava/lang/String;
5904 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getPackageName()Ljava/lang/String;
5906 + move-result-object v8
5908 + aput-object v8, v6, v7
5916 + 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;
5918 + move-result-object v11
5920 + if-eqz v11, :cond_3e7
5922 + invoke-interface {v11}, Landroid/database/Cursor;->getCount()I
5928 + if-ne v3, v4, :cond_36e
5930 + const-string/jumbo v3, "settings"
5932 + const-string/jumbo v4, "packageName=?"
5936 + new-array v5, v5, [Ljava/lang/String;
5940 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getPackageName()Ljava/lang/String;
5942 + move-result-object v7
5944 + aput-object v7, v5, v6
5946 + move-object/from16 v0, v23
5948 + 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
5954 + if-ge v3, v4, :cond_312
5956 + new-instance v3, Ljava/lang/Exception;
5958 + const-string/jumbo v4, "saveSettings - failed to update database entry"
5960 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
5965 + invoke-interface {v11}, Landroid/database/Cursor;->moveToFirst()Z
5969 + if-eqz v3, :cond_3f2
5973 + invoke-interface {v11, v3}, Landroid/database/Cursor;->getInt(I)I
5977 + invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5979 + move-result-object v16
5981 + const-string v3, "allowed_contacts"
5983 + const-string/jumbo v4, "settings_id=?"
5987 + new-array v5, v5, [Ljava/lang/String;
5991 + invoke-virtual/range {v16 .. v16}, Ljava/lang/Integer;->toString()Ljava/lang/String;
5993 + move-result-object v7
5995 + aput-object v7, v5, v6
5997 + invoke-virtual {v2, v3, v4, v5}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
5999 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAllowedContacts()[I
6001 + move-result-object v10
6003 + if-eqz v10, :cond_3f2
6005 + new-instance v12, Landroid/content/ContentValues;
6007 + invoke-direct {v12}, Landroid/content/ContentValues;-><init>()V
6012 + array-length v3, v10
6014 + if-ge v14, v3, :cond_3f2
6016 + const-string/jumbo v3, "settings_id"
6018 + move-object/from16 v0, v16
6020 + invoke-virtual {v12, v3, v0}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
6022 + const-string v3, "contact_id"
6026 + invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
6028 + move-result-object v4
6030 + invoke-virtual {v12, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
6032 + const-string v3, "allowed_contacts"
6036 + invoke-virtual {v2, v3, v4, v12}, Landroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
6038 + move-result-wide v3
6040 + const-wide/16 v5, -0x1
6042 + cmp-long v3, v3, v5
6044 + if-nez v3, :cond_36b
6046 + new-instance v3, Ljava/lang/Exception;
6048 + const-string/jumbo v4, "saveSettings - failed to update database entry (contacts)"
6050 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
6055 + add-int/lit8 v14, v14, 0x1
6060 + invoke-interface {v11}, Landroid/database/Cursor;->getCount()I
6064 + if-nez v3, :cond_3dc
6066 + const-string/jumbo v3, "settings"
6070 + move-object/from16 v0, v23
6072 + invoke-virtual {v2, v3, v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
6074 + move-result-wide v19
6076 + const-wide/16 v3, -0x1
6078 + cmp-long v3, v19, v3
6080 + if-nez v3, :cond_38d
6082 + new-instance v3, Ljava/lang/Exception;
6084 + const-string/jumbo v4, "saveSettings - failed to insert new record into DB"
6086 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
6091 + const-string v3, "allowed_contacts"
6093 + const-string/jumbo v4, "settings_id=?"
6097 + new-array v5, v5, [Ljava/lang/String;
6101 + invoke-static/range {v19 .. v20}, Ljava/lang/Long;->toString(J)Ljava/lang/String;
6103 + move-result-object v7
6105 + aput-object v7, v5, v6
6107 + invoke-virtual {v2, v3, v4, v5}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
6109 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAllowedContacts()[I
6111 + move-result-object v10
6113 + if-eqz v10, :cond_3f2
6115 + new-instance v12, Landroid/content/ContentValues;
6117 + invoke-direct {v12}, Landroid/content/ContentValues;-><init>()V
6122 + array-length v3, v10
6124 + if-ge v14, v3, :cond_3f2
6126 + const-string/jumbo v3, "settings_id"
6128 + invoke-static/range {v19 .. v20}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
6130 + move-result-object v4
6132 + invoke-virtual {v12, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Long;)V
6134 + const-string v3, "contact_id"
6138 + invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
6140 + move-result-object v4
6142 + invoke-virtual {v12, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
6144 + const-string v3, "allowed_contacts"
6148 + invoke-virtual {v2, v3, v4, v12}, Landroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
6150 + move-result-wide v3
6152 + const-wide/16 v5, -0x1
6154 + cmp-long v3, v3, v5
6156 + if-nez v3, :cond_3d9
6158 + new-instance v3, Ljava/lang/Exception;
6160 + const-string/jumbo v4, "saveSettings - failed to update database entry (contacts)"
6162 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
6167 + add-int/lit8 v14, v14, 0x1
6174 + new-instance v3, Ljava/lang/Exception;
6176 + const-string/jumbo v4, "saveSettings - duplicate entries in the privacy.db"
6178 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
6185 + new-instance v3, Ljava/lang/Exception;
6187 + const-string/jumbo v4, "saveSettings - cursor is null, database access failed"
6189 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
6194 + new-instance v21, Ljava/io/File;
6196 + new-instance v3, Ljava/lang/StringBuilder;
6198 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
6200 + const-string v4, "/data/system/privacy/"
6202 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6204 + move-result-object v3
6206 + move-object/from16 v0, v17
6208 + invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6210 + move-result-object v3
6212 + const-string v4, "/"
6214 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6216 + move-result-object v3
6218 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6220 + move-result-object v3
6222 + move-object/from16 v0, v21
6224 + invoke-direct {v0, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
6226 + new-instance v22, Ljava/io/File;
6228 + new-instance v3, Ljava/lang/StringBuilder;
6230 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
6232 + const-string v4, "/data/system/privacy/"
6234 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6236 + move-result-object v3
6238 + move-object/from16 v0, v17
6240 + invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6242 + move-result-object v3
6244 + const-string v4, "/"
6246 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6248 + move-result-object v3
6250 + const-string v4, "/systemLogsSetting"
6252 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6254 + move-result-object v3
6256 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6258 + move-result-object v3
6260 + move-object/from16 v0, v22
6262 + invoke-direct {v0, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
6264 + .catchall {:try_start_2c8 .. :try_end_43c} :catchall_291
6265 + .catch Ljava/lang/Exception; {:try_start_2c8 .. :try_end_43c} :catch_213
6268 + invoke-virtual/range {v21 .. v21}, Ljava/io/File;->mkdirs()Z
6274 + move-object/from16 v0, v21
6276 + invoke-virtual {v0, v3, v4}, Ljava/io/File;->setReadable(ZZ)Z
6282 + move-object/from16 v0, v21
6284 + invoke-virtual {v0, v3, v4}, Ljava/io/File;->setExecutable(ZZ)Z
6286 + invoke-virtual/range {v22 .. v22}, Ljava/io/File;->createNewFile()Z
6292 + move-object/from16 v0, v22
6294 + invoke-virtual {v0, v3, v4}, Ljava/io/File;->setReadable(ZZ)Z
6296 + new-instance v24, Ljava/io/OutputStreamWriter;
6298 + new-instance v3, Ljava/io/FileOutputStream;
6300 + move-object/from16 v0, v22
6302 + invoke-direct {v3, v0}, Ljava/io/FileOutputStream;-><init>(Ljava/io/File;)V
6304 + move-object/from16 v0, v24
6306 + invoke-direct {v0, v3}, Ljava/io/OutputStreamWriter;-><init>(Ljava/io/OutputStream;)V
6308 + new-instance v3, Ljava/lang/StringBuilder;
6310 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
6312 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSystemLogsSetting()B
6316 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
6318 + move-result-object v3
6320 + const-string v4, ""
6322 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6324 + move-result-object v3
6326 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6328 + move-result-object v3
6330 + move-object/from16 v0, v24
6332 + invoke-virtual {v0, v3}, Ljava/io/OutputStreamWriter;->append(Ljava/lang/CharSequence;)Ljava/io/Writer;
6334 + invoke-virtual/range {v24 .. v24}, Ljava/io/OutputStreamWriter;->flush()V
6336 + invoke-virtual/range {v24 .. v24}, Ljava/io/OutputStreamWriter;->close()V
6338 + .catchall {:try_start_43c .. :try_end_487} :catchall_291
6339 + .catch Ljava/io/IOException; {:try_start_43c .. :try_end_487} :catch_4be
6340 + .catch Ljava/lang/Exception; {:try_start_43c .. :try_end_487} :catch_213
6343 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->setTransactionSuccessful()V
6345 + .catchall {:try_start_487 .. :try_end_48a} :catchall_291
6346 + .catch Ljava/lang/Exception; {:try_start_487 .. :try_end_48a} :catch_213
6349 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
6351 + if-eqz v11, :cond_492
6353 + invoke-interface {v11}, Landroid/database/Cursor;->close()V
6356 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6360 + .catchall {:try_start_48a .. :try_end_495} :catchall_2c2
6363 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6365 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6367 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
6371 + add-int/lit8 v3, v3, -0x1
6373 + invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
6375 + move-result-object v3
6377 + sput-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6379 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6381 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
6385 + if-nez v3, :cond_4b8
6387 + if-eqz v2, :cond_4b8
6389 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
6393 + if-eqz v3, :cond_4b8
6395 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
6407 + .catchall {:try_start_495 .. :try_end_4bd} :catchall_4bb
6412 + .catchall {:try_start_4bd .. :try_end_4be} :catchall_2c2
6415 + move-exception v13
6420 + new-instance v3, Ljava/lang/Exception;
6422 + const-string/jumbo v4, "saveSettings - could not write settings to file"
6424 + invoke-direct {v3, v4, v13}, Ljava/lang/Exception;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
6428 + .catchall {:try_start_4c1 .. :try_end_4ca} :catchall_291
6429 + .catch Ljava/lang/Exception; {:try_start_4c1 .. :try_end_4ca} :catch_213
6437 + .catchall {:try_start_4cb .. :try_end_4cc} :catchall_4ca
6442 + .catchall {:try_start_4cc .. :try_end_4cd} :catchall_2c2
6450 + .catchall {:try_start_4ce .. :try_end_4cf} :catchall_4cd
6455 + .catchall {:try_start_4cf .. :try_end_4d0} :catchall_2c2
6458 +.method public declared-synchronized setValue(Ljava/lang/String;Ljava/lang/String;)Z
6464 + const-string v3, "PrivacyPersistenceAdapter"
6466 + new-instance v4, Ljava/lang/StringBuilder;
6468 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
6470 + const-string/jumbo v5, "setValue - name "
6472 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6474 + move-result-object v4
6476 + invoke-virtual {v4, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6478 + move-result-object v4
6480 + const-string v5, " value "
6482 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6484 + move-result-object v4
6486 + invoke-virtual {v4, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6488 + move-result-object v4
6490 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6492 + move-result-object v4
6494 + invoke-static {v3, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
6496 + new-instance v2, Landroid/content/ContentValues;
6498 + invoke-direct {v2}, Landroid/content/ContentValues;-><init>()V
6500 + const-string/jumbo v3, "name"
6502 + invoke-virtual {v2, v3, p1}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
6504 + const-string/jumbo v3, "value"
6506 + invoke-virtual {v2, v3, p2}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
6508 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
6510 + move-result-object v0
6512 + const-string/jumbo v3, "map"
6516 + invoke-virtual {v0, v3, v4, v2}, Landroid/database/sqlite/SQLiteDatabase;->replace(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
6518 + move-result-wide v3
6520 + const-wide/16 v5, -0x1
6522 + cmp-long v3, v3, v5
6524 + if-eqz v3, :cond_5d
6529 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6531 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
6535 + if-nez v3, :cond_5b
6537 + if-eqz v0, :cond_5b
6539 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
6543 + if-eqz v3, :cond_5b
6545 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
6547 + .catchall {:try_start_1 .. :try_end_5b} :catchall_5f
6566 diff -Npru stock-framework/smali/android/privacy/PrivacySettings$1.smali pdroid-framework/smali/android/privacy/PrivacySettings$1.smali
6567 --- stock-framework/smali/android/privacy/PrivacySettings$1.smali 1969-12-31 18:00:00.000000000 -0600
6568 +++ pdroid-framework/smali/android/privacy/PrivacySettings$1.smali 2012-08-22 21:52:53.703715757 -0500
6570 +.class final Landroid/privacy/PrivacySettings$1;
6571 +.super Ljava/lang/Object;
6572 +.source "PrivacySettings.java"
6575 +.implements Landroid/os/Parcelable$Creator;
6579 +.annotation system Ldalvik/annotation/EnclosingClass;
6580 + value = Landroid/privacy/PrivacySettings;
6583 +.annotation system Ldalvik/annotation/InnerClass;
6588 +.annotation system Ldalvik/annotation/Signature;
6590 + "Ljava/lang/Object;",
6591 + "Landroid/os/Parcelable$Creator",
6593 + "Landroid/privacy/PrivacySettings;",
6600 +.method constructor <init>()V
6603 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
6610 +.method public createFromParcel(Landroid/os/Parcel;)Landroid/privacy/PrivacySettings;
6613 + new-instance v0, Landroid/privacy/PrivacySettings;
6615 + invoke-direct {v0, p1}, Landroid/privacy/PrivacySettings;-><init>(Landroid/os/Parcel;)V
6620 +.method public bridge synthetic createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
6623 + invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettings$1;->createFromParcel(Landroid/os/Parcel;)Landroid/privacy/PrivacySettings;
6625 + move-result-object v0
6630 +.method public newArray(I)[Landroid/privacy/PrivacySettings;
6633 + new-array v0, p1, [Landroid/privacy/PrivacySettings;
6638 +.method public bridge synthetic newArray(I)[Ljava/lang/Object;
6641 + invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettings$1;->newArray(I)[Landroid/privacy/PrivacySettings;
6643 + move-result-object v0
6647 diff -Npru stock-framework/smali/android/privacy/PrivacySettingsManagerService.smali pdroid-framework/smali/android/privacy/PrivacySettingsManagerService.smali
6648 --- stock-framework/smali/android/privacy/PrivacySettingsManagerService.smali 1969-12-31 18:00:00.000000000 -0600
6649 +++ pdroid-framework/smali/android/privacy/PrivacySettingsManagerService.smali 2012-08-22 21:52:53.707715788 -0500
6651 +.class public final Landroid/privacy/PrivacySettingsManagerService;
6652 +.super Landroid/privacy/IPrivacySettingsManager$Stub;
6653 +.source "PrivacySettingsManagerService.java"
6657 +.field private static final TAG:Ljava/lang/String; = "PrivacySettingsManagerService"
6659 +.field private static final VERSION:D = 1.32
6661 +.field private static final WRITE_PRIVACY_SETTINGS:Ljava/lang/String; = "android.privacy.WRITE_PRIVACY_SETTINGS"
6663 +.field public static obs:Landroid/privacy/PrivacyFileObserver;
6667 +.field private bootCompleted:Z
6669 +.field private context:Landroid/content/Context;
6671 +.field private enabled:Z
6673 +.field private notificationsEnabled:Z
6675 +.field private persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
6679 +.method public constructor <init>(Landroid/content/Context;)V
6682 + invoke-direct {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;-><init>()V
6684 + const-string v0, "PrivacySettingsManagerService"
6686 + new-instance v1, Ljava/lang/StringBuilder;
6688 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
6690 + const-string v2, "PrivacySettingsManagerService - initializing for package: "
6692 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6694 + move-result-object v1
6696 + invoke-virtual {p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
6698 + move-result-object v2
6700 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6702 + move-result-object v1
6704 + const-string v2, " UID: "
6706 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6708 + move-result-object v1
6710 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
6714 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
6716 + move-result-object v1
6718 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6720 + move-result-object v1
6722 + invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
6724 + iput-object p1, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
6726 + new-instance v0, Landroid/privacy/PrivacyPersistenceAdapter;
6728 + invoke-direct {v0, p1}, Landroid/privacy/PrivacyPersistenceAdapter;-><init>(Landroid/content/Context;)V
6730 + iput-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
6732 + new-instance v0, Landroid/privacy/PrivacyFileObserver;
6734 + const-string v1, "/data/system/privacy"
6736 + invoke-direct {v0, v1, p0}, Landroid/privacy/PrivacyFileObserver;-><init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
6738 + sput-object v0, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
6740 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
6742 + const-string v1, "enabled"
6744 + invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->getValue(Ljava/lang/String;)Ljava/lang/String;
6746 + move-result-object v0
6748 + const-string v1, "1"
6750 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
6754 + iput-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->enabled:Z
6756 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
6758 + const-string/jumbo v1, "notifications_enabled"
6760 + invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->getValue(Ljava/lang/String;)Ljava/lang/String;
6762 + move-result-object v0
6764 + const-string v1, "1"
6766 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
6770 + iput-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->notificationsEnabled:Z
6774 + iput-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->bootCompleted:Z
6781 +.method public addObserver(Ljava/lang/String;)V
6784 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
6786 + const-string v1, "android.privacy.WRITE_PRIVACY_SETTINGS"
6788 + const-string v2, "Requires WRITE_PRIVACY_SETTINGS"
6790 + invoke-virtual {v0, v1, v2}, Landroid/content/Context;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
6792 + sget-object v0, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
6794 + invoke-virtual {v0, p1}, Landroid/privacy/PrivacyFileObserver;->addObserver(Ljava/lang/String;)V
6799 +.method public deleteSettings(Ljava/lang/String;)Z
6804 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
6808 + const/16 v3, 0x3e8
6810 + if-eq v2, v3, :cond_12
6812 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
6814 + const-string v3, "android.privacy.WRITE_PRIVACY_SETTINGS"
6816 + const-string v4, "Requires WRITE_PRIVACY_SETTINGS"
6818 + invoke-virtual {v2, v3, v4}, Landroid/content/Context;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
6821 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
6823 + invoke-virtual {v2, p1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteSettings(Ljava/lang/String;)Z
6827 + new-instance v2, Ljava/lang/StringBuilder;
6829 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
6831 + const-string v3, "/data/system/privacy/"
6833 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6835 + move-result-object v2
6837 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6839 + move-result-object v2
6841 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6843 + move-result-object v0
6845 + new-instance v2, Ljava/io/File;
6847 + invoke-direct {v2, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
6849 + invoke-virtual {v2}, Ljava/io/File;->exists()Z
6853 + if-eqz v2, :cond_3e
6855 + if-ne v1, v5, :cond_3e
6857 + sget-object v2, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
6859 + invoke-virtual {v2, v0}, Landroid/privacy/PrivacyFileObserver;->addObserver(Ljava/lang/String;)V
6866 + if-ne v1, v5, :cond_3d
6868 + sget-object v2, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
6870 + iget-object v2, v2, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap;
6872 + invoke-virtual {v2, v0}, Ljava/util/HashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
6877 +.method public getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
6880 + iget-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->enabled:Z
6882 + if-nez v0, :cond_12
6884 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
6886 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
6888 + move-result-object v0
6890 + const-string v1, "com.privacy.pdroid"
6892 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
6896 + if-eqz v0, :cond_1a
6899 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
6903 + invoke-virtual {v0, p1, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->getSettings(Ljava/lang/String;Z)Landroid/privacy/PrivacySettings;
6905 + move-result-object v0
6916 +.method public getVersion()D
6919 + const-wide v0, 0x3ff51eb851eb851fL
6924 +.method public notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
6927 + iget-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->bootCompleted:Z
6929 + if-eqz v1, :cond_34
6931 + iget-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->notificationsEnabled:Z
6933 + if-eqz v1, :cond_34
6935 + new-instance v0, Landroid/content/Intent;
6937 + invoke-direct {v0}, Landroid/content/Intent;-><init>()V
6939 + const-string v1, "com.privacy.pdroid.PRIVACY_NOTIFICATION"
6941 + invoke-virtual {v0, v1}, Landroid/content/Intent;->setAction(Ljava/lang/String;)Landroid/content/Intent;
6943 + const-string/jumbo v1, "packageName"
6945 + invoke-virtual {v0, v1, p1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
6947 + const-string/jumbo v1, "uid"
6951 + invoke-virtual {v0, v1, v2}, Landroid/content/Intent;->putExtra(Ljava/lang/String;I)Landroid/content/Intent;
6953 + const-string v1, "accessMode"
6955 + invoke-virtual {v0, v1, p2}, Landroid/content/Intent;->putExtra(Ljava/lang/String;B)Landroid/content/Intent;
6957 + const-string v1, "dataType"
6959 + invoke-virtual {v0, v1, p3}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
6961 + const-string/jumbo v1, "output"
6963 + invoke-virtual {v0, v1, p4}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
6965 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
6967 + invoke-virtual {v1, v0}, Landroid/content/Context;->sendBroadcast(Landroid/content/Intent;)V
6973 +.method public purgeSettings()Z
6976 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
6978 + invoke-virtual {v0}, Landroid/privacy/PrivacyPersistenceAdapter;->purgeSettings()Z
6985 +.method public registerObservers()V
6988 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
6990 + const-string v1, "android.privacy.WRITE_PRIVACY_SETTINGS"
6992 + const-string v2, "Requires WRITE_PRIVACY_SETTINGS"
6994 + invoke-virtual {v0, v1, v2}, Landroid/content/Context;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
6996 + new-instance v0, Landroid/privacy/PrivacyFileObserver;
6998 + const-string v1, "/data/system/privacy"
7000 + invoke-direct {v0, v1, p0}, Landroid/privacy/PrivacyFileObserver;-><init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
7002 + sput-object v0, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
7007 +.method public saveSettings(Landroid/privacy/PrivacySettings;)Z
7010 + const-string v1, "PrivacySettingsManagerService"
7012 + new-instance v2, Ljava/lang/StringBuilder;
7014 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
7016 + const-string/jumbo v3, "saveSettings - checking if caller (UID: "
7018 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7020 + move-result-object v2
7022 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
7026 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
7028 + move-result-object v2
7030 + const-string v3, ") has sufficient permissions"
7032 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7034 + move-result-object v2
7036 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
7038 + move-result-object v2
7040 + invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
7042 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
7046 + const/16 v2, 0x3e8
7048 + if-eq v1, v2, :cond_34
7050 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
7052 + const-string v2, "android.privacy.WRITE_PRIVACY_SETTINGS"
7054 + const-string v3, "Requires WRITE_PRIVACY_SETTINGS"
7056 + invoke-virtual {v1, v2, v3}, Landroid/content/Context;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
7059 + const-string v1, "PrivacySettingsManagerService"
7061 + new-instance v2, Ljava/lang/StringBuilder;
7063 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
7065 + const-string/jumbo v3, "saveSettings - "
7067 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7069 + move-result-object v2
7071 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
7073 + move-result-object v2
7075 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
7077 + move-result-object v2
7079 + invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
7081 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
7083 + invoke-virtual {v1, p1}, Landroid/privacy/PrivacyPersistenceAdapter;->saveSettings(Landroid/privacy/PrivacySettings;)Z
7089 + if-ne v0, v1, :cond_5f
7091 + sget-object v1, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
7093 + invoke-virtual {p1}, Landroid/privacy/PrivacySettings;->getPackageName()Ljava/lang/String;
7095 + move-result-object v2
7097 + invoke-virtual {v1, v2}, Landroid/privacy/PrivacyFileObserver;->addObserver(Ljava/lang/String;)V
7103 +.method public setBootCompleted()V
7108 + iput-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->bootCompleted:Z
7113 +.method public setEnabled(Z)Z
7118 + if-eqz p1, :cond_12
7120 + const-string v0, "1"
7123 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
7125 + const-string v3, "enabled"
7127 + invoke-virtual {v2, v3, v0}, Landroid/privacy/PrivacyPersistenceAdapter;->setValue(Ljava/lang/String;Ljava/lang/String;)Z
7131 + if-eqz v2, :cond_15
7133 + iput-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->enabled:Z
7140 + const-string v0, "0"
7150 +.method public setNotificationsEnabled(Z)Z
7155 + if-eqz p1, :cond_15
7157 + const-string v0, "1"
7160 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
7162 + const-string/jumbo v3, "notifications_enabled"
7164 + invoke-virtual {v2, v3, v0}, Landroid/privacy/PrivacyPersistenceAdapter;->setValue(Ljava/lang/String;Ljava/lang/String;)Z
7168 + if-eqz v2, :cond_18
7170 + iput-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->notificationsEnabled:Z
7172 + iput-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->bootCompleted:Z
7178 + const-string v0, "0"
7187 diff -Npru stock-framework/smali/android/privacy/PrivacySettingsManager.smali pdroid-framework/smali/android/privacy/PrivacySettingsManager.smali
7188 --- stock-framework/smali/android/privacy/PrivacySettingsManager.smali 1969-12-31 18:00:00.000000000 -0600
7189 +++ pdroid-framework/smali/android/privacy/PrivacySettingsManager.smali 2012-08-22 21:52:53.707715788 -0500
7191 +.class public final Landroid/privacy/PrivacySettingsManager;
7192 +.super Ljava/lang/Object;
7193 +.source "PrivacySettingsManager.java"
7197 +.field public static final ACTION_PRIVACY_NOTIFICATION:Ljava/lang/String; = "com.privacy.pdroid.PRIVACY_NOTIFICATION"
7199 +.field private static final TAG:Ljava/lang/String; = "PrivacySettingsManager"
7203 +.field private service:Landroid/privacy/IPrivacySettingsManager;
7207 +.method public constructor <init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
7210 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
7212 + iput-object p2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7219 +.method public addObserver(Ljava/lang/String;)V
7223 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7225 + if-eqz v1, :cond_a
7227 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7229 + invoke-interface {v1, p1}, Landroid/privacy/IPrivacySettingsManager;->addObserver(Ljava/lang/String;)V
7235 + const-string v1, "PrivacySettingsManager"
7237 + const-string v2, "deleteSettings - PrivacySettingsManagerService is null"
7239 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7241 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_11} :catch_12
7248 + const-string v1, "PrivacySettingsManager"
7250 + const-string v2, "RemoteException in addObserver: "
7252 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7257 +.method public deleteSettings(Ljava/lang/String;)Z
7260 + invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettingsManager;->deleteSettings(Ljava/lang/String;)Z
7267 +.method public deleteSettings(Ljava/lang/String;I)Z
7273 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7275 + if-eqz v2, :cond_c
7277 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7279 + invoke-interface {v2, p1}, Landroid/privacy/IPrivacySettingsManager;->deleteSettings(Ljava/lang/String;)Z
7287 + const-string v2, "PrivacySettingsManager"
7289 + const-string v3, "deleteSettings - PrivacySettingsManagerService is null"
7291 + invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7293 + .catch Landroid/os/RemoteException; {:try_start_1 .. :try_end_13} :catch_14
7300 + const-string v2, "PrivacySettingsManager"
7302 + const-string v3, "RemoteException in deleteSettings: "
7304 + invoke-static {v2, v3, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7309 +.method public getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
7315 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7317 + if-eqz v2, :cond_c
7319 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7321 + invoke-interface {v2, p1}, Landroid/privacy/IPrivacySettingsManager;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
7323 + move-result-object v1
7329 + const-string v2, "PrivacySettingsManager"
7331 + const-string v3, "getSettings - PrivacySettingsManagerService is null"
7333 + invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7335 + .catch Landroid/os/RemoteException; {:try_start_1 .. :try_end_13} :catch_14
7342 + invoke-virtual {v0}, Landroid/os/RemoteException;->printStackTrace()V
7347 +.method public getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
7350 + invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
7352 + move-result-object v0
7357 +.method public getVersion()D
7361 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7363 + if-eqz v1, :cond_b
7365 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7367 + invoke-interface {v1}, Landroid/privacy/IPrivacySettingsManager;->getVersion()D
7369 + move-result-wide v1
7375 + const-string v1, "PrivacySettingsManager"
7377 + const-string v2, "getVersion - PrivacySettingsManagerService is null"
7379 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7381 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_12} :catch_15
7384 + const-wide/16 v1, 0x0
7391 + const-string v1, "PrivacySettingsManager"
7393 + const-string v2, "RemoteException in getVersion: "
7395 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7400 +.method public isServiceAvailable()Z
7403 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7405 + if-eqz v0, :cond_6
7418 +.method public notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
7422 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7424 + if-eqz v1, :cond_a
7426 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7428 + invoke-interface {v1, p1, p2, p3, p4}, Landroid/privacy/IPrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
7434 + const-string v1, "PrivacySettingsManager"
7436 + const-string v2, "deleteSettings - PrivacySettingsManagerService is null"
7438 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7440 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_11} :catch_12
7447 + const-string v1, "PrivacySettingsManager"
7449 + const-string v2, "RemoteException in notification: "
7451 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7456 +.method public notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
7459 + move-object v0, p0
7461 + move-object v1, p1
7465 + move-object v3, p4
7467 + move-object v4, p5
7469 + move-object v5, p6
7471 + invoke-virtual/range {v0 .. v5}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
7476 +.method public purgeSettings()Z
7480 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7482 + if-eqz v1, :cond_b
7484 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7486 + invoke-interface {v1}, Landroid/privacy/IPrivacySettingsManager;->purgeSettings()Z
7494 + const-string v1, "PrivacySettingsManager"
7496 + const-string v2, "deleteSettings - PrivacySettingsManagerService is null"
7498 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7500 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_12} :catch_14
7510 + const-string v1, "PrivacySettingsManager"
7512 + const-string v2, "RemoteException in purgeSettings: "
7514 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7519 +.method public registerObservers()V
7523 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7525 + if-eqz v1, :cond_a
7527 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7529 + invoke-interface {v1}, Landroid/privacy/IPrivacySettingsManager;->registerObservers()V
7535 + const-string v1, "PrivacySettingsManager"
7537 + const-string v2, "deleteSettings - PrivacySettingsManagerService is null"
7539 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7541 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_11} :catch_12
7548 + const-string v1, "PrivacySettingsManager"
7550 + const-string v2, "RemoteException in registerObservers: "
7552 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7557 +.method public saveSettings(Landroid/privacy/PrivacySettings;)Z
7563 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7565 + if-eqz v2, :cond_c
7567 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7569 + invoke-interface {v2, p1}, Landroid/privacy/IPrivacySettingsManager;->saveSettings(Landroid/privacy/PrivacySettings;)Z
7577 + const-string v2, "PrivacySettingsManager"
7579 + const-string/jumbo v3, "saveSettings - PrivacySettingsManagerService is null"
7581 + invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7583 + .catch Landroid/os/RemoteException; {:try_start_1 .. :try_end_14} :catch_15
7590 + const-string v2, "PrivacySettingsManager"
7592 + const-string v3, "RemoteException in saveSettings: "
7594 + invoke-static {v2, v3, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7599 +.method public setBootCompleted()V
7603 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7605 + if-eqz v1, :cond_a
7607 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7609 + invoke-interface {v1}, Landroid/privacy/IPrivacySettingsManager;->setBootCompleted()V
7615 + const-string v1, "PrivacySettingsManager"
7617 + const-string/jumbo v2, "setBootCompleted - PrivacySettingsManagerService is null"
7619 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7621 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_12} :catch_13
7628 + const-string v1, "PrivacySettingsManager"
7630 + const-string v2, "RemoteException in setBootCompleted: "
7632 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7637 +.method public setEnabled(Z)Z
7641 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7643 + if-eqz v1, :cond_b
7645 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7647 + invoke-interface {v1, p1}, Landroid/privacy/IPrivacySettingsManager;->setEnabled(Z)Z
7655 + const-string v1, "PrivacySettingsManager"
7657 + const-string/jumbo v2, "setEnabled - PrivacySettingsManagerService is null"
7659 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7661 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_13} :catch_15
7671 + const-string v1, "PrivacySettingsManager"
7673 + const-string v2, "RemoteException in setEnabled: "
7675 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7680 +.method public setNotificationsEnabled(Z)Z
7684 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7686 + if-eqz v1, :cond_b
7688 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7690 + invoke-interface {v1, p1}, Landroid/privacy/IPrivacySettingsManager;->setNotificationsEnabled(Z)Z
7698 + const-string v1, "PrivacySettingsManager"
7700 + const-string/jumbo v2, "setNotificationsEnabled - PrivacySettingsManagerService is null"
7702 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7704 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_13} :catch_15
7714 + const-string v1, "PrivacySettingsManager"
7716 + const-string v2, "RemoteException in setNotificationsEnabled: "
7718 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7722 diff -Npru stock-framework/smali/android/privacy/PrivacySettings.smali pdroid-framework/smali/android/privacy/PrivacySettings.smali
7723 --- stock-framework/smali/android/privacy/PrivacySettings.smali 1969-12-31 18:00:00.000000000 -0600
7724 +++ pdroid-framework/smali/android/privacy/PrivacySettings.smali 2012-08-22 21:52:53.707715788 -0500
7726 +.class public final Landroid/privacy/PrivacySettings;
7727 +.super Ljava/lang/Object;
7728 +.source "PrivacySettings.java"
7731 +.implements Landroid/os/Parcelable;
7735 +.field public static final CREATOR:Landroid/os/Parcelable$Creator; = null
7736 + .annotation system Ldalvik/annotation/Signature;
7738 + "Landroid/os/Parcelable$Creator",
7740 + "Landroid/privacy/PrivacySettings;",
7746 +.field public static final CUSTOM:B = 0x2t
7748 +.field public static final DATA_ACCOUNTS_LIST:Ljava/lang/String; = "accountsList"
7750 +.field public static final DATA_AUTH_TOKENS:Ljava/lang/String; = "authTokens"
7752 +.field public static final DATA_BOOKMARKS:Ljava/lang/String; = "bookmarks"
7754 +.field public static final DATA_CALENDAR:Ljava/lang/String; = "calendar"
7756 +.field public static final DATA_CALL_LOG:Ljava/lang/String; = "callLog"
7758 +.field public static final DATA_CONTACTS:Ljava/lang/String; = "contacts"
7760 +.field public static final DATA_DEVICE_ID:Ljava/lang/String; = "deviceID"
7762 +.field public static final DATA_INCOMING_CALL:Ljava/lang/String; = "incomingCall"
7764 +.field public static final DATA_INTENT_BOOT_COMPLETED:Ljava/lang/String; = "intentBootCompleted"
7766 +.field public static final DATA_LINE_1_NUMBER:Ljava/lang/String; = "line1Number"
7768 +.field public static final DATA_LOCATION_GPS:Ljava/lang/String; = "locationGPS"
7770 +.field public static final DATA_LOCATION_NETWORK:Ljava/lang/String; = "locationNetwork"
7772 +.field public static final DATA_MMS:Ljava/lang/String; = "mms"
7774 +.field public static final DATA_MMS_SMS:Ljava/lang/String; = "mmsSms"
7776 +.field public static final DATA_NETWORK_INFO_CURRENT:Ljava/lang/String; = "networkInfoCurrent"
7778 +.field public static final DATA_NETWORK_INFO_SIM:Ljava/lang/String; = "networkInfoSIM"
7780 +.field public static final DATA_OUTGOING_CALL:Ljava/lang/String; = "outgoingCall"
7782 +.field public static final DATA_SIM_SERIAL:Ljava/lang/String; = "simSerial"
7784 +.field public static final DATA_SMS:Ljava/lang/String; = "sms"
7786 +.field public static final DATA_SUBSCRIBER_ID:Ljava/lang/String; = "subscriberID"
7788 +.field public static final DATA_SYSTEM_LOGS:Ljava/lang/String; = "systemLogs"
7790 +.field public static final EMPTY:B = 0x1t
7792 +.field public static final RANDOM:B = 0x3t
7794 +.field public static final REAL:B = 0x0t
7796 +.field public static final SETTING_NOTIFY_OFF:B = 0x0t
7798 +.field public static final SETTING_NOTIFY_ON:B = 0x1t
7802 +.field private final _id:Ljava/lang/Integer;
7804 +.field private accountsAuthTokensSetting:B
7806 +.field private accountsSetting:B
7808 +.field private allowedContacts:[I
7810 +.field private bookmarksSetting:B
7812 +.field private calendarSetting:B
7814 +.field private callLogSetting:B
7816 +.field private contactsSetting:B
7818 +.field private deviceId:Ljava/lang/String;
7820 +.field private deviceIdSetting:B
7822 +.field private incomingCallsSetting:B
7824 +.field private intentBootCompletedSetting:B
7826 +.field private line1Number:Ljava/lang/String;
7828 +.field private line1NumberSetting:B
7830 +.field private locationGpsLat:Ljava/lang/String;
7832 +.field private locationGpsLon:Ljava/lang/String;
7834 +.field private locationGpsSetting:B
7836 +.field private locationNetworkLat:Ljava/lang/String;
7838 +.field private locationNetworkLon:Ljava/lang/String;
7840 +.field private locationNetworkSetting:B
7842 +.field private mmsSetting:B
7844 +.field private networkInfoSetting:B
7846 +.field private notificationSetting:B
7848 +.field private outgoingCallsSetting:B
7850 +.field private packageName:Ljava/lang/String;
7852 +.field private simInfoSetting:B
7854 +.field private simSerialNumber:Ljava/lang/String;
7856 +.field private simSerialNumberSetting:B
7858 +.field private smsSetting:B
7860 +.field private subscriberId:Ljava/lang/String;
7862 +.field private subscriberIdSetting:B
7864 +.field private systemLogsSetting:B
7866 +.field private uid:I
7870 +.method static constructor <clinit>()V
7873 + new-instance v0, Landroid/privacy/PrivacySettings$1;
7875 + invoke-direct {v0}, Landroid/privacy/PrivacySettings$1;-><init>()V
7877 + sput-object v0, Landroid/privacy/PrivacySettings;->CREATOR:Landroid/os/Parcelable$Creator;
7882 +.method public constructor <init>(Landroid/os/Parcel;)V
7885 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
7887 + invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I
7893 + if-ne v0, v1, :cond_ce
7898 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
7900 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
7902 + move-result-object v1
7904 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
7906 + invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I
7910 + iput v1, p0, Landroid/privacy/PrivacySettings;->uid:I
7912 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
7916 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
7918 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
7920 + move-result-object v1
7922 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
7924 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
7928 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
7930 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
7932 + move-result-object v1
7934 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
7936 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
7940 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
7942 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
7944 + move-result-object v1
7946 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
7948 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
7950 + move-result-object v1
7952 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
7954 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
7958 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
7960 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
7962 + move-result-object v1
7964 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
7966 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
7968 + move-result-object v1
7970 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
7972 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
7976 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
7978 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
7982 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
7984 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
7988 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
7990 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
7992 + move-result-object v1
7994 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
7996 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8000 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
8002 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
8004 + move-result-object v1
8006 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
8008 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8012 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
8014 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8018 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
8020 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8024 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
8026 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8030 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
8032 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8036 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
8038 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8042 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
8044 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8048 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
8050 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8054 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
8056 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8060 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
8062 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8066 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
8068 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8072 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
8074 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8078 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
8080 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8084 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
8086 + invoke-virtual {p1}, Landroid/os/Parcel;->createIntArray()[I
8088 + move-result-object v1
8090 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
8095 + invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
8097 + move-result-object v1
8102 +.method public constructor <init>(Ljava/lang/Integer;Ljava/lang/String;I)V
8109 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
8111 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
8113 + iput-object p2, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
8115 + iput p3, p0, Landroid/privacy/PrivacySettings;->uid:I
8117 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
8119 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
8121 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
8123 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
8125 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8127 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
8129 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
8131 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8133 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
8135 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
8137 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
8139 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
8141 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
8143 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
8145 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
8147 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
8149 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
8151 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
8153 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
8155 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
8157 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
8159 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
8161 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
8163 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
8165 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
8167 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
8169 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
8171 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
8173 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
8175 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
8180 +.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
8183 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
8185 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
8187 + iput-object p2, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
8189 + iput p3, p0, Landroid/privacy/PrivacySettings;->uid:I
8191 + iput-byte p4, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
8193 + iput-object p5, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
8195 + iput-byte p6, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
8197 + iput-object p7, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
8199 + iput-byte p8, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8201 + iput-object p9, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
8203 + iput-object p10, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
8205 + iput-byte p11, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8207 + iput-object p12, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
8209 + iput-object p13, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
8211 + iput-byte p14, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
8213 + move/from16 v0, p15
8215 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
8217 + move/from16 v0, p16
8219 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
8221 + move-object/from16 v0, p17
8223 + iput-object v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
8225 + move/from16 v0, p18
8227 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
8229 + move-object/from16 v0, p19
8231 + iput-object v0, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
8233 + move/from16 v0, p20
8235 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
8237 + move/from16 v0, p21
8239 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
8241 + move/from16 v0, p22
8243 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
8245 + move/from16 v0, p23
8247 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
8249 + move/from16 v0, p24
8251 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
8253 + move/from16 v0, p25
8255 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
8257 + move/from16 v0, p26
8259 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
8261 + move/from16 v0, p27
8263 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
8265 + move/from16 v0, p28
8267 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
8269 + move/from16 v0, p29
8271 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
8273 + move/from16 v0, p30
8275 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
8277 + move/from16 v0, p34
8279 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
8281 + move/from16 v0, p35
8283 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
8285 + move-object/from16 v0, p36
8287 + iput-object v0, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
8292 +.method private getRandomLat()Ljava/lang/String;
8295 + const-wide v7, 0x4056800000000000L
8297 + invoke-static {}, Ljava/lang/Math;->random()D
8299 + move-result-wide v3
8301 + const-wide v5, 0x4066800000000000L
8303 + mul-double v0, v3, v5
8305 + cmpl-double v3, v0, v7
8307 + if-lez v3, :cond_35
8309 + new-instance v2, Ljava/math/BigDecimal;
8311 + sub-double v3, v0, v7
8313 + invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;-><init>(D)V
8316 + new-instance v3, Ljava/lang/StringBuilder;
8318 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
8324 + invoke-virtual {v2, v4, v5}, Ljava/math/BigDecimal;->setScale(II)Ljava/math/BigDecimal;
8326 + move-result-object v4
8328 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
8330 + move-result-object v3
8332 + const-string v4, ""
8334 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8336 + move-result-object v3
8338 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8340 + move-result-object v3
8345 + new-instance v2, Ljava/math/BigDecimal;
8349 + invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;-><init>(D)V
8354 +.method private getRandomLon()Ljava/lang/String;
8357 + const-wide v7, 0x4066800000000000L
8359 + invoke-static {}, Ljava/lang/Math;->random()D
8361 + move-result-wide v3
8363 + const-wide v5, 0x4076800000000000L
8365 + mul-double v0, v3, v5
8367 + cmpl-double v3, v0, v7
8369 + if-lez v3, :cond_35
8371 + new-instance v2, Ljava/math/BigDecimal;
8373 + sub-double v3, v0, v7
8375 + invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;-><init>(D)V
8378 + new-instance v3, Ljava/lang/StringBuilder;
8380 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
8386 + invoke-virtual {v2, v4, v5}, Ljava/math/BigDecimal;->setScale(II)Ljava/math/BigDecimal;
8388 + move-result-object v4
8390 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
8392 + move-result-object v3
8394 + const-string v4, ""
8396 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8398 + move-result-object v3
8400 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8402 + move-result-object v3
8407 + new-instance v2, Ljava/math/BigDecimal;
8411 + invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;-><init>(D)V
8418 +.method public describeContents()I
8426 +.method public getAccountsAuthTokensSetting()B
8429 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
8434 +.method public getAccountsSetting()B
8437 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
8442 +.method public getAllowedContacts()[I
8445 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
8450 +.method public getBookmarksSetting()B
8453 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
8458 +.method public getCalendarSetting()B
8461 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
8466 +.method public getCallLogSetting()B
8469 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
8474 +.method public getContactsSetting()B
8477 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
8482 +.method public getDeviceId()Ljava/lang/String;
8485 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
8489 + if-ne v2, v3, :cond_8
8491 + const-string v2, ""
8497 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
8501 + if-ne v2, v3, :cond_35
8503 + new-instance v0, Ljava/util/Random;
8505 + invoke-direct {v0}, Ljava/util/Random;-><init>()V
8507 + new-instance v2, Ljava/lang/StringBuilder;
8509 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
8511 + invoke-virtual {v0}, Ljava/util/Random;->nextLong()J
8513 + move-result-wide v3
8515 + invoke-static {v3, v4}, Ljava/lang/Math;->abs(J)J
8517 + move-result-wide v3
8519 + invoke-virtual {v2, v3, v4}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
8521 + move-result-object v2
8523 + const-string v3, ""
8525 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8527 + move-result-object v2
8529 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8531 + move-result-object v1
8537 + invoke-virtual {v1, v2, v3}, Ljava/lang/String;->substring(II)Ljava/lang/String;
8539 + move-result-object v2
8544 + iget-object v2, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
8549 +.method public getDeviceIdSetting()B
8552 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
8557 +.method public getIncomingCallsSetting()B
8560 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
8565 +.method public getIntentBootCompletedSetting()B
8568 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
8573 +.method public getLine1Number()Ljava/lang/String;
8576 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
8580 + if-ne v2, v3, :cond_8
8582 + const-string v2, ""
8588 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
8592 + if-ne v2, v3, :cond_3b
8594 + new-instance v0, Ljava/util/Random;
8596 + invoke-direct {v0}, Ljava/util/Random;-><init>()V
8598 + new-instance v2, Ljava/lang/StringBuilder;
8600 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
8602 + const-string v3, "+"
8604 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8606 + move-result-object v2
8608 + invoke-virtual {v0}, Ljava/util/Random;->nextLong()J
8610 + move-result-wide v3
8612 + invoke-static {v3, v4}, Ljava/lang/Math;->abs(J)J
8614 + move-result-wide v3
8616 + invoke-virtual {v2, v3, v4}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
8618 + move-result-object v2
8620 + const-string v3, ""
8622 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8624 + move-result-object v2
8626 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8628 + move-result-object v1
8634 + invoke-virtual {v1, v2, v3}, Ljava/lang/String;->substring(II)Ljava/lang/String;
8636 + move-result-object v2
8641 + iget-object v2, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
8646 +.method public getLine1NumberSetting()B
8649 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
8654 +.method public getLocationGpsLat()Ljava/lang/String;
8657 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8661 + if-ne v0, v1, :cond_8
8663 + const-string v0, ""
8669 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8673 + if-ne v0, v1, :cond_12
8675 + invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLat()Ljava/lang/String;
8677 + move-result-object v0
8682 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
8687 +.method public getLocationGpsLon()Ljava/lang/String;
8690 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8694 + if-ne v0, v1, :cond_8
8696 + const-string v0, ""
8702 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8706 + if-ne v0, v1, :cond_12
8708 + invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLon()Ljava/lang/String;
8710 + move-result-object v0
8715 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
8720 +.method public getLocationGpsSetting()B
8723 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8728 +.method public getLocationNetworkLat()Ljava/lang/String;
8731 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8735 + if-ne v0, v1, :cond_8
8737 + const-string v0, ""
8743 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8747 + if-ne v0, v1, :cond_12
8749 + invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLat()Ljava/lang/String;
8751 + move-result-object v0
8756 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
8761 +.method public getLocationNetworkLon()Ljava/lang/String;
8764 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8768 + if-ne v0, v1, :cond_8
8770 + const-string v0, ""
8776 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8780 + if-ne v0, v1, :cond_12
8782 + invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLon()Ljava/lang/String;
8784 + move-result-object v0
8789 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
8794 +.method public getLocationNetworkSetting()B
8797 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8802 +.method public getMmsSetting()B
8805 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
8810 +.method public getNetworkInfoSetting()B
8813 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
8818 +.method public getNotificationSetting()B
8821 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
8826 +.method public getOutgoingCallsSetting()B
8829 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
8834 +.method public getPackageName()Ljava/lang/String;
8837 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
8842 +.method public getSimInfoSetting()B
8845 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
8850 +.method public getSimSerialNumber()Ljava/lang/String;
8853 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
8857 + if-ne v1, v2, :cond_8
8859 + const-string v1, ""
8865 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
8869 + if-ne v1, v2, :cond_2e
8871 + new-instance v0, Ljava/util/Random;
8873 + invoke-direct {v0}, Ljava/util/Random;-><init>()V
8875 + new-instance v1, Ljava/lang/StringBuilder;
8877 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
8879 + invoke-virtual {v0}, Ljava/util/Random;->nextLong()J
8881 + move-result-wide v2
8883 + invoke-static {v2, v3}, Ljava/lang/Math;->abs(J)J
8885 + move-result-wide v2
8887 + invoke-virtual {v1, v2, v3}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
8889 + move-result-object v1
8891 + const-string v2, ""
8893 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8895 + move-result-object v1
8897 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8899 + move-result-object v1
8904 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
8909 +.method public getSimSerialNumberSetting()B
8912 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
8917 +.method public getSmsSetting()B
8920 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
8925 +.method public getSubscriberId()Ljava/lang/String;
8928 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
8932 + if-ne v2, v3, :cond_8
8934 + const-string v2, ""
8940 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
8944 + if-ne v2, v3, :cond_35
8946 + new-instance v0, Ljava/util/Random;
8948 + invoke-direct {v0}, Ljava/util/Random;-><init>()V
8950 + new-instance v2, Ljava/lang/StringBuilder;
8952 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
8954 + invoke-virtual {v0}, Ljava/util/Random;->nextLong()J
8956 + move-result-wide v3
8958 + invoke-static {v3, v4}, Ljava/lang/Math;->abs(J)J
8960 + move-result-wide v3
8962 + invoke-virtual {v2, v3, v4}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
8964 + move-result-object v2
8966 + const-string v3, ""
8968 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8970 + move-result-object v2
8972 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8974 + move-result-object v1
8980 + invoke-virtual {v1, v2, v3}, Ljava/lang/String;->substring(II)Ljava/lang/String;
8982 + move-result-object v2
8987 + iget-object v2, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
8992 +.method public getSubscriberIdSetting()B
8995 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
9000 +.method public getSystemLogsSetting()B
9003 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
9008 +.method public getUid()I
9011 + iget v0, p0, Landroid/privacy/PrivacySettings;->uid:I
9016 +.method public get_id()Ljava/lang/Integer;
9019 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
9024 +.method public setAccountsAuthTokensSetting(B)V
9027 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
9032 +.method public setAccountsSetting(B)V
9035 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
9040 +.method public setAllowedContacts([I)V
9043 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
9048 +.method public setBookmarksSetting(B)V
9051 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
9056 +.method public setCalendarSetting(B)V
9059 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
9064 +.method public setCallLogSetting(B)V
9067 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
9072 +.method public setContactsSetting(B)V
9075 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
9080 +.method public setDeviceId(Ljava/lang/String;)V
9083 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
9088 +.method public setDeviceIdSetting(B)V
9091 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
9096 +.method public setIncomingCallsSetting(B)V
9099 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
9104 +.method public setIntentBootCompletedSetting(B)V
9107 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
9112 +.method public setLine1Number(Ljava/lang/String;)V
9115 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
9120 +.method public setLine1NumberSetting(B)V
9123 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
9128 +.method public setLocationGpsLat(Ljava/lang/String;)V
9131 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
9136 +.method public setLocationGpsLon(Ljava/lang/String;)V
9139 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
9144 +.method public setLocationGpsSetting(B)V
9147 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
9152 +.method public setLocationNetworkLat(Ljava/lang/String;)V
9155 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
9160 +.method public setLocationNetworkLon(Ljava/lang/String;)V
9163 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
9168 +.method public setLocationNetworkSetting(B)V
9171 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
9176 +.method public setMmsSetting(B)V
9179 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
9184 +.method public setNetworkInfoSetting(B)V
9187 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
9192 +.method public setNotificationSetting(B)V
9195 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
9200 +.method public setOutgoingCallsSetting(B)V
9203 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
9208 +.method public setPackageName(Ljava/lang/String;)V
9211 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
9216 +.method public setSimInfoSetting(B)V
9219 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
9224 +.method public setSimSerialNumber(Ljava/lang/String;)V
9227 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
9232 +.method public setSimSerialNumberSetting(B)V
9235 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
9240 +.method public setSmsSetting(B)V
9243 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
9248 +.method public setSubscriberId(Ljava/lang/String;)V
9251 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
9256 +.method public setSubscriberIdSetting(B)V
9259 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
9264 +.method public setSystemLogsSetting(B)V
9267 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
9272 +.method public setUid(I)V
9275 + iput p1, p0, Landroid/privacy/PrivacySettings;->uid:I
9280 +.method public toString()Ljava/lang/String;
9283 + new-instance v0, Ljava/lang/StringBuilder;
9285 + invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
9287 + const-string v1, "PrivacySettings [_id="
9289 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9291 + move-result-object v0
9293 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
9295 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
9297 + move-result-object v0
9299 + const-string v1, ", accountsAuthTokensSetting="
9301 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9303 + move-result-object v0
9305 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
9307 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9309 + move-result-object v0
9311 + const-string v1, ", accountsSetting="
9313 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9315 + move-result-object v0
9317 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
9319 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9321 + move-result-object v0
9323 + const-string v1, ", bookmarksSetting="
9325 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9327 + move-result-object v0
9329 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
9331 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9333 + move-result-object v0
9335 + const-string v1, ", calendarSetting="
9337 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9339 + move-result-object v0
9341 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
9343 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9345 + move-result-object v0
9347 + const-string v1, ", callLogSetting="
9349 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9351 + move-result-object v0
9353 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
9355 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9357 + move-result-object v0
9359 + const-string v1, ", contactsSetting="
9361 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9363 + move-result-object v0
9365 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
9367 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9369 + move-result-object v0
9371 + const-string v1, ", deviceId="
9373 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9375 + move-result-object v0
9377 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
9379 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9381 + move-result-object v0
9383 + const-string v1, ", deviceIdSetting="
9385 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9387 + move-result-object v0
9389 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
9391 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9393 + move-result-object v0
9395 + const-string v1, ", incomingCallsSetting="
9397 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9399 + move-result-object v0
9401 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
9403 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9405 + move-result-object v0
9407 + const-string v1, ", intentBootCompletedSetting="
9409 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9411 + move-result-object v0
9413 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
9415 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9417 + move-result-object v0
9419 + const-string v1, ", line1Number="
9421 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9423 + move-result-object v0
9425 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
9427 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9429 + move-result-object v0
9431 + const-string v1, ", line1NumberSetting="
9433 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9435 + move-result-object v0
9437 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
9439 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9441 + move-result-object v0
9443 + const-string v1, ", locationGpsLat="
9445 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9447 + move-result-object v0
9449 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
9451 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9453 + move-result-object v0
9455 + const-string v1, ", locationGpsLon="
9457 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9459 + move-result-object v0
9461 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
9463 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9465 + move-result-object v0
9467 + const-string v1, ", locationGpsSetting="
9469 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9471 + move-result-object v0
9473 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
9475 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9477 + move-result-object v0
9479 + const-string v1, ", locationNetworkLat="
9481 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9483 + move-result-object v0
9485 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
9487 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9489 + move-result-object v0
9491 + const-string v1, ", locationNetworkLon="
9493 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9495 + move-result-object v0
9497 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
9499 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9501 + move-result-object v0
9503 + const-string v1, ", locationNetworkSetting="
9505 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9507 + move-result-object v0
9509 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
9511 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9513 + move-result-object v0
9515 + const-string v1, ", mmsSetting="
9517 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9519 + move-result-object v0
9521 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
9523 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9525 + move-result-object v0
9527 + const-string v1, ", networkInfoSetting="
9529 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9531 + move-result-object v0
9533 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
9535 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9537 + move-result-object v0
9539 + const-string v1, ", notificationSetting="
9541 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9543 + move-result-object v0
9545 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
9547 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9549 + move-result-object v0
9551 + const-string v1, ", outgoingCallsSetting="
9553 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9555 + move-result-object v0
9557 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
9559 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9561 + move-result-object v0
9563 + const-string v1, ", packageName="
9565 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9567 + move-result-object v0
9569 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
9571 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9573 + move-result-object v0
9575 + const-string v1, ", simInfoSetting="
9577 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9579 + move-result-object v0
9581 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
9583 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9585 + move-result-object v0
9587 + const-string v1, ", simSerialNumber="
9589 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9591 + move-result-object v0
9593 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
9595 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9597 + move-result-object v0
9599 + const-string v1, ", simSerialNumberSetting="
9601 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9603 + move-result-object v0
9605 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
9607 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9609 + move-result-object v0
9611 + const-string v1, ", smsSetting="
9613 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9615 + move-result-object v0
9617 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
9619 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9621 + move-result-object v0
9623 + const-string v1, ", subscriberId="
9625 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9627 + move-result-object v0
9629 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
9631 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9633 + move-result-object v0
9635 + const-string v1, ", subscriberIdSetting="
9637 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9639 + move-result-object v0
9641 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
9643 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9645 + move-result-object v0
9647 + const-string v1, ", systemLogsSetting="
9649 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9651 + move-result-object v0
9653 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
9655 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9657 + move-result-object v0
9659 + const-string v1, ", uid="
9661 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9663 + move-result-object v0
9665 + iget v1, p0, Landroid/privacy/PrivacySettings;->uid:I
9667 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9669 + move-result-object v0
9671 + const-string v1, "]"
9673 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9675 + move-result-object v0
9677 + invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
9679 + move-result-object v0
9684 +.method public writeToParcel(Landroid/os/Parcel;I)V
9687 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
9689 + if-nez v0, :cond_a9
9694 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeInt(I)V
9696 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
9698 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9700 + iget v0, p0, Landroid/privacy/PrivacySettings;->uid:I
9702 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeInt(I)V
9704 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
9706 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9708 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
9710 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9712 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
9714 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9716 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
9718 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9720 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
9722 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9724 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
9726 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9728 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
9730 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9732 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
9734 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9736 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
9738 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9740 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
9742 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9744 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
9746 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9748 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
9750 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9752 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
9754 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9756 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
9758 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9760 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
9762 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9764 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
9766 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9768 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
9770 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9772 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
9774 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9776 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
9778 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9780 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
9782 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9784 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
9786 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9788 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
9790 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9792 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
9794 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9796 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
9798 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9800 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
9802 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9804 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
9806 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9808 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
9810 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9812 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
9814 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9816 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
9818 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9820 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
9822 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeIntArray([I)V
9827 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
9829 + invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
9835 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali
9836 --- stock-framework/smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali 1969-12-31 18:00:00.000000000 -0600
9837 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali 2012-08-22 21:52:53.707715788 -0500
9839 +.class Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
9840 +.super Ljava/lang/Object;
9841 +.source "PrivacyAccountManager.java"
9844 +.implements Landroid/accounts/AccountManagerFuture;
9848 +.annotation system Ldalvik/annotation/EnclosingClass;
9849 + value = Landroid/privacy/surrogate/PrivacyAccountManager;
9852 +.annotation system Ldalvik/annotation/InnerClass;
9854 + name = "PrivacyAccountManagerFuture"
9857 +.annotation system Ldalvik/annotation/Signature;
9860 + "Ljava/lang/Object;",
9862 + "Ljava/lang/Object;",
9863 + "Landroid/accounts/AccountManagerFuture",
9870 +.field private result:Ljava/lang/Object;
9871 + .annotation system Ldalvik/annotation/Signature;
9878 +.field final synthetic this$0:Landroid/privacy/surrogate/PrivacyAccountManager;
9882 +.method public constructor <init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
9884 + .annotation system Ldalvik/annotation/Signature;
9890 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->this$0:Landroid/privacy/surrogate/PrivacyAccountManager;
9892 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
9894 + iput-object p2, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->result:Ljava/lang/Object;
9901 +.method public cancel(Z)Z
9909 +.method public getResult()Ljava/lang/Object;
9911 + .annotation system Ldalvik/annotation/Signature;
9917 + .annotation system Ldalvik/annotation/Throws;
9919 + Landroid/accounts/OperationCanceledException;,
9920 + Ljava/io/IOException;,
9921 + Landroid/accounts/AuthenticatorException;
9925 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->result:Ljava/lang/Object;
9930 +.method public getResult(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;
9932 + .annotation system Ldalvik/annotation/Signature;
9935 + "Ljava/util/concurrent/TimeUnit;",
9940 + .annotation system Ldalvik/annotation/Throws;
9942 + Landroid/accounts/OperationCanceledException;,
9943 + Ljava/io/IOException;,
9944 + Landroid/accounts/AuthenticatorException;
9948 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->result:Ljava/lang/Object;
9953 +.method public isCancelled()Z
9961 +.method public isDone()Z
9968 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyAccountManager.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyAccountManager.smali
9969 --- stock-framework/smali/android/privacy/surrogate/PrivacyAccountManager.smali 1969-12-31 18:00:00.000000000 -0600
9970 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyAccountManager.smali 2012-08-22 21:52:53.711715812 -0500
9972 +.class public final Landroid/privacy/surrogate/PrivacyAccountManager;
9973 +.super Landroid/accounts/AccountManager;
9974 +.source "PrivacyAccountManager.java"
9978 +.annotation system Ldalvik/annotation/MemberClasses;
9980 + Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
9986 +.field private static final TAG:Ljava/lang/String; = "PrivacyAccountManager"
9990 +.field private context:Landroid/content/Context;
9992 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
9996 +.method public constructor <init>(Landroid/content/Context;Landroid/accounts/IAccountManager;)V
9999 + invoke-direct {p0, p1, p2}, Landroid/accounts/AccountManager;-><init>(Landroid/content/Context;Landroid/accounts/IAccountManager;)V
10001 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10003 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
10005 + const-string/jumbo v1, "privacy"
10007 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
10009 + move-result-object v1
10011 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
10013 + move-result-object v1
10015 + invoke-direct {v0, p1, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
10017 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10022 +.method public constructor <init>(Landroid/content/Context;Landroid/accounts/IAccountManager;Landroid/os/Handler;)V
10025 + invoke-direct {p0, p1, p2, p3}, Landroid/accounts/AccountManager;-><init>(Landroid/content/Context;Landroid/accounts/IAccountManager;Landroid/os/Handler;)V
10027 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10029 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
10031 + const-string/jumbo v1, "privacy"
10033 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
10035 + move-result-object v1
10037 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
10039 + move-result-object v1
10041 + invoke-direct {v0, p1, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
10043 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10050 +.method public blockingGetAuthToken(Landroid/accounts/Account;Ljava/lang/String;Z)Ljava/lang/String;
10052 + .annotation system Ldalvik/annotation/Throws;
10054 + Landroid/accounts/OperationCanceledException;,
10055 + Ljava/io/IOException;,
10056 + Landroid/accounts/AuthenticatorException;
10062 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10064 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10066 + move-result-object v1
10068 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10072 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10074 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10076 + move-result-object v6
10078 + if-eqz v6, :cond_23
10080 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
10084 + if-eqz v0, :cond_23
10088 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10092 + const-string v4, "authTokens"
10094 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10100 + invoke-super {p0, p1, p2, p3}, Landroid/accounts/AccountManager;->blockingGetAuthToken(Landroid/accounts/Account;Ljava/lang/String;Z)Ljava/lang/String;
10102 + move-result-object v7
10104 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10108 + const-string v4, "authTokens"
10110 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10115 +.method public getAccounts()[Landroid/accounts/Account;
10122 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10124 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10126 + move-result-object v1
10128 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10132 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10134 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10136 + move-result-object v6
10138 + if-eqz v6, :cond_27
10140 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
10144 + if-eqz v0, :cond_27
10146 + const-string v8, "[empty accounts list]"
10148 + new-array v7, v3, [Landroid/accounts/Account;
10150 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10154 + const-string v4, "accountsList"
10156 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10162 + const-string v8, "[real value]"
10164 + invoke-super {p0}, Landroid/accounts/AccountManager;->getAccounts()[Landroid/accounts/Account;
10166 + move-result-object v7
10168 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10170 + const-string v4, "accountsList"
10172 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10177 +.method public getAccountsByType(Ljava/lang/String;)[Landroid/accounts/Account;
10184 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10186 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10188 + move-result-object v1
10190 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10194 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10196 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10198 + move-result-object v6
10200 + if-eqz v6, :cond_27
10202 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
10206 + if-eqz v0, :cond_27
10208 + const-string v8, "[empty accounts list]"
10210 + new-array v7, v3, [Landroid/accounts/Account;
10212 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10216 + const-string v4, "accountsList"
10218 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10224 + const-string v8, "[real value]"
10226 + invoke-super {p0, p1}, Landroid/accounts/AccountManager;->getAccountsByType(Ljava/lang/String;)[Landroid/accounts/Account;
10228 + move-result-object v7
10230 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10232 + const-string v4, "accountsList"
10234 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10239 +.method public getAccountsByTypeAndFeatures(Ljava/lang/String;[Ljava/lang/String;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
10241 + .annotation system Ldalvik/annotation/Signature;
10244 + "Ljava/lang/String;",
10246 + "Ljava/lang/String;",
10247 + "Landroid/accounts/AccountManagerCallback",
10249 + "Landroid/accounts/Account;",
10251 + "Landroid/os/Handler;",
10253 + "Landroid/accounts/AccountManagerFuture",
10255 + "Landroid/accounts/Account;",
10264 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10266 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10268 + move-result-object v1
10270 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10274 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10276 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10278 + move-result-object v6
10280 + if-eqz v6, :cond_2c
10282 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
10286 + if-eqz v0, :cond_2c
10288 + const-string v8, "[false]"
10290 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10292 + new-array v0, v3, [Landroid/accounts/Account;
10294 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
10296 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10300 + const-string v4, "accountsList"
10302 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10308 + const-string v8, "[real value]"
10310 + 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;
10312 + move-result-object v7
10314 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10316 + const-string v4, "accountsList"
10318 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10323 +.method public getAuthToken(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;Landroid/app/Activity;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
10325 + .annotation system Ldalvik/annotation/Signature;
10328 + "Landroid/accounts/Account;",
10329 + "Ljava/lang/String;",
10330 + "Landroid/os/Bundle;",
10331 + "Landroid/app/Activity;",
10332 + "Landroid/accounts/AccountManagerCallback",
10334 + "Landroid/os/Bundle;",
10336 + "Landroid/os/Handler;",
10338 + "Landroid/accounts/AccountManagerFuture",
10340 + "Landroid/os/Bundle;",
10347 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10349 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10351 + move-result-object v1
10353 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10357 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10359 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10361 + move-result-object v6
10363 + if-eqz v6, :cond_2e
10365 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
10369 + if-eqz v0, :cond_2e
10371 + const-string v8, "[empty]"
10373 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10375 + new-instance v0, Landroid/os/Bundle;
10377 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
10379 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
10381 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10385 + const-string v4, "authTokens"
10387 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10393 + const-string v8, "[real value]"
10395 + 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;
10397 + move-result-object v7
10399 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10403 + const-string v4, "authTokens"
10405 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10410 +.method public getAuthToken(Landroid/accounts/Account;Ljava/lang/String;ZLandroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
10412 + .annotation system Ldalvik/annotation/Signature;
10415 + "Landroid/accounts/Account;",
10416 + "Ljava/lang/String;",
10418 + "Landroid/accounts/AccountManagerCallback",
10420 + "Landroid/os/Bundle;",
10422 + "Landroid/os/Handler;",
10424 + "Landroid/accounts/AccountManagerFuture",
10426 + "Landroid/os/Bundle;",
10433 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10435 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10437 + move-result-object v1
10439 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10443 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10445 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10447 + move-result-object v6
10449 + if-eqz v6, :cond_2e
10451 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
10455 + if-eqz v0, :cond_2e
10457 + const-string v8, "[empty]"
10459 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10461 + new-instance v0, Landroid/os/Bundle;
10463 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
10465 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
10467 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10471 + const-string v4, "authTokens"
10473 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10479 + const-string v8, "[real value]"
10481 + invoke-super/range {p0 .. p5}, Landroid/accounts/AccountManager;->getAuthToken(Landroid/accounts/Account;Ljava/lang/String;ZLandroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
10483 + move-result-object v7
10485 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10489 + const-string v4, "authTokens"
10491 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10496 +.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;
10498 + .annotation system Ldalvik/annotation/Signature;
10501 + "Ljava/lang/String;",
10502 + "Ljava/lang/String;",
10504 + "Ljava/lang/String;",
10505 + "Landroid/app/Activity;",
10506 + "Landroid/os/Bundle;",
10507 + "Landroid/os/Bundle;",
10508 + "Landroid/accounts/AccountManagerCallback",
10510 + "Landroid/os/Bundle;",
10512 + "Landroid/os/Handler;",
10514 + "Landroid/accounts/AccountManagerFuture",
10516 + "Landroid/os/Bundle;",
10521 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10523 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10525 + move-result-object v1
10527 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10531 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10533 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10535 + move-result-object v6
10537 + if-eqz v6, :cond_2e
10539 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
10543 + if-eqz v0, :cond_2e
10545 + const-string v8, "[empty]"
10547 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10549 + new-instance v0, Landroid/os/Bundle;
10551 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
10553 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
10555 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10559 + const-string v4, "authTokens"
10563 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10569 + const-string v8, "[real value]"
10571 + 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;
10573 + move-result-object v7
10575 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10579 + const-string v4, "authTokens"
10583 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10588 +.method public hasFeatures(Landroid/accounts/Account;[Ljava/lang/String;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
10590 + .annotation system Ldalvik/annotation/Signature;
10593 + "Landroid/accounts/Account;",
10595 + "Ljava/lang/String;",
10596 + "Landroid/accounts/AccountManagerCallback",
10598 + "Ljava/lang/Boolean;",
10600 + "Landroid/os/Handler;",
10602 + "Landroid/accounts/AccountManagerFuture",
10604 + "Ljava/lang/Boolean;",
10613 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10615 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10617 + move-result-object v1
10619 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10623 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10625 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10627 + move-result-object v6
10629 + if-eqz v6, :cond_2e
10631 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
10635 + if-eqz v0, :cond_2e
10637 + const-string v8, "[false]"
10639 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10641 + invoke-static {v3}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
10643 + move-result-object v0
10645 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
10647 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10651 + const-string v4, "accountsList"
10653 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10659 + const-string v8, "[real value]"
10661 + 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;
10663 + move-result-object v7
10665 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10667 + const-string v4, "accountsList"
10669 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10673 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyActivityManagerService.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyActivityManagerService.smali
10674 --- stock-framework/smali/android/privacy/surrogate/PrivacyActivityManagerService.smali 1969-12-31 18:00:00.000000000 -0600
10675 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyActivityManagerService.smali 2012-08-22 21:52:53.711715812 -0500
10677 +.class public final Landroid/privacy/surrogate/PrivacyActivityManagerService;
10678 +.super Ljava/lang/Object;
10679 +.source "PrivacyActivityManagerService.java"
10683 +.field private static final TAG:Ljava/lang/String; = "PrivacyActivityManagerService"
10685 +.field private static pSetMan:Landroid/privacy/PrivacySettingsManager;
10687 +.field private static tmpIn:Landroid/content/Intent;
10689 +.field private static tmpInHash:J
10691 +.field private static tmpInReceivers:I
10693 +.field private static tmpMms:Landroid/content/Intent;
10695 +.field private static tmpMmsHash:J
10697 +.field private static tmpMmsReceivers:I
10699 +.field private static tmpOut:Landroid/content/Intent;
10701 +.field private static tmpOutHash:J
10703 +.field private static tmpOutReceivers:I
10705 +.field private static tmpPackageAddedHash:J
10707 +.field private static tmpSms:Landroid/content/Intent;
10709 +.field private static tmpSmsHash:J
10711 +.field private static tmpSmsReceivers:I
10715 +.method static constructor <clinit>()V
10720 + const-wide/16 v0, 0x0
10722 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInHash:J
10724 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
10726 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutHash:J
10728 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
10730 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsHash:J
10732 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
10734 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsHash:J
10736 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
10738 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpPackageAddedHash:J
10743 +.method public constructor <init>()V
10746 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
10751 +.method public static enforcePrivacyPermission(Ljava/lang/String;ILandroid/content/Intent;Landroid/content/Context;I)V
10754 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10756 + if-nez v2, :cond_11
10758 + const-string/jumbo v2, "privacy"
10760 + move-object/from16 v0, p3
10762 + invoke-virtual {v0, v2}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
10764 + move-result-object v2
10766 + check-cast v2, Landroid/privacy/PrivacySettingsManager;
10768 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10771 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->getAction()Ljava/lang/String;
10773 + move-result-object v9
10775 + const-string v2, "android.intent.action.NEW_OUTGOING_CALL"
10777 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
10781 + if-eqz v2, :cond_ad
10783 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10785 + move-object/from16 v0, p0
10787 + move/from16 v1, p1
10789 + invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10791 + move-result-object v8
10793 + const-string v2, "android.intent.extra.PHONE_NUMBER"
10795 + move-object/from16 v0, p2
10797 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
10799 + move-result-object v16
10801 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutHash:J
10803 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
10805 + move-result-wide v4
10807 + cmp-long v2, v2, v4
10809 + if-eqz v2, :cond_49
10811 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->clone()Ljava/lang/Object;
10813 + move-result-object v2
10815 + check-cast v2, Landroid/content/Intent;
10817 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOut:Landroid/content/Intent;
10819 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
10821 + move-result-wide v2
10823 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutHash:J
10825 + sput p4, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
10828 + if-eqz v8, :cond_76
10831 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getOutgoingCallsSetting()B
10835 + if-eqz v2, :cond_76
10837 + const-string v16, ""
10839 + const-string v2, "android.intent.extra.PHONE_NUMBER"
10841 + move-object/from16 v0, p2
10843 + move-object/from16 v1, v16
10845 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
10847 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10851 + const-string/jumbo v6, "outgoingCall"
10855 + move-object/from16 v3, p0
10857 + move/from16 v4, p1
10859 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10861 + .catch Ljava/lang/Exception; {:try_start_4b .. :try_end_6a} :catch_a0
10865 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
10869 + if-le v2, v3, :cond_a9
10871 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
10873 + add-int/lit8 v2, v2, -0x1
10875 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
10883 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutHash:J
10885 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
10887 + move-result-wide v4
10889 + cmp-long v2, v2, v4
10891 + if-nez v2, :cond_6a
10893 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOut:Landroid/content/Intent;
10895 + const-string v3, "android.intent.extra.PHONE_NUMBER"
10897 + invoke-virtual {v2, v3}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
10899 + move-result-object v16
10901 + const-string v2, "android.intent.extra.PHONE_NUMBER"
10903 + move-object/from16 v0, p2
10905 + move-object/from16 v1, v16
10907 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
10909 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10913 + const-string/jumbo v6, "outgoingCall"
10917 + move-object/from16 v3, p0
10919 + move/from16 v4, p1
10921 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10923 + .catch Ljava/lang/Exception; {:try_start_76 .. :try_end_9f} :catch_a0
10928 + move-exception v13
10930 + const-string v2, "PrivacyActivityManagerService"
10932 + const-string v3, "failed to enforce intent broadcast permission"
10934 + invoke-static {v2, v3, v13}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
10941 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOut:Landroid/content/Intent;
10946 + const-string v2, "android.intent.action.PHONE_STATE"
10948 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
10952 + if-eqz v2, :cond_14d
10954 + const-string v2, "incoming_number"
10956 + move-object/from16 v0, p2
10958 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
10960 + move-result-object v16
10962 + if-eqz v16, :cond_75
10964 + invoke-virtual/range {v16 .. v16}, Ljava/lang/String;->isEmpty()Z
10968 + if-nez v2, :cond_75
10970 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10972 + move-object/from16 v0, p0
10974 + move/from16 v1, p1
10976 + invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10978 + move-result-object v8
10980 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInHash:J
10982 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
10984 + move-result-wide v4
10986 + cmp-long v2, v2, v4
10988 + if-eqz v2, :cond_e9
10990 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->clone()Ljava/lang/Object;
10992 + move-result-object v2
10994 + check-cast v2, Landroid/content/Intent;
10996 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpIn:Landroid/content/Intent;
10998 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11000 + move-result-wide v2
11002 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInHash:J
11004 + sput p4, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
11007 + if-eqz v8, :cond_116
11010 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getIncomingCallsSetting()B
11014 + if-eqz v2, :cond_116
11016 + const-string v16, ""
11018 + const-string v2, "incoming_number"
11020 + move-object/from16 v0, p2
11022 + move-object/from16 v1, v16
11024 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
11026 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11030 + const-string v6, "incomingCall"
11034 + move-object/from16 v3, p0
11036 + move/from16 v4, p1
11038 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11040 + .catch Ljava/lang/Exception; {:try_start_eb .. :try_end_109} :catch_13f
11044 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
11048 + if-le v2, v3, :cond_148
11050 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
11052 + add-int/lit8 v2, v2, -0x1
11054 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
11060 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInHash:J
11062 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11064 + move-result-wide v4
11066 + cmp-long v2, v2, v4
11068 + if-nez v2, :cond_109
11070 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpIn:Landroid/content/Intent;
11072 + const-string v3, "incoming_number"
11074 + invoke-virtual {v2, v3}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
11076 + move-result-object v16
11078 + const-string v2, "incoming_number"
11080 + move-object/from16 v0, p2
11082 + move-object/from16 v1, v16
11084 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
11086 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11090 + const-string v6, "incomingCall"
11094 + move-object/from16 v3, p0
11096 + move/from16 v4, p1
11098 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11100 + .catch Ljava/lang/Exception; {:try_start_116 .. :try_end_13e} :catch_13f
11105 + move-exception v13
11107 + const-string v2, "PrivacyActivityManagerService"
11109 + const-string v3, "failed to enforce intent broadcast permission"
11111 + invoke-static {v2, v3, v13}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
11118 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpIn:Landroid/content/Intent;
11123 + const-string v2, "android.provider.Telephony.SMS_RECEIVED"
11125 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11129 + if-eqz v2, :cond_222
11131 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11133 + move-object/from16 v0, p0
11135 + move/from16 v1, p1
11137 + invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
11139 + move-result-object v8
11141 + const-string v16, "[real]"
11143 + const-string/jumbo v2, "pdus"
11145 + move-object/from16 v0, p2
11147 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
11149 + move-result-object v2
11151 + check-cast v2, [Ljava/lang/Object;
11153 + move-object v15, v2
11155 + check-cast v15, [Ljava/lang/Object;
11157 + if-eqz v15, :cond_1cd
11161 + aget-object v2, v15, v2
11163 + check-cast v2, [B
11165 + check-cast v2, [B
11167 + move-object v12, v2
11170 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsHash:J
11172 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11174 + move-result-wide v4
11176 + cmp-long v2, v2, v4
11178 + if-eqz v2, :cond_193
11180 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->clone()Ljava/lang/Object;
11182 + move-result-object v2
11184 + check-cast v2, Landroid/content/Intent;
11186 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSms:Landroid/content/Intent;
11188 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11190 + move-result-wide v2
11192 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsHash:J
11194 + sput p4, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
11197 + if-eqz v8, :cond_1cf
11200 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getSmsSetting()B
11204 + if-eqz v2, :cond_1cf
11206 + const-string v16, "[empty]"
11210 + new-array v14, v2, [Ljava/lang/Object;
11214 + const/16 v3, 0x10
11216 + new-array v3, v3, [B
11218 + fill-array-data v3, :array_350
11220 + aput-object v3, v14, v2
11222 + const-string/jumbo v2, "pdus"
11224 + move-object/from16 v0, p2
11226 + invoke-virtual {v0, v2, v14}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent;
11228 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11232 + const-string/jumbo v6, "sms"
11236 + move-object/from16 v3, p0
11238 + move/from16 v4, p1
11240 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11242 + .catch Ljava/lang/Exception; {:try_start_195 .. :try_end_1c0} :catch_212
11246 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
11250 + if-le v2, v3, :cond_21d
11252 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
11254 + add-int/lit8 v2, v2, -0x1
11256 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
11267 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsHash:J
11269 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11271 + move-result-wide v4
11273 + cmp-long v2, v2, v4
11275 + if-nez v2, :cond_1c0
11277 + const-string/jumbo v2, "pdus"
11279 + sget-object v3, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSms:Landroid/content/Intent;
11281 + const-string/jumbo v4, "pdus"
11283 + invoke-virtual {v3, v4}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
11285 + move-result-object v3
11287 + move-object/from16 v0, p2
11289 + invoke-virtual {v0, v2, v3}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent;
11291 + const-string/jumbo v2, "pdus"
11293 + move-object/from16 v0, p2
11295 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
11297 + move-result-object v2
11299 + check-cast v2, [Ljava/lang/Object;
11301 + move-object v0, v2
11303 + check-cast v0, [Ljava/lang/Object;
11305 + move-object v15, v0
11307 + if-eqz v15, :cond_21b
11311 + aget-object v2, v15, v2
11313 + check-cast v2, [B
11315 + check-cast v2, [B
11317 + move-object v12, v2
11320 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11324 + const-string/jumbo v6, "sms"
11328 + move-object/from16 v3, p0
11330 + move/from16 v4, p1
11332 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11334 + .catch Ljava/lang/Exception; {:try_start_1cf .. :try_end_211} :catch_212
11339 + move-exception v13
11341 + const-string v2, "PrivacyActivityManagerService"
11343 + const-string v3, "failed to enforce intent broadcast permission"
11345 + invoke-static {v2, v3, v13}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
11357 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSms:Landroid/content/Intent;
11362 + const-string v2, "android.provider.Telephony.WAP_PUSH_RECEIVED"
11364 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11368 + if-nez v2, :cond_232
11370 + const-string v2, "android.intent.action.DATA_SMS_RECEIVED"
11372 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11376 + if-eqz v2, :cond_2ff
11379 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11381 + move-object/from16 v0, p0
11383 + move/from16 v1, p1
11385 + invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
11387 + move-result-object v8
11389 + const-string v16, "[real]"
11391 + const-string/jumbo v2, "pdus"
11393 + move-object/from16 v0, p2
11395 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
11397 + move-result-object v2
11399 + check-cast v2, [Ljava/lang/Object;
11401 + move-object v15, v2
11403 + check-cast v15, [Ljava/lang/Object;
11405 + if-eqz v15, :cond_2aa
11409 + aget-object v2, v15, v2
11411 + check-cast v2, [B
11413 + check-cast v2, [B
11415 + move-object v12, v2
11418 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsHash:J
11420 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11422 + move-result-wide v4
11424 + cmp-long v2, v2, v4
11426 + if-eqz v2, :cond_270
11428 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->clone()Ljava/lang/Object;
11430 + move-result-object v2
11432 + check-cast v2, Landroid/content/Intent;
11434 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMms:Landroid/content/Intent;
11436 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11438 + move-result-wide v2
11440 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsHash:J
11442 + sput p4, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
11445 + if-eqz v8, :cond_2ac
11448 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getMmsSetting()B
11452 + if-eqz v2, :cond_2ac
11454 + const-string v16, "[empty]"
11458 + new-array v14, v2, [Ljava/lang/Object;
11462 + const/16 v3, 0x10
11464 + new-array v3, v3, [B
11466 + fill-array-data v3, :array_35c
11468 + aput-object v3, v14, v2
11470 + const-string/jumbo v2, "pdus"
11472 + move-object/from16 v0, p2
11474 + invoke-virtual {v0, v2, v14}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent;
11476 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11480 + const-string/jumbo v6, "mms"
11484 + move-object/from16 v3, p0
11486 + move/from16 v4, p1
11488 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11490 + .catch Ljava/lang/Exception; {:try_start_272 .. :try_end_29d} :catch_2ef
11494 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
11498 + if-le v2, v3, :cond_2fa
11500 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
11502 + add-int/lit8 v2, v2, -0x1
11504 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
11515 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsHash:J
11517 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11519 + move-result-wide v4
11521 + cmp-long v2, v2, v4
11523 + if-nez v2, :cond_29d
11525 + const-string/jumbo v2, "pdus"
11527 + sget-object v3, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMms:Landroid/content/Intent;
11529 + const-string/jumbo v4, "pdus"
11531 + invoke-virtual {v3, v4}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
11533 + move-result-object v3
11535 + move-object/from16 v0, p2
11537 + invoke-virtual {v0, v2, v3}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent;
11539 + const-string/jumbo v2, "pdus"
11541 + move-object/from16 v0, p2
11543 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
11545 + move-result-object v2
11547 + check-cast v2, [Ljava/lang/Object;
11549 + move-object v0, v2
11551 + check-cast v0, [Ljava/lang/Object;
11553 + move-object v15, v0
11555 + if-eqz v15, :cond_2f8
11559 + aget-object v2, v15, v2
11561 + check-cast v2, [B
11563 + check-cast v2, [B
11565 + move-object v12, v2
11568 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11572 + const-string/jumbo v6, "mms"
11576 + move-object/from16 v3, p0
11578 + move/from16 v4, p1
11580 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11582 + .catch Ljava/lang/Exception; {:try_start_2ac .. :try_end_2ee} :catch_2ef
11587 + move-exception v13
11589 + const-string v2, "PrivacyActivityManagerService"
11591 + const-string v3, "failed to enforce intent broadcast permission"
11593 + invoke-static {v2, v3, v13}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
11605 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMms:Landroid/content/Intent;
11610 + const-string v2, "android.intent.action.BOOT_COMPLETED"
11612 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11616 + if-eqz v2, :cond_30e
11618 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11620 + invoke-virtual {v2}, Landroid/privacy/PrivacySettingsManager;->setBootCompleted()V
11625 + const-string v2, "android.intent.action.PACKAGE_ADDED"
11627 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11631 + if-eqz v2, :cond_75
11633 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpPackageAddedHash:J
11635 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11637 + move-result-wide v4
11639 + cmp-long v2, v2, v4
11641 + if-eqz v2, :cond_75
11643 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11645 + move-result-wide v2
11647 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpPackageAddedHash:J
11649 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->getData()Landroid/net/Uri;
11651 + move-result-object v2
11653 + invoke-virtual {v2}, Landroid/net/Uri;->getSchemeSpecificPart()Ljava/lang/String;
11655 + move-result-object v10
11657 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->getExtras()Landroid/os/Bundle;
11659 + move-result-object v2
11661 + const-string v3, "android.intent.extra.UID"
11663 + invoke-virtual {v2, v3}, Landroid/os/Bundle;->getInt(Ljava/lang/String;)I
11667 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11669 + invoke-virtual {v2, v10, v11}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
11671 + move-result-object v8
11673 + if-eqz v8, :cond_75
11675 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getUid()I
11679 + if-eq v2, v11, :cond_75
11681 + invoke-virtual {v8, v11}, Landroid/privacy/PrivacySettings;->setUid(I)V
11683 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11685 + invoke-virtual {v2, v8}, Landroid/privacy/PrivacySettingsManager;->saveSettings(Landroid/privacy/PrivacySettings;)Z
11730 +.method private static hashCode(Landroid/content/Intent;)J
11733 + const-wide/16 v3, 0x0
11735 + const-string/jumbo v2, "privacy_hash"
11737 + invoke-virtual {p0, v2, v3, v4}, Landroid/content/Intent;->getLongExtra(Ljava/lang/String;J)J
11739 + move-result-wide v0
11741 + cmp-long v2, v0, v3
11743 + if-nez v2, :cond_1e
11745 + invoke-virtual {p0}, Landroid/content/Intent;->filterHashCode()I
11749 + int-to-long v2, v2
11751 + invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
11753 + move-result-wide v4
11755 + add-long v0, v2, v4
11757 + const-string/jumbo v2, "privacy_hash"
11759 + invoke-virtual {p0, v2, v0, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;J)Landroid/content/Intent;
11764 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyContentResolver.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyContentResolver.smali
11765 --- stock-framework/smali/android/privacy/surrogate/PrivacyContentResolver.smali 1969-12-31 18:00:00.000000000 -0600
11766 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyContentResolver.smali 2012-08-22 21:52:53.711715812 -0500
11768 +.class public final Landroid/privacy/surrogate/PrivacyContentResolver;
11769 +.super Ljava/lang/Object;
11770 +.source "PrivacyContentResolver.java"
11774 +.field private static final TAG:Ljava/lang/String; = "PrivacyContentResolver"
11776 +.field private static pSetMan:Landroid/privacy/PrivacySettingsManager;
11780 +.method public constructor <init>()V
11783 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
11788 +.method private static arrayToString([Ljava/lang/String;)Ljava/lang/String;
11791 + new-instance v4, Ljava/lang/StringBuffer;
11793 + invoke-direct {v4}, Ljava/lang/StringBuffer;-><init>()V
11795 + if-eqz p0, :cond_2d
11797 + move-object v0, p0
11799 + array-length v3, v0
11804 + if-ge v2, v3, :cond_30
11806 + aget-object v1, v0, v2
11808 + new-instance v5, Ljava/lang/StringBuilder;
11810 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
11812 + const-string v6, "["
11814 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
11816 + move-result-object v5
11818 + invoke-virtual {v5, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
11820 + move-result-object v5
11822 + const-string v6, "]"
11824 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
11826 + move-result-object v5
11828 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
11830 + move-result-object v5
11832 + invoke-virtual {v4, v5}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
11834 + add-int/lit8 v2, v2, 0x1
11839 + const-string v5, ""
11845 + invoke-virtual {v4}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String;
11847 + move-result-object v5
11852 +.method public static enforcePrivacyPermission(Landroid/net/Uri;[Ljava/lang/String;Landroid/content/Context;Landroid/database/Cursor;)Landroid/database/Cursor;
11854 + .annotation system Ldalvik/annotation/Throws;
11856 + Landroid/os/RemoteException;
11860 + if-eqz p0, :cond_1e4
11862 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11864 + if-nez v1, :cond_13
11866 + const-string/jumbo v1, "privacy"
11868 + move-object/from16 v0, p2
11870 + invoke-virtual {v0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
11872 + move-result-object v1
11874 + check-cast v1, Landroid/privacy/PrivacySettingsManager;
11876 + sput-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11879 + invoke-virtual/range {p2 .. p2}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
11881 + move-result-object v2
11883 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
11887 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11889 + invoke-virtual {v1, v2, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
11891 + move-result-object v7
11893 + invoke-virtual/range {p0 .. p0}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
11895 + move-result-object v9
11897 + const-string v15, "[real]"
11899 + move-object/from16 v13, p3
11901 + if-eqz v9, :cond_54
11903 + const-string v1, "contacts"
11905 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11909 + if-nez v1, :cond_3b
11911 + const-string v1, "com.android.contacts"
11913 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11917 + if-eqz v1, :cond_ab
11920 + if-eqz v7, :cond_54
11922 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getContactsSetting()B
11928 + if-ne v1, v4, :cond_55
11930 + const-string v15, "[empty]"
11932 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
11934 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
11936 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11940 + const-string v5, "contacts"
11944 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11948 + return-object v13
11951 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getContactsSetting()B
11957 + if-ne v1, v4, :cond_a1
11959 + invoke-virtual/range {p0 .. p0}, Landroid/net/Uri;->toString()Ljava/lang/String;
11961 + move-result-object v1
11963 + sget-object v4, Landroid/provider/ContactsContract$Contacts;->CONTENT_URI:Landroid/net/Uri;
11965 + invoke-virtual {v4}, Landroid/net/Uri;->toString()Ljava/lang/String;
11967 + move-result-object v4
11969 + invoke-virtual {v1, v4}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
11973 + if-eqz v1, :cond_a1
11977 + if-eqz p1, :cond_82
11979 + move-object/from16 v8, p1
11981 + array-length v12, v8
11986 + if-ge v10, v12, :cond_82
11988 + aget-object v16, v8, v10
11990 + const-string v1, "_id"
11992 + move-object/from16 v0, v16
11994 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11998 + if-eqz v1, :cond_93
12003 + if-nez v11, :cond_96
12005 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12007 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12010 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12014 + const-string v5, "contacts"
12018 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12023 + add-int/lit8 v10, v10, 0x1
12028 + new-instance v14, Landroid/privacy/surrogate/PrivacyCursor;
12030 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getAllowedContacts()[I
12032 + move-result-object v1
12034 + invoke-direct {v14, v13, v1}, Landroid/privacy/surrogate/PrivacyCursor;-><init>(Landroid/database/Cursor;[I)V
12036 + move-object v13, v14
12041 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12045 + const-string v5, "contacts"
12049 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12054 + const-string v1, "com.android.calendar"
12056 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12060 + if-eqz v1, :cond_d8
12062 + if-eqz v7, :cond_cd
12064 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getCalendarSetting()B
12070 + if-ne v1, v4, :cond_cd
12072 + const-string v15, "[empty]"
12074 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12076 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12078 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12082 + const-string v5, "calendar"
12086 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12091 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12095 + const-string v5, "calendar"
12099 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12104 + sget-object v1, Landroid/provider/Telephony$Mms;->CONTENT_URI:Landroid/net/Uri;
12106 + invoke-virtual {v1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
12108 + move-result-object v1
12110 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12114 + if-eqz v1, :cond_10c
12116 + if-eqz v7, :cond_100
12118 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getMmsSetting()B
12124 + if-ne v1, v4, :cond_100
12126 + const-string v15, "[empty]"
12128 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12130 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12132 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12136 + const-string/jumbo v5, "mms"
12140 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12145 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12149 + const-string/jumbo v5, "mms"
12153 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12158 + sget-object v1, Landroid/provider/Telephony$Sms;->CONTENT_URI:Landroid/net/Uri;
12160 + invoke-virtual {v1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
12162 + move-result-object v1
12164 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12168 + if-eqz v1, :cond_140
12170 + if-eqz v7, :cond_134
12172 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getSmsSetting()B
12178 + if-ne v1, v4, :cond_134
12180 + const-string v15, "[empty]"
12182 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12184 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12186 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12190 + const-string/jumbo v5, "sms"
12194 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12199 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12203 + const-string/jumbo v5, "sms"
12207 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12212 + sget-object v1, Landroid/provider/Telephony$MmsSms;->CONTENT_URI:Landroid/net/Uri;
12214 + invoke-virtual {v1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
12216 + move-result-object v1
12218 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12222 + if-nez v1, :cond_155
12224 + const-string/jumbo v1, "mms-sms-v2"
12226 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12230 + if-eqz v1, :cond_184
12233 + if-eqz v7, :cond_178
12235 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getMmsSetting()B
12241 + if-eq v1, v4, :cond_165
12243 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getSmsSetting()B
12249 + if-ne v1, v4, :cond_178
12252 + const-string v15, "[empty]"
12254 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12256 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12258 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12262 + const-string/jumbo v5, "mmsSms"
12266 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12271 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12275 + const-string/jumbo v5, "mmsSms"
12279 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12284 + const-string v1, "call_log"
12286 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12290 + if-eqz v1, :cond_1b2
12292 + if-eqz v7, :cond_1a7
12294 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getCallLogSetting()B
12300 + if-ne v1, v4, :cond_1a7
12302 + const-string v15, "[empty]"
12304 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12306 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12308 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12312 + const-string v5, "callLog"
12316 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12321 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12325 + const-string v5, "callLog"
12329 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12334 + sget-object v1, Landroid/provider/Browser;->BOOKMARKS_URI:Landroid/net/Uri;
12336 + invoke-virtual {v1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
12338 + move-result-object v1
12340 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12344 + if-eqz v1, :cond_54
12346 + if-eqz v7, :cond_1d9
12348 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getBookmarksSetting()B
12354 + if-ne v1, v4, :cond_1d9
12356 + const-string v15, "[empty]"
12358 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12360 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12362 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12366 + const-string v5, "bookmarks"
12370 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12375 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12379 + const-string v5, "bookmarks"
12383 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12388 + move-object/from16 v13, p3
12392 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyCursor.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyCursor.smali
12393 --- stock-framework/smali/android/privacy/surrogate/PrivacyCursor.smali 1969-12-31 18:00:00.000000000 -0600
12394 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyCursor.smali 2012-08-22 21:52:53.715715815 -0500
12396 +.class public Landroid/privacy/surrogate/PrivacyCursor;
12397 +.super Ljava/lang/Object;
12398 +.source "PrivacyCursor.java"
12401 +.implements Landroid/database/Cursor;
12405 +.field private static final TAG:Ljava/lang/String; = "PrivacyCursor"
12409 +.field private allowedIdMapping:[I
12411 +.field private allowedIds:[I
12413 +.field private realCursor:Landroid/database/Cursor;
12417 +.method public constructor <init>()V
12420 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
12425 +.method public constructor <init>(Landroid/database/Cursor;[I)V
12428 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
12430 + if-eqz p2, :cond_8
12432 + array-length v2, p2
12434 + if-nez v2, :cond_9
12440 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12442 + iput-object p2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIds:[I
12444 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12446 + if-eqz v2, :cond_3f
12448 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12450 + invoke-interface {v2}, Landroid/database/Cursor;->getPosition()I
12454 + array-length v2, p2
12456 + new-array v2, v2, [I
12458 + iput-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
12464 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12466 + invoke-interface {v2}, Landroid/database/Cursor;->moveToNext()Z
12470 + if-eqz v2, :cond_3a
12472 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12474 + invoke-direct {p0, v2}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(Landroid/database/Cursor;)Z
12478 + if-eqz v2, :cond_1d
12480 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
12482 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12484 + invoke-interface {v3}, Landroid/database/Cursor;->getPosition()I
12490 + add-int/lit8 v1, v1, 0x1
12495 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12497 + invoke-interface {v2, v0}, Landroid/database/Cursor;->moveToPosition(I)Z
12503 +.method private getContactId(Landroid/database/Cursor;)I
12506 + const-string v2, "_id"
12508 + invoke-interface {p1, v2}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
12516 + if-eq v0, v2, :cond_e
12518 + invoke-interface {p1, v0}, Landroid/database/Cursor;->getInt(I)I
12526 +.method private getMappedPos(I)I
12532 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
12534 + array-length v1, v1
12536 + if-ge v0, v1, :cond_10
12538 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
12542 + if-ne v1, p1, :cond_d
12548 + add-int/lit8 v0, v0, 0x1
12558 +.method private isAllowed(I)Z
12563 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIds:[I
12565 + array-length v3, v0
12570 + if-ge v2, v3, :cond_c
12574 + if-ne p1, v1, :cond_d
12582 + add-int/lit8 v2, v2, 0x1
12587 +.method private isAllowed(Landroid/database/Cursor;)Z
12590 + invoke-direct {p0, p1}, Landroid/privacy/surrogate/PrivacyCursor;->getContactId(Landroid/database/Cursor;)I
12594 + invoke-direct {p0, v0}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(I)Z
12603 +.method public close()V
12606 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12608 + if-eqz v0, :cond_9
12610 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12612 + invoke-interface {v0}, Landroid/database/Cursor;->close()V
12618 +.method public copyStringToBuffer(ILandroid/database/CharArrayBuffer;)V
12621 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12623 + if-eqz v0, :cond_9
12625 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12627 + invoke-interface {v0, p1, p2}, Landroid/database/Cursor;->copyStringToBuffer(ILandroid/database/CharArrayBuffer;)V
12633 +.method public deactivate()V
12636 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12638 + if-eqz v0, :cond_9
12640 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12642 + invoke-interface {v0}, Landroid/database/Cursor;->deactivate()V
12648 +.method public getBlob(I)[B
12651 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12653 + if-eqz v0, :cond_b
12655 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12657 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getBlob(I)[B
12659 + move-result-object v0
12667 + new-array v0, v0, [B
12672 +.method public getColumnCount()I
12675 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12677 + if-eqz v0, :cond_b
12679 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12681 + invoke-interface {v0}, Landroid/database/Cursor;->getColumnCount()I
12694 +.method public getColumnIndex(Ljava/lang/String;)I
12697 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12699 + if-eqz v0, :cond_b
12701 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12703 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
12716 +.method public getColumnIndexOrThrow(Ljava/lang/String;)I
12718 + .annotation system Ldalvik/annotation/Throws;
12720 + Ljava/lang/IllegalArgumentException;
12724 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12726 + if-eqz v0, :cond_b
12728 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12730 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getColumnIndexOrThrow(Ljava/lang/String;)I
12743 +.method public getColumnName(I)Ljava/lang/String;
12746 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12748 + if-eqz v0, :cond_b
12750 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12752 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getColumnName(I)Ljava/lang/String;
12754 + move-result-object v0
12760 + const-string v0, ""
12765 +.method public getColumnNames()[Ljava/lang/String;
12768 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12770 + if-eqz v0, :cond_b
12772 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12774 + invoke-interface {v0}, Landroid/database/Cursor;->getColumnNames()[Ljava/lang/String;
12776 + move-result-object v0
12784 + new-array v0, v0, [Ljava/lang/String;
12788 + const-string v2, ""
12790 + aput-object v2, v0, v1
12795 +.method public getCount()I
12798 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12800 + if-eqz v0, :cond_23
12802 + const-string v0, "PrivacyCursor"
12804 + new-instance v1, Ljava/lang/StringBuilder;
12806 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
12808 + const-string v2, "getCount: "
12810 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
12812 + move-result-object v1
12814 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
12816 + array-length v2, v2
12818 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
12820 + move-result-object v1
12822 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
12824 + move-result-object v1
12826 + invoke-static {v0, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
12828 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
12830 + array-length v0, v0
12841 +.method public getDouble(I)D
12844 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12846 + if-eqz v0, :cond_b
12848 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12850 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getDouble(I)D
12852 + move-result-wide v0
12858 + const-wide/16 v0, 0x0
12863 +.method public getExtras()Landroid/os/Bundle;
12866 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12868 + if-eqz v0, :cond_b
12870 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12872 + invoke-interface {v0}, Landroid/database/Cursor;->getExtras()Landroid/os/Bundle;
12874 + move-result-object v0
12880 + new-instance v0, Landroid/os/Bundle;
12882 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
12887 +.method public getFloat(I)F
12890 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12892 + if-eqz v0, :cond_b
12894 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12896 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getFloat(I)F
12909 +.method public getInt(I)I
12912 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12914 + if-eqz v1, :cond_b
12916 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12918 + invoke-interface {v1, p1}, Landroid/database/Cursor;->getInt(I)I
12931 +.method public getLong(I)J
12934 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12936 + if-eqz v0, :cond_b
12938 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12940 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getLong(I)J
12942 + move-result-wide v0
12948 + const-wide/16 v0, 0x0
12953 +.method public getPosition()I
12956 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12958 + if-eqz v1, :cond_37
12960 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12962 + invoke-interface {v1}, Landroid/database/Cursor;->getPosition()I
12966 + invoke-direct {p0, v1}, Landroid/privacy/surrogate/PrivacyCursor;->getMappedPos(I)I
12970 + const-string v1, "PrivacyCursor"
12972 + new-instance v2, Ljava/lang/StringBuilder;
12974 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
12976 + const-string v3, "getPosition - mapped position: "
12978 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
12980 + move-result-object v2
12982 + invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
12984 + move-result-object v2
12986 + const-string v3, " real position: "
12988 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
12990 + move-result-object v2
12992 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12994 + invoke-interface {v3}, Landroid/database/Cursor;->getPosition()I
12998 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
13000 + move-result-object v2
13002 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
13004 + move-result-object v2
13006 + invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
13017 +.method public getShort(I)S
13020 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13022 + if-eqz v0, :cond_b
13024 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13026 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getShort(I)S
13039 +.method public getString(I)Ljava/lang/String;
13042 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13044 + if-eqz v0, :cond_b
13046 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13048 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
13050 + move-result-object v0
13056 + const-string v0, ""
13061 +.method public getType(I)I
13064 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13066 + if-eqz v0, :cond_b
13068 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13070 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getType(I)I
13078 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13085 +.method public getWantsAllOnMoveCalls()Z
13088 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13090 + if-eqz v0, :cond_b
13092 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13094 + invoke-interface {v0}, Landroid/database/Cursor;->getWantsAllOnMoveCalls()Z
13107 +.method public isAfterLast()Z
13110 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13112 + if-eqz v0, :cond_b
13114 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13116 + invoke-interface {v0}, Landroid/database/Cursor;->isAfterLast()Z
13129 +.method public isBeforeFirst()Z
13132 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13134 + if-eqz v0, :cond_b
13136 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13138 + invoke-interface {v0}, Landroid/database/Cursor;->isBeforeFirst()Z
13151 +.method public isClosed()Z
13154 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13156 + if-eqz v0, :cond_b
13158 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13160 + invoke-interface {v0}, Landroid/database/Cursor;->isClosed()Z
13173 +.method public isFirst()Z
13178 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13180 + if-eqz v1, :cond_12
13182 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13184 + invoke-interface {v1}, Landroid/database/Cursor;->getPosition()I
13188 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13192 + if-ne v1, v2, :cond_12
13200 +.method public isLast()Z
13203 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13205 + if-eqz v0, :cond_17
13207 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13209 + invoke-interface {v0}, Landroid/database/Cursor;->getPosition()I
13213 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13215 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13217 + array-length v2, v2
13219 + add-int/lit8 v2, v2, -0x1
13223 + if-ne v0, v1, :cond_17
13236 +.method public isNull(I)Z
13239 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13241 + if-eqz v0, :cond_b
13243 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13245 + invoke-interface {v0, p1}, Landroid/database/Cursor;->isNull(I)Z
13258 +.method public move(I)Z
13263 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13265 + if-eqz v3, :cond_33
13267 + const-string v3, "PrivacyCursor"
13269 + new-instance v4, Ljava/lang/StringBuilder;
13271 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
13273 + const-string/jumbo v5, "move - offset: "
13275 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13277 + move-result-object v4
13279 + invoke-virtual {v4, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
13281 + move-result-object v4
13283 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
13285 + move-result-object v4
13287 + invoke-static {v3, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
13290 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13292 + iget-object v4, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13294 + invoke-interface {v4}, Landroid/database/Cursor;->getPosition()I
13298 + invoke-direct {p0, v4}, Landroid/privacy/surrogate/PrivacyCursor;->getMappedPos(I)I
13302 + add-int/2addr v4, p1
13306 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13308 + invoke-interface {v3, v1}, Landroid/database/Cursor;->moveToPosition(I)Z
13310 + .catch Ljava/lang/ArrayIndexOutOfBoundsException; {:try_start_1e .. :try_end_32} :catch_34
13319 + move-exception v0
13324 +.method public moveToFirst()Z
13329 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13331 + if-eqz v1, :cond_f
13333 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13335 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13339 + invoke-interface {v1, v2}, Landroid/database/Cursor;->moveToPosition(I)Z
13347 +.method public moveToLast()Z
13350 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13352 + if-eqz v1, :cond_14
13354 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13356 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13358 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13360 + array-length v3, v3
13362 + add-int/lit8 v3, v3, -0x1
13366 + invoke-interface {v1, v2}, Landroid/database/Cursor;->moveToPosition(I)Z
13379 +.method public moveToNext()Z
13384 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13386 + if-eqz v1, :cond_d
13388 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13390 + invoke-interface {v1}, Landroid/database/Cursor;->moveToNext()Z
13394 + if-nez v1, :cond_e
13405 + if-ne v0, v1, :cond_d
13407 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13409 + invoke-direct {p0, v1}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(Landroid/database/Cursor;)Z
13413 + if-nez v1, :cond_d
13415 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13417 + invoke-interface {v1}, Landroid/database/Cursor;->moveToNext()Z
13424 +.method public moveToPosition(I)Z
13429 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13431 + if-eqz v2, :cond_f
13434 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13436 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13440 + invoke-interface {v2, v3}, Landroid/database/Cursor;->moveToPosition(I)Z
13442 + .catch Ljava/lang/ArrayIndexOutOfBoundsException; {:try_start_5 .. :try_end_e} :catch_10
13451 + move-exception v0
13456 +.method public moveToPrevious()Z
13461 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13463 + if-eqz v1, :cond_d
13465 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13467 + invoke-interface {v1}, Landroid/database/Cursor;->moveToPrevious()Z
13471 + if-nez v1, :cond_e
13482 + if-ne v0, v1, :cond_d
13484 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13486 + invoke-direct {p0, v1}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(Landroid/database/Cursor;)Z
13490 + if-nez v1, :cond_d
13492 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13494 + invoke-interface {v1}, Landroid/database/Cursor;->moveToPrevious()Z
13501 +.method public registerContentObserver(Landroid/database/ContentObserver;)V
13504 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13506 + if-eqz v0, :cond_9
13508 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13510 + invoke-interface {v0, p1}, Landroid/database/Cursor;->registerContentObserver(Landroid/database/ContentObserver;)V
13516 +.method public registerDataSetObserver(Landroid/database/DataSetObserver;)V
13519 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13521 + if-eqz v0, :cond_9
13523 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13525 + invoke-interface {v0, p1}, Landroid/database/Cursor;->registerDataSetObserver(Landroid/database/DataSetObserver;)V
13531 +.method public requery()Z
13534 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13536 + if-eqz v0, :cond_b
13538 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13540 + invoke-interface {v0}, Landroid/database/Cursor;->requery()Z
13553 +.method public respond(Landroid/os/Bundle;)Landroid/os/Bundle;
13556 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13558 + if-eqz v0, :cond_b
13560 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13562 + invoke-interface {v0, p1}, Landroid/database/Cursor;->respond(Landroid/os/Bundle;)Landroid/os/Bundle;
13564 + move-result-object v0
13570 + new-instance v0, Landroid/os/Bundle;
13572 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
13577 +.method public setNotificationUri(Landroid/content/ContentResolver;Landroid/net/Uri;)V
13580 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13582 + if-eqz v0, :cond_9
13584 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13586 + invoke-interface {v0, p1, p2}, Landroid/database/Cursor;->setNotificationUri(Landroid/content/ContentResolver;Landroid/net/Uri;)V
13592 +.method public unregisterContentObserver(Landroid/database/ContentObserver;)V
13595 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13597 + if-eqz v0, :cond_9
13599 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13601 + invoke-interface {v0, p1}, Landroid/database/Cursor;->unregisterContentObserver(Landroid/database/ContentObserver;)V
13607 +.method public unregisterDataSetObserver(Landroid/database/DataSetObserver;)V
13610 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13612 + if-eqz v0, :cond_9
13614 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13616 + invoke-interface {v0, p1}, Landroid/database/Cursor;->unregisterDataSetObserver(Landroid/database/DataSetObserver;)V
13621 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali
13622 --- stock-framework/smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali 1969-12-31 18:00:00.000000000 -0600
13623 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali 2012-08-22 21:52:53.715715815 -0500
13625 +.class Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
13626 +.super Ljava/lang/Thread;
13627 +.source "PrivacyLocationManager.java"
13631 +.annotation system Ldalvik/annotation/EnclosingClass;
13632 + value = Landroid/privacy/surrogate/PrivacyLocationManager;
13635 +.annotation system Ldalvik/annotation/InnerClass;
13636 + accessFlags = 0x2
13637 + name = "PrivacyLocationUpdater"
13642 +.field private intent:Landroid/app/PendingIntent;
13644 +.field private latitude:D
13646 +.field private listener:Landroid/location/LocationListener;
13648 +.field private longitude:D
13650 +.field private provider:Ljava/lang/String;
13652 +.field final synthetic this$0:Landroid/privacy/surrogate/PrivacyLocationManager;
13656 +.method public constructor <init>(Landroid/privacy/surrogate/PrivacyLocationManager;Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;DD)V
13659 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->this$0:Landroid/privacy/surrogate/PrivacyLocationManager;
13661 + invoke-direct {p0}, Ljava/lang/Thread;-><init>()V
13663 + iput-object p2, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->provider:Ljava/lang/String;
13665 + iput-object p3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->listener:Landroid/location/LocationListener;
13667 + iput-object p4, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->intent:Landroid/app/PendingIntent;
13669 + iput-wide p5, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->latitude:D
13671 + iput-wide p7, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->longitude:D
13678 +.method public run()V
13681 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->provider:Ljava/lang/String;
13683 + if-eqz v3, :cond_43
13685 + new-instance v2, Landroid/location/Location;
13687 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->provider:Ljava/lang/String;
13689 + invoke-direct {v2, v3}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
13691 + iget-wide v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->latitude:D
13693 + invoke-virtual {v2, v3, v4}, Landroid/location/Location;->setLatitude(D)V
13695 + iget-wide v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->longitude:D
13697 + invoke-virtual {v2, v3, v4}, Landroid/location/Location;->setLongitude(D)V
13704 + if-ge v1, v3, :cond_43
13706 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->listener:Landroid/location/LocationListener;
13708 + if-eqz v3, :cond_34
13710 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->listener:Landroid/location/LocationListener;
13712 + invoke-interface {v3, v2}, Landroid/location/LocationListener;->onLocationChanged(Landroid/location/Location;)V
13717 + invoke-static {}, Ljava/lang/Math;->random()D
13719 + move-result-wide v3
13721 + const-wide v5, 0x408f400000000000L
13723 + mul-double/2addr v3, v5
13725 + double-to-int v3, v3
13727 + int-to-long v3, v3
13729 + invoke-static {v3, v4}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->sleep(J)V
13731 + .catch Ljava/lang/InterruptedException; {:try_start_22 .. :try_end_31} :catch_3e
13734 + add-int/lit8 v1, v1, 0x1
13739 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->intent:Landroid/app/PendingIntent;
13741 + if-eqz v3, :cond_22
13743 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->intent:Landroid/app/PendingIntent;
13745 + invoke-virtual {v3}, Landroid/app/PendingIntent;->cancel()V
13750 + move-exception v0
13752 + invoke-virtual {v0}, Ljava/lang/InterruptedException;->printStackTrace()V
13759 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyLocationManager.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyLocationManager.smali
13760 --- stock-framework/smali/android/privacy/surrogate/PrivacyLocationManager.smali 1969-12-31 18:00:00.000000000 -0600
13761 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyLocationManager.smali 2012-08-22 21:52:53.715715815 -0500
13763 +.class public final Landroid/privacy/surrogate/PrivacyLocationManager;
13764 +.super Landroid/location/LocationManager;
13765 +.source "PrivacyLocationManager.java"
13769 +.annotation system Ldalvik/annotation/MemberClasses;
13771 + Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
13777 +.field private static final CUSTOM_LOCATION_UPDATE_COUNT:I = 0x5
13779 +.field private static final TAG:Ljava/lang/String; = "PrivacyLocationManager"
13783 +.field private context:Landroid/content/Context;
13785 +.field private lock:Ljava/lang/Object;
13787 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
13791 +.method public constructor <init>(Landroid/location/ILocationManager;Landroid/content/Context;)V
13794 + invoke-direct {p0, p1}, Landroid/location/LocationManager;-><init>(Landroid/location/ILocationManager;)V
13796 + new-instance v0, Ljava/lang/Object;
13798 + invoke-direct {v0}, Ljava/lang/Object;-><init>()V
13800 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->lock:Ljava/lang/Object;
13802 + iput-object p2, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
13804 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
13806 + const-string/jumbo v1, "privacy"
13808 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
13810 + move-result-object v1
13812 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
13814 + move-result-object v1
13816 + invoke-direct {v0, p2, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
13818 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
13823 +.method private requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
13828 + if-nez p1, :cond_5
13836 + invoke-virtual {p1}, Landroid/location/Criteria;->getAccuracy()I
13842 + if-eq v0, v1, :cond_24
13844 + invoke-virtual {p1}, Landroid/location/Criteria;->getBearingAccuracy()I
13848 + if-eq v0, v2, :cond_24
13850 + invoke-virtual {p1}, Landroid/location/Criteria;->getHorizontalAccuracy()I
13854 + if-eq v0, v2, :cond_24
13856 + invoke-virtual {p1}, Landroid/location/Criteria;->getVerticalAccuracy()I
13860 + if-eq v0, v2, :cond_24
13862 + invoke-virtual {p1}, Landroid/location/Criteria;->getSpeedAccuracy()I
13866 + if-ne v0, v2, :cond_2b
13869 + const-string v0, "gps"
13871 + invoke-direct {p0, v0, p2, p3}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
13878 + const-string/jumbo v0, "network"
13880 + invoke-direct {p0, v0, p2, p3}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
13887 +.method private requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
13890 + move-object/from16 v0, p0
13892 + iget-object v0, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->lock:Ljava/lang/Object;
13894 + move-object/from16 v19, v0
13896 + monitor-enter v19
13899 + move-object/from16 v0, p0
13901 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
13903 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
13905 + move-result-object v2
13907 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
13911 + move-object/from16 v0, p0
13913 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
13915 + invoke-virtual {v1, v2, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
13917 + move-result-object v7
13919 + const/16 v18, 0x0
13921 + if-eqz v7, :cond_239
13923 + const-string v1, "gps"
13925 + move-object/from16 v0, p1
13927 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
13931 + if-eqz v1, :cond_111
13933 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
13937 + packed-switch v1, :pswitch_data_25e
13946 + move-object/from16 v0, p0
13948 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
13952 + const-string v5, "locationGPS"
13956 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
13961 + move-exception v1
13965 + .catchall {:try_start_7 .. :try_end_40} :catchall_3e
13970 + if-eqz p3, :cond_46
13973 + invoke-virtual/range {p3 .. p3}, Landroid/app/PendingIntent;->cancel()V
13976 + const/16 v18, 0x1
13978 + move-object/from16 v0, p0
13980 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
13984 + const-string v5, "locationGPS"
13988 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
13990 + .catchall {:try_start_43 .. :try_end_53} :catchall_3e
13996 + new-instance v8, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
13998 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
14000 + move-result-object v1
14002 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14004 + move-result-wide v13
14006 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
14008 + move-result-object v1
14010 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14012 + move-result-wide v15
14014 + move-object/from16 v9, p0
14016 + move-object/from16 v10, p1
14018 + move-object/from16 v11, p2
14020 + move-object/from16 v12, p3
14022 + 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
14024 + invoke-virtual {v8}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->start()V
14026 + .catchall {:try_start_54 .. :try_end_74} :catchall_3e
14027 + .catch Ljava/lang/NumberFormatException; {:try_start_54 .. :try_end_74} :catch_a6
14029 + const/16 v18, 0x1
14033 + move-object/from16 v0, p0
14035 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14039 + const-string v5, "locationGPS"
14041 + new-instance v6, Ljava/lang/StringBuilder;
14043 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
14045 + const-string v8, "Lat: "
14047 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14049 + move-result-object v6
14051 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
14053 + move-result-object v8
14055 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14057 + move-result-object v6
14059 + const-string v8, " Lon: "
14061 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14063 + move-result-object v6
14065 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
14067 + move-result-object v8
14069 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14071 + move-result-object v6
14073 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14075 + move-result-object v6
14077 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14082 + move-exception v17
14084 + const-string v1, "PrivacyLocationManager"
14086 + const-string/jumbo v4, "requestLocationUpdates: invalid coordinates"
14088 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
14090 + .catchall {:try_start_76 .. :try_end_af} :catchall_3e
14092 + const/16 v18, 0x1
14098 + new-instance v8, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
14100 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
14102 + move-result-object v1
14104 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14106 + move-result-wide v13
14108 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
14110 + move-result-object v1
14112 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14114 + move-result-wide v15
14116 + move-object/from16 v9, p0
14118 + move-object/from16 v10, p1
14120 + move-object/from16 v11, p2
14122 + move-object/from16 v12, p3
14124 + 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
14126 + invoke-virtual {v8}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->start()V
14128 + .catchall {:try_start_b2 .. :try_end_d2} :catchall_3e
14129 + .catch Ljava/lang/NumberFormatException; {:try_start_b2 .. :try_end_d2} :catch_105
14131 + const/16 v18, 0x1
14135 + move-object/from16 v0, p0
14137 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14141 + const-string v5, "locationGPS"
14143 + new-instance v6, Ljava/lang/StringBuilder;
14145 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
14147 + const-string v8, "Lat: "
14149 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14151 + move-result-object v6
14153 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
14155 + move-result-object v8
14157 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14159 + move-result-object v6
14161 + const-string v8, " Lon: "
14163 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14165 + move-result-object v6
14167 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
14169 + move-result-object v8
14171 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14173 + move-result-object v6
14175 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14177 + move-result-object v6
14179 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14184 + move-exception v17
14186 + const-string v1, "PrivacyLocationManager"
14188 + const-string/jumbo v4, "requestLocationUpdates: invalid coordinates"
14190 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
14192 + const/16 v18, 0x1
14197 + const-string/jumbo v1, "network"
14199 + move-object/from16 v0, p1
14201 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
14205 + if-eqz v1, :cond_204
14207 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
14211 + packed-switch v1, :pswitch_data_26a
14216 + move-object/from16 v0, p0
14218 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14222 + const-string v5, "locationNetwork"
14226 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14231 + if-eqz p3, :cond_137
14233 + invoke-virtual/range {p3 .. p3}, Landroid/app/PendingIntent;->cancel()V
14236 + const/16 v18, 0x1
14238 + move-object/from16 v0, p0
14240 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14244 + const-string v5, "locationNetwork"
14248 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14250 + .catchall {:try_start_d4 .. :try_end_144} :catchall_3e
14256 + new-instance v8, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
14258 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
14260 + move-result-object v1
14262 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14264 + move-result-wide v13
14266 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
14268 + move-result-object v1
14270 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14272 + move-result-wide v15
14274 + move-object/from16 v9, p0
14276 + move-object/from16 v10, p1
14278 + move-object/from16 v11, p2
14280 + move-object/from16 v12, p3
14282 + 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
14284 + invoke-virtual {v8}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->start()V
14286 + .catchall {:try_start_146 .. :try_end_166} :catchall_3e
14287 + .catch Ljava/lang/NumberFormatException; {:try_start_146 .. :try_end_166} :catch_199
14289 + const/16 v18, 0x1
14293 + move-object/from16 v0, p0
14295 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14299 + const-string v5, "locationNetwork"
14301 + new-instance v6, Ljava/lang/StringBuilder;
14303 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
14305 + const-string v8, "Lat: "
14307 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14309 + move-result-object v6
14311 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
14313 + move-result-object v8
14315 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14317 + move-result-object v6
14319 + const-string v8, " Lon: "
14321 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14323 + move-result-object v6
14325 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
14327 + move-result-object v8
14329 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14331 + move-result-object v6
14333 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14335 + move-result-object v6
14337 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14342 + move-exception v17
14344 + const-string v1, "PrivacyLocationManager"
14346 + const-string/jumbo v4, "requestLocationUpdates: invalid coordinates"
14348 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
14350 + .catchall {:try_start_168 .. :try_end_1a2} :catchall_3e
14352 + const/16 v18, 0x1
14358 + new-instance v8, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
14360 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
14362 + move-result-object v1
14364 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14366 + move-result-wide v13
14368 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
14370 + move-result-object v1
14372 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14374 + move-result-wide v15
14376 + move-object/from16 v9, p0
14378 + move-object/from16 v10, p1
14380 + move-object/from16 v11, p2
14382 + move-object/from16 v12, p3
14384 + 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
14386 + invoke-virtual {v8}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->start()V
14388 + .catchall {:try_start_1a5 .. :try_end_1c5} :catchall_3e
14389 + .catch Ljava/lang/NumberFormatException; {:try_start_1a5 .. :try_end_1c5} :catch_1f8
14391 + const/16 v18, 0x1
14395 + move-object/from16 v0, p0
14397 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14401 + const-string v5, "locationNetwork"
14403 + new-instance v6, Ljava/lang/StringBuilder;
14405 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
14407 + const-string v8, "Lat: "
14409 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14411 + move-result-object v6
14413 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
14415 + move-result-object v8
14417 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14419 + move-result-object v6
14421 + const-string v8, " Lon: "
14423 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14425 + move-result-object v6
14427 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
14429 + move-result-object v8
14431 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14433 + move-result-object v6
14435 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14437 + move-result-object v6
14439 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14444 + move-exception v17
14446 + const-string v1, "PrivacyLocationManager"
14448 + const-string/jumbo v4, "requestLocationUpdates: invalid coordinates"
14450 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
14452 + const/16 v18, 0x1
14457 + const-string/jumbo v1, "passive"
14459 + move-object/from16 v0, p1
14461 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
14465 + if-eqz v1, :cond_30
14467 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
14471 + if-nez v1, :cond_22a
14473 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
14477 + if-nez v1, :cond_22a
14479 + const/16 v18, 0x0
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/16 v18, 0x1
14498 + move-object/from16 v0, p0
14500 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14504 + const-string v5, "locationGPS"
14508 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14513 + const-string/jumbo v1, "network"
14515 + move-object/from16 v0, p1
14517 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
14521 + if-eqz v1, :cond_251
14523 + move-object/from16 v0, p0
14525 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14529 + const-string v5, "locationNetwork"
14533 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14538 + move-object/from16 v0, p0
14540 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14544 + const-string v5, "locationGPS"
14548 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14550 + .catchall {:try_start_1c7 .. :try_end_25c} :catchall_3e
14554 + :pswitch_data_25e
14555 + .packed-switch 0x0
14560 + .end packed-switch
14562 + :pswitch_data_26a
14563 + .packed-switch 0x0
14568 + .end packed-switch
14573 +.method public addNmeaListener(Landroid/location/GpsStatus$NmeaListener;)Z
14580 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
14582 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
14584 + move-result-object v1
14586 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
14590 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14592 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
14594 + move-result-object v6
14596 + if-eqz v6, :cond_24
14598 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
14602 + if-eqz v0, :cond_24
14604 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14608 + const-string v4, "locationGPS"
14610 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14618 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14620 + const-string v4, "locationGPS"
14624 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14626 + invoke-super {p0, p1}, Landroid/location/LocationManager;->addNmeaListener(Landroid/location/GpsStatus$NmeaListener;)Z
14633 +.method public getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
14646 + if-nez p1, :cond_c
14648 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
14650 + move-result-object v7
14657 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
14659 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
14661 + move-result-object v1
14663 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
14667 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14669 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
14671 + move-result-object v6
14675 + if-eqz v6, :cond_22c
14677 + const-string v0, "gps"
14679 + invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
14683 + if-eqz v0, :cond_ff
14685 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
14689 + packed-switch v0, :pswitch_data_29a
14694 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
14696 + move-result-object v7
14698 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14700 + const-string v4, "locationGPS"
14702 + if-eqz v7, :cond_5e
14704 + new-instance v5, Ljava/lang/StringBuilder;
14706 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
14708 + const-string v8, "Lat: "
14710 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14712 + move-result-object v5
14714 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
14716 + move-result-wide v8
14718 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
14720 + move-result-object v5
14722 + const-string v8, " Lon: "
14724 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14726 + move-result-object v5
14728 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
14730 + move-result-wide v8
14732 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
14734 + move-result-object v5
14736 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14738 + move-result-object v5
14741 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14746 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14748 + const-string v4, "locationGPS"
14752 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14757 + new-instance v7, Landroid/location/Location;
14759 + invoke-direct {v7, p1}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
14761 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
14763 + move-result-object v0
14765 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14767 + move-result-wide v3
14769 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLatitude(D)V
14771 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
14773 + move-result-object v0
14775 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14777 + move-result-wide v3
14779 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLongitude(D)V
14781 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14783 + const-string v4, "locationGPS"
14785 + new-instance v3, Ljava/lang/StringBuilder;
14787 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
14789 + const-string v5, "Lat: "
14791 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14793 + move-result-object v3
14795 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
14797 + move-result-wide v8
14799 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
14801 + move-result-object v3
14803 + const-string v5, " Lon: "
14805 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14807 + move-result-object v3
14809 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
14811 + move-result-wide v8
14813 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
14815 + move-result-object v3
14817 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14819 + move-result-object v5
14823 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14828 + new-instance v7, Landroid/location/Location;
14830 + invoke-direct {v7, p1}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
14832 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
14834 + move-result-object v0
14836 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14838 + move-result-wide v3
14840 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLatitude(D)V
14842 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
14844 + move-result-object v0
14846 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14848 + move-result-wide v3
14850 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLongitude(D)V
14852 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14854 + const-string v4, "locationGPS"
14856 + new-instance v3, Ljava/lang/StringBuilder;
14858 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
14860 + const-string v5, "Lat: "
14862 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14864 + move-result-object v3
14866 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
14868 + move-result-wide v8
14870 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
14872 + move-result-object v3
14874 + const-string v5, " Lon: "
14876 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14878 + move-result-object v3
14880 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
14882 + move-result-wide v8
14884 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
14886 + move-result-object v3
14888 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14890 + move-result-object v5
14894 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14899 + const-string/jumbo v0, "network"
14901 + invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
14905 + if-eqz v0, :cond_1e3
14907 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
14911 + packed-switch v0, :pswitch_data_2a6
14916 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
14918 + move-result-object v7
14920 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14922 + const-string v4, "locationNetwork"
14924 + if-eqz v7, :cond_140
14926 + new-instance v5, Ljava/lang/StringBuilder;
14928 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
14930 + const-string v8, "Lat: "
14932 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14934 + move-result-object v5
14936 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
14938 + move-result-wide v8
14940 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
14942 + move-result-object v5
14944 + const-string v8, " Lon: "
14946 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14948 + move-result-object v5
14950 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
14952 + move-result-wide v8
14954 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
14956 + move-result-object v5
14958 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14960 + move-result-object v5
14963 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14968 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14970 + const-string v4, "locationNetwork"
14974 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14979 + new-instance v7, Landroid/location/Location;
14981 + invoke-direct {v7, p1}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
14983 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
14985 + move-result-object v0
14987 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14989 + move-result-wide v3
14991 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLatitude(D)V
14993 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
14995 + move-result-object v0
14997 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14999 + move-result-wide v3
15001 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLongitude(D)V
15003 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15005 + const-string v4, "locationNetwork"
15007 + new-instance v3, Ljava/lang/StringBuilder;
15009 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
15011 + const-string v5, "Lat: "
15013 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15015 + move-result-object v3
15017 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15019 + move-result-wide v8
15021 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15023 + move-result-object v3
15025 + const-string v5, " Lon: "
15027 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15029 + move-result-object v3
15031 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15033 + move-result-wide v8
15035 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15037 + move-result-object v3
15039 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15041 + move-result-object v5
15045 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15050 + new-instance v7, Landroid/location/Location;
15052 + invoke-direct {v7, p1}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
15054 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
15056 + move-result-object v0
15058 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
15060 + move-result-wide v3
15062 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLatitude(D)V
15064 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
15066 + move-result-object v0
15068 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
15070 + move-result-wide v3
15072 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLongitude(D)V
15074 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15076 + const-string v4, "locationNetwork"
15078 + new-instance v3, Ljava/lang/StringBuilder;
15080 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
15082 + const-string v5, "Lat: "
15084 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15086 + move-result-object v3
15088 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15090 + move-result-wide v8
15092 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15094 + move-result-object v3
15096 + const-string v5, " Lon: "
15098 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15100 + move-result-object v3
15102 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15104 + move-result-wide v8
15106 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15108 + move-result-object v3
15110 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15112 + move-result-object v5
15116 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15121 + const-string/jumbo v0, "passive"
15123 + invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15127 + if-eqz v0, :cond_b
15129 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
15133 + if-nez v0, :cond_b
15135 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15139 + if-nez v0, :cond_b
15141 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
15143 + move-result-object v7
15145 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15147 + const-string v4, "locationGPS"
15149 + if-eqz v7, :cond_227
15151 + new-instance v5, Ljava/lang/StringBuilder;
15153 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
15155 + const-string v8, "Lat: "
15157 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15159 + move-result-object v5
15161 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15163 + move-result-wide v8
15165 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15167 + move-result-object v5
15169 + const-string v8, " Lon: "
15171 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15173 + move-result-object v5
15175 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15177 + move-result-wide v8
15179 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15181 + move-result-object v5
15183 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15185 + move-result-object v5
15188 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15193 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
15195 + move-result-object v7
15197 + const-string/jumbo v0, "network"
15199 + invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15203 + if-eqz v0, :cond_269
15205 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15207 + const-string v4, "locationNetwork"
15209 + if-eqz v7, :cond_264
15211 + new-instance v5, Ljava/lang/StringBuilder;
15213 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
15215 + const-string v8, "Lat: "
15217 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15219 + move-result-object v5
15221 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15223 + move-result-wide v8
15225 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15227 + move-result-object v5
15229 + const-string v8, " Lon: "
15231 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15233 + move-result-object v5
15235 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15237 + move-result-wide v8
15239 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15241 + move-result-object v5
15243 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15245 + move-result-object v5
15248 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15253 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15255 + const-string v4, "locationGPS"
15257 + if-eqz v7, :cond_294
15259 + new-instance v5, Ljava/lang/StringBuilder;
15261 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
15263 + const-string v8, "Lat: "
15265 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15267 + move-result-object v5
15269 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15271 + move-result-wide v8
15273 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15275 + move-result-object v5
15277 + const-string v8, " Lon: "
15279 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15281 + move-result-object v5
15283 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15285 + move-result-wide v8
15287 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15289 + move-result-object v5
15291 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15293 + move-result-object v5
15296 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15302 + :pswitch_data_29a
15303 + .packed-switch 0x0
15308 + .end packed-switch
15310 + :pswitch_data_2a6
15311 + .packed-switch 0x0
15316 + .end packed-switch
15319 +.method public getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15322 + if-nez p1, :cond_7
15324 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15326 + move-result-object v0
15333 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15335 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
15337 + invoke-virtual {v3}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
15339 + move-result-object v3
15341 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
15345 + invoke-virtual {v2, v3, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
15347 + move-result-object v1
15351 + if-eqz v1, :cond_5f
15353 + const-string v2, "gps"
15355 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15359 + if-eqz v2, :cond_2f
15361 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
15365 + packed-switch v2, :pswitch_data_64
15371 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15373 + move-result-object v0
15378 + const-string/jumbo v2, "network"
15380 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15384 + if-eqz v2, :cond_45
15386 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15390 + packed-switch v2, :pswitch_data_70
15396 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15398 + move-result-object v0
15403 + const-string/jumbo v2, "passive"
15405 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15409 + if-eqz v2, :cond_6
15411 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
15415 + if-eqz v2, :cond_5a
15417 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15421 + if-nez v2, :cond_6
15424 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15426 + move-result-object v0
15431 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15433 + move-result-object v0
15438 + .packed-switch 0x0
15443 + .end packed-switch
15446 + .packed-switch 0x0
15451 + .end packed-switch
15454 +.method public isProviderEnabled(Ljava/lang/String;)Z
15457 + if-nez p1, :cond_7
15459 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
15469 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15471 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
15473 + invoke-virtual {v3}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
15475 + move-result-object v3
15477 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
15481 + invoke-virtual {v2, v3, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
15483 + move-result-object v1
15487 + if-eqz v1, :cond_65
15489 + const-string v2, "gps"
15491 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15495 + if-eqz v2, :cond_31
15497 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
15501 + packed-switch v2, :pswitch_data_6a
15506 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
15518 + const-string/jumbo v2, "network"
15520 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15524 + if-eqz v2, :cond_49
15526 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15530 + packed-switch v2, :pswitch_data_76
15535 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
15547 + const-string/jumbo v2, "passive"
15549 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15553 + if-eqz v2, :cond_6
15555 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
15559 + if-eqz v2, :cond_5e
15561 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15565 + if-nez v2, :cond_63
15568 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
15580 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
15587 + .packed-switch 0x0
15592 + .end packed-switch
15595 + .packed-switch 0x0
15600 + .end packed-switch
15603 +.method public requestLocationUpdates(JFLandroid/location/Criteria;Landroid/app/PendingIntent;)V
15606 + if-eqz p4, :cond_4
15608 + if-nez p5, :cond_8
15611 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/app/PendingIntent;)V
15620 + invoke-direct {p0, p4, v0, p5}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15624 + if-nez v0, :cond_7
15626 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/app/PendingIntent;)V
15631 +.method public requestLocationUpdates(JFLandroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
15634 + if-eqz p4, :cond_4
15636 + if-nez p5, :cond_8
15639 + invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
15648 + invoke-direct {p0, p4, p5, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15652 + if-nez v0, :cond_7
15654 + invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
15659 +.method public requestLocationUpdates(Ljava/lang/String;JFLandroid/app/PendingIntent;)V
15662 + if-eqz p1, :cond_4
15664 + if-nez p5, :cond_8
15667 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/app/PendingIntent;)V
15676 + invoke-direct {p0, p1, v0, p5}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15680 + if-nez v0, :cond_7
15682 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/app/PendingIntent;)V
15687 +.method public requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;)V
15690 + if-eqz p1, :cond_4
15692 + if-nez p5, :cond_8
15695 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;)V
15704 + invoke-direct {p0, p1, p5, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15708 + if-nez v0, :cond_7
15710 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;)V
15715 +.method public requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;Landroid/os/Looper;)V
15718 + if-eqz p1, :cond_4
15720 + if-nez p5, :cond_8
15723 + invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;Landroid/os/Looper;)V
15732 + invoke-direct {p0, p1, p5, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15736 + if-nez v0, :cond_7
15738 + invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;Landroid/os/Looper;)V
15743 +.method public requestSingleUpdate(Landroid/location/Criteria;Landroid/app/PendingIntent;)V
15746 + if-eqz p1, :cond_4
15748 + if-nez p2, :cond_8
15751 + invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/app/PendingIntent;)V
15760 + invoke-direct {p0, p1, v0, p2}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15764 + if-nez v0, :cond_7
15766 + invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/app/PendingIntent;)V
15771 +.method public requestSingleUpdate(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
15774 + if-eqz p1, :cond_4
15776 + if-nez p2, :cond_8
15779 + invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
15788 + invoke-direct {p0, p1, p2, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15792 + if-nez v0, :cond_7
15794 + invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
15799 +.method public requestSingleUpdate(Ljava/lang/String;Landroid/app/PendingIntent;)V
15802 + if-eqz p1, :cond_4
15804 + if-nez p2, :cond_8
15807 + invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/app/PendingIntent;)V
15816 + invoke-direct {p0, p1, v0, p2}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15820 + if-nez v0, :cond_7
15822 + invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/app/PendingIntent;)V
15827 +.method public requestSingleUpdate(Ljava/lang/String;Landroid/location/LocationListener;Landroid/os/Looper;)V
15830 + if-eqz p1, :cond_4
15832 + if-nez p2, :cond_8
15835 + invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/location/LocationListener;Landroid/os/Looper;)V
15844 + invoke-direct {p0, p1, p2, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15848 + if-nez v0, :cond_7
15850 + invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/location/LocationListener;Landroid/os/Looper;)V
15854 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyTelephonyManager.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyTelephonyManager.smali
15855 --- stock-framework/smali/android/privacy/surrogate/PrivacyTelephonyManager.smali 1969-12-31 18:00:00.000000000 -0600
15856 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyTelephonyManager.smali 2012-08-22 21:52:53.719715825 -0500
15858 +.class public final Landroid/privacy/surrogate/PrivacyTelephonyManager;
15859 +.super Landroid/telephony/TelephonyManager;
15860 +.source "PrivacyTelephonyManager.java"
15864 +.field private static final TAG:Ljava/lang/String; = "PrivacyTelephonyManager"
15868 +.field private context:Landroid/content/Context;
15870 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
15874 +.method public constructor <init>(Landroid/content/Context;)V
15877 + invoke-direct {p0, p1}, Landroid/telephony/TelephonyManager;-><init>(Landroid/content/Context;)V
15879 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
15881 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
15883 + const-string/jumbo v1, "privacy"
15885 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
15887 + move-result-object v1
15889 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
15891 + move-result-object v1
15893 + invoke-direct {v0, p1, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
15895 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15900 +.method private getNetworkInfo()Ljava/lang/String;
15905 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
15907 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
15909 + move-result-object v1
15911 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
15915 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15917 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
15919 + move-result-object v6
15921 + if-eqz v6, :cond_25
15923 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
15927 + if-eqz v0, :cond_25
15929 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15933 + const-string/jumbo v4, "networkInfoCurrent"
15935 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15937 + const-string v5, ""
15943 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15947 + const-string/jumbo v4, "networkInfoCurrent"
15949 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15954 +.method private getSimInfo()Ljava/lang/String;
15959 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
15961 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
15963 + move-result-object v1
15965 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
15969 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15971 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
15973 + move-result-object v6
15975 + if-eqz v6, :cond_25
15977 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSimInfoSetting()B
15981 + if-eqz v0, :cond_25
15983 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15987 + const-string/jumbo v4, "networkInfoSIM"
15989 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15991 + const-string v5, ""
15997 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16001 + const-string/jumbo v4, "networkInfoSIM"
16003 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16010 +.method public getDeviceId()Ljava/lang/String;
16013 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16015 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16017 + move-result-object v1
16019 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16023 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16025 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16027 + move-result-object v6
16029 + if-eqz v6, :cond_28
16031 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
16035 + if-eqz v0, :cond_28
16037 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceId()Ljava/lang/String;
16039 + move-result-object v5
16041 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16043 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
16047 + const-string v4, "deviceID"
16049 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16055 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getDeviceId()Ljava/lang/String;
16057 + move-result-object v5
16059 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16063 + const-string v4, "deviceID"
16065 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16070 +.method public getLine1Number()Ljava/lang/String;
16073 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16075 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16077 + move-result-object v1
16079 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16083 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16085 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16087 + move-result-object v6
16089 + if-eqz v6, :cond_28
16091 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
16095 + if-eqz v0, :cond_28
16097 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1Number()Ljava/lang/String;
16099 + move-result-object v5
16101 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16103 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
16107 + const-string v4, "line1Number"
16109 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16115 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getLine1Number()Ljava/lang/String;
16117 + move-result-object v5
16119 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16123 + const-string v4, "line1Number"
16125 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16130 +.method public getNeighboringCellInfo()Ljava/util/List;
16132 + .annotation system Ldalvik/annotation/Signature;
16135 + "Ljava/util/List",
16137 + "Landroid/telephony/NeighboringCellInfo;",
16142 + iget-object v6, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16144 + iget-object v7, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16146 + invoke-virtual {v7}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16148 + move-result-object v7
16150 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16154 + invoke-virtual {v6, v7, v8}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16156 + move-result-object v5
16160 + const-string v4, "[null]"
16162 + if-eqz v5, :cond_1c
16164 + invoke-virtual {v5}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
16170 + if-ne v6, v7, :cond_1d
16177 + invoke-virtual {v5}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
16181 + if-eqz v6, :cond_2b
16183 + new-instance v3, Ljava/util/ArrayList;
16185 + invoke-direct {v3}, Ljava/util/ArrayList;-><init>()V
16187 + const-string v4, "[empty list of cells]"
16192 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNeighboringCellInfo()Ljava/util/List;
16194 + move-result-object v3
16196 + const-string v0, ""
16198 + invoke-interface {v3}, Ljava/util/List;->iterator()Ljava/util/Iterator;
16200 + move-result-object v2
16203 + invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z
16207 + if-eqz v6, :cond_5f
16209 + invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
16211 + move-result-object v1
16213 + check-cast v1, Landroid/telephony/NeighboringCellInfo;
16215 + new-instance v6, Ljava/lang/StringBuilder;
16217 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
16219 + invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16221 + move-result-object v6
16223 + const-string v7, "\t"
16225 + invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16227 + move-result-object v6
16229 + invoke-virtual {v6, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
16231 + move-result-object v6
16233 + const-string v7, "\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}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
16241 + move-result-object v0
16246 + new-instance v6, Ljava/lang/StringBuilder;
16248 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
16250 + const-string v7, "[real value]:\n"
16252 + invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16254 + move-result-object v6
16256 + invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16258 + move-result-object v6
16260 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
16262 + move-result-object v4
16267 +.method public getNetworkCountryIso()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;->getNetworkCountryIso()Ljava/lang/String;
16278 + move-result-object v0
16284 +.method public getNetworkOperator()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;->getNetworkOperator()Ljava/lang/String;
16295 + move-result-object v0
16301 +.method public getNetworkOperatorName()Ljava/lang/String;
16304 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getNetworkInfo()Ljava/lang/String;
16306 + move-result-object v0
16308 + if-nez v0, :cond_a
16310 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNetworkOperatorName()Ljava/lang/String;
16312 + move-result-object v0
16318 +.method public getSimCountryIso()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;->getSimCountryIso()Ljava/lang/String;
16329 + move-result-object v0
16335 +.method public getSimOperator()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;->getSimOperator()Ljava/lang/String;
16346 + move-result-object v0
16352 +.method public getSimOperatorName()Ljava/lang/String;
16355 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getSimInfo()Ljava/lang/String;
16357 + move-result-object v0
16359 + if-nez v0, :cond_a
16361 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSimOperatorName()Ljava/lang/String;
16363 + move-result-object v0
16369 +.method public getSimSerialNumber()Ljava/lang/String;
16372 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16374 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16376 + move-result-object v1
16378 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16382 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16384 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16386 + move-result-object v6
16388 + if-eqz v6, :cond_29
16390 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSimSerialNumberSetting()B
16394 + if-eqz v0, :cond_29
16396 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSimSerialNumber()Ljava/lang/String;
16398 + move-result-object v5
16400 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16402 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSimSerialNumberSetting()B
16406 + const-string/jumbo v4, "simSerial"
16408 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16414 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSimSerialNumber()Ljava/lang/String;
16416 + move-result-object v5
16418 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16422 + const-string/jumbo v4, "simSerial"
16424 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16429 +.method public getSubscriberId()Ljava/lang/String;
16432 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16434 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16436 + move-result-object v1
16438 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16442 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16444 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16446 + move-result-object v6
16448 + if-eqz v6, :cond_29
16450 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberIdSetting()B
16454 + if-eqz v0, :cond_29
16456 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberId()Ljava/lang/String;
16458 + move-result-object v5
16460 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16462 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberIdSetting()B
16466 + const-string/jumbo v4, "subscriberID"
16468 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16474 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSubscriberId()Ljava/lang/String;
16476 + move-result-object v5
16478 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16482 + const-string/jumbo v4, "subscriberID"
16484 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16489 +.method public getVoiceMailNumber()Ljava/lang/String;
16492 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16494 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16496 + move-result-object v1
16498 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16502 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16504 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16506 + move-result-object v6
16508 + if-eqz v6, :cond_28
16510 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
16514 + if-eqz v0, :cond_28
16516 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1Number()Ljava/lang/String;
16518 + move-result-object v5
16520 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16522 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
16526 + const-string v4, "line1Number"
16528 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16534 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getVoiceMailNumber()Ljava/lang/String;
16536 + move-result-object v5
16538 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16542 + const-string v4, "line1Number"
16544 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16549 +.method public listen(Landroid/telephony/PhoneStateListener;I)V
16552 + and-int/lit8 v0, p2, 0x10
16554 + if-nez v0, :cond_8
16556 + and-int/lit8 v0, p2, 0x20
16558 + if-eqz v0, :cond_21
16561 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16563 + invoke-virtual {p1, v0}, Landroid/telephony/PhoneStateListener;->setContext(Landroid/content/Context;)V
16565 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16567 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16569 + move-result-object v0
16571 + invoke-virtual {p1, v0}, Landroid/telephony/PhoneStateListener;->setPackageName(Ljava/lang/String;)V
16573 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16577 + invoke-virtual {p1, v0}, Landroid/telephony/PhoneStateListener;->setUid(I)V
16579 + invoke-super {p0, p1, p2}, Landroid/telephony/TelephonyManager;->listen(Landroid/telephony/PhoneStateListener;I)V
16585 + invoke-super {p0, p1, p2}, Landroid/telephony/TelephonyManager;->listen(Landroid/telephony/PhoneStateListener;I)V
16589 diff -Npru stock-framework/smali/android/telephony/PhoneStateListener$1.smali pdroid-framework/smali/android/telephony/PhoneStateListener$1.smali
16590 --- stock-framework/smali/android/telephony/PhoneStateListener$1.smali 2012-08-22 21:52:33.939617755 -0500
16591 +++ pdroid-framework/smali/android/telephony/PhoneStateListener$1.smali 2012-08-22 21:52:54.115717797 -0500
16592 @@ -64,23 +64,196 @@
16595 .method public onCallStateChanged(ILjava/lang/String;)V
16599 - iget-object v0, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16600 + move-object/from16 v0, p0
16602 - iget-object v0, v0, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
16603 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16605 - const/16 v1, 0x20
16606 + #getter for: Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
16607 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
16610 + move-result-object v3
16612 - invoke-static {v0, v1, p1, v2, p2}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
16613 + if-eqz v3, :cond_99
16615 - move-result-object v0
16616 + if-eqz p2, :cond_99
16618 - invoke-virtual {v0}, Landroid/os/Message;->sendToTarget()V
16619 + invoke-virtual/range {p2 .. p2}, Ljava/lang/String;->isEmpty()Z
16623 + if-nez v3, :cond_99
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;->context:Landroid/content/Context;
16630 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
16632 + move-result-object v3
16634 + const-string/jumbo v4, "privacy"
16636 + invoke-virtual {v3, v4}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
16638 + move-result-object v2
16640 + check-cast v2, Landroid/privacy/PrivacySettingsManager;
16642 + move-object/from16 v0, p0
16644 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16646 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
16647 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
16649 + move-result-object v3
16651 + move-object/from16 v0, p0
16653 + iget-object v4, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16655 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
16656 + invoke-static {v4}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
16660 + invoke-virtual {v2, v3, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16662 + move-result-object v8
16664 + if-eqz v8, :cond_6a
16666 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getIncomingCallsSetting()B
16670 + if-eqz v3, :cond_6a
16672 + const-string v7, ""
16674 + move-object/from16 v0, p0
16676 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16678 + iget-object v3, v3, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
16680 + const/16 v4, 0x20
16684 + move/from16 v0, p1
16686 + invoke-static {v3, v4, v0, v5, v7}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
16688 + move-result-object v3
16690 + invoke-virtual {v3}, Landroid/os/Message;->sendToTarget()V
16692 + move-object/from16 v0, p0
16694 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16696 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
16697 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
16699 + move-result-object v3
16701 + move-object/from16 v0, p0
16703 + iget-object v4, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16705 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
16706 + invoke-static {v4}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
16712 + const-string v6, "incomingCall"
16714 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16720 + move-object/from16 v0, p0
16722 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16724 + iget-object v3, v3, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
16726 + const/16 v4, 0x20
16730 + move/from16 v0, p1
16732 + move-object/from16 v1, p2
16734 + invoke-static {v3, v4, v0, v5, v1}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
16736 + move-result-object v3
16738 + invoke-virtual {v3}, Landroid/os/Message;->sendToTarget()V
16740 + move-object/from16 v0, p0
16742 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16744 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
16745 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
16747 + move-result-object v10
16749 + move-object/from16 v0, p0
16751 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16753 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
16754 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
16760 + const-string v13, "incomingCall"
16762 + move-object v9, v2
16764 + move-object/from16 v14, p2
16766 + move-object v15, v8
16768 + invoke-virtual/range {v9 .. v15}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16773 + move-object/from16 v0, p0
16775 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16777 + iget-object v3, v3, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
16779 + const/16 v4, 0x20
16783 + move/from16 v0, p1
16785 + move-object/from16 v1, p2
16787 + invoke-static {v3, v4, v0, v5, v1}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
16789 + move-result-object v3
16791 + invoke-virtual {v3}, Landroid/os/Message;->sendToTarget()V
16796 .method public onCellInfoChanged(Landroid/telephony/CellInfo;)V
16797 @@ -104,27 +277,124 @@
16800 .method public onCellLocationChanged(Landroid/os/Bundle;)V
16808 invoke-static {p1}, Landroid/telephony/CellLocation;->newFromBundle(Landroid/os/Bundle;)Landroid/telephony/CellLocation;
16810 + move-result-object v7
16812 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16814 + #getter for: Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
16815 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
16817 + move-result-object v1
16819 + if-eqz v1, :cond_4a
16821 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16823 + #getter for: Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
16824 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
16826 + move-result-object v1
16828 + const-string/jumbo v2, "privacy"
16830 + invoke-virtual {v1, v2}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
16832 move-result-object v0
16834 + check-cast v0, Landroid/privacy/PrivacySettingsManager;
16836 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16838 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
16839 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
16841 + move-result-object v1
16843 + iget-object v2, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16845 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
16846 + invoke-static {v2}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
16850 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16852 + move-result-object v6
16854 + if-eqz v6, :cond_4b
16856 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
16860 + if-eqz v1, :cond_4b
16862 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16864 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
16865 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
16867 + move-result-object v1
16869 + iget-object v2, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16871 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
16872 + invoke-static {v2}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
16876 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
16880 + const-string v4, "locationNetwork"
16882 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16889 iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16891 iget-object v1, v1, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
16895 - invoke-static {v1, v2, v3, v3, v0}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
16896 + invoke-static {v1, v2, v3, v3, v7}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
16898 move-result-object v1
16900 invoke-virtual {v1}, Landroid/os/Message;->sendToTarget()V
16903 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16905 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
16906 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
16908 + move-result-object v1
16910 + iget-object v2, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16912 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
16913 + invoke-static {v2}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
16917 + const-string v4, "locationNetwork"
16919 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16924 .method public onDataActivity(I)V
16925 diff -Npru stock-framework/smali/android/telephony/PhoneStateListener.smali pdroid-framework/smali/android/telephony/PhoneStateListener.smali
16926 --- stock-framework/smali/android/telephony/PhoneStateListener.smali 2012-08-22 21:52:32.995613075 -0500
16927 +++ pdroid-framework/smali/android/telephony/PhoneStateListener.smali 2012-08-22 21:52:53.007712296 -0500
16928 @@ -31,12 +31,20 @@
16930 .field public static final LISTEN_SIGNAL_STRENGTHS:I = 0x100
16932 +.field private static final TAG:Ljava/lang/String; = "PhoneStateListener"
16936 .field callback:Lcom/android/internal/telephony/IPhoneStateListener;
16938 +.field private context:Landroid/content/Context;
16940 .field mHandler:Landroid/os/Handler;
16942 +.field private packageName:Ljava/lang/String;
16944 +.field private uid:I
16948 .method public constructor <init>()V
16953 +.method static synthetic access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
16956 + iget-object v0, p0, Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
16961 +.method static synthetic access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
16964 + iget-object v0, p0, Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
16969 +.method static synthetic access$200(Landroid/telephony/PhoneStateListener;)I
16972 + iget v0, p0, Landroid/telephony/PhoneStateListener;->uid:I
16979 .method public onCallForwardingIndicatorChanged(Z)V
16980 @@ -134,3 +166,27 @@
16985 +.method public setContext(Landroid/content/Context;)V
16988 + iput-object p1, p0, Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
16993 +.method public setPackageName(Ljava/lang/String;)V
16996 + iput-object p1, p0, Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
17001 +.method public setUid(I)V
17004 + iput p1, p0, Landroid/telephony/PhoneStateListener;->uid:I
17008 diff -Npru stock-framework/smali/android/text/SpannableStringBuilder.smali pdroid-framework/smali/android/text/SpannableStringBuilder.smali
17009 --- stock-framework/smali/android/text/SpannableStringBuilder.smali 2012-08-22 21:52:33.991618012 -0500
17010 +++ pdroid-framework/smali/android/text/SpannableStringBuilder.smali 2012-08-22 21:52:54.159718032 -0500
17011 @@ -681,17 +681,17 @@
17015 - if-ge v4, v5, :cond_18f
17016 + if-ge v4, v5, :cond_190
17018 new-instance v4, Ljava/lang/Exception;
17020 - const-string v5, "mGapLength < 1"
17021 + const-string/jumbo v5, "mGapLength < 1"
17023 invoke-direct {v4, v5}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
17025 invoke-virtual {v4}, Ljava/lang/Exception;->printStackTrace()V
17029 move-object/from16 v0, p0
17031 iget-object v4, v0, Landroid/text/SpannableStringBuilder;->mText:[C
17032 @@ -706,7 +706,7 @@
17034 invoke-static {v0, v1, v2, v4, v3}, Landroid/text/TextUtils;->getChars(Ljava/lang/CharSequence;II[CI)V
17036 - if-lez v33, :cond_200
17037 + if-lez v33, :cond_201
17039 move-object/from16 v0, p0
17041 @@ -724,21 +724,21 @@
17043 array-length v5, v5
17045 - if-ne v4, v5, :cond_1fe
17046 + if-ne v4, v5, :cond_1ff
17056 move-object/from16 v0, p0
17058 iget v4, v0, Landroid/text/SpannableStringBuilder;->mSpanCount:I
17060 move/from16 v0, v30
17062 - if-ge v0, v4, :cond_200
17063 + if-ge v0, v4, :cond_201
17065 move-object/from16 v0, p0
17067 @@ -806,14 +806,14 @@
17069 add-int/lit8 v30, v30, 0x1
17083 move-object/from16 v0, p0
17085 iget v4, v0, Landroid/text/SpannableStringBuilder;->mSpanCount:I
17086 @@ -826,7 +826,7 @@
17088 instance-of v4, v0, Landroid/text/Spanned;
17090 - if-eqz v4, :cond_26d
17091 + if-eqz v4, :cond_26e
17093 move-object/from16 v35, p3
17095 @@ -846,14 +846,14 @@
17101 move-object/from16 v0, v36
17103 array-length v4, v0
17105 move/from16 v0, v30
17107 - if-ge v0, v4, :cond_26d
17108 + if-ge v0, v4, :cond_26e
17110 aget-object v4, v36, v30
17112 @@ -875,20 +875,20 @@
17116 - if-ge v0, v1, :cond_23f
17117 + if-ge v0, v1, :cond_240
17119 move/from16 v37, p4
17123 move/from16 v0, v28
17127 - if-le v0, v1, :cond_247
17128 + if-le v0, v1, :cond_248
17130 move/from16 v28, p5
17134 aget-object v4, v36, v30
17136 move-object/from16 v0, p0
17137 @@ -897,7 +897,7 @@
17141 - if-gez v4, :cond_26a
17142 + if-gez v4, :cond_26b
17146 @@ -923,12 +923,12 @@
17148 invoke-direct/range {v21 .. v26}, Landroid/text/SpannableStringBuilder;->setSpan(ZLjava/lang/Object;III)V
17152 add-int/lit8 v30, v30, 0x1
17162 @@ -1500,20 +1500,20 @@
17166 - if-ge v6, v7, :cond_3e
17167 + if-ge v6, v7, :cond_3f
17169 new-instance v6, Ljava/lang/Exception;
17171 - const-string v7, "mGapLength < 1"
17172 + const-string/jumbo v7, "mGapLength < 1"
17174 invoke-direct {v6, v7}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
17176 invoke-virtual {v6}, Ljava/lang/Exception;->printStackTrace()V
17184 iget v6, p0, Landroid/text/SpannableStringBuilder;->mSpanCount:I
17186 if-ge v2, v6, :cond_e
17187 @@ -1524,7 +1524,7 @@
17189 iget v7, p0, Landroid/text/SpannableStringBuilder;->mGapStart:I
17191 - if-le v6, v7, :cond_52
17192 + if-le v6, v7, :cond_53
17194 iget-object v6, p0, Landroid/text/SpannableStringBuilder;->mSpanStarts:[I
17196 @@ -1534,14 +1534,14 @@
17202 iget-object v6, p0, Landroid/text/SpannableStringBuilder;->mSpanEnds:[I
17206 iget v7, p0, Landroid/text/SpannableStringBuilder;->mGapStart:I
17208 - if-le v6, v7, :cond_61
17209 + if-le v6, v7, :cond_62
17211 iget-object v6, p0, Landroid/text/SpannableStringBuilder;->mSpanEnds:[I
17213 @@ -1551,10 +1551,10 @@
17219 add-int/lit8 v2, v2, 0x1
17225 .method private sendAfterTextChanged([Landroid/text/TextWatcher;)V