1 diff -Npru stock-framework/smali/android/app/BackStackRecord.smali pdroid-framework/smali/android/app/BackStackRecord.smali
2 --- stock-framework/smali/android/app/BackStackRecord.smali 2012-08-20 18:16:43.320140333 -0500
3 +++ pdroid-framework/smali/android/app/BackStackRecord.smali 2012-08-20 18:17:07.700261224 -0500
6 iget v4, p0, Landroid/app/BackStackRecord;->mExitAnim:I
12 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
14 - const-string v4, "mEnterAnim=#"
15 + const-string/jumbo v4, "mEnterAnim=#"
17 invoke-virtual {p3, v4}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
21 invoke-virtual {p3, v4}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
25 iget v4, p0, Landroid/app/BackStackRecord;->mPopEnterAnim:I
30 iget v4, p0, Landroid/app/BackStackRecord;->mPopExitAnim:I
37 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
39 const-string/jumbo v4, "mPopEnterAnim=#"
42 invoke-virtual {p3, v4}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
46 iget v4, p0, Landroid/app/BackStackRecord;->mBreadCrumbTitleRes:I
51 iget-object v4, p0, Landroid/app/BackStackRecord;->mBreadCrumbTitleText:Ljava/lang/CharSequence;
58 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
60 const-string v4, "mBreadCrumbTitleRes=#"
63 invoke-virtual {p3, v4}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
67 iget v4, p0, Landroid/app/BackStackRecord;->mBreadCrumbShortTitleRes:I
72 iget-object v4, p0, Landroid/app/BackStackRecord;->mBreadCrumbShortTitleText:Ljava/lang/CharSequence;
79 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
81 const-string v4, "mBreadCrumbShortTitleRes=#"
84 invoke-virtual {p3, v4}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
88 iget-object v4, p0, Landroid/app/BackStackRecord;->mHead:Landroid/app/BackStackRecord$Op;
90 - if-eqz v4, :cond_1c1
91 + if-eqz v4, :cond_1c2
93 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
100 - if-eqz v3, :cond_1c1
102 + if-eqz v3, :cond_1c2
104 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
106 @@ -955,13 +955,13 @@
108 iget v4, v3, Landroid/app/BackStackRecord$Op;->enterAnim:I
110 - if-nez v4, :cond_12e
111 + if-nez v4, :cond_12f
113 iget v4, v3, Landroid/app/BackStackRecord$Op;->exitAnim:I
115 - if-eqz v4, :cond_14d
116 + if-eqz v4, :cond_14e
120 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
122 const-string v4, "enterAnim=#"
123 @@ -988,16 +988,16 @@
125 invoke-virtual {p3, v4}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
129 iget v4, v3, Landroid/app/BackStackRecord$Op;->popEnterAnim:I
131 - if-nez v4, :cond_155
132 + if-nez v4, :cond_156
134 iget v4, v3, Landroid/app/BackStackRecord$Op;->popExitAnim:I
136 - if-eqz v4, :cond_175
137 + if-eqz v4, :cond_176
141 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
143 const-string/jumbo v4, "popEnterAnim=#"
144 @@ -1024,10 +1024,10 @@
146 invoke-virtual {p3, v4}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
150 iget-object v4, v3, Landroid/app/BackStackRecord$Op;->removed:Ljava/util/ArrayList;
152 - if-eqz v4, :cond_1bd
153 + if-eqz v4, :cond_1be
155 iget-object v4, v3, Landroid/app/BackStackRecord$Op;->removed:Ljava/util/ArrayList;
157 @@ -1035,18 +1035,18 @@
161 - if-lez v4, :cond_1bd
162 + if-lez v4, :cond_1be
168 iget-object v4, v3, Landroid/app/BackStackRecord$Op;->removed:Ljava/util/ArrayList;
170 invoke-virtual {v4}, Ljava/util/ArrayList;->size()I
174 - if-ge v0, v4, :cond_1bd
175 + if-ge v0, v4, :cond_1be
177 invoke-virtual {p3, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
179 @@ -1058,13 +1058,13 @@
183 - if-ne v4, v5, :cond_1a7
184 + if-ne v4, v5, :cond_1a8
186 const-string v4, "Removed: "
188 invoke-virtual {p3, v4}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
192 iget-object v4, v3, Landroid/app/BackStackRecord$Op;->removed:Ljava/util/ArrayList;
194 invoke-virtual {v4, v0}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
195 @@ -1075,9 +1075,9 @@
197 add-int/lit8 v0, v0, 0x1
204 const-string v4, "Removed:"
206 invoke-virtual {p3, v4}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
207 @@ -1094,14 +1094,14 @@
209 invoke-virtual {p3, v4}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
216 iget-object v3, v3, Landroid/app/BackStackRecord$Op;->next:Landroid/app/BackStackRecord$Op;
226 diff -Npru stock-framework/smali/android/app/ContextImpl$20.smali pdroid-framework/smali/android/app/ContextImpl$20.smali
227 --- stock-framework/smali/android/app/ContextImpl$20.smali 2012-08-20 18:16:43.340140431 -0500
228 +++ pdroid-framework/smali/android/app/ContextImpl$20.smali 2012-08-20 18:17:07.736261409 -0500
232 .method public createStaticService()Ljava/lang/Object;
236 - const-string v1, "location"
237 + const-string v2, "location"
239 - invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
240 + invoke-static {v2}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
242 move-result-object v0
244 - new-instance v1, Landroid/location/LocationManager;
246 invoke-static {v0}, Landroid/location/ILocationManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/location/ILocationManager;
248 - move-result-object v2
249 + move-result-object v1
251 + new-instance v2, Landroid/privacy/surrogate/PrivacyLocationManager;
253 + invoke-static {}, Landroid/app/ContextImpl;->getStaticOuterContext()Landroid/content/Context;
255 + move-result-object v3
257 - invoke-direct {v1, v2}, Landroid/location/LocationManager;-><init>(Landroid/location/ILocationManager;)V
258 + invoke-direct {v2, v1, v3}, Landroid/privacy/surrogate/PrivacyLocationManager;-><init>(Landroid/location/ILocationManager;Landroid/content/Context;)V
263 diff -Npru stock-framework/smali/android/app/ContextImpl$29.smali pdroid-framework/smali/android/app/ContextImpl$29.smali
264 --- stock-framework/smali/android/app/ContextImpl$29.smali 2012-08-20 18:16:43.348140478 -0500
265 +++ pdroid-framework/smali/android/app/ContextImpl$29.smali 2012-08-20 18:17:07.748261462 -0500
267 .method public createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
270 - new-instance v0, Landroid/telephony/TelephonyManager;
271 + new-instance v0, Landroid/privacy/surrogate/PrivacyTelephonyManager;
273 invoke-virtual {p1}, Landroid/app/ContextImpl;->getOuterContext()Landroid/content/Context;
275 move-result-object v1
277 - invoke-direct {v0, v1}, Landroid/telephony/TelephonyManager;-><init>(Landroid/content/Context;)V
278 + invoke-direct {v0, v1}, Landroid/privacy/surrogate/PrivacyTelephonyManager;-><init>(Landroid/content/Context;)V
282 diff -Npru stock-framework/smali/android/app/ContextImpl$3.smali pdroid-framework/smali/android/app/ContextImpl$3.smali
283 --- stock-framework/smali/android/app/ContextImpl$3.smali 2012-08-20 18:16:43.360140524 -0500
284 +++ pdroid-framework/smali/android/app/ContextImpl$3.smali 2012-08-20 18:17:07.772261584 -0500
287 move-result-object v1
289 - new-instance v2, Landroid/accounts/AccountManager;
290 + new-instance v2, Landroid/privacy/surrogate/PrivacyAccountManager;
292 - invoke-direct {v2, p1, v1}, Landroid/accounts/AccountManager;-><init>(Landroid/content/Context;Landroid/accounts/IAccountManager;)V
293 + invoke-direct {v2, p1, v1}, Landroid/privacy/surrogate/PrivacyAccountManager;-><init>(Landroid/content/Context;Landroid/accounts/IAccountManager;)V
297 diff -Npru stock-framework/smali/android/app/ContextImpl$40.smali pdroid-framework/smali/android/app/ContextImpl$40.smali
298 --- stock-framework/smali/android/app/ContextImpl$40.smali 1969-12-31 18:00:00.000000000 -0600
299 +++ pdroid-framework/smali/android/app/ContextImpl$40.smali 2012-08-20 18:17:07.772261584 -0500
301 +.class final Landroid/app/ContextImpl$40;
302 +.super Landroid/app/ContextImpl$StaticServiceFetcher;
303 +.source "ContextImpl.java"
307 +.annotation system Ldalvik/annotation/EnclosingClass;
308 + value = Landroid/app/ContextImpl;
311 +.annotation system Ldalvik/annotation/InnerClass;
318 +.method constructor <init>()V
321 + invoke-direct {p0}, Landroid/app/ContextImpl$StaticServiceFetcher;-><init>()V
328 +.method public createStaticService()Ljava/lang/Object;
331 + const-string/jumbo v2, "privacy"
333 + invoke-static {v2}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
335 + move-result-object v0
337 + invoke-static {v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
339 + move-result-object v1
341 + new-instance v2, Landroid/privacy/PrivacySettingsManager;
343 + invoke-static {}, Landroid/app/ContextImpl;->getStaticOuterContext()Landroid/content/Context;
345 + move-result-object v3
347 + invoke-direct {v2, v3, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
351 diff -Npru stock-framework/smali/android/app/ContextImpl.smali pdroid-framework/smali/android/app/ContextImpl.smali
352 --- stock-framework/smali/android/app/ContextImpl.smali 2012-08-20 18:16:43.396140707 -0500
353 +++ pdroid-framework/smali/android/app/ContextImpl.smali 2012-08-20 18:17:07.860262017 -0500
356 .field private static sNextPerContextServiceCacheIndex:I
358 +.field private static sOuterContext:Landroid/content/Context;
360 .field private static final sSharedPrefs:Ljava/util/HashMap;
361 .annotation system Ldalvik/annotation/Signature;
365 invoke-static {v0, v1}, Landroid/app/ContextImpl;->registerService(Ljava/lang/String;Landroid/app/ContextImpl$ServiceFetcher;)V
367 + const-string/jumbo v0, "privacy"
369 + new-instance v1, Landroid/app/ContextImpl$40;
371 + invoke-direct {v1}, Landroid/app/ContextImpl$40;-><init>()V
373 + invoke-static {v0, v1}, Landroid/app/ContextImpl;->registerService(Ljava/lang/String;Landroid/app/ContextImpl$ServiceFetcher;)V
380 iput-object p0, p0, Landroid/app/ContextImpl;->mOuterContext:Landroid/content/Context;
382 + sput-object p0, Landroid/app/ContextImpl;->sOuterContext:Landroid/content/Context;
389 iput-object p0, p0, Landroid/app/ContextImpl;->mOuterContext:Landroid/content/Context;
391 + sput-object p0, Landroid/app/ContextImpl;->sOuterContext:Landroid/content/Context;
396 @@ -999,6 +1013,14 @@
400 +.method static final getStaticOuterContext()Landroid/content/Context;
403 + sget-object v0, Landroid/app/ContextImpl;->sOuterContext:Landroid/content/Context;
408 .method private getWallpaperManager()Landroid/app/WallpaperManager;
411 @@ -4272,6 +4294,8 @@
413 iput-object p1, p0, Landroid/app/ContextImpl;->mOuterContext:Landroid/content/Context;
415 + sput-object p1, Landroid/app/ContextImpl;->sOuterContext:Landroid/content/Context;
422 diff -Npru stock-framework/smali/android/content/pm/ContainerEncryptionParams.smali pdroid-framework/smali/android/content/pm/ContainerEncryptionParams.smali
423 --- stock-framework/smali/android/content/pm/ContainerEncryptionParams.smali 2012-08-20 18:16:45.096149131 -0500
424 +++ pdroid-framework/smali/android/content/pm/ContainerEncryptionParams.smali 2012-08-20 18:17:09.372269518 -0500
427 invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
429 - const-string v1, "mEncryptionAlgorithm=\""
430 + const-string/jumbo v1, "mEncryptionAlgorithm=\""
432 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
436 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
438 - const-string v1, "mEncryptionSpec="
439 + const-string/jumbo v1, "mEncryptionSpec="
441 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
445 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
447 - const-string v1, "mEncryptionKey="
448 + const-string/jumbo v1, "mEncryptionKey="
450 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
452 diff -Npru stock-framework/smali/android/location/Location.smali pdroid-framework/smali/android/location/Location.smali
453 --- stock-framework/smali/android/location/Location.smali 2012-08-20 18:16:45.728152274 -0500
454 +++ pdroid-framework/smali/android/location/Location.smali 2012-08-20 18:17:10.076273009 -0500
455 @@ -1859,7 +1859,7 @@
457 move-result-object v0
459 - const-string v1, "mExtras="
460 + const-string/jumbo v1, "mExtras="
462 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
464 diff -Npru stock-framework/smali/android/opengl/GLSurfaceView$EglHelper.smali pdroid-framework/smali/android/opengl/GLSurfaceView$EglHelper.smali
465 --- stock-framework/smali/android/opengl/GLSurfaceView$EglHelper.smali 2012-08-20 18:16:46.216154690 -0500
466 +++ pdroid-framework/smali/android/opengl/GLSurfaceView$EglHelper.smali 2012-08-20 18:17:10.532275273 -0500
467 @@ -304,17 +304,17 @@
469 iget-object v3, p0, Landroid/opengl/GLSurfaceView$EglHelper;->mEglConfig:Ljavax/microedition/khronos/egl/EGLConfig;
471 - if-nez v3, :cond_25
472 + if-nez v3, :cond_26
474 new-instance v2, Ljava/lang/RuntimeException;
476 - const-string v3, "mEglConfig not initialized"
477 + const-string/jumbo v3, "mEglConfig not initialized"
479 invoke-direct {v2, v3}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;)V
485 invoke-direct {p0}, Landroid/opengl/GLSurfaceView$EglHelper;->destroySurfaceImp()V
487 iget-object v3, p0, Landroid/opengl/GLSurfaceView$EglHelper;->mGLSurfaceViewWeakRef:Ljava/lang/ref/WeakReference;
490 check-cast v1, Landroid/opengl/GLSurfaceView;
492 - if-eqz v1, :cond_62
493 + if-eqz v1, :cond_63
495 #getter for: Landroid/opengl/GLSurfaceView;->mEGLWindowSurfaceFactory:Landroid/opengl/GLSurfaceView$EGLWindowSurfaceFactory;
496 invoke-static {v1}, Landroid/opengl/GLSurfaceView;->access$500(Landroid/opengl/GLSurfaceView;)Landroid/opengl/GLSurfaceView$EGLWindowSurfaceFactory;
497 @@ -348,18 +348,18 @@
499 iput-object v3, p0, Landroid/opengl/GLSurfaceView$EglHelper;->mEglSurface:Ljavax/microedition/khronos/egl/EGLSurface;
503 iget-object v3, p0, Landroid/opengl/GLSurfaceView$EglHelper;->mEglSurface:Ljavax/microedition/khronos/egl/EGLSurface;
505 - if-eqz v3, :cond_50
506 + if-eqz v3, :cond_51
508 iget-object v3, p0, Landroid/opengl/GLSurfaceView$EglHelper;->mEglSurface:Ljavax/microedition/khronos/egl/EGLSurface;
510 sget-object v4, Ljavax/microedition/khronos/egl/EGL10;->EGL_NO_SURFACE:Ljavax/microedition/khronos/egl/EGLSurface;
512 - if-ne v3, v4, :cond_66
513 + if-ne v3, v4, :cond_67
517 iget-object v3, p0, Landroid/opengl/GLSurfaceView$EglHelper;->mEgl:Ljavax/microedition/khronos/egl/EGL10;
519 invoke-interface {v3}, Ljavax/microedition/khronos/egl/EGL10;->eglGetError()I
524 - if-ne v0, v3, :cond_61
525 + if-ne v0, v3, :cond_62
527 const-string v3, "EglHelper"
529 @@ -376,18 +376,18 @@
531 invoke-static {v3, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
543 iput-object v3, p0, Landroid/opengl/GLSurfaceView$EglHelper;->mEglSurface:Ljavax/microedition/khronos/egl/EGLSurface;
550 iget-object v3, p0, Landroid/opengl/GLSurfaceView$EglHelper;->mEgl:Ljavax/microedition/khronos/egl/EGL10;
552 iget-object v4, p0, Landroid/opengl/GLSurfaceView$EglHelper;->mEglDisplay:Ljavax/microedition/khronos/egl/EGLDisplay;
557 - if-nez v3, :cond_84
558 + if-nez v3, :cond_85
560 const-string v3, "EGLHelper"
562 @@ -416,12 +416,12 @@
564 invoke-static {v3, v4, v5}, Landroid/opengl/GLSurfaceView$EglHelper;->logEglErrorAsWarning(Ljava/lang/String;Ljava/lang/String;I)V
577 .method public destroySurface()V
578 diff -Npru stock-framework/smali/android/privacy/IPrivacySettingsManager.smali pdroid-framework/smali/android/privacy/IPrivacySettingsManager.smali
579 --- stock-framework/smali/android/privacy/IPrivacySettingsManager.smali 1969-12-31 18:00:00.000000000 -0600
580 +++ pdroid-framework/smali/android/privacy/IPrivacySettingsManager.smali 2012-08-20 18:17:10.704276119 -0500
582 +.class public interface abstract Landroid/privacy/IPrivacySettingsManager;
583 +.super Ljava/lang/Object;
584 +.source "IPrivacySettingsManager.java"
587 +.implements Landroid/os/IInterface;
591 +.annotation system Ldalvik/annotation/MemberClasses;
593 + Landroid/privacy/IPrivacySettingsManager$Stub;
599 +.method public abstract addObserver(Ljava/lang/String;)V
600 + .annotation system Ldalvik/annotation/Throws;
602 + Landroid/os/RemoteException;
607 +.method public abstract deleteSettings(Ljava/lang/String;)Z
608 + .annotation system Ldalvik/annotation/Throws;
610 + Landroid/os/RemoteException;
615 +.method public abstract getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
616 + .annotation system Ldalvik/annotation/Throws;
618 + Landroid/os/RemoteException;
623 +.method public abstract getVersion()D
624 + .annotation system Ldalvik/annotation/Throws;
626 + Landroid/os/RemoteException;
631 +.method public abstract notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
632 + .annotation system Ldalvik/annotation/Throws;
634 + Landroid/os/RemoteException;
639 +.method public abstract purgeSettings()Z
640 + .annotation system Ldalvik/annotation/Throws;
642 + Landroid/os/RemoteException;
647 +.method public abstract registerObservers()V
648 + .annotation system Ldalvik/annotation/Throws;
650 + Landroid/os/RemoteException;
655 +.method public abstract saveSettings(Landroid/privacy/PrivacySettings;)Z
656 + .annotation system Ldalvik/annotation/Throws;
658 + Landroid/os/RemoteException;
663 +.method public abstract setBootCompleted()V
664 + .annotation system Ldalvik/annotation/Throws;
666 + Landroid/os/RemoteException;
671 +.method public abstract setEnabled(Z)Z
672 + .annotation system Ldalvik/annotation/Throws;
674 + Landroid/os/RemoteException;
679 +.method public abstract setNotificationsEnabled(Z)Z
680 + .annotation system Ldalvik/annotation/Throws;
682 + Landroid/os/RemoteException;
686 diff -Npru stock-framework/smali/android/privacy/IPrivacySettingsManager$Stub$Proxy.smali pdroid-framework/smali/android/privacy/IPrivacySettingsManager$Stub$Proxy.smali
687 --- stock-framework/smali/android/privacy/IPrivacySettingsManager$Stub$Proxy.smali 1969-12-31 18:00:00.000000000 -0600
688 +++ pdroid-framework/smali/android/privacy/IPrivacySettingsManager$Stub$Proxy.smali 2012-08-20 18:17:10.708276140 -0500
690 +.class Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;
691 +.super Ljava/lang/Object;
692 +.source "IPrivacySettingsManager.java"
695 +.implements Landroid/privacy/IPrivacySettingsManager;
699 +.annotation system Ldalvik/annotation/EnclosingClass;
700 + value = Landroid/privacy/IPrivacySettingsManager$Stub;
703 +.annotation system Ldalvik/annotation/InnerClass;
710 +.field private mRemote:Landroid/os/IBinder;
714 +.method constructor <init>(Landroid/os/IBinder;)V
717 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
719 + iput-object p1, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
726 +.method public addObserver(Ljava/lang/String;)V
728 + .annotation system Ldalvik/annotation/Throws;
730 + Landroid/os/RemoteException;
734 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
736 + move-result-object v0
738 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
740 + move-result-object v1
743 + const-string v2, "android.privacy.IPrivacySettingsManager"
745 + invoke-virtual {v0, v2}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
747 + invoke-virtual {v0, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
749 + iget-object v2, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
755 + invoke-interface {v2, v3, v0, v1, v4}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
757 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
759 + .catchall {:try_start_8 .. :try_end_1a} :catchall_21
761 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
763 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
770 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
772 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
777 +.method public asBinder()Landroid/os/IBinder;
780 + iget-object v0, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
785 +.method public deleteSettings(Ljava/lang/String;)Z
787 + .annotation system Ldalvik/annotation/Throws;
789 + 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 v3, "android.privacy.IPrivacySettingsManager"
806 + invoke-virtual {v0, v3}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
808 + invoke-virtual {v0, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
810 + iget-object v3, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
816 + invoke-interface {v3, v4, v0, v1, v5}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
818 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
820 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
822 + .catchall {:try_start_9 .. :try_end_1e} :catchall_29
826 + if-eqz v3, :cond_22
831 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
833 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
840 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
842 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
847 +.method public getInterfaceDescriptor()Ljava/lang/String;
850 + const-string v0, "android.privacy.IPrivacySettingsManager"
855 +.method public getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
857 + .annotation system Ldalvik/annotation/Throws;
859 + Landroid/os/RemoteException;
863 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
865 + move-result-object v0
867 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
869 + move-result-object v1
872 + const-string v3, "android.privacy.IPrivacySettingsManager"
874 + invoke-virtual {v0, v3}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
876 + invoke-virtual {v0, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
878 + iget-object v3, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
884 + invoke-interface {v3, v4, v0, v1, v5}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
886 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
888 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
892 + if-eqz v3, :cond_2f
894 + sget-object v3, Landroid/privacy/PrivacySettings;->CREATOR:Landroid/os/Parcelable$Creator;
896 + invoke-interface {v3, v1}, Landroid/os/Parcelable$Creator;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
898 + move-result-object v2
900 + check-cast v2, Landroid/privacy/PrivacySettings;
902 + .catchall {:try_start_8 .. :try_end_28} :catchall_31
905 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
907 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
919 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
921 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
926 +.method public getVersion()D
928 + .annotation system Ldalvik/annotation/Throws;
930 + Landroid/os/RemoteException;
934 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
936 + move-result-object v0
938 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
940 + move-result-object v1
943 + const-string v4, "android.privacy.IPrivacySettingsManager"
945 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
947 + iget-object v4, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
953 + invoke-interface {v4, v5, v0, v1, v6}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
955 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
957 + invoke-virtual {v1}, Landroid/os/Parcel;->readDouble()D
959 + .catchall {:try_start_8 .. :try_end_1b} :catchall_23
961 + move-result-wide v2
963 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
965 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
972 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
974 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
979 +.method public notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
981 + .annotation system Ldalvik/annotation/Throws;
983 + Landroid/os/RemoteException;
987 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
989 + move-result-object v0
991 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
993 + move-result-object v1
996 + const-string v2, "android.privacy.IPrivacySettingsManager"
998 + invoke-virtual {v0, v2}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
1000 + invoke-virtual {v0, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
1002 + invoke-virtual {v0, p2}, Landroid/os/Parcel;->writeByte(B)V
1004 + invoke-virtual {v0, p3}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
1006 + invoke-virtual {v0, p4}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
1008 + iget-object v2, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
1014 + invoke-interface {v2, v3, v0, v1, v4}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1016 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
1018 + .catchall {:try_start_8 .. :try_end_23} :catchall_2a
1020 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1022 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1029 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1031 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1036 +.method public purgeSettings()Z
1038 + .annotation system Ldalvik/annotation/Throws;
1040 + Landroid/os/RemoteException;
1046 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1048 + move-result-object v0
1050 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1052 + move-result-object v1
1055 + const-string v3, "android.privacy.IPrivacySettingsManager"
1057 + invoke-virtual {v0, v3}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
1059 + iget-object v3, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
1065 + invoke-interface {v3, v4, v0, v1, v5}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1067 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
1069 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
1071 + .catchall {:try_start_9 .. :try_end_1b} :catchall_26
1075 + if-eqz v3, :cond_1f
1080 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1082 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1089 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1091 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1096 +.method public registerObservers()V
1098 + .annotation system Ldalvik/annotation/Throws;
1100 + Landroid/os/RemoteException;
1104 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1106 + move-result-object v0
1108 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1110 + move-result-object v1
1113 + const-string v2, "android.privacy.IPrivacySettingsManager"
1115 + invoke-virtual {v0, v2}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
1117 + iget-object v2, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
1123 + invoke-interface {v2, v3, v0, v1, v4}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1125 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
1127 + .catchall {:try_start_8 .. :try_end_17} :catchall_1e
1129 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1131 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1138 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1140 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1145 +.method public saveSettings(Landroid/privacy/PrivacySettings;)Z
1147 + .annotation system Ldalvik/annotation/Throws;
1149 + Landroid/os/RemoteException;
1157 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1159 + move-result-object v0
1161 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1163 + move-result-object v1
1166 + const-string v4, "android.privacy.IPrivacySettingsManager"
1168 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
1170 + if-eqz p1, :cond_30
1174 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInt(I)V
1178 + invoke-virtual {p1, v0, v4}, Landroid/privacy/PrivacySettings;->writeToParcel(Landroid/os/Parcel;I)V
1181 + iget-object v4, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
1187 + invoke-interface {v4, v5, v0, v1, v6}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1189 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
1191 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
1193 + .catchall {:try_start_a .. :try_end_26} :catchall_35
1197 + if-eqz v4, :cond_3d
1200 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1202 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1210 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInt(I)V
1212 + .catchall {:try_start_31 .. :try_end_34} :catchall_35
1219 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1221 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1231 +.method public setBootCompleted()V
1233 + .annotation system Ldalvik/annotation/Throws;
1235 + Landroid/os/RemoteException;
1239 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1241 + move-result-object v0
1243 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1245 + move-result-object v1
1248 + const-string v2, "android.privacy.IPrivacySettingsManager"
1250 + invoke-virtual {v0, v2}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
1252 + iget-object v2, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
1258 + invoke-interface {v2, v3, v0, v1, v4}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1260 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
1262 + .catchall {:try_start_8 .. :try_end_18} :catchall_1f
1264 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1266 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1273 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1275 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1280 +.method public setEnabled(Z)Z
1282 + .annotation system Ldalvik/annotation/Throws;
1284 + Landroid/os/RemoteException;
1292 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1294 + move-result-object v0
1296 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1298 + move-result-object v1
1301 + const-string v4, "android.privacy.IPrivacySettingsManager"
1303 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
1305 + if-eqz p1, :cond_2d
1310 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInt(I)V
1312 + iget-object v4, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
1318 + invoke-interface {v4, v5, v0, v1, v6}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1320 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
1322 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
1324 + .catchall {:try_start_a .. :try_end_23} :catchall_31
1328 + if-eqz v4, :cond_2f
1331 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1333 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1350 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1352 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1357 +.method public setNotificationsEnabled(Z)Z
1359 + .annotation system Ldalvik/annotation/Throws;
1361 + Landroid/os/RemoteException;
1369 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1371 + move-result-object v0
1373 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1375 + move-result-object v1
1378 + const-string v4, "android.privacy.IPrivacySettingsManager"
1380 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
1382 + if-eqz p1, :cond_2d
1387 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInt(I)V
1389 + iget-object v4, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
1395 + invoke-interface {v4, v5, v0, v1, v6}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1397 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
1399 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
1401 + .catchall {:try_start_a .. :try_end_23} :catchall_31
1405 + if-eqz v4, :cond_2f
1408 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1410 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1427 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1429 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1433 diff -Npru stock-framework/smali/android/privacy/IPrivacySettingsManager$Stub.smali pdroid-framework/smali/android/privacy/IPrivacySettingsManager$Stub.smali
1434 --- stock-framework/smali/android/privacy/IPrivacySettingsManager$Stub.smali 1969-12-31 18:00:00.000000000 -0600
1435 +++ pdroid-framework/smali/android/privacy/IPrivacySettingsManager$Stub.smali 2012-08-20 18:17:10.708276140 -0500
1437 +.class public abstract Landroid/privacy/IPrivacySettingsManager$Stub;
1438 +.super Landroid/os/Binder;
1439 +.source "IPrivacySettingsManager.java"
1442 +.implements Landroid/privacy/IPrivacySettingsManager;
1446 +.annotation system Ldalvik/annotation/EnclosingClass;
1447 + value = Landroid/privacy/IPrivacySettingsManager;
1450 +.annotation system Ldalvik/annotation/InnerClass;
1451 + accessFlags = 0x409
1455 +.annotation system Ldalvik/annotation/MemberClasses;
1457 + Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;
1463 +.field private static final DESCRIPTOR:Ljava/lang/String; = "android.privacy.IPrivacySettingsManager"
1465 +.field static final TRANSACTION_addObserver:I = 0x6
1467 +.field static final TRANSACTION_deleteSettings:I = 0x3
1469 +.field static final TRANSACTION_getSettings:I = 0x1
1471 +.field static final TRANSACTION_getVersion:I = 0x8
1473 +.field static final TRANSACTION_notification:I = 0x4
1475 +.field static final TRANSACTION_purgeSettings:I = 0x7
1477 +.field static final TRANSACTION_registerObservers:I = 0x5
1479 +.field static final TRANSACTION_saveSettings:I = 0x2
1481 +.field static final TRANSACTION_setBootCompleted:I = 0xb
1483 +.field static final TRANSACTION_setEnabled:I = 0x9
1485 +.field static final TRANSACTION_setNotificationsEnabled:I = 0xa
1489 +.method public constructor <init>()V
1492 + invoke-direct {p0}, Landroid/os/Binder;-><init>()V
1494 + const-string v0, "android.privacy.IPrivacySettingsManager"
1496 + invoke-virtual {p0, p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->attachInterface(Landroid/os/IInterface;Ljava/lang/String;)V
1501 +.method public static asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
1504 + if-nez p0, :cond_4
1512 + const-string v1, "android.privacy.IPrivacySettingsManager"
1514 + invoke-interface {p0, v1}, Landroid/os/IBinder;->queryLocalInterface(Ljava/lang/String;)Landroid/os/IInterface;
1516 + move-result-object v0
1518 + if-eqz v0, :cond_13
1520 + instance-of v1, v0, Landroid/privacy/IPrivacySettingsManager;
1522 + if-eqz v1, :cond_13
1524 + check-cast v0, Landroid/privacy/IPrivacySettingsManager;
1529 + new-instance v0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;
1531 + invoke-direct {v0, p0}, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
1538 +.method public asBinder()Landroid/os/IBinder;
1544 +.method public onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1546 + .annotation system Ldalvik/annotation/Throws;
1548 + Landroid/os/RemoteException;
1556 + sparse-switch p1, :sswitch_data_10e
1558 + invoke-super {p0, p1, p2, p3, p4}, Landroid/os/Binder;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1566 + const-string v6, "android.privacy.IPrivacySettingsManager"
1568 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
1573 + const-string v8, "android.privacy.IPrivacySettingsManager"
1575 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1577 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
1579 + move-result-object v0
1581 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
1583 + move-result-object v4
1585 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1587 + if-eqz v4, :cond_29
1589 + invoke-virtual {p3, v7}, Landroid/os/Parcel;->writeInt(I)V
1591 + invoke-virtual {v4, p3, v7}, Landroid/privacy/PrivacySettings;->writeToParcel(Landroid/os/Parcel;I)V
1596 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
1601 + const-string v8, "android.privacy.IPrivacySettingsManager"
1603 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1605 + invoke-virtual {p2}, Landroid/os/Parcel;->readInt()I
1609 + if-eqz v8, :cond_4e
1611 + sget-object v8, Landroid/privacy/PrivacySettings;->CREATOR:Landroid/os/Parcelable$Creator;
1613 + invoke-interface {v8, p2}, Landroid/os/Parcelable$Creator;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
1615 + move-result-object v0
1617 + check-cast v0, Landroid/privacy/PrivacySettings;
1620 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->saveSettings(Landroid/privacy/PrivacySettings;)Z
1624 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1626 + if-eqz v4, :cond_4a
1631 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
1641 + const-string v8, "android.privacy.IPrivacySettingsManager"
1643 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1645 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
1647 + move-result-object v0
1649 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->deleteSettings(Ljava/lang/String;)Z
1653 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1655 + if-eqz v4, :cond_63
1660 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
1665 + const-string v6, "android.privacy.IPrivacySettingsManager"
1667 + invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1669 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
1671 + move-result-object v0
1673 + invoke-virtual {p2}, Landroid/os/Parcel;->readByte()B
1677 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
1679 + move-result-object v2
1681 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
1683 + move-result-object v3
1685 + invoke-virtual {p0, v0, v1, v2, v3}, Landroid/privacy/IPrivacySettingsManager$Stub;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
1687 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1692 + const-string v6, "android.privacy.IPrivacySettingsManager"
1694 + invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1696 + invoke-virtual {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;->registerObservers()V
1698 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1703 + const-string v6, "android.privacy.IPrivacySettingsManager"
1705 + invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1707 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
1709 + move-result-object v0
1711 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->addObserver(Ljava/lang/String;)V
1713 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1718 + const-string v8, "android.privacy.IPrivacySettingsManager"
1720 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1722 + invoke-virtual {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;->purgeSettings()Z
1726 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1728 + if-eqz v4, :cond_b0
1733 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
1738 + const-string v6, "android.privacy.IPrivacySettingsManager"
1740 + invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1742 + invoke-virtual {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;->getVersion()D
1744 + move-result-wide v4
1746 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1748 + invoke-virtual {p3, v4, v5}, Landroid/os/Parcel;->writeDouble(D)V
1753 + const-string v8, "android.privacy.IPrivacySettingsManager"
1755 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1757 + invoke-virtual {p2}, Landroid/os/Parcel;->readInt()I
1761 + if-eqz v8, :cond_e1
1766 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->setEnabled(Z)Z
1770 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1772 + if-eqz v4, :cond_dc
1777 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
1787 + const-string v8, "android.privacy.IPrivacySettingsManager"
1789 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1791 + invoke-virtual {p2}, Landroid/os/Parcel;->readInt()I
1795 + if-eqz v8, :cond_fe
1800 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->setNotificationsEnabled(Z)Z
1804 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1806 + if-eqz v4, :cond_f9
1811 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
1821 + const-string v6, "android.privacy.IPrivacySettingsManager"
1823 + invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1825 + invoke-virtual {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;->setBootCompleted()V
1827 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1835 + 0x1 -> :sswitch_10
1836 + 0x2 -> :sswitch_2d
1837 + 0x3 -> :sswitch_50
1838 + 0x4 -> :sswitch_67
1839 + 0x5 -> :sswitch_83
1840 + 0x6 -> :sswitch_90
1841 + 0x7 -> :sswitch_a1
1842 + 0x8 -> :sswitch_b5
1843 + 0x9 -> :sswitch_c6
1844 + 0xa -> :sswitch_e3
1845 + 0xb -> :sswitch_100
1846 + 0x5f4e5446 -> :sswitch_a
1847 + .end sparse-switch
1849 diff -Npru stock-framework/smali/android/privacy/PrivacyFileObserver.smali pdroid-framework/smali/android/privacy/PrivacyFileObserver.smali
1850 --- stock-framework/smali/android/privacy/PrivacyFileObserver.smali 1969-12-31 18:00:00.000000000 -0600
1851 +++ pdroid-framework/smali/android/privacy/PrivacyFileObserver.smali 2012-08-20 18:17:10.708276140 -0500
1853 +.class public Landroid/privacy/PrivacyFileObserver;
1854 +.super Landroid/os/FileObserver;
1855 +.source "PrivacyFileObserver.java"
1859 +.field public static final PACKAGE_PATH_INDEX:I = 0x3
1861 +.field public static final TAG:Ljava/lang/String; = "PrivacyFileObserver"
1865 +.field public absolutePath:Ljava/lang/String;
1867 +.field public children:Ljava/util/HashMap;
1868 + .annotation system Ldalvik/annotation/Signature;
1870 + "Ljava/util/HashMap",
1872 + "Ljava/lang/String;",
1873 + "Landroid/privacy/PrivacyFileObserver;",
1879 +.field private pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
1883 +.method public constructor <init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
1886 + const/16 v8, 0xfff
1888 + invoke-direct {p0, p1, v8}, Landroid/os/FileObserver;-><init>(Ljava/lang/String;I)V
1890 + iput-object p1, p0, Landroid/privacy/PrivacyFileObserver;->absolutePath:Ljava/lang/String;
1892 + iput-object p2, p0, Landroid/privacy/PrivacyFileObserver;->pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
1894 + new-instance v8, Ljava/util/HashMap;
1896 + invoke-direct {v8}, Ljava/util/HashMap;-><init>()V
1898 + iput-object v8, p0, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap;
1900 + new-instance v7, Ljava/io/File;
1902 + iget-object v8, p0, Landroid/privacy/PrivacyFileObserver;->absolutePath:Ljava/lang/String;
1904 + invoke-direct {v7, v8}, Ljava/io/File;-><init>(Ljava/lang/String;)V
1906 + invoke-virtual {v7}, Ljava/io/File;->isDirectory()Z
1910 + if-eqz v8, :cond_42
1912 + invoke-virtual {v7}, Ljava/io/File;->listFiles()[Ljava/io/File;
1914 + move-result-object v6
1916 + move-object v0, v6
1918 + array-length v4, v0
1923 + if-ge v3, v4, :cond_42
1925 + aget-object v2, v0, v3
1927 + invoke-virtual {v2}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
1929 + move-result-object v5
1931 + new-instance v1, Landroid/privacy/PrivacyFileObserver;
1933 + invoke-direct {v1, v5, p2}, Landroid/privacy/PrivacyFileObserver;-><init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
1935 + iget-object v8, p0, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap;
1937 + invoke-virtual {v8, v5, v1}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
1939 + invoke-virtual {v2}, Ljava/io/File;->isFile()Z
1943 + if-eqz v8, :cond_3f
1945 + invoke-virtual {v1}, Landroid/privacy/PrivacyFileObserver;->startWatching()V
1948 + add-int/lit8 v3, v3, 0x1
1958 +.method public addObserver(Ljava/lang/String;)V
1961 + new-instance v2, Ljava/lang/StringBuilder;
1963 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
1965 + iget-object v3, p0, Landroid/privacy/PrivacyFileObserver;->absolutePath:Ljava/lang/String;
1967 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1969 + move-result-object v2
1971 + const-string v3, "/"
1973 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1975 + move-result-object v2
1977 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1979 + move-result-object v2
1981 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
1983 + move-result-object v1
1985 + iget-object v2, p0, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap;
1987 + invoke-virtual {v2, v1}, Ljava/util/HashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
1989 + new-instance v0, Landroid/privacy/PrivacyFileObserver;
1991 + iget-object v2, p0, Landroid/privacy/PrivacyFileObserver;->pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
1993 + invoke-direct {v0, v1, v2}, Landroid/privacy/PrivacyFileObserver;-><init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
1995 + iget-object v2, p0, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap;
1997 + invoke-virtual {v2, v1, v0}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
2002 +.method public onEvent(ILjava/lang/String;)V
2005 + and-int/lit8 v4, p1, 0x1
2007 + if-eqz v4, :cond_34
2009 + new-instance v3, Ljava/util/StringTokenizer;
2011 + iget-object v4, p0, Landroid/privacy/PrivacyFileObserver;->absolutePath:Ljava/lang/String;
2013 + const-string v5, "/"
2015 + invoke-direct {v3, v4, v5}, Ljava/util/StringTokenizer;-><init>(Ljava/lang/String;Ljava/lang/String;)V
2022 + if-ge v0, v4, :cond_1d
2024 + invoke-virtual {v3}, Ljava/util/StringTokenizer;->hasMoreElements()Z
2028 + if-eqz v4, :cond_1d
2030 + invoke-virtual {v3}, Ljava/util/StringTokenizer;->nextToken()Ljava/lang/String;
2032 + add-int/lit8 v0, v0, 0x1
2037 + invoke-virtual {v3}, Ljava/util/StringTokenizer;->nextToken()Ljava/lang/String;
2039 + move-result-object v2
2041 + iget-object v4, p0, Landroid/privacy/PrivacyFileObserver;->pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
2043 + invoke-virtual {v4, v2}, Landroid/privacy/PrivacySettingsManagerService;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
2045 + move-result-object v1
2047 + iget-object v4, p0, Landroid/privacy/PrivacyFileObserver;->pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
2049 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getSystemLogsSetting()B
2053 + const-string/jumbo v6, "systemLogs"
2057 + invoke-virtual {v4, v2, v5, v6, v7}, Landroid/privacy/PrivacySettingsManagerService;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
2063 +.method public startWatching()V
2066 + invoke-super {p0}, Landroid/os/FileObserver;->startWatching()V
2070 diff -Npru stock-framework/smali/android/privacy/PrivacyPersistenceAdapter.smali pdroid-framework/smali/android/privacy/PrivacyPersistenceAdapter.smali
2071 --- stock-framework/smali/android/privacy/PrivacyPersistenceAdapter.smali 1969-12-31 18:00:00.000000000 -0600
2072 +++ pdroid-framework/smali/android/privacy/PrivacyPersistenceAdapter.smali 2012-08-20 18:17:10.712276168 -0500
2074 +.class public Landroid/privacy/PrivacyPersistenceAdapter;
2075 +.super Ljava/lang/Object;
2076 +.source "PrivacyPersistenceAdapter.java"
2080 +.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) );"
2082 +.field private static final CREATE_TABLE_MAP:Ljava/lang/String; = "CREATE TABLE IF NOT EXISTS map ( name TEXT PRIMARY KEY, value TEXT );"
2084 +.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);"
2086 +.field private static final DATABASE_FIELDS:[Ljava/lang/String; = null
2088 +.field private static final DATABASE_FILE:Ljava/lang/String; = "/data/system/privacy.db"
2090 +.field private static final DATABASE_VERSION:I = 0x3
2092 +.field public static final DUMMY_UID:I = -0x1
2094 +.field private static final INSERT_ENABLED:Ljava/lang/String; = "INSERT OR REPLACE INTO map (name, value) VALUES (\"enabled\", \"1\");"
2096 +.field private static final INSERT_NOTIFICATIONS_ENABLED:Ljava/lang/String; = "INSERT OR REPLACE INTO map (name, value) VALUES (\"notifications_enabled\", \"1\");"
2098 +.field private static final INSERT_VERSION:Ljava/lang/String; = "INSERT OR REPLACE INTO map (name, value) VALUES (\"db_version\", 3);"
2100 +.field private static final RETRY_QUERY_COUNT:I = 0x5
2102 +.field public static final SETTINGS_DIRECTORY:Ljava/lang/String; = "/data/system/privacy"
2104 +.field public static final SETTING_DB_VERSION:Ljava/lang/String; = "db_version"
2106 +.field public static final SETTING_ENABLED:Ljava/lang/String; = "enabled"
2108 +.field public static final SETTING_NOTIFICATIONS_ENABLED:Ljava/lang/String; = "notifications_enabled"
2110 +.field private static final TABLE_ALLOWED_CONTACTS:Ljava/lang/String; = "allowed_contacts"
2112 +.field private static final TABLE_MAP:Ljava/lang/String; = "map"
2114 +.field private static final TABLE_SETTINGS:Ljava/lang/String; = "settings"
2116 +.field private static final TABLE_VERSION:Ljava/lang/String; = "version"
2118 +.field private static final TAG:Ljava/lang/String; = "PrivacyPersistenceAdapter"
2120 +.field public static final VALUE_FALSE:Ljava/lang/String; = "0"
2122 +.field public static final VALUE_TRUE:Ljava/lang/String; = "1"
2124 +.field public static readingThreads:Ljava/lang/Integer;
2128 +.field private context:Landroid/content/Context;
2130 +.field private db:Landroid/database/sqlite/SQLiteDatabase;
2134 +.method static constructor <clinit>()V
2139 + invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
2141 + move-result-object v0
2143 + sput-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2147 + new-array v0, v0, [Ljava/lang/String;
2149 + const-string v1, "_id"
2151 + aput-object v1, v0, v2
2155 + const-string/jumbo v2, "packageName"
2157 + aput-object v2, v0, v1
2161 + const-string/jumbo v2, "uid"
2163 + aput-object v2, v0, v1
2167 + const-string v2, "deviceIdSetting"
2169 + aput-object v2, v0, v1
2173 + const-string v2, "deviceId"
2175 + aput-object v2, v0, v1
2179 + const-string v2, "line1NumberSetting"
2181 + aput-object v2, v0, v1
2185 + const-string v2, "line1Number"
2187 + aput-object v2, v0, v1
2191 + const-string v2, "locationGpsSetting"
2193 + aput-object v2, v0, v1
2197 + const-string v2, "locationGpsLat"
2199 + aput-object v2, v0, v1
2203 + const-string v2, "locationGpsLon"
2205 + aput-object v2, v0, v1
2209 + const-string v2, "locationNetworkSetting"
2211 + aput-object v2, v0, v1
2215 + const-string v2, "locationNetworkLat"
2217 + aput-object v2, v0, v1
2221 + const-string v2, "locationNetworkLon"
2223 + aput-object v2, v0, v1
2227 + const-string/jumbo v2, "networkInfoSetting"
2229 + aput-object v2, v0, v1
2233 + const-string/jumbo v2, "simInfoSetting"
2235 + aput-object v2, v0, v1
2239 + const-string/jumbo v2, "simSerialNumberSetting"
2241 + aput-object v2, v0, v1
2245 + const-string/jumbo v2, "simSerialNumber"
2247 + aput-object v2, v0, v1
2251 + const-string/jumbo v2, "subscriberIdSetting"
2253 + aput-object v2, v0, v1
2257 + const-string/jumbo v2, "subscriberId"
2259 + aput-object v2, v0, v1
2263 + const-string v2, "accountsSetting"
2265 + aput-object v2, v0, v1
2269 + const-string v2, "accountsAuthTokensSetting"
2271 + aput-object v2, v0, v1
2275 + const-string/jumbo v2, "outgoingCallsSetting"
2277 + aput-object v2, v0, v1
2281 + const-string v2, "incomingCallsSetting"
2283 + aput-object v2, v0, v1
2287 + const-string v2, "contactsSetting"
2289 + aput-object v2, v0, v1
2293 + const-string v2, "calendarSetting"
2295 + aput-object v2, v0, v1
2299 + const-string/jumbo v2, "mmsSetting"
2301 + aput-object v2, v0, v1
2305 + const-string/jumbo v2, "smsSetting"
2307 + aput-object v2, v0, v1
2311 + const-string v2, "callLogSetting"
2313 + aput-object v2, v0, v1
2317 + const-string v2, "bookmarksSetting"
2319 + aput-object v2, v0, v1
2323 + const-string/jumbo v2, "systemLogsSetting"
2325 + aput-object v2, v0, v1
2329 + const-string v2, "externalStorageSetting"
2331 + aput-object v2, v0, v1
2335 + const-string v2, "cameraSetting"
2337 + aput-object v2, v0, v1
2341 + const-string/jumbo v2, "recordAudioSetting"
2343 + aput-object v2, v0, v1
2347 + const-string/jumbo v2, "notificationSetting"
2349 + aput-object v2, v0, v1
2353 + const-string v2, "intentBootCompletedSetting"
2355 + aput-object v2, v0, v1
2357 + sput-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->DATABASE_FIELDS:[Ljava/lang/String;
2362 +.method public constructor <init>(Landroid/content/Context;)V
2365 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
2367 + iput-object p1, p0, Landroid/privacy/PrivacyPersistenceAdapter;->context:Landroid/content/Context;
2369 + new-instance v2, Ljava/io/File;
2371 + const-string v3, "/data/system/"
2373 + invoke-direct {v2, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
2375 + invoke-virtual {v2}, Ljava/io/File;->canWrite()Z
2379 + if-eqz v0, :cond_3c
2381 + new-instance v2, Ljava/io/File;
2383 + const-string v3, "/data/system/privacy.db"
2385 + invoke-direct {v2, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
2387 + invoke-virtual {v2}, Ljava/io/File;->exists()Z
2391 + if-nez v2, :cond_22
2393 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->createDatabase()V
2396 + new-instance v2, Ljava/io/File;
2398 + const-string v3, "/data/system/privacy"
2400 + invoke-direct {v2, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
2402 + invoke-virtual {v2}, Ljava/io/File;->exists()Z
2406 + if-nez v2, :cond_32
2408 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->createSettingsDir()V
2411 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getDbVersion()I
2417 + if-ge v1, v2, :cond_3c
2419 + invoke-direct {p0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->upgradeDatabase(I)V
2425 +.method private declared-synchronized createDatabase()V
2431 + const-string v2, "PrivacyPersistenceAdapter"
2433 + const-string v3, "createDatabase - creating privacy database file"
2435 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
2437 + .catchall {:try_start_1 .. :try_end_8} :catchall_4c
2440 + const-string v2, "/data/system/privacy.db"
2444 + const/high16 v4, 0x1000
2446 + invoke-static {v2, v3, v4}, Landroid/database/sqlite/SQLiteDatabase;->openDatabase(Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;I)Landroid/database/sqlite/SQLiteDatabase;
2448 + move-result-object v0
2450 + const-string v2, "PrivacyPersistenceAdapter"
2452 + const-string v3, "createDatabase - creating privacy database"
2454 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
2456 + 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);"
2458 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
2460 + const-string v2, "CREATE TABLE IF NOT EXISTS allowed_contacts ( settings_id, contact_id, PRIMARY KEY(settings_id, contact_id) );"
2462 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
2464 + const-string v2, "CREATE TABLE IF NOT EXISTS map ( name TEXT PRIMARY KEY, value TEXT );"
2466 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
2468 + const-string v2, "INSERT OR REPLACE INTO map (name, value) VALUES (\"db_version\", 3);"
2470 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
2472 + const-string v2, "INSERT OR REPLACE INTO map (name, value) VALUES (\"enabled\", \"1\");"
2474 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
2476 + const-string v2, "INSERT OR REPLACE INTO map (name, value) VALUES (\"notifications_enabled\", \"1\");"
2478 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
2480 + if-eqz v0, :cond_41
2482 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
2486 + if-eqz v2, :cond_41
2488 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
2490 + .catchall {:try_start_8 .. :try_end_41} :catchall_4c
2491 + .catch Landroid/database/SQLException; {:try_start_8 .. :try_end_41} :catch_43
2503 + const-string v2, "PrivacyPersistenceAdapter"
2505 + const-string v3, "createDatabase - failed to create privacy database"
2507 + invoke-static {v2, v3, v1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
2509 + .catchall {:try_start_44 .. :try_end_4b} :catchall_4c
2521 +.method private declared-synchronized createSettingsDir()V
2527 + new-instance v0, Ljava/io/File;
2529 + const-string v1, "/data/system/privacy/"
2531 + invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
2533 + invoke-virtual {v0}, Ljava/io/File;->mkdirs()Z
2539 + invoke-virtual {v0, v1, v2}, Ljava/io/File;->setReadable(ZZ)Z
2545 + invoke-virtual {v0, v1, v2}, Ljava/io/File;->setExecutable(ZZ)Z
2547 + .catchall {:try_start_1 .. :try_end_15} :catchall_17
2561 +.method private deleteRecursive(Ljava/io/File;)V
2564 + invoke-virtual {p1}, Ljava/io/File;->isDirectory()Z
2568 + if-eqz v4, :cond_16
2570 + invoke-virtual {p1}, Ljava/io/File;->listFiles()[Ljava/io/File;
2572 + move-result-object v0
2574 + array-length v3, v0
2579 + if-ge v2, v3, :cond_16
2581 + aget-object v1, v0, v2
2583 + invoke-direct {p0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteRecursive(Ljava/io/File;)V
2585 + add-int/lit8 v2, v2, 0x1
2590 + invoke-virtual {p1}, Ljava/io/File;->delete()Z
2595 +.method private getDbVersion()I
2602 + sget-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2604 + sget-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2606 + invoke-virtual {v6}, Ljava/lang/Integer;->intValue()I
2610 + add-int/lit8 v6, v6, 0x1
2612 + invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
2614 + move-result-object v6
2616 + sput-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2618 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
2620 + move-result-object v1
2623 + const-string v6, "SELECT name FROM sqlite_master WHERE type=\'table\' AND name=\'map\';"
2625 + invoke-direct {p0, v1, v6}, Landroid/privacy/PrivacyPersistenceAdapter;->rawQuery(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;)Landroid/database/Cursor;
2627 + move-result-object v0
2629 + if-eqz v0, :cond_5e
2631 + invoke-interface {v0}, Landroid/database/Cursor;->getCount()I
2635 + if-nez v6, :cond_25
2640 + invoke-interface {v0}, Landroid/database/Cursor;->close()V
2642 + sget-object v7, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2646 + .catch Ljava/lang/Exception; {:try_start_16 .. :try_end_2b} :catch_55
2649 + sget-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2651 + sget-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2653 + invoke-virtual {v6}, Ljava/lang/Integer;->intValue()I
2657 + add-int/lit8 v6, v6, -0x1
2659 + invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
2661 + move-result-object v6
2663 + sput-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2665 + sget-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2667 + invoke-virtual {v6}, Ljava/lang/Integer;->intValue()I
2671 + if-nez v6, :cond_4e
2673 + if-eqz v1, :cond_4e
2675 + invoke-virtual {v1}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
2679 + if-eqz v6, :cond_4e
2681 + invoke-virtual {v1}, Landroid/database/sqlite/SQLiteDatabase;->close()V
2687 + if-ne v3, v4, :cond_66
2697 + .catchall {:try_start_2b .. :try_end_54} :catchall_52
2702 + .catch Ljava/lang/Exception; {:try_start_54 .. :try_end_55} :catch_55
2707 + const-string v6, "PrivacyPersistenceAdapter"
2709 + const-string v7, "getDbVersion - failed to check if table map exists (exception)"
2711 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
2717 + const-string v6, "PrivacyPersistenceAdapter"
2719 + const-string v7, "getDbVersion - failed to check if table map exists (cursor is null)"
2721 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
2723 + .catch Ljava/lang/Exception; {:try_start_5e .. :try_end_65} :catch_55
2728 + const-string v6, "db_version"
2730 + invoke-virtual {p0, v6}, Landroid/privacy/PrivacyPersistenceAdapter;->getValue(Ljava/lang/String;)Ljava/lang/String;
2732 + move-result-object v5
2734 + if-nez v5, :cond_70
2742 + invoke-static {v5}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
2744 + .catch Ljava/lang/Exception; {:try_start_70 .. :try_end_73} :catch_76
2755 + const-string v6, "PrivacyPersistenceAdapter"
2757 + const-string v7, "getDbVersion - failed to parse database version; returning 1"
2759 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
2766 +.method private declared-synchronized getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
2772 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2774 + if-eqz v0, :cond_11
2776 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2778 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
2782 + if-eqz v0, :cond_11
2784 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2786 + .catchall {:try_start_1 .. :try_end_f} :catchall_1e
2795 + const-string v0, "/data/system/privacy.db"
2801 + invoke-static {v0, v1, v2}, Landroid/database/sqlite/SQLiteDatabase;->openDatabase(Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;I)Landroid/database/sqlite/SQLiteDatabase;
2803 + move-result-object v0
2805 + iput-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2807 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2809 + .catchall {:try_start_11 .. :try_end_1d} :catchall_1e
2821 +.method private declared-synchronized getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
2827 + new-instance v0, Ljava/io/File;
2829 + const-string v1, "/data/system/privacy.db"
2831 + invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
2833 + invoke-virtual {v0}, Ljava/io/File;->exists()Z
2837 + if-nez v0, :cond_11
2839 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->createDatabase()V
2842 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2844 + if-eqz v0, :cond_29
2846 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2848 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
2852 + if-eqz v0, :cond_29
2854 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2856 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isReadOnly()Z
2860 + if-nez v0, :cond_29
2862 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2864 + .catchall {:try_start_1 .. :try_end_27} :catchall_36
2873 + const-string v0, "/data/system/privacy.db"
2879 + invoke-static {v0, v1, v2}, Landroid/database/sqlite/SQLiteDatabase;->openDatabase(Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;I)Landroid/database/sqlite/SQLiteDatabase;
2881 + move-result-object v0
2883 + iput-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2885 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2887 + .catchall {:try_start_29 .. :try_end_35} :catchall_36
2899 +.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;
2901 + .annotation system Ldalvik/annotation/Throws;
2903 + Ljava/lang/Exception;
2914 + if-nez v3, :cond_27
2918 + if-ge v2, v4, :cond_27
2920 + if-eqz v0, :cond_d
2923 + invoke-interface {v0}, Landroid/database/Cursor;->close()V
2926 + 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;
2928 + .catch Ljava/lang/IllegalStateException; {:try_start_a .. :try_end_10} :catch_15
2930 + move-result-object v0
2935 + add-int/lit8 v2, v2, 0x1
2944 + if-eqz p1, :cond_22
2946 + invoke-virtual {p1}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
2950 + if-eqz v4, :cond_22
2952 + invoke-virtual {p1}, Landroid/database/sqlite/SQLiteDatabase;->close()V
2955 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
2957 + move-result-object p1
2962 + if-nez v3, :cond_32
2964 + new-instance v4, Ljava/lang/Exception;
2966 + const-string/jumbo v5, "query - failed to execute query on the DB"
2968 + invoke-direct {v4, v5}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
2976 +.method private rawQuery(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;)Landroid/database/Cursor;
2978 + .annotation system Ldalvik/annotation/Throws;
2980 + Ljava/lang/Exception;
2991 + if-nez v3, :cond_28
2995 + if-ge v2, v4, :cond_28
2997 + if-eqz v0, :cond_d
3000 + invoke-interface {v0}, Landroid/database/Cursor;->close()V
3005 + invoke-virtual {p1, p2, v4}, Landroid/database/sqlite/SQLiteDatabase;->rawQuery(Ljava/lang/String;[Ljava/lang/String;)Landroid/database/Cursor;
3007 + .catch Ljava/lang/IllegalStateException; {:try_start_a .. :try_end_11} :catch_16
3009 + move-result-object v0
3014 + add-int/lit8 v2, v2, 0x1
3023 + if-eqz p1, :cond_23
3025 + invoke-virtual {p1}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3029 + if-eqz v4, :cond_23
3031 + invoke-virtual {p1}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3034 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
3036 + move-result-object p1
3041 + if-nez v3, :cond_33
3043 + new-instance v4, Ljava/lang/Exception;
3045 + const-string/jumbo v5, "query - failed to execute query on the DB"
3047 + invoke-direct {v4, v5}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
3055 +.method private declared-synchronized upgradeDatabase(I)V
3061 + const-string v17, "PrivacyPersistenceAdapter"
3063 + new-instance v18, Ljava/lang/StringBuilder;
3065 + invoke-direct/range {v18 .. v18}, Ljava/lang/StringBuilder;-><init>()V
3067 + const-string/jumbo v19, "upgradeDatabase - upgrading DB from version "
3069 + invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3071 + move-result-object v18
3073 + move-object/from16 v0, v18
3075 + move/from16 v1, p1
3077 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
3079 + move-result-object v18
3081 + const-string v19, " to "
3083 + invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3085 + move-result-object v18
3089 + invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
3091 + move-result-object v18
3093 + invoke-virtual/range {v18 .. v18}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3095 + move-result-object v18
3097 + invoke-static/range {v17 .. v18}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
3099 + new-instance v6, Ljava/io/File;
3101 + const-string v17, "/data/system/privacy.db"
3103 + move-object/from16 v0, v17
3105 + invoke-direct {v6, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
3107 + new-instance v5, Ljava/io/File;
3109 + const-string v17, "/data/system/privacy.db.bak"
3111 + move-object/from16 v0, v17
3113 + invoke-direct {v5, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
3115 + .catchall {:try_start_1 .. :try_end_3c} :catchall_66
3118 + invoke-virtual {v5}, Ljava/io/File;->delete()Z
3120 + .catchall {:try_start_3c .. :try_end_3f} :catchall_66
3121 + .catch Ljava/lang/SecurityException; {:try_start_3c .. :try_end_3f} :catch_5c
3125 + invoke-static {v6, v5}, Landroid/os/FileUtils;->copyFile(Ljava/io/File;Ljava/io/File;)Z
3127 + invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
3129 + move-result-wide v17
3131 + invoke-virtual {v5}, Ljava/io/File;->lastModified()J
3133 + move-result-wide v19
3135 + sub-long v17, v17, v19
3137 + const-wide/16 v19, 0x7d0
3139 + cmp-long v17, v17, v19
3141 + if-lez v17, :cond_69
3143 + const-string v17, "PrivacyPersistenceAdapter"
3145 + const-string/jumbo v18, "upgradeDatabase - could not create a database backup, aborting..."
3147 + invoke-static/range {v17 .. v18}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
3149 + .catchall {:try_start_3f .. :try_end_5a} :catchall_66
3160 + const-string v17, "PrivacyPersistenceAdapter"
3162 + const-string/jumbo v18, "upgradeDatabase - could not remove old backup"
3164 + invoke-static/range {v17 .. v18}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
3166 + .catchall {:try_start_5d .. :try_end_65} :catchall_66
3171 + move-exception v17
3179 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
3181 + move-result-object v4
3183 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->beginTransaction()V
3185 + packed-switch p1, :pswitch_data_164
3189 + if-eqz v4, :cond_159
3191 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3195 + if-eqz v17, :cond_159
3197 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
3199 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3202 + invoke-virtual/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->purgeSettings()Z
3204 + .catchall {:try_start_69 .. :try_end_84} :catchall_66
3209 + if-eqz v4, :cond_73
3212 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3216 + if-eqz v17, :cond_73
3218 + const-string v17, "DROP TABLE IF EXISTS version;"
3220 + move-object/from16 v0, v17
3222 + invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
3224 + const-string v17, "CREATE TABLE IF NOT EXISTS allowed_contacts ( settings_id, contact_id, PRIMARY KEY(settings_id, contact_id) );"
3226 + move-object/from16 v0, v17
3228 + invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
3230 + const-string v17, "CREATE TABLE IF NOT EXISTS map ( name TEXT PRIMARY KEY, value TEXT );"
3232 + move-object/from16 v0, v17
3234 + invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
3236 + const-string v17, "INSERT OR REPLACE INTO map (name, value) VALUES (\"db_version\", 3);"
3238 + move-object/from16 v0, v17
3240 + invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
3242 + const-string v17, "INSERT OR REPLACE INTO map (name, value) VALUES (\"enabled\", \"1\");"
3244 + move-object/from16 v0, v17
3246 + invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
3248 + const-string v17, "INSERT OR REPLACE INTO map (name, value) VALUES (\"notifications_enabled\", \"1\");"
3250 + move-object/from16 v0, v17
3252 + invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
3254 + new-instance v14, Ljava/io/File;
3256 + const-string v17, "/data/system/privacy"
3258 + move-object/from16 v0, v17
3260 + invoke-direct {v14, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
3262 + invoke-virtual {v14}, Ljava/io/File;->listFiles()[Ljava/io/File;
3264 + move-result-object v2
3266 + array-length v10, v2
3273 + if-ge v9, v10, :cond_127
3275 + aget-object v13, v2, v9
3277 + invoke-virtual {v13}, Ljava/io/File;->listFiles()[Ljava/io/File;
3279 + move-result-object v3
3281 + array-length v11, v3
3286 + if-ge v8, v11, :cond_123
3288 + aget-object v16, v3, v8
3290 + invoke-virtual/range {v16 .. v16}, Ljava/io/File;->isDirectory()Z
3294 + if-eqz v17, :cond_120
3296 + invoke-virtual/range {v16 .. v16}, Ljava/io/File;->listFiles()[Ljava/io/File;
3298 + move-result-object v15
3302 + aget-object v17, v15, v17
3304 + if-eqz v17, :cond_120
3306 + new-instance v12, Ljava/io/File;
3308 + new-instance v17, Ljava/lang/StringBuilder;
3310 + invoke-direct/range {v17 .. v17}, Ljava/lang/StringBuilder;-><init>()V
3312 + move-object/from16 v0, v17
3314 + invoke-virtual {v0, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
3316 + move-result-object v17
3318 + const-string v18, "/"
3320 + invoke-virtual/range {v17 .. v18}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3322 + move-result-object v17
3326 + aget-object v18, v15, v18
3328 + invoke-virtual/range {v18 .. v18}, Ljava/io/File;->getName()Ljava/lang/String;
3330 + move-result-object v18
3332 + invoke-virtual/range {v17 .. v18}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3334 + move-result-object v17
3336 + invoke-virtual/range {v17 .. v17}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3338 + move-result-object v17
3340 + move-object/from16 v0, v17
3342 + invoke-direct {v12, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
3344 + invoke-virtual {v12}, Ljava/io/File;->delete()Z
3348 + aget-object v17, v15, v17
3350 + move-object/from16 v0, v17
3352 + invoke-virtual {v0, v12}, Ljava/io/File;->renameTo(Ljava/io/File;)Z
3354 + move-object/from16 v0, p0
3356 + move-object/from16 v1, v16
3358 + invoke-direct {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteRecursive(Ljava/io/File;)V
3361 + add-int/lit8 v8, v8, 0x1
3366 + add-int/lit8 v8, v9, 0x1
3373 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->setTransactionSuccessful()V
3375 + .catchall {:try_start_87 .. :try_end_12a} :catchall_66
3376 + .catch Ljava/lang/Exception; {:try_start_87 .. :try_end_12a} :catch_12c
3383 + if-eqz v4, :cond_13b
3386 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3390 + if-eqz v17, :cond_13b
3392 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
3394 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3397 + const-string v17, "PrivacyPersistenceAdapter"
3399 + const-string/jumbo v18, "upgradeDatabase - could not upgrade DB; will restore backup"
3401 + move-object/from16 v0, v17
3403 + move-object/from16 v1, v18
3405 + invoke-static {v0, v1, v7}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
3407 + invoke-static {v5, v6}, Landroid/os/FileUtils;->copyFile(Ljava/io/File;Ljava/io/File;)Z
3409 + invoke-virtual {v5}, Ljava/io/File;->delete()Z
3414 + const-string v17, "PrivacyPersistenceAdapter"
3416 + const-string/jumbo v18, "upgradeDatabase - trying to upgrade most current DB version"
3418 + invoke-static/range {v17 .. v18}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
3423 + const-string v17, "PrivacyPersistenceAdapter"
3425 + const-string/jumbo v18, "upgradeDatabase - database is null or closed; cant call endTransaction()"
3427 + invoke-static/range {v17 .. v18}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
3429 + .catchall {:try_start_12f .. :try_end_161} :catchall_66
3436 + .packed-switch 0x1
3440 + .end packed-switch
3445 +.method public declared-synchronized deleteSettings(Ljava/lang/String;)Z
3453 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
3455 + move-result-object v0
3457 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->beginTransaction()V
3459 + .catchall {:try_start_2 .. :try_end_9} :catchall_107
3462 + const-string/jumbo v1, "settings"
3466 + new-array v2, v2, [Ljava/lang/String;
3470 + const-string v4, "_id"
3472 + aput-object v4, v2, v3
3474 + const-string/jumbo v3, "packageName=?"
3478 + new-array v4, v4, [Ljava/lang/String;
3482 + aput-object p1, v4, v5
3490 + 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;
3492 + move-result-object v8
3494 + if-eqz v8, :cond_4c
3496 + invoke-interface {v8}, Landroid/database/Cursor;->getCount()I
3500 + if-lez v1, :cond_4c
3502 + invoke-interface {v8}, Landroid/database/Cursor;->moveToFirst()Z
3506 + if-eqz v1, :cond_4c
3510 + invoke-interface {v8, v1}, Landroid/database/Cursor;->getInt(I)I
3514 + const-string v1, "allowed_contacts"
3516 + const-string/jumbo v2, "settings_id=?"
3520 + new-array v3, v3, [Ljava/lang/String;
3524 + invoke-static {v10}, Ljava/lang/Integer;->toString(I)Ljava/lang/String;
3526 + move-result-object v5
3528 + aput-object v5, v3, v4
3530 + invoke-virtual {v0, v1, v2, v3}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
3532 + invoke-interface {v8}, Landroid/database/Cursor;->close()V
3535 + const-string/jumbo v1, "settings"
3537 + const-string/jumbo v2, "packageName=?"
3541 + new-array v3, v3, [Ljava/lang/String;
3545 + aput-object p1, v3, v4
3547 + invoke-virtual {v0, v1, v2, v3}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
3551 + if-nez v1, :cond_8d
3553 + const-string v1, "PrivacyPersistenceAdapter"
3555 + new-instance v2, Ljava/lang/StringBuilder;
3557 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
3559 + const-string v3, "deleteSettings - database entry for "
3561 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3563 + move-result-object v2
3565 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3567 + move-result-object v2
3569 + const-string v3, " not found"
3571 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3573 + move-result-object v2
3575 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3577 + move-result-object v2
3579 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
3581 + .catchall {:try_start_9 .. :try_end_7c} :catchall_10a
3582 + .catch Ljava/lang/Exception; {:try_start_9 .. :try_end_7c} :catch_ef
3587 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
3589 + if-eqz v0, :cond_8b
3591 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3595 + if-eqz v2, :cond_8b
3597 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3599 + .catchall {:try_start_7d .. :try_end_8b} :catchall_107
3609 + new-instance v12, Ljava/io/File;
3611 + new-instance v1, Ljava/lang/StringBuilder;
3613 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
3615 + const-string v2, "/data/system/privacy/"
3617 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3619 + move-result-object v1
3621 + invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3623 + move-result-object v1
3625 + const-string v2, "/"
3627 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3629 + move-result-object v1
3631 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3633 + move-result-object v1
3635 + invoke-direct {v12, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
3637 + new-instance v13, Ljava/io/File;
3639 + new-instance v1, Ljava/lang/StringBuilder;
3641 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
3643 + const-string v2, "/data/system/privacy/"
3645 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3647 + move-result-object v1
3649 + invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3651 + move-result-object v1
3653 + const-string v2, "/systemLogsSetting"
3655 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3657 + move-result-object v1
3659 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3661 + move-result-object v1
3663 + invoke-direct {v13, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
3665 + invoke-virtual {v13}, Ljava/io/File;->delete()Z
3667 + invoke-virtual {v12}, Ljava/io/File;->list()[Ljava/lang/String;
3669 + move-result-object v1
3671 + if-eqz v1, :cond_d9
3673 + invoke-virtual {v12}, Ljava/io/File;->list()[Ljava/lang/String;
3675 + move-result-object v1
3677 + array-length v1, v1
3679 + if-nez v1, :cond_dc
3682 + invoke-virtual {v12}, Ljava/io/File;->delete()Z
3685 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->setTransactionSuccessful()V
3687 + .catchall {:try_start_8d .. :try_end_df} :catchall_10a
3688 + .catch Ljava/lang/Exception; {:try_start_8d .. :try_end_df} :catch_ef
3691 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
3693 + if-eqz v0, :cond_ed
3695 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3699 + if-eqz v1, :cond_ed
3701 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3703 + .catchall {:try_start_df .. :try_end_ed} :catchall_107
3717 + const-string v1, "PrivacyPersistenceAdapter"
3719 + const-string v2, "deleteSettings - could not delete settings"
3721 + invoke-static {v1, v2, v9}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
3723 + .catchall {:try_start_f1 .. :try_end_f8} :catchall_10a
3726 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
3728 + if-eqz v0, :cond_ed
3730 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3734 + if-eqz v1, :cond_ed
3736 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3738 + .catchall {:try_start_f8 .. :try_end_106} :catchall_107
3753 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
3755 + if-eqz v0, :cond_119
3757 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3761 + if-eqz v2, :cond_119
3763 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3768 + .catchall {:try_start_10b .. :try_end_11a} :catchall_107
3771 +.method public declared-synchronized getSettings(Ljava/lang/String;Z)Landroid/privacy/PrivacySettings;
3778 + if-nez p1, :cond_10
3781 + const-string v1, "PrivacyPersistenceAdapter"
3783 + const-string v4, "getSettings - insufficient application identifier - package name is required"
3785 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
3787 + .catchall {:try_start_5 .. :try_end_c} :catchall_2d8
3789 + move-object/from16 v3, v43
3798 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
3800 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
3802 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
3806 + add-int/lit8 v1, v1, 0x1
3808 + invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
3810 + move-result-object v1
3812 + sput-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
3814 + .catchall {:try_start_10 .. :try_end_20} :catchall_2d8
3817 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
3819 + .catchall {:try_start_20 .. :try_end_23} :catchall_2d8
3820 + .catch Landroid/database/sqlite/SQLiteException; {:try_start_20 .. :try_end_23} :catch_245
3822 + move-result-object v2
3827 + const-string/jumbo v3, "settings"
3829 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->DATABASE_FIELDS:[Ljava/lang/String;
3831 + const-string/jumbo v5, "packageName=?"
3835 + new-array v6, v1, [Ljava/lang/String;
3839 + aput-object p1, v6, v1
3849 + move-object/from16 v1, p0
3851 + 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;
3853 + move-result-object v41
3855 + if-eqz v41, :cond_2dc
3857 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->moveToFirst()Z
3861 + if-eqz v1, :cond_2dc
3863 + new-instance v3, Landroid/privacy/PrivacySettings;
3867 + move-object/from16 v0, v41
3869 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getInt(I)I
3873 + invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
3875 + move-result-object v4
3879 + move-object/from16 v0, v41
3881 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
3883 + move-result-object v5
3887 + move-object/from16 v0, v41
3889 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getInt(I)I
3895 + move-object/from16 v0, v41
3897 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3901 + int-to-byte v7, v1
3905 + move-object/from16 v0, v41
3907 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
3909 + move-result-object v8
3913 + move-object/from16 v0, v41
3915 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3919 + int-to-byte v9, v1
3923 + move-object/from16 v0, v41
3925 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
3927 + move-result-object v10
3931 + move-object/from16 v0, v41
3933 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3937 + int-to-byte v11, v1
3941 + move-object/from16 v0, v41
3943 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
3945 + move-result-object v12
3949 + move-object/from16 v0, v41
3951 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
3953 + move-result-object v13
3957 + move-object/from16 v0, v41
3959 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3963 + int-to-byte v14, v1
3967 + move-object/from16 v0, v41
3969 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
3971 + move-result-object v15
3975 + move-object/from16 v0, v41
3977 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
3979 + move-result-object v16
3983 + move-object/from16 v0, v41
3985 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3989 + int-to-byte v0, v1
3991 + move/from16 v17, v0
3995 + move-object/from16 v0, v41
3997 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4001 + int-to-byte v0, v1
4003 + move/from16 v18, v0
4007 + move-object/from16 v0, v41
4009 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4013 + int-to-byte v0, v1
4015 + move/from16 v19, v0
4019 + move-object/from16 v0, v41
4021 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
4023 + move-result-object v20
4027 + move-object/from16 v0, v41
4029 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4033 + int-to-byte v0, v1
4035 + move/from16 v21, v0
4039 + move-object/from16 v0, v41
4041 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
4043 + move-result-object v22
4047 + move-object/from16 v0, v41
4049 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4053 + int-to-byte v0, v1
4055 + move/from16 v23, v0
4059 + move-object/from16 v0, v41
4061 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4065 + int-to-byte v0, v1
4067 + move/from16 v24, v0
4071 + move-object/from16 v0, v41
4073 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4077 + int-to-byte v0, v1
4079 + move/from16 v25, v0
4083 + move-object/from16 v0, v41
4085 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4089 + int-to-byte v0, v1
4091 + move/from16 v26, v0
4095 + move-object/from16 v0, v41
4097 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4101 + int-to-byte v0, v1
4103 + move/from16 v27, v0
4107 + move-object/from16 v0, v41
4109 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4113 + int-to-byte v0, v1
4115 + move/from16 v28, v0
4119 + move-object/from16 v0, v41
4121 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4125 + int-to-byte v0, v1
4127 + move/from16 v29, v0
4131 + move-object/from16 v0, v41
4133 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4137 + int-to-byte v0, v1
4139 + move/from16 v30, v0
4143 + move-object/from16 v0, v41
4145 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4149 + int-to-byte v0, v1
4151 + move/from16 v31, v0
4155 + move-object/from16 v0, v41
4157 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4161 + int-to-byte v0, v1
4163 + move/from16 v32, v0
4167 + move-object/from16 v0, v41
4169 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4173 + int-to-byte v0, v1
4175 + move/from16 v33, v0
4179 + move-object/from16 v0, v41
4181 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4185 + int-to-byte v0, v1
4187 + move/from16 v34, v0
4191 + move-object/from16 v0, v41
4193 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4197 + int-to-byte v0, v1
4199 + move/from16 v35, v0
4203 + move-object/from16 v0, v41
4205 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4209 + int-to-byte v0, v1
4211 + move/from16 v36, v0
4215 + move-object/from16 v0, v41
4217 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4221 + int-to-byte v0, v1
4223 + move/from16 v37, v0
4227 + move-object/from16 v0, v41
4229 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4233 + int-to-byte v0, v1
4235 + move/from16 v38, v0
4239 + 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
4241 + .catchall {:try_start_26 .. :try_end_1a1} :catchall_29b
4242 + .catch Ljava/lang/Exception; {:try_start_26 .. :try_end_1a1} :catch_2d3
4245 + new-instance v1, Ljava/lang/StringBuilder;
4247 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
4249 + const-string v4, "SELECT * FROM allowed_contacts WHERE settings_id="
4251 + invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4253 + move-result-object v1
4255 + invoke-virtual {v3}, Landroid/privacy/PrivacySettings;->get_id()Ljava/lang/Integer;
4257 + move-result-object v4
4259 + invoke-virtual {v4}, Ljava/lang/Integer;->intValue()I
4263 + invoke-static {v4}, Ljava/lang/Integer;->toString(I)Ljava/lang/String;
4265 + move-result-object v4
4267 + invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4269 + move-result-object v1
4271 + const-string v4, ";"
4273 + invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4275 + move-result-object v1
4277 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4279 + move-result-object v1
4281 + move-object/from16 v0, p0
4283 + invoke-direct {v0, v2, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->rawQuery(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;)Landroid/database/Cursor;
4285 + move-result-object v41
4287 + if-eqz v41, :cond_268
4289 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->getCount()I
4293 + if-lez v1, :cond_268
4295 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->getCount()I
4299 + new-array v0, v1, [I
4301 + move-object/from16 v40, v0
4304 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->moveToNext()Z
4308 + if-eqz v1, :cond_263
4310 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->getPosition()I
4316 + move-object/from16 v0, v41
4318 + invoke-interface {v0, v4}, Landroid/database/Cursor;->getInt(I)I
4324 + .catchall {:try_start_1a1 .. :try_end_1ef} :catchall_2d1
4325 + .catch Ljava/lang/Exception; {:try_start_1a1 .. :try_end_1ef} :catch_1f0
4330 + move-exception v42
4334 + const-string v1, "PrivacyPersistenceAdapter"
4336 + new-instance v4, Ljava/lang/StringBuilder;
4338 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
4340 + const-string v5, "getSettings - failed to get settings for package: "
4342 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4344 + move-result-object v4
4346 + move-object/from16 v0, p1
4348 + invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4350 + move-result-object v4
4352 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4354 + move-result-object v4
4356 + move-object/from16 v0, v42
4358 + invoke-static {v1, v4, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
4360 + invoke-virtual/range {v42 .. v42}, Ljava/lang/Exception;->printStackTrace()V
4362 + if-eqz v41, :cond_215
4364 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->close()V
4366 + .catchall {:try_start_1f1 .. :try_end_215} :catchall_2d1
4369 + if-eqz v41, :cond_21a
4372 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->close()V
4375 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4379 + .catchall {:try_start_217 .. :try_end_21d} :catchall_298
4382 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4384 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4386 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
4390 + add-int/lit8 v1, v1, -0x1
4392 + invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4394 + move-result-object v1
4396 + sput-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4398 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4400 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
4404 + if-nez v1, :cond_240
4406 + if-eqz v2, :cond_240
4408 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
4412 + if-eqz v1, :cond_240
4414 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
4419 + .catchall {:try_start_21d .. :try_end_241} :catchall_2ce
4422 + move-object/from16 v43, v3
4427 + move-exception v42
4430 + const-string v1, "PrivacyPersistenceAdapter"
4432 + const-string v4, "getSettings - database could not be opened"
4434 + move-object/from16 v0, v42
4436 + invoke-static {v1, v4, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
4438 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4440 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4442 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
4446 + add-int/lit8 v1, v1, -0x1
4448 + invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4450 + move-result-object v1
4452 + sput-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4454 + .catchall {:try_start_246 .. :try_end_25f} :catchall_2d8
4456 + move-object/from16 v3, v43
4462 + move-object/from16 v0, v40
4464 + invoke-virtual {v3, v0}, Landroid/privacy/PrivacySettings;->setAllowedContacts([I)V
4466 + .catchall {:try_start_263 .. :try_end_268} :catchall_2d1
4467 + .catch Ljava/lang/Exception; {:try_start_263 .. :try_end_268} :catch_1f0
4471 + if-eqz v41, :cond_26d
4474 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->close()V
4477 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4481 + .catchall {:try_start_26a .. :try_end_270} :catchall_298
4484 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4486 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4488 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
4492 + add-int/lit8 v1, v1, -0x1
4494 + invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4496 + move-result-object v1
4498 + sput-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4500 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4502 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
4506 + if-nez v1, :cond_293
4508 + if-eqz v2, :cond_293
4510 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
4514 + if-eqz v1, :cond_293
4516 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
4528 + .catchall {:try_start_270 .. :try_end_297} :catchall_295
4533 + .catchall {:try_start_297 .. :try_end_298} :catchall_298
4546 + move-object/from16 v3, v43
4549 + if-eqz v41, :cond_2a3
4552 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->close()V
4555 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4559 + .catchall {:try_start_2a0 .. :try_end_2a6} :catchall_298
4562 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4564 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4566 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
4570 + add-int/lit8 v5, v5, -0x1
4572 + invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4574 + move-result-object v5
4576 + sput-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4578 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4580 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
4584 + if-nez v5, :cond_2c9
4586 + if-eqz v2, :cond_2c9
4588 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
4592 + if-eqz v5, :cond_2c9
4594 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
4599 + .catchall {:try_start_2a6 .. :try_end_2ca} :catchall_2cb
4604 + .catchall {:try_start_2ca .. :try_end_2cb} :catchall_298
4612 + .catchall {:try_start_2cc .. :try_end_2cd} :catchall_2cb
4617 + .catchall {:try_start_2cd .. :try_end_2ce} :catchall_298
4625 + .catchall {:try_start_2cf .. :try_end_2d0} :catchall_2ce
4630 + .catchall {:try_start_2d0 .. :try_end_2d1} :catchall_298
4638 + move-exception v42
4640 + move-object/from16 v3, v43
4647 + move-object/from16 v3, v43
4652 + move-object/from16 v3, v43
4657 +.method public getValue(Ljava/lang/String;)Ljava/lang/String;
4660 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4662 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4664 + invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
4668 + add-int/lit8 v0, v0, 0x1
4670 + invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4672 + move-result-object v0
4674 + sput-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4676 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
4678 + move-result-object v1
4683 + const-string/jumbo v2, "map"
4687 + new-array v3, v0, [Ljava/lang/String;
4691 + const-string/jumbo v4, "value"
4693 + aput-object v4, v3, v0
4695 + const-string/jumbo v4, "name=?"
4699 + new-array v5, v0, [Ljava/lang/String;
4703 + aput-object p1, v5, v0
4713 + move-object v0, p0
4715 + 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;
4717 + move-result-object v10
4719 + if-eqz v10, :cond_77
4721 + invoke-interface {v10}, Landroid/database/Cursor;->getCount()I
4725 + if-lez v0, :cond_77
4727 + invoke-interface {v10}, Landroid/database/Cursor;->moveToFirst()Z
4731 + if-eqz v0, :cond_77
4733 + const-string/jumbo v0, "value"
4735 + invoke-interface {v10, v0}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
4739 + invoke-interface {v10, v0}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
4741 + move-result-object v12
4743 + invoke-interface {v10}, Landroid/database/Cursor;->close()V
4745 + .catch Ljava/lang/Exception; {:try_start_15 .. :try_end_4f} :catch_90
4748 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4753 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4755 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4757 + invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
4761 + add-int/lit8 v0, v0, -0x1
4763 + invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4765 + move-result-object v0
4767 + sput-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4769 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4771 + invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
4775 + if-nez v0, :cond_75
4777 + if-eqz v1, :cond_75
4779 + invoke-virtual {v1}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
4783 + if-eqz v0, :cond_75
4785 + invoke-virtual {v1}, Landroid/database/sqlite/SQLiteDatabase;->close()V
4790 + .catchall {:try_start_52 .. :try_end_76} :catchall_aa
4796 + const-string v0, "PrivacyPersistenceAdapter"
4798 + new-instance v2, Ljava/lang/StringBuilder;
4800 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
4802 + const-string v3, "getValue - could not get value for name: "
4804 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4806 + move-result-object v2
4808 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4810 + move-result-object v2
4812 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4814 + move-result-object v2
4816 + invoke-static {v0, v2}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
4818 + .catch Ljava/lang/Exception; {:try_start_77 .. :try_end_8f} :catch_90
4823 + move-exception v11
4825 + const-string v0, "PrivacyPersistenceAdapter"
4827 + new-instance v2, Ljava/lang/StringBuilder;
4829 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
4831 + const-string v3, "getValue - could not get value for name: "
4833 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4835 + move-result-object v2
4837 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4839 + move-result-object v2
4841 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4843 + move-result-object v2
4845 + invoke-static {v0, v2, v11}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
4855 + .catchall {:try_start_ab .. :try_end_ac} :catchall_aa
4860 +.method public purgeSettings()Z
4865 + new-instance v13, Ljava/util/ArrayList;
4867 + invoke-direct {v13}, Ljava/util/ArrayList;-><init>()V
4869 + move-object/from16 v0, p0
4871 + iget-object v2, v0, Landroid/privacy/PrivacyPersistenceAdapter;->context:Landroid/content/Context;
4873 + invoke-virtual {v2}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
4875 + move-result-object v21
4879 + move-object/from16 v0, v21
4881 + invoke-virtual {v0, v2}, Landroid/content/pm/PackageManager;->getInstalledApplications(I)Ljava/util/List;
4883 + move-result-object v19
4885 + invoke-interface/range {v19 .. v19}, Ljava/util/List;->iterator()Ljava/util/Iterator;
4887 + move-result-object v18
4890 + invoke-interface/range {v18 .. v18}, Ljava/util/Iterator;->hasNext()Z
4894 + if-eqz v2, :cond_2d
4896 + invoke-interface/range {v18 .. v18}, Ljava/util/Iterator;->next()Ljava/lang/Object;
4898 + move-result-object v12
4900 + check-cast v12, Landroid/content/pm/ApplicationInfo;
4902 + iget-object v2, v12, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
4904 + invoke-interface {v13, v2}, Ljava/util/List;->add(Ljava/lang/Object;)Z
4909 + new-instance v26, Ljava/io/File;
4911 + const-string v2, "/data/system/privacy"
4913 + move-object/from16 v0, v26
4915 + invoke-direct {v0, v2}, Ljava/io/File;-><init>(Ljava/lang/String;)V
4917 + invoke-virtual/range {v26 .. v26}, Ljava/io/File;->listFiles()[Ljava/io/File;
4919 + move-result-object v15
4921 + array-length v0, v15
4923 + move/from16 v20, v0
4928 + move/from16 v0, v18
4930 + move/from16 v1, v20
4932 + if-ge v0, v1, :cond_5d
4934 + aget-object v23, v15, v18
4936 + invoke-virtual/range {v23 .. v23}, Ljava/io/File;->getName()Ljava/lang/String;
4938 + move-result-object v24
4940 + move-object/from16 v0, v24
4942 + invoke-interface {v13, v0}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
4946 + if-nez v2, :cond_5a
4948 + move-object/from16 v0, p0
4950 + move-object/from16 v1, v23
4952 + invoke-direct {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteRecursive(Ljava/io/File;)V
4955 + add-int/lit8 v18, v18, 0x1
4960 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4962 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4964 + invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
4968 + add-int/lit8 v2, v2, 0x1
4970 + invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4972 + move-result-object v2
4974 + sput-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4976 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
4978 + move-result-object v3
4983 + const-string/jumbo v4, "settings"
4987 + new-array v5, v2, [Ljava/lang/String;
4991 + const-string/jumbo v6, "packageName"
4993 + aput-object v6, v5, v2
5007 + move-object/from16 v2, p0
5009 + 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;
5011 + move-result-object v16
5013 + new-instance v14, Ljava/util/ArrayList;
5015 + invoke-direct {v14}, Ljava/util/ArrayList;-><init>()V
5018 + invoke-interface/range {v16 .. v16}, Landroid/database/Cursor;->moveToNext()Z
5022 + if-eqz v2, :cond_142
5026 + move-object/from16 v0, v16
5028 + invoke-interface {v0, v2}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
5030 + move-result-object v24
5032 + move-object/from16 v0, v24
5034 + invoke-interface {v13, v0}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
5038 + if-nez v2, :cond_e7
5040 + move-object/from16 v0, p0
5042 + move-object/from16 v1, v24
5044 + invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteSettings(Ljava/lang/String;)Z
5046 + .catchall {:try_start_73 .. :try_end_ac} :catchall_107
5047 + .catch Ljava/lang/Exception; {:try_start_73 .. :try_end_ac} :catch_ad
5052 + move-exception v17
5055 + const-string v2, "PrivacyPersistenceAdapter"
5057 + const-string/jumbo v4, "purgeSettings - purging DB failed"
5059 + move-object/from16 v0, v17
5061 + invoke-static {v2, v4, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
5063 + .catchall {:try_start_ae .. :try_end_b8} :catchall_107
5067 + if-eqz v16, :cond_bf
5069 + invoke-interface/range {v16 .. v16}, Landroid/database/Cursor;->close()V
5072 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5077 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5079 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5081 + invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
5085 + add-int/lit8 v2, v2, -0x1
5087 + invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5089 + move-result-object v2
5091 + sput-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5093 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5095 + invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
5099 + if-nez v2, :cond_e5
5101 + if-eqz v3, :cond_e5
5103 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
5107 + if-eqz v2, :cond_e5
5109 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->close()V
5114 + .catchall {:try_start_c2 .. :try_end_e6} :catchall_13f
5121 + move-object/from16 v0, v24
5123 + invoke-interface {v14, v0}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
5127 + if-eqz v2, :cond_135
5131 + move-object/from16 v0, p0
5133 + move-object/from16 v1, v24
5135 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacyPersistenceAdapter;->getSettings(Ljava/lang/String;Z)Landroid/privacy/PrivacySettings;
5137 + move-result-object v22
5139 + move-object/from16 v0, p0
5141 + move-object/from16 v1, v24
5143 + invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteSettings(Ljava/lang/String;)Z
5145 + move-object/from16 v0, p0
5147 + move-object/from16 v1, v22
5149 + invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->saveSettings(Landroid/privacy/PrivacySettings;)Z
5151 + .catchall {:try_start_e7 .. :try_end_106} :catchall_107
5152 + .catch Ljava/lang/Exception; {:try_start_e7 .. :try_end_106} :catch_ad
5159 + if-eqz v16, :cond_10d
5161 + invoke-interface/range {v16 .. v16}, Landroid/database/Cursor;->close()V
5164 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5169 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5171 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5173 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
5177 + add-int/lit8 v5, v5, -0x1
5179 + invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5181 + move-result-object v5
5183 + sput-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5185 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5187 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
5191 + if-nez v5, :cond_133
5193 + if-eqz v3, :cond_133
5195 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
5199 + if-eqz v5, :cond_133
5201 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->close()V
5206 + .catchall {:try_start_110 .. :try_end_134} :catchall_13c
5212 + move-object/from16 v0, v24
5214 + invoke-interface {v14, v0}, Ljava/util/List;->add(Ljava/lang/Object;)Z
5216 + .catchall {:try_start_135 .. :try_end_13a} :catchall_107
5217 + .catch Ljava/lang/Exception; {:try_start_135 .. :try_end_13a} :catch_ad
5227 + .catchall {:try_start_13d .. :try_end_13e} :catchall_13c
5237 + .catchall {:try_start_140 .. :try_end_141} :catchall_13f
5242 + if-eqz v16, :cond_147
5244 + invoke-interface/range {v16 .. v16}, Landroid/database/Cursor;->close()V
5247 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5252 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5254 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5256 + invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
5260 + add-int/lit8 v2, v2, -0x1
5262 + invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5264 + move-result-object v2
5266 + sput-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5268 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5270 + invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
5274 + if-nez v2, :cond_16d
5276 + if-eqz v3, :cond_16d
5278 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
5282 + if-eqz v2, :cond_16d
5284 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->close()V
5296 + .catchall {:try_start_14a .. :try_end_172} :catchall_170
5301 +.method public declared-synchronized saveSettings(Landroid/privacy/PrivacySettings;)Z
5309 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getPackageName()Ljava/lang/String;
5311 + move-result-object v17
5313 + if-eqz v17, :cond_f
5315 + invoke-virtual/range {v17 .. v17}, Ljava/lang/String;->isEmpty()Z
5319 + if-eqz v3, :cond_1a
5322 + const-string v3, "PrivacyPersistenceAdapter"
5324 + const-string/jumbo v4, "saveSettings - either package name, UID or both is missing"
5326 + invoke-static {v3, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
5328 + .catchall {:try_start_3 .. :try_end_17} :catchall_2c2
5339 + new-instance v23, Landroid/content/ContentValues;
5341 + invoke-direct/range {v23 .. v23}, Landroid/content/ContentValues;-><init>()V
5343 + const-string/jumbo v3, "packageName"
5345 + move-object/from16 v0, v23
5347 + move-object/from16 v1, v17
5349 + invoke-virtual {v0, v3, v1}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5351 + const-string/jumbo v3, "uid"
5355 + invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5357 + move-result-object v4
5359 + move-object/from16 v0, v23
5361 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
5363 + const-string v3, "deviceIdSetting"
5365 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
5369 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5371 + move-result-object v4
5373 + move-object/from16 v0, v23
5375 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5377 + const-string v3, "deviceId"
5379 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getDeviceId()Ljava/lang/String;
5381 + move-result-object v4
5383 + move-object/from16 v0, v23
5385 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5387 + const-string v3, "line1NumberSetting"
5389 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
5393 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5395 + move-result-object v4
5397 + move-object/from16 v0, v23
5399 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5401 + const-string v3, "line1Number"
5403 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLine1Number()Ljava/lang/String;
5405 + move-result-object v4
5407 + move-object/from16 v0, v23
5409 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5411 + const-string v3, "locationGpsSetting"
5413 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
5417 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5419 + move-result-object v4
5421 + move-object/from16 v0, v23
5423 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5425 + const-string v3, "locationGpsLat"
5427 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
5429 + move-result-object v4
5431 + move-object/from16 v0, v23
5433 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5435 + const-string v3, "locationGpsLon"
5437 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
5439 + move-result-object v4
5441 + move-object/from16 v0, v23
5443 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5445 + const-string v3, "locationNetworkSetting"
5447 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
5451 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5453 + move-result-object v4
5455 + move-object/from16 v0, v23
5457 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5459 + const-string v3, "locationNetworkLat"
5461 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
5463 + move-result-object v4
5465 + move-object/from16 v0, v23
5467 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5469 + const-string v3, "locationNetworkLon"
5471 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
5473 + move-result-object v4
5475 + move-object/from16 v0, v23
5477 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5479 + const-string/jumbo v3, "networkInfoSetting"
5481 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
5485 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5487 + move-result-object v4
5489 + move-object/from16 v0, v23
5491 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5493 + const-string/jumbo v3, "simInfoSetting"
5495 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSimInfoSetting()B
5499 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5501 + move-result-object v4
5503 + move-object/from16 v0, v23
5505 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5507 + const-string/jumbo v3, "simSerialNumberSetting"
5509 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSimSerialNumberSetting()B
5513 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5515 + move-result-object v4
5517 + move-object/from16 v0, v23
5519 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5521 + const-string/jumbo v3, "simSerialNumber"
5523 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSimSerialNumber()Ljava/lang/String;
5525 + move-result-object v4
5527 + move-object/from16 v0, v23
5529 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5531 + const-string/jumbo v3, "subscriberIdSetting"
5533 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSubscriberIdSetting()B
5537 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5539 + move-result-object v4
5541 + move-object/from16 v0, v23
5543 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5545 + const-string/jumbo v3, "subscriberId"
5547 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSubscriberId()Ljava/lang/String;
5549 + move-result-object v4
5551 + move-object/from16 v0, v23
5553 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5555 + const-string v3, "accountsSetting"
5557 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
5561 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5563 + move-result-object v4
5565 + move-object/from16 v0, v23
5567 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5569 + const-string v3, "accountsAuthTokensSetting"
5571 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
5575 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5577 + move-result-object v4
5579 + move-object/from16 v0, v23
5581 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5583 + const-string/jumbo v3, "outgoingCallsSetting"
5585 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getOutgoingCallsSetting()B
5589 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5591 + move-result-object v4
5593 + move-object/from16 v0, v23
5595 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5597 + const-string v3, "incomingCallsSetting"
5599 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getIncomingCallsSetting()B
5603 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5605 + move-result-object v4
5607 + move-object/from16 v0, v23
5609 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5611 + const-string v3, "contactsSetting"
5613 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getContactsSetting()B
5617 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5619 + move-result-object v4
5621 + move-object/from16 v0, v23
5623 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5625 + const-string v3, "calendarSetting"
5627 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getCalendarSetting()B
5631 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5633 + move-result-object v4
5635 + move-object/from16 v0, v23
5637 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5639 + const-string/jumbo v3, "mmsSetting"
5641 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getMmsSetting()B
5645 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5647 + move-result-object v4
5649 + move-object/from16 v0, v23
5651 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5653 + const-string/jumbo v3, "smsSetting"
5655 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSmsSetting()B
5659 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5661 + move-result-object v4
5663 + move-object/from16 v0, v23
5665 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5667 + const-string v3, "callLogSetting"
5669 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getCallLogSetting()B
5673 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5675 + move-result-object v4
5677 + move-object/from16 v0, v23
5679 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5681 + const-string v3, "bookmarksSetting"
5683 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getBookmarksSetting()B
5687 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5689 + move-result-object v4
5691 + move-object/from16 v0, v23
5693 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5695 + const-string/jumbo v3, "systemLogsSetting"
5697 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSystemLogsSetting()B
5701 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5703 + move-result-object v4
5705 + move-object/from16 v0, v23
5707 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5709 + const-string/jumbo v3, "notificationSetting"
5711 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getNotificationSetting()B
5715 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5717 + move-result-object v4
5719 + move-object/from16 v0, v23
5721 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5723 + const-string v3, "intentBootCompletedSetting"
5725 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getIntentBootCompletedSetting()B
5729 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5731 + move-result-object v4
5733 + move-object/from16 v0, v23
5735 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5737 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5739 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5741 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
5745 + add-int/lit8 v3, v3, 0x1
5747 + invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5749 + move-result-object v3
5751 + sput-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5753 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
5755 + move-result-object v2
5757 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->beginTransaction()V
5759 + .catchall {:try_start_1a .. :try_end_1eb} :catchall_2c2
5764 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->get_id()Ljava/lang/Integer;
5766 + move-result-object v15
5768 + if-eqz v15, :cond_2c8
5770 + const-string/jumbo v3, "settings"
5772 + const-string v4, "_id=?"
5776 + new-array v5, v5, [Ljava/lang/String;
5780 + invoke-virtual {v15}, Ljava/lang/Integer;->toString()Ljava/lang/String;
5782 + move-result-object v7
5784 + aput-object v7, v5, v6
5786 + move-object/from16 v0, v23
5788 + 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
5794 + if-ge v3, v4, :cond_249
5796 + new-instance v3, Ljava/lang/Exception;
5798 + const-string/jumbo v4, "saveSettings - failed to update database entry"
5800 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
5804 + .catchall {:try_start_1ec .. :try_end_213} :catchall_291
5805 + .catch Ljava/lang/Exception; {:try_start_1ec .. :try_end_213} :catch_213
5808 + move-exception v13
5813 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
5815 + if-eqz v11, :cond_21e
5817 + invoke-interface {v11}, Landroid/database/Cursor;->close()V
5820 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5824 + .catchall {:try_start_216 .. :try_end_221} :catchall_2c2
5827 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5829 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5831 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
5835 + add-int/lit8 v3, v3, -0x1
5837 + invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5839 + move-result-object v3
5841 + sput-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5843 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5845 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
5849 + if-nez v3, :cond_244
5851 + if-eqz v2, :cond_244
5853 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
5857 + if-eqz v3, :cond_244
5859 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
5864 + .catchall {:try_start_221 .. :try_end_245} :catchall_4ca
5867 + move/from16 v3, v18
5873 + const-string v3, "allowed_contacts"
5875 + const-string/jumbo v4, "settings_id=?"
5879 + new-array v5, v5, [Ljava/lang/String;
5883 + invoke-virtual {v15}, Ljava/lang/Integer;->toString()Ljava/lang/String;
5885 + move-result-object v7
5887 + aput-object v7, v5, v6
5889 + invoke-virtual {v2, v3, v4, v5}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
5891 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAllowedContacts()[I
5893 + move-result-object v10
5895 + if-eqz v10, :cond_3f2
5897 + new-instance v12, Landroid/content/ContentValues;
5899 + invoke-direct {v12}, Landroid/content/ContentValues;-><init>()V
5904 + array-length v3, v10
5906 + if-ge v14, v3, :cond_3f2
5908 + const-string/jumbo v3, "settings_id"
5910 + invoke-virtual {v12, v3, v15}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
5912 + const-string v3, "contact_id"
5916 + invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5918 + move-result-object v4
5920 + invoke-virtual {v12, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
5922 + const-string v3, "allowed_contacts"
5926 + invoke-virtual {v2, v3, v4, v12}, Landroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
5928 + move-result-wide v3
5930 + const-wide/16 v5, -0x1
5932 + cmp-long v3, v3, v5
5934 + if-nez v3, :cond_2c5
5936 + new-instance v3, Ljava/lang/Exception;
5938 + const-string/jumbo v4, "saveSettings - failed to update database entry (contacts)"
5940 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
5944 + .catchall {:try_start_249 .. :try_end_291} :catchall_291
5945 + .catch Ljava/lang/Exception; {:try_start_249 .. :try_end_291} :catch_213
5951 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
5953 + if-eqz v11, :cond_29a
5955 + invoke-interface {v11}, Landroid/database/Cursor;->close()V
5958 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5962 + .catchall {:try_start_292 .. :try_end_29d} :catchall_2c2
5965 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5967 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5969 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
5973 + add-int/lit8 v5, v5, -0x1
5975 + invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5977 + move-result-object v5
5979 + sput-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5981 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5983 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
5987 + if-nez v5, :cond_2c0
5989 + if-eqz v2, :cond_2c0
5991 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
5995 + if-eqz v5, :cond_2c0
5997 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
6002 + .catchall {:try_start_29d .. :try_end_2c1} :catchall_4cd
6007 + .catchall {:try_start_2c1 .. :try_end_2c2} :catchall_2c2
6017 + add-int/lit8 v14, v14, 0x1
6023 + const-string/jumbo v3, "settings"
6027 + new-array v4, v4, [Ljava/lang/String;
6031 + const-string v6, "_id"
6033 + aput-object v6, v4, v5
6035 + const-string/jumbo v5, "packageName=?"
6039 + new-array v6, v6, [Ljava/lang/String;
6043 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getPackageName()Ljava/lang/String;
6045 + move-result-object v8
6047 + aput-object v8, v6, v7
6055 + 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;
6057 + move-result-object v11
6059 + if-eqz v11, :cond_3e7
6061 + invoke-interface {v11}, Landroid/database/Cursor;->getCount()I
6067 + if-ne v3, v4, :cond_36e
6069 + const-string/jumbo v3, "settings"
6071 + const-string/jumbo v4, "packageName=?"
6075 + new-array v5, v5, [Ljava/lang/String;
6079 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getPackageName()Ljava/lang/String;
6081 + move-result-object v7
6083 + aput-object v7, v5, v6
6085 + move-object/from16 v0, v23
6087 + 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
6093 + if-ge v3, v4, :cond_312
6095 + new-instance v3, Ljava/lang/Exception;
6097 + const-string/jumbo v4, "saveSettings - failed to update database entry"
6099 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
6104 + invoke-interface {v11}, Landroid/database/Cursor;->moveToFirst()Z
6108 + if-eqz v3, :cond_3f2
6112 + invoke-interface {v11, v3}, Landroid/database/Cursor;->getInt(I)I
6116 + invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
6118 + move-result-object v16
6120 + const-string v3, "allowed_contacts"
6122 + const-string/jumbo v4, "settings_id=?"
6126 + new-array v5, v5, [Ljava/lang/String;
6130 + invoke-virtual/range {v16 .. v16}, Ljava/lang/Integer;->toString()Ljava/lang/String;
6132 + move-result-object v7
6134 + aput-object v7, v5, v6
6136 + invoke-virtual {v2, v3, v4, v5}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
6138 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAllowedContacts()[I
6140 + move-result-object v10
6142 + if-eqz v10, :cond_3f2
6144 + new-instance v12, Landroid/content/ContentValues;
6146 + invoke-direct {v12}, Landroid/content/ContentValues;-><init>()V
6151 + array-length v3, v10
6153 + if-ge v14, v3, :cond_3f2
6155 + const-string/jumbo v3, "settings_id"
6157 + move-object/from16 v0, v16
6159 + invoke-virtual {v12, v3, v0}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
6161 + const-string v3, "contact_id"
6165 + invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
6167 + move-result-object v4
6169 + invoke-virtual {v12, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
6171 + const-string v3, "allowed_contacts"
6175 + invoke-virtual {v2, v3, v4, v12}, Landroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
6177 + move-result-wide v3
6179 + const-wide/16 v5, -0x1
6181 + cmp-long v3, v3, v5
6183 + if-nez v3, :cond_36b
6185 + new-instance v3, Ljava/lang/Exception;
6187 + const-string/jumbo v4, "saveSettings - failed to update database entry (contacts)"
6189 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
6194 + add-int/lit8 v14, v14, 0x1
6199 + invoke-interface {v11}, Landroid/database/Cursor;->getCount()I
6203 + if-nez v3, :cond_3dc
6205 + const-string/jumbo v3, "settings"
6209 + move-object/from16 v0, v23
6211 + invoke-virtual {v2, v3, v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
6213 + move-result-wide v19
6215 + const-wide/16 v3, -0x1
6217 + cmp-long v3, v19, v3
6219 + if-nez v3, :cond_38d
6221 + new-instance v3, Ljava/lang/Exception;
6223 + const-string/jumbo v4, "saveSettings - failed to insert new record into DB"
6225 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
6230 + const-string v3, "allowed_contacts"
6232 + const-string/jumbo v4, "settings_id=?"
6236 + new-array v5, v5, [Ljava/lang/String;
6240 + invoke-static/range {v19 .. v20}, Ljava/lang/Long;->toString(J)Ljava/lang/String;
6242 + move-result-object v7
6244 + aput-object v7, v5, v6
6246 + invoke-virtual {v2, v3, v4, v5}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
6248 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAllowedContacts()[I
6250 + move-result-object v10
6252 + if-eqz v10, :cond_3f2
6254 + new-instance v12, Landroid/content/ContentValues;
6256 + invoke-direct {v12}, Landroid/content/ContentValues;-><init>()V
6261 + array-length v3, v10
6263 + if-ge v14, v3, :cond_3f2
6265 + const-string/jumbo v3, "settings_id"
6267 + invoke-static/range {v19 .. v20}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
6269 + move-result-object v4
6271 + invoke-virtual {v12, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Long;)V
6273 + const-string v3, "contact_id"
6277 + invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
6279 + move-result-object v4
6281 + invoke-virtual {v12, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
6283 + const-string v3, "allowed_contacts"
6287 + invoke-virtual {v2, v3, v4, v12}, Landroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
6289 + move-result-wide v3
6291 + const-wide/16 v5, -0x1
6293 + cmp-long v3, v3, v5
6295 + if-nez v3, :cond_3d9
6297 + new-instance v3, Ljava/lang/Exception;
6299 + const-string/jumbo v4, "saveSettings - failed to update database entry (contacts)"
6301 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
6306 + add-int/lit8 v14, v14, 0x1
6313 + new-instance v3, Ljava/lang/Exception;
6315 + const-string/jumbo v4, "saveSettings - duplicate entries in the privacy.db"
6317 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
6324 + new-instance v3, Ljava/lang/Exception;
6326 + const-string/jumbo v4, "saveSettings - cursor is null, database access failed"
6328 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
6333 + new-instance v21, Ljava/io/File;
6335 + new-instance v3, Ljava/lang/StringBuilder;
6337 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
6339 + const-string v4, "/data/system/privacy/"
6341 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6343 + move-result-object v3
6345 + move-object/from16 v0, v17
6347 + invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6349 + move-result-object v3
6351 + const-string v4, "/"
6353 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6355 + move-result-object v3
6357 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6359 + move-result-object v3
6361 + move-object/from16 v0, v21
6363 + invoke-direct {v0, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
6365 + new-instance v22, Ljava/io/File;
6367 + new-instance v3, Ljava/lang/StringBuilder;
6369 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
6371 + const-string v4, "/data/system/privacy/"
6373 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6375 + move-result-object v3
6377 + move-object/from16 v0, v17
6379 + invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6381 + move-result-object v3
6383 + const-string v4, "/"
6385 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6387 + move-result-object v3
6389 + const-string v4, "/systemLogsSetting"
6391 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6393 + move-result-object v3
6395 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6397 + move-result-object v3
6399 + move-object/from16 v0, v22
6401 + invoke-direct {v0, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
6403 + .catchall {:try_start_2c8 .. :try_end_43c} :catchall_291
6404 + .catch Ljava/lang/Exception; {:try_start_2c8 .. :try_end_43c} :catch_213
6407 + invoke-virtual/range {v21 .. v21}, Ljava/io/File;->mkdirs()Z
6413 + move-object/from16 v0, v21
6415 + invoke-virtual {v0, v3, v4}, Ljava/io/File;->setReadable(ZZ)Z
6421 + move-object/from16 v0, v21
6423 + invoke-virtual {v0, v3, v4}, Ljava/io/File;->setExecutable(ZZ)Z
6425 + invoke-virtual/range {v22 .. v22}, Ljava/io/File;->createNewFile()Z
6431 + move-object/from16 v0, v22
6433 + invoke-virtual {v0, v3, v4}, Ljava/io/File;->setReadable(ZZ)Z
6435 + new-instance v24, Ljava/io/OutputStreamWriter;
6437 + new-instance v3, Ljava/io/FileOutputStream;
6439 + move-object/from16 v0, v22
6441 + invoke-direct {v3, v0}, Ljava/io/FileOutputStream;-><init>(Ljava/io/File;)V
6443 + move-object/from16 v0, v24
6445 + invoke-direct {v0, v3}, Ljava/io/OutputStreamWriter;-><init>(Ljava/io/OutputStream;)V
6447 + new-instance v3, Ljava/lang/StringBuilder;
6449 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
6451 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSystemLogsSetting()B
6455 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
6457 + move-result-object v3
6459 + const-string v4, ""
6461 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6463 + move-result-object v3
6465 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6467 + move-result-object v3
6469 + move-object/from16 v0, v24
6471 + invoke-virtual {v0, v3}, Ljava/io/OutputStreamWriter;->append(Ljava/lang/CharSequence;)Ljava/io/Writer;
6473 + invoke-virtual/range {v24 .. v24}, Ljava/io/OutputStreamWriter;->flush()V
6475 + invoke-virtual/range {v24 .. v24}, Ljava/io/OutputStreamWriter;->close()V
6477 + .catchall {:try_start_43c .. :try_end_487} :catchall_291
6478 + .catch Ljava/io/IOException; {:try_start_43c .. :try_end_487} :catch_4be
6479 + .catch Ljava/lang/Exception; {:try_start_43c .. :try_end_487} :catch_213
6482 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->setTransactionSuccessful()V
6484 + .catchall {:try_start_487 .. :try_end_48a} :catchall_291
6485 + .catch Ljava/lang/Exception; {:try_start_487 .. :try_end_48a} :catch_213
6488 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
6490 + if-eqz v11, :cond_492
6492 + invoke-interface {v11}, Landroid/database/Cursor;->close()V
6495 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6499 + .catchall {:try_start_48a .. :try_end_495} :catchall_2c2
6502 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6504 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6506 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
6510 + add-int/lit8 v3, v3, -0x1
6512 + invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
6514 + move-result-object v3
6516 + sput-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6518 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6520 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
6524 + if-nez v3, :cond_4b8
6526 + if-eqz v2, :cond_4b8
6528 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
6532 + if-eqz v3, :cond_4b8
6534 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
6546 + .catchall {:try_start_495 .. :try_end_4bd} :catchall_4bb
6551 + .catchall {:try_start_4bd .. :try_end_4be} :catchall_2c2
6554 + move-exception v13
6559 + new-instance v3, Ljava/lang/Exception;
6561 + const-string/jumbo v4, "saveSettings - could not write settings to file"
6563 + invoke-direct {v3, v4, v13}, Ljava/lang/Exception;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
6567 + .catchall {:try_start_4c1 .. :try_end_4ca} :catchall_291
6568 + .catch Ljava/lang/Exception; {:try_start_4c1 .. :try_end_4ca} :catch_213
6576 + .catchall {:try_start_4cb .. :try_end_4cc} :catchall_4ca
6581 + .catchall {:try_start_4cc .. :try_end_4cd} :catchall_2c2
6589 + .catchall {:try_start_4ce .. :try_end_4cf} :catchall_4cd
6594 + .catchall {:try_start_4cf .. :try_end_4d0} :catchall_2c2
6597 +.method public declared-synchronized setValue(Ljava/lang/String;Ljava/lang/String;)Z
6603 + const-string v3, "PrivacyPersistenceAdapter"
6605 + new-instance v4, Ljava/lang/StringBuilder;
6607 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
6609 + const-string/jumbo v5, "setValue - name "
6611 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6613 + move-result-object v4
6615 + invoke-virtual {v4, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6617 + move-result-object v4
6619 + const-string v5, " value "
6621 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6623 + move-result-object v4
6625 + invoke-virtual {v4, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6627 + move-result-object v4
6629 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6631 + move-result-object v4
6633 + invoke-static {v3, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
6635 + new-instance v2, Landroid/content/ContentValues;
6637 + invoke-direct {v2}, Landroid/content/ContentValues;-><init>()V
6639 + const-string/jumbo v3, "name"
6641 + invoke-virtual {v2, v3, p1}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
6643 + const-string/jumbo v3, "value"
6645 + invoke-virtual {v2, v3, p2}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
6647 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
6649 + move-result-object v0
6651 + const-string/jumbo v3, "map"
6655 + invoke-virtual {v0, v3, v4, v2}, Landroid/database/sqlite/SQLiteDatabase;->replace(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
6657 + move-result-wide v3
6659 + const-wide/16 v5, -0x1
6661 + cmp-long v3, v3, v5
6663 + if-eqz v3, :cond_5d
6668 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6670 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
6674 + if-nez v3, :cond_5b
6676 + if-eqz v0, :cond_5b
6678 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
6682 + if-eqz v3, :cond_5b
6684 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
6686 + .catchall {:try_start_1 .. :try_end_5b} :catchall_5f
6705 diff -Npru stock-framework/smali/android/privacy/PrivacySettings$1.smali pdroid-framework/smali/android/privacy/PrivacySettings$1.smali
6706 --- stock-framework/smali/android/privacy/PrivacySettings$1.smali 1969-12-31 18:00:00.000000000 -0600
6707 +++ pdroid-framework/smali/android/privacy/PrivacySettings$1.smali 2012-08-20 18:17:10.716276181 -0500
6709 +.class final Landroid/privacy/PrivacySettings$1;
6710 +.super Ljava/lang/Object;
6711 +.source "PrivacySettings.java"
6714 +.implements Landroid/os/Parcelable$Creator;
6718 +.annotation system Ldalvik/annotation/EnclosingClass;
6719 + value = Landroid/privacy/PrivacySettings;
6722 +.annotation system Ldalvik/annotation/InnerClass;
6727 +.annotation system Ldalvik/annotation/Signature;
6729 + "Ljava/lang/Object;",
6730 + "Landroid/os/Parcelable$Creator",
6732 + "Landroid/privacy/PrivacySettings;",
6739 +.method constructor <init>()V
6742 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
6749 +.method public createFromParcel(Landroid/os/Parcel;)Landroid/privacy/PrivacySettings;
6752 + new-instance v0, Landroid/privacy/PrivacySettings;
6754 + invoke-direct {v0, p1}, Landroid/privacy/PrivacySettings;-><init>(Landroid/os/Parcel;)V
6759 +.method public bridge synthetic createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
6762 + invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettings$1;->createFromParcel(Landroid/os/Parcel;)Landroid/privacy/PrivacySettings;
6764 + move-result-object v0
6769 +.method public newArray(I)[Landroid/privacy/PrivacySettings;
6772 + new-array v0, p1, [Landroid/privacy/PrivacySettings;
6777 +.method public bridge synthetic newArray(I)[Ljava/lang/Object;
6780 + invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettings$1;->newArray(I)[Landroid/privacy/PrivacySettings;
6782 + move-result-object v0
6786 diff -Npru stock-framework/smali/android/privacy/PrivacySettingsManagerService.smali pdroid-framework/smali/android/privacy/PrivacySettingsManagerService.smali
6787 --- stock-framework/smali/android/privacy/PrivacySettingsManagerService.smali 1969-12-31 18:00:00.000000000 -0600
6788 +++ pdroid-framework/smali/android/privacy/PrivacySettingsManagerService.smali 2012-08-20 18:17:10.720276197 -0500
6790 +.class public Landroid/privacy/PrivacySettingsManagerService;
6791 +.super Landroid/privacy/IPrivacySettingsManager$Stub;
6792 +.source "PrivacySettingsManagerService.java"
6796 +.field private static final TAG:Ljava/lang/String; = "PrivacySettingsManagerService"
6798 +.field private static final VERSION:D = 1.32
6800 +.field private static final WRITE_PRIVACY_SETTINGS:Ljava/lang/String; = "android.privacy.WRITE_PRIVACY_SETTINGS"
6802 +.field public static obs:Landroid/privacy/PrivacyFileObserver;
6806 +.field private bootCompleted:Z
6808 +.field private context:Landroid/content/Context;
6810 +.field private enabled:Z
6812 +.field private notificationsEnabled:Z
6814 +.field private persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
6818 +.method public constructor <init>(Landroid/content/Context;)V
6821 + invoke-direct {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;-><init>()V
6823 + const-string v0, "PrivacySettingsManagerService"
6825 + new-instance v1, Ljava/lang/StringBuilder;
6827 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
6829 + const-string v2, "PrivacySettingsManagerService - initializing for package: "
6831 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6833 + move-result-object v1
6835 + invoke-virtual {p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
6837 + move-result-object v2
6839 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6841 + move-result-object v1
6843 + const-string v2, " UID: "
6845 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6847 + move-result-object v1
6849 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
6853 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
6855 + move-result-object v1
6857 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6859 + move-result-object v1
6861 + invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
6863 + iput-object p1, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
6865 + new-instance v0, Landroid/privacy/PrivacyPersistenceAdapter;
6867 + invoke-direct {v0, p1}, Landroid/privacy/PrivacyPersistenceAdapter;-><init>(Landroid/content/Context;)V
6869 + iput-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
6871 + new-instance v0, Landroid/privacy/PrivacyFileObserver;
6873 + const-string v1, "/data/system/privacy"
6875 + invoke-direct {v0, v1, p0}, Landroid/privacy/PrivacyFileObserver;-><init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
6877 + sput-object v0, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
6879 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
6881 + const-string v1, "enabled"
6883 + invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->getValue(Ljava/lang/String;)Ljava/lang/String;
6885 + move-result-object v0
6887 + const-string v1, "1"
6889 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
6893 + iput-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->enabled:Z
6895 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
6897 + const-string/jumbo v1, "notifications_enabled"
6899 + invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->getValue(Ljava/lang/String;)Ljava/lang/String;
6901 + move-result-object v0
6903 + const-string v1, "1"
6905 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
6909 + iput-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->notificationsEnabled:Z
6913 + iput-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->bootCompleted:Z
6920 +.method public addObserver(Ljava/lang/String;)V
6923 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
6925 + const-string v1, "android.privacy.WRITE_PRIVACY_SETTINGS"
6927 + const-string v2, "Requires WRITE_PRIVACY_SETTINGS"
6929 + invoke-virtual {v0, v1, v2}, Landroid/content/Context;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
6931 + sget-object v0, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
6933 + invoke-virtual {v0, p1}, Landroid/privacy/PrivacyFileObserver;->addObserver(Ljava/lang/String;)V
6938 +.method public deleteSettings(Ljava/lang/String;)Z
6943 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
6947 + const/16 v3, 0x3e8
6949 + if-eq v2, v3, :cond_12
6951 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
6953 + const-string v3, "android.privacy.WRITE_PRIVACY_SETTINGS"
6955 + const-string v4, "Requires WRITE_PRIVACY_SETTINGS"
6957 + invoke-virtual {v2, v3, v4}, Landroid/content/Context;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
6960 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
6962 + invoke-virtual {v2, p1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteSettings(Ljava/lang/String;)Z
6966 + new-instance v2, Ljava/lang/StringBuilder;
6968 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
6970 + const-string v3, "/data/system/privacy/"
6972 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6974 + move-result-object v2
6976 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6978 + move-result-object v2
6980 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6982 + move-result-object v0
6984 + new-instance v2, Ljava/io/File;
6986 + invoke-direct {v2, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
6988 + invoke-virtual {v2}, Ljava/io/File;->exists()Z
6992 + if-eqz v2, :cond_3e
6994 + if-ne v1, v5, :cond_3e
6996 + sget-object v2, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
6998 + invoke-virtual {v2, v0}, Landroid/privacy/PrivacyFileObserver;->addObserver(Ljava/lang/String;)V
7005 + if-ne v1, v5, :cond_3d
7007 + sget-object v2, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
7009 + iget-object v2, v2, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap;
7011 + invoke-virtual {v2, v0}, Ljava/util/HashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
7016 +.method public getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
7019 + iget-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->enabled:Z
7021 + if-nez v0, :cond_12
7023 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
7025 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
7027 + move-result-object v0
7029 + const-string v1, "com.privacy.pdroid"
7031 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
7035 + if-eqz v0, :cond_1a
7038 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
7042 + invoke-virtual {v0, p1, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->getSettings(Ljava/lang/String;Z)Landroid/privacy/PrivacySettings;
7044 + move-result-object v0
7055 +.method public getVersion()D
7058 + const-wide v0, 0x3ff51eb851eb851fL
7063 +.method public notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
7066 + iget-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->bootCompleted:Z
7068 + if-eqz v1, :cond_34
7070 + iget-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->notificationsEnabled:Z
7072 + if-eqz v1, :cond_34
7074 + new-instance v0, Landroid/content/Intent;
7076 + invoke-direct {v0}, Landroid/content/Intent;-><init>()V
7078 + const-string v1, "com.privacy.pdroid.PRIVACY_NOTIFICATION"
7080 + invoke-virtual {v0, v1}, Landroid/content/Intent;->setAction(Ljava/lang/String;)Landroid/content/Intent;
7082 + const-string/jumbo v1, "packageName"
7084 + invoke-virtual {v0, v1, p1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
7086 + const-string/jumbo v1, "uid"
7090 + invoke-virtual {v0, v1, v2}, Landroid/content/Intent;->putExtra(Ljava/lang/String;I)Landroid/content/Intent;
7092 + const-string v1, "accessMode"
7094 + invoke-virtual {v0, v1, p2}, Landroid/content/Intent;->putExtra(Ljava/lang/String;B)Landroid/content/Intent;
7096 + const-string v1, "dataType"
7098 + invoke-virtual {v0, v1, p3}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
7100 + const-string/jumbo v1, "output"
7102 + invoke-virtual {v0, v1, p4}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
7104 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
7106 + invoke-virtual {v1, v0}, Landroid/content/Context;->sendBroadcast(Landroid/content/Intent;)V
7112 +.method public purgeSettings()Z
7115 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
7117 + invoke-virtual {v0}, Landroid/privacy/PrivacyPersistenceAdapter;->purgeSettings()Z
7124 +.method public registerObservers()V
7127 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
7129 + const-string v1, "android.privacy.WRITE_PRIVACY_SETTINGS"
7131 + const-string v2, "Requires WRITE_PRIVACY_SETTINGS"
7133 + invoke-virtual {v0, v1, v2}, Landroid/content/Context;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
7135 + new-instance v0, Landroid/privacy/PrivacyFileObserver;
7137 + const-string v1, "/data/system/privacy"
7139 + invoke-direct {v0, v1, p0}, Landroid/privacy/PrivacyFileObserver;-><init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
7141 + sput-object v0, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
7146 +.method public saveSettings(Landroid/privacy/PrivacySettings;)Z
7149 + const-string v1, "PrivacySettingsManagerService"
7151 + new-instance v2, Ljava/lang/StringBuilder;
7153 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
7155 + const-string/jumbo v3, "saveSettings - checking if caller (UID: "
7157 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7159 + move-result-object v2
7161 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
7165 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
7167 + move-result-object v2
7169 + const-string v3, ") has sufficient permissions"
7171 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7173 + move-result-object v2
7175 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
7177 + move-result-object v2
7179 + invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
7181 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
7185 + const/16 v2, 0x3e8
7187 + if-eq v1, v2, :cond_34
7189 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
7191 + const-string v2, "android.privacy.WRITE_PRIVACY_SETTINGS"
7193 + const-string v3, "Requires WRITE_PRIVACY_SETTINGS"
7195 + invoke-virtual {v1, v2, v3}, Landroid/content/Context;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
7198 + const-string v1, "PrivacySettingsManagerService"
7200 + new-instance v2, Ljava/lang/StringBuilder;
7202 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
7204 + const-string/jumbo v3, "saveSettings - "
7206 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7208 + move-result-object v2
7210 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
7212 + move-result-object v2
7214 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
7216 + move-result-object v2
7218 + invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
7220 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
7222 + invoke-virtual {v1, p1}, Landroid/privacy/PrivacyPersistenceAdapter;->saveSettings(Landroid/privacy/PrivacySettings;)Z
7228 + if-ne v0, v1, :cond_5f
7230 + sget-object v1, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
7232 + invoke-virtual {p1}, Landroid/privacy/PrivacySettings;->getPackageName()Ljava/lang/String;
7234 + move-result-object v2
7236 + invoke-virtual {v1, v2}, Landroid/privacy/PrivacyFileObserver;->addObserver(Ljava/lang/String;)V
7242 +.method public setBootCompleted()V
7247 + iput-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->bootCompleted:Z
7252 +.method public setEnabled(Z)Z
7257 + if-eqz p1, :cond_12
7259 + const-string v0, "1"
7262 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
7264 + const-string v3, "enabled"
7266 + invoke-virtual {v2, v3, v0}, Landroid/privacy/PrivacyPersistenceAdapter;->setValue(Ljava/lang/String;Ljava/lang/String;)Z
7270 + if-eqz v2, :cond_15
7272 + iput-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->enabled:Z
7278 + const-string v0, "0"
7288 +.method public setNotificationsEnabled(Z)Z
7293 + if-eqz p1, :cond_15
7295 + const-string v0, "1"
7298 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
7300 + const-string/jumbo v3, "notifications_enabled"
7302 + invoke-virtual {v2, v3, v0}, Landroid/privacy/PrivacyPersistenceAdapter;->setValue(Ljava/lang/String;Ljava/lang/String;)Z
7306 + if-eqz v2, :cond_18
7308 + iput-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->notificationsEnabled:Z
7310 + iput-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->bootCompleted:Z
7316 + const-string v0, "0"
7325 diff -Npru stock-framework/smali/android/privacy/PrivacySettingsManager.smali pdroid-framework/smali/android/privacy/PrivacySettingsManager.smali
7326 --- stock-framework/smali/android/privacy/PrivacySettingsManager.smali 1969-12-31 18:00:00.000000000 -0600
7327 +++ pdroid-framework/smali/android/privacy/PrivacySettingsManager.smali 2012-08-20 18:17:10.716276181 -0500
7329 +.class public Landroid/privacy/PrivacySettingsManager;
7330 +.super Ljava/lang/Object;
7331 +.source "PrivacySettingsManager.java"
7335 +.field public static final ACTION_PRIVACY_NOTIFICATION:Ljava/lang/String; = "com.privacy.pdroid.PRIVACY_NOTIFICATION"
7337 +.field private static final TAG:Ljava/lang/String; = "PrivacySettingsManager"
7341 +.field private service:Landroid/privacy/IPrivacySettingsManager;
7345 +.method public constructor <init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
7348 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
7350 + iput-object p2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7357 +.method public addObserver(Ljava/lang/String;)V
7361 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7363 + if-eqz v1, :cond_a
7365 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7367 + invoke-interface {v1, p1}, Landroid/privacy/IPrivacySettingsManager;->addObserver(Ljava/lang/String;)V
7373 + const-string v1, "PrivacySettingsManager"
7375 + const-string v2, "deleteSettings - PrivacySettingsManagerService is null"
7377 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7379 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_11} :catch_12
7386 + const-string v1, "PrivacySettingsManager"
7388 + const-string v2, "RemoteException in addObserver: "
7390 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7395 +.method public deleteSettings(Ljava/lang/String;)Z
7398 + invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettingsManager;->deleteSettings(Ljava/lang/String;)Z
7405 +.method public deleteSettings(Ljava/lang/String;I)Z
7411 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7413 + if-eqz v2, :cond_c
7415 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7417 + invoke-interface {v2, p1}, Landroid/privacy/IPrivacySettingsManager;->deleteSettings(Ljava/lang/String;)Z
7425 + const-string v2, "PrivacySettingsManager"
7427 + const-string v3, "deleteSettings - PrivacySettingsManagerService is null"
7429 + invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7431 + .catch Landroid/os/RemoteException; {:try_start_1 .. :try_end_13} :catch_14
7438 + const-string v2, "PrivacySettingsManager"
7440 + const-string v3, "RemoteException in deleteSettings: "
7442 + invoke-static {v2, v3, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7447 +.method public getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
7453 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7455 + if-eqz v2, :cond_c
7457 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7459 + invoke-interface {v2, p1}, Landroid/privacy/IPrivacySettingsManager;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
7461 + move-result-object v1
7467 + const-string v2, "PrivacySettingsManager"
7469 + const-string v3, "getSettings - PrivacySettingsManagerService is null"
7471 + invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7473 + .catch Landroid/os/RemoteException; {:try_start_1 .. :try_end_13} :catch_14
7480 + invoke-virtual {v0}, Landroid/os/RemoteException;->printStackTrace()V
7485 +.method public getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
7488 + invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
7490 + move-result-object v0
7495 +.method public getVersion()D
7499 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7501 + if-eqz v1, :cond_b
7503 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7505 + invoke-interface {v1}, Landroid/privacy/IPrivacySettingsManager;->getVersion()D
7507 + move-result-wide v1
7513 + const-string v1, "PrivacySettingsManager"
7515 + const-string v2, "getVersion - PrivacySettingsManagerService is null"
7517 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7519 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_12} :catch_15
7522 + const-wide/16 v1, 0x0
7529 + const-string v1, "PrivacySettingsManager"
7531 + const-string v2, "RemoteException in getVersion: "
7533 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7538 +.method public isServiceAvailable()Z
7541 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7543 + if-eqz v0, :cond_6
7556 +.method public notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
7560 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7562 + if-eqz v1, :cond_a
7564 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7566 + invoke-interface {v1, p1, p2, p3, p4}, Landroid/privacy/IPrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
7572 + const-string v1, "PrivacySettingsManager"
7574 + const-string v2, "deleteSettings - PrivacySettingsManagerService is null"
7576 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7578 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_11} :catch_12
7585 + const-string v1, "PrivacySettingsManager"
7587 + const-string v2, "RemoteException in notification: "
7589 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7594 +.method public notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
7597 + move-object v0, p0
7599 + move-object v1, p1
7603 + move-object v3, p4
7605 + move-object v4, p5
7607 + move-object v5, p6
7609 + invoke-virtual/range {v0 .. v5}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
7614 +.method public purgeSettings()Z
7618 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7620 + if-eqz v1, :cond_b
7622 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7624 + invoke-interface {v1}, Landroid/privacy/IPrivacySettingsManager;->purgeSettings()Z
7632 + const-string v1, "PrivacySettingsManager"
7634 + const-string v2, "deleteSettings - PrivacySettingsManagerService is null"
7636 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7638 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_12} :catch_14
7648 + const-string v1, "PrivacySettingsManager"
7650 + const-string v2, "RemoteException in purgeSettings: "
7652 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7657 +.method public registerObservers()V
7661 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7663 + if-eqz v1, :cond_a
7665 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7667 + invoke-interface {v1}, Landroid/privacy/IPrivacySettingsManager;->registerObservers()V
7673 + const-string v1, "PrivacySettingsManager"
7675 + const-string v2, "deleteSettings - PrivacySettingsManagerService is null"
7677 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7679 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_11} :catch_12
7686 + const-string v1, "PrivacySettingsManager"
7688 + const-string v2, "RemoteException in registerObservers: "
7690 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7695 +.method public saveSettings(Landroid/privacy/PrivacySettings;)Z
7701 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7703 + if-eqz v2, :cond_c
7705 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7707 + invoke-interface {v2, p1}, Landroid/privacy/IPrivacySettingsManager;->saveSettings(Landroid/privacy/PrivacySettings;)Z
7715 + const-string v2, "PrivacySettingsManager"
7717 + const-string/jumbo v3, "saveSettings - PrivacySettingsManagerService is null"
7719 + invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7721 + .catch Landroid/os/RemoteException; {:try_start_1 .. :try_end_14} :catch_15
7728 + const-string v2, "PrivacySettingsManager"
7730 + const-string v3, "RemoteException in saveSettings: "
7732 + invoke-static {v2, v3, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7737 +.method public setBootCompleted()V
7741 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7743 + if-eqz v1, :cond_a
7745 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7747 + invoke-interface {v1}, Landroid/privacy/IPrivacySettingsManager;->setBootCompleted()V
7753 + const-string v1, "PrivacySettingsManager"
7755 + const-string/jumbo v2, "setBootCompleted - PrivacySettingsManagerService is null"
7757 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7759 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_12} :catch_13
7766 + const-string v1, "PrivacySettingsManager"
7768 + const-string v2, "RemoteException in setBootCompleted: "
7770 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7775 +.method public setEnabled(Z)Z
7779 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7781 + if-eqz v1, :cond_b
7783 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7785 + invoke-interface {v1, p1}, Landroid/privacy/IPrivacySettingsManager;->setEnabled(Z)Z
7793 + const-string v1, "PrivacySettingsManager"
7795 + const-string/jumbo v2, "setEnabled - PrivacySettingsManagerService is null"
7797 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7799 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_13} :catch_15
7809 + const-string v1, "PrivacySettingsManager"
7811 + const-string v2, "RemoteException in setEnabled: "
7813 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7818 +.method public setNotificationsEnabled(Z)Z
7822 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7824 + if-eqz v1, :cond_b
7826 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7828 + invoke-interface {v1, p1}, Landroid/privacy/IPrivacySettingsManager;->setNotificationsEnabled(Z)Z
7836 + const-string v1, "PrivacySettingsManager"
7838 + const-string/jumbo v2, "setNotificationsEnabled - PrivacySettingsManagerService is null"
7840 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7842 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_13} :catch_15
7852 + const-string v1, "PrivacySettingsManager"
7854 + const-string v2, "RemoteException in setNotificationsEnabled: "
7856 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7860 diff -Npru stock-framework/smali/android/privacy/PrivacySettings.smali pdroid-framework/smali/android/privacy/PrivacySettings.smali
7861 --- stock-framework/smali/android/privacy/PrivacySettings.smali 1969-12-31 18:00:00.000000000 -0600
7862 +++ pdroid-framework/smali/android/privacy/PrivacySettings.smali 2012-08-20 18:17:10.716276181 -0500
7864 +.class public final Landroid/privacy/PrivacySettings;
7865 +.super Ljava/lang/Object;
7866 +.source "PrivacySettings.java"
7869 +.implements Landroid/os/Parcelable;
7873 +.field public static final CREATOR:Landroid/os/Parcelable$Creator; = null
7874 + .annotation system Ldalvik/annotation/Signature;
7876 + "Landroid/os/Parcelable$Creator",
7878 + "Landroid/privacy/PrivacySettings;",
7884 +.field public static final CUSTOM:B = 0x2t
7886 +.field public static final DATA_ACCOUNTS_LIST:Ljava/lang/String; = "accountsList"
7888 +.field public static final DATA_AUTH_TOKENS:Ljava/lang/String; = "authTokens"
7890 +.field public static final DATA_BOOKMARKS:Ljava/lang/String; = "bookmarks"
7892 +.field public static final DATA_CALENDAR:Ljava/lang/String; = "calendar"
7894 +.field public static final DATA_CALL_LOG:Ljava/lang/String; = "callLog"
7896 +.field public static final DATA_CONTACTS:Ljava/lang/String; = "contacts"
7898 +.field public static final DATA_DEVICE_ID:Ljava/lang/String; = "deviceID"
7900 +.field public static final DATA_INCOMING_CALL:Ljava/lang/String; = "incomingCall"
7902 +.field public static final DATA_INTENT_BOOT_COMPLETED:Ljava/lang/String; = "intentBootCompleted"
7904 +.field public static final DATA_LINE_1_NUMBER:Ljava/lang/String; = "line1Number"
7906 +.field public static final DATA_LOCATION_GPS:Ljava/lang/String; = "locationGPS"
7908 +.field public static final DATA_LOCATION_NETWORK:Ljava/lang/String; = "locationNetwork"
7910 +.field public static final DATA_MMS:Ljava/lang/String; = "mms"
7912 +.field public static final DATA_MMS_SMS:Ljava/lang/String; = "mmsSms"
7914 +.field public static final DATA_NETWORK_INFO_CURRENT:Ljava/lang/String; = "networkInfoCurrent"
7916 +.field public static final DATA_NETWORK_INFO_SIM:Ljava/lang/String; = "networkInfoSIM"
7918 +.field public static final DATA_OUTGOING_CALL:Ljava/lang/String; = "outgoingCall"
7920 +.field public static final DATA_SIM_SERIAL:Ljava/lang/String; = "simSerial"
7922 +.field public static final DATA_SMS:Ljava/lang/String; = "sms"
7924 +.field public static final DATA_SUBSCRIBER_ID:Ljava/lang/String; = "subscriberID"
7926 +.field public static final DATA_SYSTEM_LOGS:Ljava/lang/String; = "systemLogs"
7928 +.field public static final EMPTY:B = 0x1t
7930 +.field public static final RANDOM:B = 0x3t
7932 +.field public static final REAL:B = 0x0t
7934 +.field public static final SETTING_NOTIFY_OFF:B = 0x0t
7936 +.field public static final SETTING_NOTIFY_ON:B = 0x1t
7940 +.field private final _id:Ljava/lang/Integer;
7942 +.field private accountsAuthTokensSetting:B
7944 +.field private accountsSetting:B
7946 +.field private allowedContacts:[I
7948 +.field private bookmarksSetting:B
7950 +.field private calendarSetting:B
7952 +.field private callLogSetting:B
7954 +.field private contactsSetting:B
7956 +.field private deviceId:Ljava/lang/String;
7958 +.field private deviceIdSetting:B
7960 +.field private incomingCallsSetting:B
7962 +.field private intentBootCompletedSetting:B
7964 +.field private line1Number:Ljava/lang/String;
7966 +.field private line1NumberSetting:B
7968 +.field private locationGpsLat:Ljava/lang/String;
7970 +.field private locationGpsLon:Ljava/lang/String;
7972 +.field private locationGpsSetting:B
7974 +.field private locationNetworkLat:Ljava/lang/String;
7976 +.field private locationNetworkLon:Ljava/lang/String;
7978 +.field private locationNetworkSetting:B
7980 +.field private mmsSetting:B
7982 +.field private networkInfoSetting:B
7984 +.field private notificationSetting:B
7986 +.field private outgoingCallsSetting:B
7988 +.field private packageName:Ljava/lang/String;
7990 +.field private simInfoSetting:B
7992 +.field private simSerialNumber:Ljava/lang/String;
7994 +.field private simSerialNumberSetting:B
7996 +.field private smsSetting:B
7998 +.field private subscriberId:Ljava/lang/String;
8000 +.field private subscriberIdSetting:B
8002 +.field private systemLogsSetting:B
8004 +.field private uid:I
8008 +.method static constructor <clinit>()V
8011 + new-instance v0, Landroid/privacy/PrivacySettings$1;
8013 + invoke-direct {v0}, Landroid/privacy/PrivacySettings$1;-><init>()V
8015 + sput-object v0, Landroid/privacy/PrivacySettings;->CREATOR:Landroid/os/Parcelable$Creator;
8020 +.method public constructor <init>(Landroid/os/Parcel;)V
8023 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
8025 + invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I
8031 + if-ne v0, v1, :cond_ce
8036 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
8038 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
8040 + move-result-object v1
8042 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
8044 + invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I
8048 + iput v1, p0, Landroid/privacy/PrivacySettings;->uid:I
8050 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8054 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
8056 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
8058 + move-result-object v1
8060 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
8062 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8066 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
8068 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
8070 + move-result-object v1
8072 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
8074 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8078 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8080 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
8082 + move-result-object v1
8084 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
8086 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
8088 + move-result-object v1
8090 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
8092 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8096 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8098 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
8100 + move-result-object v1
8102 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
8104 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
8106 + move-result-object v1
8108 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
8110 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8114 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
8116 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8120 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
8122 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8126 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
8128 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
8130 + move-result-object v1
8132 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
8134 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8138 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
8140 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
8142 + move-result-object v1
8144 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
8146 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8150 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
8152 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8156 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
8158 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8162 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
8164 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8168 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
8170 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8174 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
8176 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8180 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
8182 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8186 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
8188 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8192 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
8194 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8198 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
8200 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8204 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
8206 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8210 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
8212 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8216 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
8218 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8222 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
8224 + invoke-virtual {p1}, Landroid/os/Parcel;->createIntArray()[I
8226 + move-result-object v1
8228 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
8233 + invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
8235 + move-result-object v1
8240 +.method public constructor <init>(Ljava/lang/Integer;Ljava/lang/String;I)V
8247 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
8249 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
8251 + iput-object p2, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
8253 + iput p3, p0, Landroid/privacy/PrivacySettings;->uid:I
8255 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
8257 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
8259 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
8261 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
8263 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8265 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
8267 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
8269 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8271 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
8273 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
8275 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
8277 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
8279 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
8281 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
8283 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
8285 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
8287 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
8289 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
8291 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
8293 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
8295 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
8297 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
8299 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
8301 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
8303 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
8305 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
8307 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
8309 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
8311 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
8313 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
8318 +.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
8321 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
8323 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
8325 + iput-object p2, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
8327 + iput p3, p0, Landroid/privacy/PrivacySettings;->uid:I
8329 + iput-byte p4, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
8331 + iput-object p5, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
8333 + iput-byte p6, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
8335 + iput-object p7, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
8337 + iput-byte p8, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8339 + iput-object p9, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
8341 + iput-object p10, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
8343 + iput-byte p11, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8345 + iput-object p12, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
8347 + iput-object p13, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
8349 + iput-byte p14, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
8351 + move/from16 v0, p15
8353 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
8355 + move/from16 v0, p16
8357 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
8359 + move-object/from16 v0, p17
8361 + iput-object v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
8363 + move/from16 v0, p18
8365 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
8367 + move-object/from16 v0, p19
8369 + iput-object v0, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
8371 + move/from16 v0, p20
8373 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
8375 + move/from16 v0, p21
8377 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
8379 + move/from16 v0, p22
8381 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
8383 + move/from16 v0, p23
8385 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
8387 + move/from16 v0, p24
8389 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
8391 + move/from16 v0, p25
8393 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
8395 + move/from16 v0, p26
8397 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
8399 + move/from16 v0, p27
8401 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
8403 + move/from16 v0, p28
8405 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
8407 + move/from16 v0, p29
8409 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
8411 + move/from16 v0, p30
8413 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
8415 + move/from16 v0, p34
8417 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
8419 + move/from16 v0, p35
8421 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
8423 + move-object/from16 v0, p36
8425 + iput-object v0, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
8430 +.method private getRandomLat()Ljava/lang/String;
8433 + const-wide v7, 0x4056800000000000L
8435 + invoke-static {}, Ljava/lang/Math;->random()D
8437 + move-result-wide v3
8439 + const-wide v5, 0x4066800000000000L
8441 + mul-double v0, v3, v5
8443 + cmpl-double v3, v0, v7
8445 + if-lez v3, :cond_35
8447 + new-instance v2, Ljava/math/BigDecimal;
8449 + sub-double v3, v0, v7
8451 + invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;-><init>(D)V
8454 + new-instance v3, Ljava/lang/StringBuilder;
8456 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
8462 + invoke-virtual {v2, v4, v5}, Ljava/math/BigDecimal;->setScale(II)Ljava/math/BigDecimal;
8464 + move-result-object v4
8466 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
8468 + move-result-object v3
8470 + const-string v4, ""
8472 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8474 + move-result-object v3
8476 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8478 + move-result-object v3
8483 + new-instance v2, Ljava/math/BigDecimal;
8487 + invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;-><init>(D)V
8492 +.method private getRandomLon()Ljava/lang/String;
8495 + const-wide v7, 0x4066800000000000L
8497 + invoke-static {}, Ljava/lang/Math;->random()D
8499 + move-result-wide v3
8501 + const-wide v5, 0x4076800000000000L
8503 + mul-double v0, v3, v5
8505 + cmpl-double v3, v0, v7
8507 + if-lez v3, :cond_35
8509 + new-instance v2, Ljava/math/BigDecimal;
8511 + sub-double v3, v0, v7
8513 + invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;-><init>(D)V
8516 + new-instance v3, Ljava/lang/StringBuilder;
8518 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
8524 + invoke-virtual {v2, v4, v5}, Ljava/math/BigDecimal;->setScale(II)Ljava/math/BigDecimal;
8526 + move-result-object v4
8528 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
8530 + move-result-object v3
8532 + const-string v4, ""
8534 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8536 + move-result-object v3
8538 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8540 + move-result-object v3
8545 + new-instance v2, Ljava/math/BigDecimal;
8549 + invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;-><init>(D)V
8556 +.method public describeContents()I
8564 +.method public getAccountsAuthTokensSetting()B
8567 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
8572 +.method public getAccountsSetting()B
8575 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
8580 +.method public getAllowedContacts()[I
8583 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
8588 +.method public getBookmarksSetting()B
8591 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
8596 +.method public getCalendarSetting()B
8599 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
8604 +.method public getCallLogSetting()B
8607 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
8612 +.method public getContactsSetting()B
8615 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
8620 +.method public getDeviceId()Ljava/lang/String;
8623 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
8627 + if-ne v2, v3, :cond_8
8629 + const-string v2, ""
8635 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
8639 + if-ne v2, v3, :cond_35
8641 + new-instance v0, Ljava/util/Random;
8643 + invoke-direct {v0}, Ljava/util/Random;-><init>()V
8645 + new-instance v2, Ljava/lang/StringBuilder;
8647 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
8649 + invoke-virtual {v0}, Ljava/util/Random;->nextLong()J
8651 + move-result-wide v3
8653 + invoke-static {v3, v4}, Ljava/lang/Math;->abs(J)J
8655 + move-result-wide v3
8657 + invoke-virtual {v2, v3, v4}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
8659 + move-result-object v2
8661 + const-string v3, ""
8663 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8665 + move-result-object v2
8667 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8669 + move-result-object v1
8675 + invoke-virtual {v1, v2, v3}, Ljava/lang/String;->substring(II)Ljava/lang/String;
8677 + move-result-object v2
8682 + iget-object v2, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
8687 +.method public getDeviceIdSetting()B
8690 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
8695 +.method public getIncomingCallsSetting()B
8698 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
8703 +.method public getIntentBootCompletedSetting()B
8706 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
8711 +.method public getLine1Number()Ljava/lang/String;
8714 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
8718 + if-ne v2, v3, :cond_8
8720 + const-string v2, ""
8726 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
8730 + if-ne v2, v3, :cond_3b
8732 + new-instance v0, Ljava/util/Random;
8734 + invoke-direct {v0}, Ljava/util/Random;-><init>()V
8736 + new-instance v2, Ljava/lang/StringBuilder;
8738 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
8740 + const-string v3, "+"
8742 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8744 + move-result-object v2
8746 + invoke-virtual {v0}, Ljava/util/Random;->nextLong()J
8748 + move-result-wide v3
8750 + invoke-static {v3, v4}, Ljava/lang/Math;->abs(J)J
8752 + move-result-wide v3
8754 + invoke-virtual {v2, v3, v4}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
8756 + move-result-object v2
8758 + const-string v3, ""
8760 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8762 + move-result-object v2
8764 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8766 + move-result-object v1
8772 + invoke-virtual {v1, v2, v3}, Ljava/lang/String;->substring(II)Ljava/lang/String;
8774 + move-result-object v2
8779 + iget-object v2, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
8784 +.method public getLine1NumberSetting()B
8787 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
8792 +.method public getLocationGpsLat()Ljava/lang/String;
8795 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8799 + if-ne v0, v1, :cond_8
8801 + const-string v0, ""
8807 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8811 + if-ne v0, v1, :cond_12
8813 + invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLat()Ljava/lang/String;
8815 + move-result-object v0
8820 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
8825 +.method public getLocationGpsLon()Ljava/lang/String;
8828 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8832 + if-ne v0, v1, :cond_8
8834 + const-string v0, ""
8840 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8844 + if-ne v0, v1, :cond_12
8846 + invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLon()Ljava/lang/String;
8848 + move-result-object v0
8853 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
8858 +.method public getLocationGpsSetting()B
8861 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8866 +.method public getLocationNetworkLat()Ljava/lang/String;
8869 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8873 + if-ne v0, v1, :cond_8
8875 + const-string v0, ""
8881 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8885 + if-ne v0, v1, :cond_12
8887 + invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLat()Ljava/lang/String;
8889 + move-result-object v0
8894 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
8899 +.method public getLocationNetworkLon()Ljava/lang/String;
8902 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8906 + if-ne v0, v1, :cond_8
8908 + const-string v0, ""
8914 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8918 + if-ne v0, v1, :cond_12
8920 + invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLon()Ljava/lang/String;
8922 + move-result-object v0
8927 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
8932 +.method public getLocationNetworkSetting()B
8935 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8940 +.method public getMmsSetting()B
8943 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
8948 +.method public getNetworkInfoSetting()B
8951 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
8956 +.method public getNotificationSetting()B
8959 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
8964 +.method public getOutgoingCallsSetting()B
8967 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
8972 +.method public getPackageName()Ljava/lang/String;
8975 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
8980 +.method public getSimInfoSetting()B
8983 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
8988 +.method public getSimSerialNumber()Ljava/lang/String;
8991 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
8995 + if-ne v1, v2, :cond_8
8997 + const-string v1, ""
9003 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
9007 + if-ne v1, v2, :cond_2e
9009 + new-instance v0, Ljava/util/Random;
9011 + invoke-direct {v0}, Ljava/util/Random;-><init>()V
9013 + new-instance v1, Ljava/lang/StringBuilder;
9015 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
9017 + invoke-virtual {v0}, Ljava/util/Random;->nextLong()J
9019 + move-result-wide v2
9021 + invoke-static {v2, v3}, Ljava/lang/Math;->abs(J)J
9023 + move-result-wide v2
9025 + invoke-virtual {v1, v2, v3}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
9027 + move-result-object v1
9029 + const-string v2, ""
9031 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9033 + move-result-object v1
9035 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
9037 + move-result-object v1
9042 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
9047 +.method public getSimSerialNumberSetting()B
9050 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
9055 +.method public getSmsSetting()B
9058 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
9063 +.method public getSubscriberId()Ljava/lang/String;
9066 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
9070 + if-ne v2, v3, :cond_8
9072 + const-string v2, ""
9078 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
9082 + if-ne v2, v3, :cond_35
9084 + new-instance v0, Ljava/util/Random;
9086 + invoke-direct {v0}, Ljava/util/Random;-><init>()V
9088 + new-instance v2, Ljava/lang/StringBuilder;
9090 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
9092 + invoke-virtual {v0}, Ljava/util/Random;->nextLong()J
9094 + move-result-wide v3
9096 + invoke-static {v3, v4}, Ljava/lang/Math;->abs(J)J
9098 + move-result-wide v3
9100 + invoke-virtual {v2, v3, v4}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
9102 + move-result-object v2
9104 + const-string v3, ""
9106 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9108 + move-result-object v2
9110 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
9112 + move-result-object v1
9118 + invoke-virtual {v1, v2, v3}, Ljava/lang/String;->substring(II)Ljava/lang/String;
9120 + move-result-object v2
9125 + iget-object v2, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
9130 +.method public getSubscriberIdSetting()B
9133 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
9138 +.method public getSystemLogsSetting()B
9141 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
9146 +.method public getUid()I
9149 + iget v0, p0, Landroid/privacy/PrivacySettings;->uid:I
9154 +.method public get_id()Ljava/lang/Integer;
9157 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
9162 +.method public setAccountsAuthTokensSetting(B)V
9165 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
9170 +.method public setAccountsSetting(B)V
9173 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
9178 +.method public setAllowedContacts([I)V
9181 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
9186 +.method public setBookmarksSetting(B)V
9189 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
9194 +.method public setCalendarSetting(B)V
9197 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
9202 +.method public setCallLogSetting(B)V
9205 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
9210 +.method public setContactsSetting(B)V
9213 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
9218 +.method public setDeviceId(Ljava/lang/String;)V
9221 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
9226 +.method public setDeviceIdSetting(B)V
9229 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
9234 +.method public setIncomingCallsSetting(B)V
9237 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
9242 +.method public setIntentBootCompletedSetting(B)V
9245 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
9250 +.method public setLine1Number(Ljava/lang/String;)V
9253 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
9258 +.method public setLine1NumberSetting(B)V
9261 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
9266 +.method public setLocationGpsLat(Ljava/lang/String;)V
9269 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
9274 +.method public setLocationGpsLon(Ljava/lang/String;)V
9277 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
9282 +.method public setLocationGpsSetting(B)V
9285 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
9290 +.method public setLocationNetworkLat(Ljava/lang/String;)V
9293 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
9298 +.method public setLocationNetworkLon(Ljava/lang/String;)V
9301 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
9306 +.method public setLocationNetworkSetting(B)V
9309 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
9314 +.method public setMmsSetting(B)V
9317 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
9322 +.method public setNetworkInfoSetting(B)V
9325 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
9330 +.method public setNotificationSetting(B)V
9333 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
9338 +.method public setOutgoingCallsSetting(B)V
9341 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
9346 +.method public setPackageName(Ljava/lang/String;)V
9349 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
9354 +.method public setSimInfoSetting(B)V
9357 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
9362 +.method public setSimSerialNumber(Ljava/lang/String;)V
9365 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
9370 +.method public setSimSerialNumberSetting(B)V
9373 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
9378 +.method public setSmsSetting(B)V
9381 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
9386 +.method public setSubscriberId(Ljava/lang/String;)V
9389 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
9394 +.method public setSubscriberIdSetting(B)V
9397 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
9402 +.method public setSystemLogsSetting(B)V
9405 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
9410 +.method public setUid(I)V
9413 + iput p1, p0, Landroid/privacy/PrivacySettings;->uid:I
9418 +.method public toString()Ljava/lang/String;
9421 + new-instance v0, Ljava/lang/StringBuilder;
9423 + invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
9425 + const-string v1, "PrivacySettings [_id="
9427 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9429 + move-result-object v0
9431 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
9433 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
9435 + move-result-object v0
9437 + const-string v1, ", accountsAuthTokensSetting="
9439 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9441 + move-result-object v0
9443 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
9445 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9447 + move-result-object v0
9449 + const-string v1, ", accountsSetting="
9451 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9453 + move-result-object v0
9455 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
9457 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9459 + move-result-object v0
9461 + const-string v1, ", bookmarksSetting="
9463 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9465 + move-result-object v0
9467 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
9469 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9471 + move-result-object v0
9473 + const-string v1, ", calendarSetting="
9475 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9477 + move-result-object v0
9479 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
9481 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9483 + move-result-object v0
9485 + const-string v1, ", callLogSetting="
9487 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9489 + move-result-object v0
9491 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
9493 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9495 + move-result-object v0
9497 + const-string v1, ", contactsSetting="
9499 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9501 + move-result-object v0
9503 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
9505 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9507 + move-result-object v0
9509 + const-string v1, ", deviceId="
9511 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9513 + move-result-object v0
9515 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
9517 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9519 + move-result-object v0
9521 + const-string v1, ", deviceIdSetting="
9523 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9525 + move-result-object v0
9527 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
9529 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9531 + move-result-object v0
9533 + const-string v1, ", incomingCallsSetting="
9535 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9537 + move-result-object v0
9539 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
9541 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9543 + move-result-object v0
9545 + const-string v1, ", intentBootCompletedSetting="
9547 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9549 + move-result-object v0
9551 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
9553 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9555 + move-result-object v0
9557 + const-string v1, ", line1Number="
9559 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9561 + move-result-object v0
9563 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
9565 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9567 + move-result-object v0
9569 + const-string v1, ", line1NumberSetting="
9571 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9573 + move-result-object v0
9575 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
9577 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9579 + move-result-object v0
9581 + const-string v1, ", locationGpsLat="
9583 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9585 + move-result-object v0
9587 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
9589 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9591 + move-result-object v0
9593 + const-string v1, ", locationGpsLon="
9595 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9597 + move-result-object v0
9599 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
9601 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9603 + move-result-object v0
9605 + const-string v1, ", locationGpsSetting="
9607 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9609 + move-result-object v0
9611 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
9613 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9615 + move-result-object v0
9617 + const-string v1, ", locationNetworkLat="
9619 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9621 + move-result-object v0
9623 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
9625 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9627 + move-result-object v0
9629 + const-string v1, ", locationNetworkLon="
9631 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9633 + move-result-object v0
9635 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
9637 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9639 + move-result-object v0
9641 + const-string v1, ", locationNetworkSetting="
9643 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9645 + move-result-object v0
9647 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
9649 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9651 + move-result-object v0
9653 + const-string v1, ", mmsSetting="
9655 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9657 + move-result-object v0
9659 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
9661 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9663 + move-result-object v0
9665 + const-string v1, ", networkInfoSetting="
9667 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9669 + move-result-object v0
9671 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
9673 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9675 + move-result-object v0
9677 + const-string v1, ", notificationSetting="
9679 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9681 + move-result-object v0
9683 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
9685 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9687 + move-result-object v0
9689 + const-string v1, ", outgoingCallsSetting="
9691 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9693 + move-result-object v0
9695 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
9697 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9699 + move-result-object v0
9701 + const-string v1, ", packageName="
9703 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9705 + move-result-object v0
9707 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
9709 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9711 + move-result-object v0
9713 + const-string v1, ", simInfoSetting="
9715 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9717 + move-result-object v0
9719 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
9721 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9723 + move-result-object v0
9725 + const-string v1, ", simSerialNumber="
9727 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9729 + move-result-object v0
9731 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
9733 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9735 + move-result-object v0
9737 + const-string v1, ", simSerialNumberSetting="
9739 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9741 + move-result-object v0
9743 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
9745 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9747 + move-result-object v0
9749 + const-string v1, ", smsSetting="
9751 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9753 + move-result-object v0
9755 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
9757 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9759 + move-result-object v0
9761 + const-string v1, ", subscriberId="
9763 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9765 + move-result-object v0
9767 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
9769 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9771 + move-result-object v0
9773 + const-string v1, ", subscriberIdSetting="
9775 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9777 + move-result-object v0
9779 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
9781 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9783 + move-result-object v0
9785 + const-string v1, ", systemLogsSetting="
9787 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9789 + move-result-object v0
9791 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
9793 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9795 + move-result-object v0
9797 + const-string v1, ", uid="
9799 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9801 + move-result-object v0
9803 + iget v1, p0, Landroid/privacy/PrivacySettings;->uid:I
9805 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9807 + move-result-object v0
9809 + const-string v1, "]"
9811 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9813 + move-result-object v0
9815 + invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
9817 + move-result-object v0
9822 +.method public writeToParcel(Landroid/os/Parcel;I)V
9825 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
9827 + if-nez v0, :cond_a9
9832 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeInt(I)V
9834 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
9836 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9838 + iget v0, p0, Landroid/privacy/PrivacySettings;->uid:I
9840 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeInt(I)V
9842 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
9844 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9846 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
9848 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9850 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
9852 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9854 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
9856 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9858 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
9860 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9862 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
9864 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9866 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
9868 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9870 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
9872 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9874 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
9876 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9878 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
9880 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9882 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
9884 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9886 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
9888 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9890 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
9892 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9894 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
9896 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9898 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
9900 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9902 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
9904 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9906 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
9908 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9910 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
9912 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9914 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
9916 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9918 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
9920 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9922 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
9924 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9926 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
9928 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9930 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
9932 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9934 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
9936 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9938 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
9940 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9942 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
9944 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9946 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
9948 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9950 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
9952 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9954 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
9956 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9958 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
9960 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeIntArray([I)V
9965 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
9967 + invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
9973 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali
9974 --- stock-framework/smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali 1969-12-31 18:00:00.000000000 -0600
9975 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali 2012-08-20 18:17:10.720276197 -0500
9977 +.class Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
9978 +.super Ljava/lang/Object;
9979 +.source "PrivacyAccountManager.java"
9982 +.implements Landroid/accounts/AccountManagerFuture;
9986 +.annotation system Ldalvik/annotation/EnclosingClass;
9987 + value = Landroid/privacy/surrogate/PrivacyAccountManager;
9990 +.annotation system Ldalvik/annotation/InnerClass;
9992 + name = "PrivacyAccountManagerFuture"
9995 +.annotation system Ldalvik/annotation/Signature;
9998 + "Ljava/lang/Object;",
10000 + "Ljava/lang/Object;",
10001 + "Landroid/accounts/AccountManagerFuture",
10008 +.field private result:Ljava/lang/Object;
10009 + .annotation system Ldalvik/annotation/Signature;
10016 +.field final synthetic this$0:Landroid/privacy/surrogate/PrivacyAccountManager;
10020 +.method public constructor <init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
10022 + .annotation system Ldalvik/annotation/Signature;
10028 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->this$0:Landroid/privacy/surrogate/PrivacyAccountManager;
10030 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
10032 + iput-object p2, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->result:Ljava/lang/Object;
10039 +.method public cancel(Z)Z
10047 +.method public getResult()Ljava/lang/Object;
10049 + .annotation system Ldalvik/annotation/Signature;
10055 + .annotation system Ldalvik/annotation/Throws;
10057 + Landroid/accounts/OperationCanceledException;,
10058 + Ljava/io/IOException;,
10059 + Landroid/accounts/AuthenticatorException;
10063 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->result:Ljava/lang/Object;
10068 +.method public getResult(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;
10070 + .annotation system Ldalvik/annotation/Signature;
10073 + "Ljava/util/concurrent/TimeUnit;",
10078 + .annotation system Ldalvik/annotation/Throws;
10080 + Landroid/accounts/OperationCanceledException;,
10081 + Ljava/io/IOException;,
10082 + Landroid/accounts/AuthenticatorException;
10086 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->result:Ljava/lang/Object;
10091 +.method public isCancelled()Z
10099 +.method public isDone()Z
10106 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyAccountManager.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyAccountManager.smali
10107 --- stock-framework/smali/android/privacy/surrogate/PrivacyAccountManager.smali 1969-12-31 18:00:00.000000000 -0600
10108 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyAccountManager.smali 2012-08-20 18:17:10.720276197 -0500
10110 +.class public final Landroid/privacy/surrogate/PrivacyAccountManager;
10111 +.super Landroid/accounts/AccountManager;
10112 +.source "PrivacyAccountManager.java"
10116 +.annotation system Ldalvik/annotation/MemberClasses;
10118 + Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10124 +.field private static final TAG:Ljava/lang/String; = "PrivacyAccountManager"
10128 +.field private context:Landroid/content/Context;
10130 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
10134 +.method public constructor <init>(Landroid/content/Context;Landroid/accounts/IAccountManager;)V
10137 + invoke-direct {p0, p1, p2}, Landroid/accounts/AccountManager;-><init>(Landroid/content/Context;Landroid/accounts/IAccountManager;)V
10139 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10141 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
10143 + const-string/jumbo v1, "privacy"
10145 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
10147 + move-result-object v1
10149 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
10151 + move-result-object v1
10153 + invoke-direct {v0, p1, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
10155 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10160 +.method public constructor <init>(Landroid/content/Context;Landroid/accounts/IAccountManager;Landroid/os/Handler;)V
10163 + invoke-direct {p0, p1, p2, p3}, Landroid/accounts/AccountManager;-><init>(Landroid/content/Context;Landroid/accounts/IAccountManager;Landroid/os/Handler;)V
10165 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10167 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
10169 + const-string/jumbo v1, "privacy"
10171 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
10173 + move-result-object v1
10175 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
10177 + move-result-object v1
10179 + invoke-direct {v0, p1, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
10181 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10188 +.method public blockingGetAuthToken(Landroid/accounts/Account;Ljava/lang/String;Z)Ljava/lang/String;
10190 + .annotation system Ldalvik/annotation/Throws;
10192 + Landroid/accounts/OperationCanceledException;,
10193 + Ljava/io/IOException;,
10194 + Landroid/accounts/AuthenticatorException;
10200 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10202 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10204 + move-result-object v1
10206 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10210 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10212 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10214 + move-result-object v6
10216 + if-eqz v6, :cond_23
10218 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
10222 + if-eqz v0, :cond_23
10226 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10230 + const-string v4, "authTokens"
10232 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10238 + invoke-super {p0, p1, p2, p3}, Landroid/accounts/AccountManager;->blockingGetAuthToken(Landroid/accounts/Account;Ljava/lang/String;Z)Ljava/lang/String;
10240 + move-result-object v7
10242 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10246 + const-string v4, "authTokens"
10248 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10253 +.method public getAccounts()[Landroid/accounts/Account;
10260 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10262 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10264 + move-result-object v1
10266 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10270 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10272 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10274 + move-result-object v6
10276 + if-eqz v6, :cond_27
10278 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
10282 + if-eqz v0, :cond_27
10284 + const-string v8, "[empty accounts list]"
10286 + new-array v7, v3, [Landroid/accounts/Account;
10288 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10292 + const-string v4, "accountsList"
10294 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10300 + const-string v8, "[real value]"
10302 + invoke-super {p0}, Landroid/accounts/AccountManager;->getAccounts()[Landroid/accounts/Account;
10304 + move-result-object v7
10306 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10308 + const-string v4, "accountsList"
10310 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10315 +.method public getAccountsByType(Ljava/lang/String;)[Landroid/accounts/Account;
10322 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10324 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10326 + move-result-object v1
10328 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10332 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10334 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10336 + move-result-object v6
10338 + if-eqz v6, :cond_27
10340 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
10344 + if-eqz v0, :cond_27
10346 + const-string v8, "[empty accounts list]"
10348 + new-array v7, v3, [Landroid/accounts/Account;
10350 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10354 + const-string v4, "accountsList"
10356 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10362 + const-string v8, "[real value]"
10364 + invoke-super {p0, p1}, Landroid/accounts/AccountManager;->getAccountsByType(Ljava/lang/String;)[Landroid/accounts/Account;
10366 + move-result-object v7
10368 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10370 + const-string v4, "accountsList"
10372 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10377 +.method public getAccountsByTypeAndFeatures(Ljava/lang/String;[Ljava/lang/String;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
10379 + .annotation system Ldalvik/annotation/Signature;
10382 + "Ljava/lang/String;",
10384 + "Ljava/lang/String;",
10385 + "Landroid/accounts/AccountManagerCallback",
10387 + "Landroid/accounts/Account;",
10389 + "Landroid/os/Handler;",
10391 + "Landroid/accounts/AccountManagerFuture",
10393 + "Landroid/accounts/Account;",
10402 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10404 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10406 + move-result-object v1
10408 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10412 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10414 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10416 + move-result-object v6
10418 + if-eqz v6, :cond_2c
10420 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
10424 + if-eqz v0, :cond_2c
10426 + const-string v8, "[false]"
10428 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10430 + new-array v0, v3, [Landroid/accounts/Account;
10432 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
10434 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10438 + const-string v4, "accountsList"
10440 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10446 + const-string v8, "[real value]"
10448 + 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;
10450 + move-result-object v7
10452 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10454 + const-string v4, "accountsList"
10456 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10461 +.method public getAuthToken(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;Landroid/app/Activity;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
10463 + .annotation system Ldalvik/annotation/Signature;
10466 + "Landroid/accounts/Account;",
10467 + "Ljava/lang/String;",
10468 + "Landroid/os/Bundle;",
10469 + "Landroid/app/Activity;",
10470 + "Landroid/accounts/AccountManagerCallback",
10472 + "Landroid/os/Bundle;",
10474 + "Landroid/os/Handler;",
10476 + "Landroid/accounts/AccountManagerFuture",
10478 + "Landroid/os/Bundle;",
10485 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10487 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10489 + move-result-object v1
10491 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10495 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10497 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10499 + move-result-object v6
10501 + if-eqz v6, :cond_2e
10503 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
10507 + if-eqz v0, :cond_2e
10509 + const-string v8, "[empty]"
10511 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10513 + new-instance v0, Landroid/os/Bundle;
10515 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
10517 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
10519 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10523 + const-string v4, "authTokens"
10525 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10531 + const-string v8, "[real value]"
10533 + 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;
10535 + move-result-object v7
10537 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10541 + const-string v4, "authTokens"
10543 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10548 +.method public getAuthToken(Landroid/accounts/Account;Ljava/lang/String;ZLandroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
10550 + .annotation system Ldalvik/annotation/Signature;
10553 + "Landroid/accounts/Account;",
10554 + "Ljava/lang/String;",
10556 + "Landroid/accounts/AccountManagerCallback",
10558 + "Landroid/os/Bundle;",
10560 + "Landroid/os/Handler;",
10562 + "Landroid/accounts/AccountManagerFuture",
10564 + "Landroid/os/Bundle;",
10571 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10573 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10575 + move-result-object v1
10577 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10581 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10583 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10585 + move-result-object v6
10587 + if-eqz v6, :cond_2e
10589 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
10593 + if-eqz v0, :cond_2e
10595 + const-string v8, "[empty]"
10597 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10599 + new-instance v0, Landroid/os/Bundle;
10601 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
10603 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
10605 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10609 + const-string v4, "authTokens"
10611 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10617 + const-string v8, "[real value]"
10619 + invoke-super/range {p0 .. p5}, Landroid/accounts/AccountManager;->getAuthToken(Landroid/accounts/Account;Ljava/lang/String;ZLandroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
10621 + move-result-object v7
10623 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10627 + const-string v4, "authTokens"
10629 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10634 +.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;
10636 + .annotation system Ldalvik/annotation/Signature;
10639 + "Ljava/lang/String;",
10640 + "Ljava/lang/String;",
10642 + "Ljava/lang/String;",
10643 + "Landroid/app/Activity;",
10644 + "Landroid/os/Bundle;",
10645 + "Landroid/os/Bundle;",
10646 + "Landroid/accounts/AccountManagerCallback",
10648 + "Landroid/os/Bundle;",
10650 + "Landroid/os/Handler;",
10652 + "Landroid/accounts/AccountManagerFuture",
10654 + "Landroid/os/Bundle;",
10659 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10661 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10663 + move-result-object v1
10665 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10669 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10671 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10673 + move-result-object v6
10675 + if-eqz v6, :cond_2e
10677 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
10681 + if-eqz v0, :cond_2e
10683 + const-string v8, "[empty]"
10685 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10687 + new-instance v0, Landroid/os/Bundle;
10689 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
10691 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
10693 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10697 + const-string v4, "authTokens"
10701 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10707 + const-string v8, "[real value]"
10709 + 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;
10711 + move-result-object v7
10713 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10717 + const-string v4, "authTokens"
10721 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10726 +.method public hasFeatures(Landroid/accounts/Account;[Ljava/lang/String;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
10728 + .annotation system Ldalvik/annotation/Signature;
10731 + "Landroid/accounts/Account;",
10733 + "Ljava/lang/String;",
10734 + "Landroid/accounts/AccountManagerCallback",
10736 + "Ljava/lang/Boolean;",
10738 + "Landroid/os/Handler;",
10740 + "Landroid/accounts/AccountManagerFuture",
10742 + "Ljava/lang/Boolean;",
10751 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10753 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10755 + move-result-object v1
10757 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10761 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10763 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10765 + move-result-object v6
10767 + if-eqz v6, :cond_2e
10769 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
10773 + if-eqz v0, :cond_2e
10775 + const-string v8, "[false]"
10777 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10779 + invoke-static {v3}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
10781 + move-result-object v0
10783 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
10785 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10789 + const-string v4, "accountsList"
10791 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10797 + const-string v8, "[real value]"
10799 + 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;
10801 + move-result-object v7
10803 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10805 + const-string v4, "accountsList"
10807 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10811 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyActivityManagerService.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyActivityManagerService.smali
10812 --- stock-framework/smali/android/privacy/surrogate/PrivacyActivityManagerService.smali 1969-12-31 18:00:00.000000000 -0600
10813 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyActivityManagerService.smali 2012-08-20 18:17:10.720276197 -0500
10815 +.class public final Landroid/privacy/surrogate/PrivacyActivityManagerService;
10816 +.super Ljava/lang/Object;
10817 +.source "PrivacyActivityManagerService.java"
10821 +.field private static final TAG:Ljava/lang/String; = "PrivacyActivityManagerService"
10823 +.field private static pSetMan:Landroid/privacy/PrivacySettingsManager;
10825 +.field private static tmpIn:Landroid/content/Intent;
10827 +.field private static tmpInHash:J
10829 +.field private static tmpInReceivers:I
10831 +.field private static tmpMms:Landroid/content/Intent;
10833 +.field private static tmpMmsHash:J
10835 +.field private static tmpMmsReceivers:I
10837 +.field private static tmpOut:Landroid/content/Intent;
10839 +.field private static tmpOutHash:J
10841 +.field private static tmpOutReceivers:I
10843 +.field private static tmpPackageAddedHash:J
10845 +.field private static tmpSms:Landroid/content/Intent;
10847 +.field private static tmpSmsHash:J
10849 +.field private static tmpSmsReceivers:I
10853 +.method static constructor <clinit>()V
10858 + const-wide/16 v0, 0x0
10860 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInHash:J
10862 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
10864 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutHash:J
10866 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
10868 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsHash:J
10870 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
10872 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsHash:J
10874 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
10876 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpPackageAddedHash:J
10881 +.method public constructor <init>()V
10884 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
10889 +.method public static enforcePrivacyPermission(Ljava/lang/String;ILandroid/content/Intent;Landroid/content/Context;I)V
10892 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10894 + if-nez v2, :cond_11
10896 + const-string/jumbo v2, "privacy"
10898 + move-object/from16 v0, p3
10900 + invoke-virtual {v0, v2}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
10902 + move-result-object v2
10904 + check-cast v2, Landroid/privacy/PrivacySettingsManager;
10906 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10909 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->getAction()Ljava/lang/String;
10911 + move-result-object v9
10913 + const-string v2, "android.intent.action.NEW_OUTGOING_CALL"
10915 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
10919 + if-eqz v2, :cond_ad
10921 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10923 + move-object/from16 v0, p0
10925 + move/from16 v1, p1
10927 + invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10929 + move-result-object v8
10931 + const-string v2, "android.intent.extra.PHONE_NUMBER"
10933 + move-object/from16 v0, p2
10935 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
10937 + move-result-object v16
10939 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutHash:J
10941 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
10943 + move-result-wide v4
10945 + cmp-long v2, v2, v4
10947 + if-eqz v2, :cond_49
10949 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->clone()Ljava/lang/Object;
10951 + move-result-object v2
10953 + check-cast v2, Landroid/content/Intent;
10955 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOut:Landroid/content/Intent;
10957 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
10959 + move-result-wide v2
10961 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutHash:J
10963 + sput p4, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
10966 + if-eqz v8, :cond_76
10969 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getOutgoingCallsSetting()B
10973 + if-eqz v2, :cond_76
10975 + const-string v16, ""
10977 + const-string v2, "android.intent.extra.PHONE_NUMBER"
10979 + move-object/from16 v0, p2
10981 + move-object/from16 v1, v16
10983 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
10985 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10989 + const-string/jumbo v6, "outgoingCall"
10993 + move-object/from16 v3, p0
10995 + move/from16 v4, p1
10997 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10999 + .catch Ljava/lang/Exception; {:try_start_4b .. :try_end_6a} :catch_a0
11003 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
11007 + if-le v2, v3, :cond_a9
11009 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
11011 + add-int/lit8 v2, v2, -0x1
11013 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
11021 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutHash:J
11023 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11025 + move-result-wide v4
11027 + cmp-long v2, v2, v4
11029 + if-nez v2, :cond_6a
11031 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOut:Landroid/content/Intent;
11033 + const-string v3, "android.intent.extra.PHONE_NUMBER"
11035 + invoke-virtual {v2, v3}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
11037 + move-result-object v16
11039 + const-string v2, "android.intent.extra.PHONE_NUMBER"
11041 + move-object/from16 v0, p2
11043 + move-object/from16 v1, v16
11045 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
11047 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11051 + const-string/jumbo v6, "outgoingCall"
11055 + move-object/from16 v3, p0
11057 + move/from16 v4, p1
11059 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11061 + .catch Ljava/lang/Exception; {:try_start_76 .. :try_end_9f} :catch_a0
11066 + move-exception v13
11068 + const-string v2, "PrivacyActivityManagerService"
11070 + const-string v3, "failed to enforce intent broadcast permission"
11072 + invoke-static {v2, v3, v13}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
11079 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOut:Landroid/content/Intent;
11084 + const-string v2, "android.intent.action.PHONE_STATE"
11086 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11090 + if-eqz v2, :cond_14d
11092 + const-string v2, "incoming_number"
11094 + move-object/from16 v0, p2
11096 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
11098 + move-result-object v16
11100 + if-eqz v16, :cond_75
11102 + invoke-virtual/range {v16 .. v16}, Ljava/lang/String;->isEmpty()Z
11106 + if-nez v2, :cond_75
11108 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11110 + move-object/from16 v0, p0
11112 + move/from16 v1, p1
11114 + invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
11116 + move-result-object v8
11118 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInHash:J
11120 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11122 + move-result-wide v4
11124 + cmp-long v2, v2, v4
11126 + if-eqz v2, :cond_e9
11128 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->clone()Ljava/lang/Object;
11130 + move-result-object v2
11132 + check-cast v2, Landroid/content/Intent;
11134 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpIn:Landroid/content/Intent;
11136 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11138 + move-result-wide v2
11140 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInHash:J
11142 + sput p4, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
11145 + if-eqz v8, :cond_116
11148 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getIncomingCallsSetting()B
11152 + if-eqz v2, :cond_116
11154 + const-string v16, ""
11156 + const-string v2, "incoming_number"
11158 + move-object/from16 v0, p2
11160 + move-object/from16 v1, v16
11162 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
11164 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11168 + const-string v6, "incomingCall"
11172 + move-object/from16 v3, p0
11174 + move/from16 v4, p1
11176 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11178 + .catch Ljava/lang/Exception; {:try_start_eb .. :try_end_109} :catch_13f
11182 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
11186 + if-le v2, v3, :cond_148
11188 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
11190 + add-int/lit8 v2, v2, -0x1
11192 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
11198 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInHash:J
11200 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11202 + move-result-wide v4
11204 + cmp-long v2, v2, v4
11206 + if-nez v2, :cond_109
11208 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpIn:Landroid/content/Intent;
11210 + const-string v3, "incoming_number"
11212 + invoke-virtual {v2, v3}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
11214 + move-result-object v16
11216 + const-string v2, "incoming_number"
11218 + move-object/from16 v0, p2
11220 + move-object/from16 v1, v16
11222 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
11224 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11228 + const-string v6, "incomingCall"
11232 + move-object/from16 v3, p0
11234 + move/from16 v4, p1
11236 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11238 + .catch Ljava/lang/Exception; {:try_start_116 .. :try_end_13e} :catch_13f
11243 + move-exception v13
11245 + const-string v2, "PrivacyActivityManagerService"
11247 + const-string v3, "failed to enforce intent broadcast permission"
11249 + invoke-static {v2, v3, v13}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
11256 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpIn:Landroid/content/Intent;
11261 + const-string v2, "android.provider.Telephony.SMS_RECEIVED"
11263 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11267 + if-eqz v2, :cond_222
11269 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11271 + move-object/from16 v0, p0
11273 + move/from16 v1, p1
11275 + invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
11277 + move-result-object v8
11279 + const-string v16, "[real]"
11281 + const-string/jumbo v2, "pdus"
11283 + move-object/from16 v0, p2
11285 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
11287 + move-result-object v2
11289 + check-cast v2, [Ljava/lang/Object;
11291 + move-object v15, v2
11293 + check-cast v15, [Ljava/lang/Object;
11295 + if-eqz v15, :cond_1cd
11299 + aget-object v2, v15, v2
11301 + check-cast v2, [B
11303 + check-cast v2, [B
11305 + move-object v12, v2
11308 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsHash:J
11310 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11312 + move-result-wide v4
11314 + cmp-long v2, v2, v4
11316 + if-eqz v2, :cond_193
11318 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->clone()Ljava/lang/Object;
11320 + move-result-object v2
11322 + check-cast v2, Landroid/content/Intent;
11324 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSms:Landroid/content/Intent;
11326 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11328 + move-result-wide v2
11330 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsHash:J
11332 + sput p4, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
11335 + if-eqz v8, :cond_1cf
11338 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getSmsSetting()B
11342 + if-eqz v2, :cond_1cf
11344 + const-string v16, "[empty]"
11348 + new-array v14, v2, [Ljava/lang/Object;
11352 + const/16 v3, 0x10
11354 + new-array v3, v3, [B
11356 + fill-array-data v3, :array_350
11358 + aput-object v3, v14, v2
11360 + const-string/jumbo v2, "pdus"
11362 + move-object/from16 v0, p2
11364 + invoke-virtual {v0, v2, v14}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent;
11366 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11370 + const-string/jumbo v6, "sms"
11374 + move-object/from16 v3, p0
11376 + move/from16 v4, p1
11378 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11380 + .catch Ljava/lang/Exception; {:try_start_195 .. :try_end_1c0} :catch_212
11384 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
11388 + if-le v2, v3, :cond_21d
11390 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
11392 + add-int/lit8 v2, v2, -0x1
11394 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
11405 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsHash:J
11407 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11409 + move-result-wide v4
11411 + cmp-long v2, v2, v4
11413 + if-nez v2, :cond_1c0
11415 + const-string/jumbo v2, "pdus"
11417 + sget-object v3, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSms:Landroid/content/Intent;
11419 + const-string/jumbo v4, "pdus"
11421 + invoke-virtual {v3, v4}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
11423 + move-result-object v3
11425 + move-object/from16 v0, p2
11427 + invoke-virtual {v0, v2, v3}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent;
11429 + const-string/jumbo v2, "pdus"
11431 + move-object/from16 v0, p2
11433 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
11435 + move-result-object v2
11437 + check-cast v2, [Ljava/lang/Object;
11439 + move-object v0, v2
11441 + check-cast v0, [Ljava/lang/Object;
11443 + move-object v15, v0
11445 + if-eqz v15, :cond_21b
11449 + aget-object v2, v15, v2
11451 + check-cast v2, [B
11453 + check-cast v2, [B
11455 + move-object v12, v2
11458 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11462 + const-string/jumbo v6, "sms"
11466 + move-object/from16 v3, p0
11468 + move/from16 v4, p1
11470 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11472 + .catch Ljava/lang/Exception; {:try_start_1cf .. :try_end_211} :catch_212
11477 + move-exception v13
11479 + const-string v2, "PrivacyActivityManagerService"
11481 + const-string v3, "failed to enforce intent broadcast permission"
11483 + invoke-static {v2, v3, v13}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
11495 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSms:Landroid/content/Intent;
11500 + const-string v2, "android.provider.Telephony.WAP_PUSH_RECEIVED"
11502 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11506 + if-nez v2, :cond_232
11508 + const-string v2, "android.intent.action.DATA_SMS_RECEIVED"
11510 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11514 + if-eqz v2, :cond_2ff
11517 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11519 + move-object/from16 v0, p0
11521 + move/from16 v1, p1
11523 + invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
11525 + move-result-object v8
11527 + const-string v16, "[real]"
11529 + const-string/jumbo v2, "pdus"
11531 + move-object/from16 v0, p2
11533 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
11535 + move-result-object v2
11537 + check-cast v2, [Ljava/lang/Object;
11539 + move-object v15, v2
11541 + check-cast v15, [Ljava/lang/Object;
11543 + if-eqz v15, :cond_2aa
11547 + aget-object v2, v15, v2
11549 + check-cast v2, [B
11551 + check-cast v2, [B
11553 + move-object v12, v2
11556 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsHash:J
11558 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11560 + move-result-wide v4
11562 + cmp-long v2, v2, v4
11564 + if-eqz v2, :cond_270
11566 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->clone()Ljava/lang/Object;
11568 + move-result-object v2
11570 + check-cast v2, Landroid/content/Intent;
11572 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMms:Landroid/content/Intent;
11574 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11576 + move-result-wide v2
11578 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsHash:J
11580 + sput p4, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
11583 + if-eqz v8, :cond_2ac
11586 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getMmsSetting()B
11590 + if-eqz v2, :cond_2ac
11592 + const-string v16, "[empty]"
11596 + new-array v14, v2, [Ljava/lang/Object;
11600 + const/16 v3, 0x10
11602 + new-array v3, v3, [B
11604 + fill-array-data v3, :array_35c
11606 + aput-object v3, v14, v2
11608 + const-string/jumbo v2, "pdus"
11610 + move-object/from16 v0, p2
11612 + invoke-virtual {v0, v2, v14}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent;
11614 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11618 + const-string/jumbo v6, "mms"
11622 + move-object/from16 v3, p0
11624 + move/from16 v4, p1
11626 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11628 + .catch Ljava/lang/Exception; {:try_start_272 .. :try_end_29d} :catch_2ef
11632 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
11636 + if-le v2, v3, :cond_2fa
11638 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
11640 + add-int/lit8 v2, v2, -0x1
11642 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
11653 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsHash:J
11655 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11657 + move-result-wide v4
11659 + cmp-long v2, v2, v4
11661 + if-nez v2, :cond_29d
11663 + const-string/jumbo v2, "pdus"
11665 + sget-object v3, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMms:Landroid/content/Intent;
11667 + const-string/jumbo v4, "pdus"
11669 + invoke-virtual {v3, v4}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
11671 + move-result-object v3
11673 + move-object/from16 v0, p2
11675 + invoke-virtual {v0, v2, v3}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent;
11677 + const-string/jumbo v2, "pdus"
11679 + move-object/from16 v0, p2
11681 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
11683 + move-result-object v2
11685 + check-cast v2, [Ljava/lang/Object;
11687 + move-object v0, v2
11689 + check-cast v0, [Ljava/lang/Object;
11691 + move-object v15, v0
11693 + if-eqz v15, :cond_2f8
11697 + aget-object v2, v15, v2
11699 + check-cast v2, [B
11701 + check-cast v2, [B
11703 + move-object v12, v2
11706 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11710 + const-string/jumbo v6, "mms"
11714 + move-object/from16 v3, p0
11716 + move/from16 v4, p1
11718 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11720 + .catch Ljava/lang/Exception; {:try_start_2ac .. :try_end_2ee} :catch_2ef
11725 + move-exception v13
11727 + const-string v2, "PrivacyActivityManagerService"
11729 + const-string v3, "failed to enforce intent broadcast permission"
11731 + invoke-static {v2, v3, v13}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
11743 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMms:Landroid/content/Intent;
11748 + const-string v2, "android.intent.action.BOOT_COMPLETED"
11750 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11754 + if-eqz v2, :cond_30e
11756 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11758 + invoke-virtual {v2}, Landroid/privacy/PrivacySettingsManager;->setBootCompleted()V
11763 + const-string v2, "android.intent.action.PACKAGE_ADDED"
11765 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11769 + if-eqz v2, :cond_75
11771 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpPackageAddedHash:J
11773 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11775 + move-result-wide v4
11777 + cmp-long v2, v2, v4
11779 + if-eqz v2, :cond_75
11781 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11783 + move-result-wide v2
11785 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpPackageAddedHash:J
11787 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->getData()Landroid/net/Uri;
11789 + move-result-object v2
11791 + invoke-virtual {v2}, Landroid/net/Uri;->getSchemeSpecificPart()Ljava/lang/String;
11793 + move-result-object v10
11795 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->getExtras()Landroid/os/Bundle;
11797 + move-result-object v2
11799 + const-string v3, "android.intent.extra.UID"
11801 + invoke-virtual {v2, v3}, Landroid/os/Bundle;->getInt(Ljava/lang/String;)I
11805 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11807 + invoke-virtual {v2, v10, v11}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
11809 + move-result-object v8
11811 + if-eqz v8, :cond_75
11813 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getUid()I
11817 + if-eq v2, v11, :cond_75
11819 + invoke-virtual {v8, v11}, Landroid/privacy/PrivacySettings;->setUid(I)V
11821 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11823 + invoke-virtual {v2, v8}, Landroid/privacy/PrivacySettingsManager;->saveSettings(Landroid/privacy/PrivacySettings;)Z
11868 +.method private static hashCode(Landroid/content/Intent;)J
11871 + const-wide/16 v3, 0x0
11873 + const-string/jumbo v2, "privacy_hash"
11875 + invoke-virtual {p0, v2, v3, v4}, Landroid/content/Intent;->getLongExtra(Ljava/lang/String;J)J
11877 + move-result-wide v0
11879 + cmp-long v2, v0, v3
11881 + if-nez v2, :cond_1e
11883 + invoke-virtual {p0}, Landroid/content/Intent;->filterHashCode()I
11887 + int-to-long v2, v2
11889 + invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
11891 + move-result-wide v4
11893 + add-long v0, v2, v4
11895 + const-string/jumbo v2, "privacy_hash"
11897 + invoke-virtual {p0, v2, v0, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;J)Landroid/content/Intent;
11902 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyContentResolver.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyContentResolver.smali
11903 --- stock-framework/smali/android/privacy/surrogate/PrivacyContentResolver.smali 1969-12-31 18:00:00.000000000 -0600
11904 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyContentResolver.smali 2012-08-20 18:17:10.724276219 -0500
11906 +.class public final Landroid/privacy/surrogate/PrivacyContentResolver;
11907 +.super Ljava/lang/Object;
11908 +.source "PrivacyContentResolver.java"
11912 +.field private static final TAG:Ljava/lang/String; = "PrivacyContentResolver"
11914 +.field private static pSetMan:Landroid/privacy/PrivacySettingsManager;
11918 +.method public constructor <init>()V
11921 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
11926 +.method private static arrayToString([Ljava/lang/String;)Ljava/lang/String;
11929 + new-instance v4, Ljava/lang/StringBuffer;
11931 + invoke-direct {v4}, Ljava/lang/StringBuffer;-><init>()V
11933 + if-eqz p0, :cond_2d
11935 + move-object v0, p0
11937 + array-length v3, v0
11942 + if-ge v2, v3, :cond_30
11944 + aget-object v1, v0, v2
11946 + new-instance v5, Ljava/lang/StringBuilder;
11948 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
11950 + const-string v6, "["
11952 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
11954 + move-result-object v5
11956 + invoke-virtual {v5, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
11958 + move-result-object v5
11960 + const-string v6, "]"
11962 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
11964 + move-result-object v5
11966 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
11968 + move-result-object v5
11970 + invoke-virtual {v4, v5}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
11972 + add-int/lit8 v2, v2, 0x1
11977 + const-string v5, ""
11983 + invoke-virtual {v4}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String;
11985 + move-result-object v5
11990 +.method public static enforcePrivacyPermission(Landroid/net/Uri;[Ljava/lang/String;Landroid/content/Context;Landroid/database/Cursor;)Landroid/database/Cursor;
11992 + .annotation system Ldalvik/annotation/Throws;
11994 + Landroid/os/RemoteException;
11998 + if-eqz p0, :cond_1e4
12000 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12002 + if-nez v1, :cond_13
12004 + const-string/jumbo v1, "privacy"
12006 + move-object/from16 v0, p2
12008 + invoke-virtual {v0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
12010 + move-result-object v1
12012 + check-cast v1, Landroid/privacy/PrivacySettingsManager;
12014 + sput-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12017 + invoke-virtual/range {p2 .. p2}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
12019 + move-result-object v2
12021 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
12025 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12027 + invoke-virtual {v1, v2, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
12029 + move-result-object v7
12031 + invoke-virtual/range {p0 .. p0}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
12033 + move-result-object v9
12035 + const-string v15, "[real]"
12037 + move-object/from16 v13, p3
12039 + if-eqz v9, :cond_54
12041 + const-string v1, "contacts"
12043 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12047 + if-nez v1, :cond_3b
12049 + const-string v1, "com.android.contacts"
12051 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12055 + if-eqz v1, :cond_ab
12058 + if-eqz v7, :cond_54
12060 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getContactsSetting()B
12066 + if-ne v1, v4, :cond_55
12068 + const-string v15, "[empty]"
12070 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12072 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12074 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12078 + const-string v5, "contacts"
12082 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12086 + return-object v13
12089 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getContactsSetting()B
12095 + if-ne v1, v4, :cond_a1
12097 + invoke-virtual/range {p0 .. p0}, Landroid/net/Uri;->toString()Ljava/lang/String;
12099 + move-result-object v1
12101 + sget-object v4, Landroid/provider/ContactsContract$Contacts;->CONTENT_URI:Landroid/net/Uri;
12103 + invoke-virtual {v4}, Landroid/net/Uri;->toString()Ljava/lang/String;
12105 + move-result-object v4
12107 + invoke-virtual {v1, v4}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
12111 + if-eqz v1, :cond_a1
12115 + if-eqz p1, :cond_82
12117 + move-object/from16 v8, p1
12119 + array-length v12, v8
12124 + if-ge v10, v12, :cond_82
12126 + aget-object v16, v8, v10
12128 + const-string v1, "_id"
12130 + move-object/from16 v0, v16
12132 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12136 + if-eqz v1, :cond_93
12141 + if-nez v11, :cond_96
12143 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12145 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12148 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12152 + const-string v5, "contacts"
12156 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12161 + add-int/lit8 v10, v10, 0x1
12166 + new-instance v14, Landroid/privacy/surrogate/PrivacyCursor;
12168 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getAllowedContacts()[I
12170 + move-result-object v1
12172 + invoke-direct {v14, v13, v1}, Landroid/privacy/surrogate/PrivacyCursor;-><init>(Landroid/database/Cursor;[I)V
12174 + move-object v13, v14
12179 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12183 + const-string v5, "contacts"
12187 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12192 + const-string v1, "com.android.calendar"
12194 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12198 + if-eqz v1, :cond_d8
12200 + if-eqz v7, :cond_cd
12202 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getCalendarSetting()B
12208 + if-ne v1, v4, :cond_cd
12210 + const-string v15, "[empty]"
12212 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12214 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12216 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12220 + const-string v5, "calendar"
12224 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12229 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12233 + const-string v5, "calendar"
12237 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12242 + sget-object v1, Landroid/provider/Telephony$Mms;->CONTENT_URI:Landroid/net/Uri;
12244 + invoke-virtual {v1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
12246 + move-result-object v1
12248 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12252 + if-eqz v1, :cond_10c
12254 + if-eqz v7, :cond_100
12256 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getMmsSetting()B
12262 + if-ne v1, v4, :cond_100
12264 + const-string v15, "[empty]"
12266 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12268 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12270 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12274 + const-string/jumbo v5, "mms"
12278 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12283 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12287 + const-string/jumbo v5, "mms"
12291 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12296 + sget-object v1, Landroid/provider/Telephony$Sms;->CONTENT_URI:Landroid/net/Uri;
12298 + invoke-virtual {v1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
12300 + move-result-object v1
12302 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12306 + if-eqz v1, :cond_140
12308 + if-eqz v7, :cond_134
12310 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getSmsSetting()B
12316 + if-ne v1, v4, :cond_134
12318 + const-string v15, "[empty]"
12320 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12322 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12324 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12328 + const-string/jumbo v5, "sms"
12332 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12337 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12341 + const-string/jumbo v5, "sms"
12345 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12350 + sget-object v1, Landroid/provider/Telephony$MmsSms;->CONTENT_URI:Landroid/net/Uri;
12352 + invoke-virtual {v1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
12354 + move-result-object v1
12356 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12360 + if-nez v1, :cond_155
12362 + const-string/jumbo v1, "mms-sms-v2"
12364 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12368 + if-eqz v1, :cond_184
12371 + if-eqz v7, :cond_178
12373 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getMmsSetting()B
12379 + if-eq v1, v4, :cond_165
12381 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getSmsSetting()B
12387 + if-ne v1, v4, :cond_178
12390 + const-string v15, "[empty]"
12392 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12394 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12396 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12400 + const-string/jumbo v5, "mmsSms"
12404 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12409 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12413 + const-string/jumbo v5, "mmsSms"
12417 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12422 + const-string v1, "call_log"
12424 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12428 + if-eqz v1, :cond_1b2
12430 + if-eqz v7, :cond_1a7
12432 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getCallLogSetting()B
12438 + if-ne v1, v4, :cond_1a7
12440 + const-string v15, "[empty]"
12442 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12444 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12446 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12450 + const-string v5, "callLog"
12454 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12459 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12463 + const-string v5, "callLog"
12467 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12472 + sget-object v1, Landroid/provider/Browser;->BOOKMARKS_URI:Landroid/net/Uri;
12474 + invoke-virtual {v1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
12476 + move-result-object v1
12478 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12482 + if-eqz v1, :cond_54
12484 + if-eqz v7, :cond_1d9
12486 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getBookmarksSetting()B
12492 + if-ne v1, v4, :cond_1d9
12494 + const-string v15, "[empty]"
12496 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12498 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12500 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12504 + const-string v5, "bookmarks"
12508 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12513 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12517 + const-string v5, "bookmarks"
12521 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12526 + move-object/from16 v13, p3
12530 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyCursor.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyCursor.smali
12531 --- stock-framework/smali/android/privacy/surrogate/PrivacyCursor.smali 1969-12-31 18:00:00.000000000 -0600
12532 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyCursor.smali 2012-08-20 18:17:10.724276219 -0500
12534 +.class public Landroid/privacy/surrogate/PrivacyCursor;
12535 +.super Ljava/lang/Object;
12536 +.source "PrivacyCursor.java"
12539 +.implements Landroid/database/Cursor;
12543 +.field private static final TAG:Ljava/lang/String; = "PrivacyCursor"
12547 +.field private allowedIdMapping:[I
12549 +.field private allowedIds:[I
12551 +.field private realCursor:Landroid/database/Cursor;
12555 +.method public constructor <init>()V
12558 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
12563 +.method public constructor <init>(Landroid/database/Cursor;[I)V
12566 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
12568 + if-eqz p2, :cond_8
12570 + array-length v2, p2
12572 + if-nez v2, :cond_9
12578 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12580 + iput-object p2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIds:[I
12582 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12584 + if-eqz v2, :cond_3f
12586 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12588 + invoke-interface {v2}, Landroid/database/Cursor;->getPosition()I
12592 + array-length v2, p2
12594 + new-array v2, v2, [I
12596 + iput-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
12602 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12604 + invoke-interface {v2}, Landroid/database/Cursor;->moveToNext()Z
12608 + if-eqz v2, :cond_3a
12610 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12612 + invoke-direct {p0, v2}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(Landroid/database/Cursor;)Z
12616 + if-eqz v2, :cond_1d
12618 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
12620 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12622 + invoke-interface {v3}, Landroid/database/Cursor;->getPosition()I
12628 + add-int/lit8 v1, v1, 0x1
12633 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12635 + invoke-interface {v2, v0}, Landroid/database/Cursor;->moveToPosition(I)Z
12641 +.method private getContactId(Landroid/database/Cursor;)I
12644 + const-string v2, "_id"
12646 + invoke-interface {p1, v2}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
12654 + if-eq v0, v2, :cond_e
12656 + invoke-interface {p1, v0}, Landroid/database/Cursor;->getInt(I)I
12664 +.method private getMappedPos(I)I
12670 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
12672 + array-length v1, v1
12674 + if-ge v0, v1, :cond_10
12676 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
12680 + if-ne v1, p1, :cond_d
12686 + add-int/lit8 v0, v0, 0x1
12696 +.method private isAllowed(I)Z
12701 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIds:[I
12703 + array-length v3, v0
12708 + if-ge v2, v3, :cond_c
12712 + if-ne p1, v1, :cond_d
12720 + add-int/lit8 v2, v2, 0x1
12725 +.method private isAllowed(Landroid/database/Cursor;)Z
12728 + invoke-direct {p0, p1}, Landroid/privacy/surrogate/PrivacyCursor;->getContactId(Landroid/database/Cursor;)I
12732 + invoke-direct {p0, v0}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(I)Z
12741 +.method public close()V
12744 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12746 + if-eqz v0, :cond_9
12748 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12750 + invoke-interface {v0}, Landroid/database/Cursor;->close()V
12756 +.method public copyStringToBuffer(ILandroid/database/CharArrayBuffer;)V
12759 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12761 + if-eqz v0, :cond_9
12763 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12765 + invoke-interface {v0, p1, p2}, Landroid/database/Cursor;->copyStringToBuffer(ILandroid/database/CharArrayBuffer;)V
12771 +.method public deactivate()V
12774 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12776 + if-eqz v0, :cond_9
12778 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12780 + invoke-interface {v0}, Landroid/database/Cursor;->deactivate()V
12786 +.method public getBlob(I)[B
12789 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12791 + if-eqz v0, :cond_b
12793 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12795 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getBlob(I)[B
12797 + move-result-object v0
12805 + new-array v0, v0, [B
12810 +.method public getColumnCount()I
12813 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12815 + if-eqz v0, :cond_b
12817 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12819 + invoke-interface {v0}, Landroid/database/Cursor;->getColumnCount()I
12832 +.method public getColumnIndex(Ljava/lang/String;)I
12835 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12837 + if-eqz v0, :cond_b
12839 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12841 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
12854 +.method public getColumnIndexOrThrow(Ljava/lang/String;)I
12856 + .annotation system Ldalvik/annotation/Throws;
12858 + Ljava/lang/IllegalArgumentException;
12862 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12864 + if-eqz v0, :cond_b
12866 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12868 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getColumnIndexOrThrow(Ljava/lang/String;)I
12881 +.method public getColumnName(I)Ljava/lang/String;
12884 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12886 + if-eqz v0, :cond_b
12888 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12890 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getColumnName(I)Ljava/lang/String;
12892 + move-result-object v0
12898 + const-string v0, ""
12903 +.method public getColumnNames()[Ljava/lang/String;
12906 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12908 + if-eqz v0, :cond_b
12910 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12912 + invoke-interface {v0}, Landroid/database/Cursor;->getColumnNames()[Ljava/lang/String;
12914 + move-result-object v0
12922 + new-array v0, v0, [Ljava/lang/String;
12926 + const-string v2, ""
12928 + aput-object v2, v0, v1
12933 +.method public getCount()I
12936 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12938 + if-eqz v0, :cond_23
12940 + const-string v0, "PrivacyCursor"
12942 + new-instance v1, Ljava/lang/StringBuilder;
12944 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
12946 + const-string v2, "getCount: "
12948 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
12950 + move-result-object v1
12952 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
12954 + array-length v2, v2
12956 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
12958 + move-result-object v1
12960 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
12962 + move-result-object v1
12964 + invoke-static {v0, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
12966 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
12968 + array-length v0, v0
12979 +.method public getDouble(I)D
12982 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12984 + if-eqz v0, :cond_b
12986 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12988 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getDouble(I)D
12990 + move-result-wide v0
12996 + const-wide/16 v0, 0x0
13001 +.method public getExtras()Landroid/os/Bundle;
13004 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13006 + if-eqz v0, :cond_b
13008 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13010 + invoke-interface {v0}, Landroid/database/Cursor;->getExtras()Landroid/os/Bundle;
13012 + move-result-object v0
13018 + new-instance v0, Landroid/os/Bundle;
13020 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
13025 +.method public getFloat(I)F
13028 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13030 + if-eqz v0, :cond_b
13032 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13034 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getFloat(I)F
13047 +.method public getInt(I)I
13050 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13052 + if-eqz v1, :cond_b
13054 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13056 + invoke-interface {v1, p1}, Landroid/database/Cursor;->getInt(I)I
13069 +.method public getLong(I)J
13072 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13074 + if-eqz v0, :cond_b
13076 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13078 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getLong(I)J
13080 + move-result-wide v0
13086 + const-wide/16 v0, 0x0
13091 +.method public getPosition()I
13094 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13096 + if-eqz v1, :cond_37
13098 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13100 + invoke-interface {v1}, Landroid/database/Cursor;->getPosition()I
13104 + invoke-direct {p0, v1}, Landroid/privacy/surrogate/PrivacyCursor;->getMappedPos(I)I
13108 + const-string v1, "PrivacyCursor"
13110 + new-instance v2, Ljava/lang/StringBuilder;
13112 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
13114 + const-string v3, "getPosition - mapped position: "
13116 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13118 + move-result-object v2
13120 + invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
13122 + move-result-object v2
13124 + const-string v3, " real position: "
13126 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13128 + move-result-object v2
13130 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13132 + invoke-interface {v3}, Landroid/database/Cursor;->getPosition()I
13136 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
13138 + move-result-object v2
13140 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
13142 + move-result-object v2
13144 + invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
13155 +.method public getShort(I)S
13158 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13160 + if-eqz v0, :cond_b
13162 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13164 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getShort(I)S
13177 +.method public getString(I)Ljava/lang/String;
13180 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13182 + if-eqz v0, :cond_b
13184 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13186 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
13188 + move-result-object v0
13194 + const-string v0, ""
13199 +.method public getType(I)I
13202 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13204 + if-eqz v0, :cond_b
13206 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13208 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getType(I)I
13216 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13223 +.method public getWantsAllOnMoveCalls()Z
13226 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13228 + if-eqz v0, :cond_b
13230 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13232 + invoke-interface {v0}, Landroid/database/Cursor;->getWantsAllOnMoveCalls()Z
13245 +.method public isAfterLast()Z
13248 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13250 + if-eqz v0, :cond_b
13252 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13254 + invoke-interface {v0}, Landroid/database/Cursor;->isAfterLast()Z
13267 +.method public isBeforeFirst()Z
13270 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13272 + if-eqz v0, :cond_b
13274 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13276 + invoke-interface {v0}, Landroid/database/Cursor;->isBeforeFirst()Z
13289 +.method public isClosed()Z
13292 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13294 + if-eqz v0, :cond_b
13296 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13298 + invoke-interface {v0}, Landroid/database/Cursor;->isClosed()Z
13311 +.method public isFirst()Z
13316 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13318 + if-eqz v1, :cond_12
13320 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13322 + invoke-interface {v1}, Landroid/database/Cursor;->getPosition()I
13326 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13330 + if-ne v1, v2, :cond_12
13338 +.method public isLast()Z
13341 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13343 + if-eqz v0, :cond_17
13345 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13347 + invoke-interface {v0}, Landroid/database/Cursor;->getPosition()I
13351 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13353 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13355 + array-length v2, v2
13357 + add-int/lit8 v2, v2, -0x1
13361 + if-ne v0, v1, :cond_17
13374 +.method public isNull(I)Z
13377 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13379 + if-eqz v0, :cond_b
13381 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13383 + invoke-interface {v0, p1}, Landroid/database/Cursor;->isNull(I)Z
13396 +.method public move(I)Z
13401 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13403 + if-eqz v3, :cond_33
13405 + const-string v3, "PrivacyCursor"
13407 + new-instance v4, Ljava/lang/StringBuilder;
13409 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
13411 + const-string/jumbo v5, "move - offset: "
13413 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13415 + move-result-object v4
13417 + invoke-virtual {v4, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
13419 + move-result-object v4
13421 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
13423 + move-result-object v4
13425 + invoke-static {v3, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
13428 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13430 + iget-object v4, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13432 + invoke-interface {v4}, Landroid/database/Cursor;->getPosition()I
13436 + invoke-direct {p0, v4}, Landroid/privacy/surrogate/PrivacyCursor;->getMappedPos(I)I
13440 + add-int/2addr v4, p1
13444 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13446 + invoke-interface {v3, v1}, Landroid/database/Cursor;->moveToPosition(I)Z
13448 + .catch Ljava/lang/ArrayIndexOutOfBoundsException; {:try_start_1e .. :try_end_32} :catch_34
13457 + move-exception v0
13462 +.method public moveToFirst()Z
13467 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13469 + if-eqz v1, :cond_f
13471 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13473 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13477 + invoke-interface {v1, v2}, Landroid/database/Cursor;->moveToPosition(I)Z
13485 +.method public moveToLast()Z
13488 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13490 + if-eqz v1, :cond_14
13492 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13494 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13496 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13498 + array-length v3, v3
13500 + add-int/lit8 v3, v3, -0x1
13504 + invoke-interface {v1, v2}, Landroid/database/Cursor;->moveToPosition(I)Z
13517 +.method public moveToNext()Z
13522 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13524 + if-eqz v1, :cond_d
13526 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13528 + invoke-interface {v1}, Landroid/database/Cursor;->moveToNext()Z
13532 + if-nez v1, :cond_e
13543 + if-ne v0, v1, :cond_d
13545 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13547 + invoke-direct {p0, v1}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(Landroid/database/Cursor;)Z
13551 + if-nez v1, :cond_d
13553 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13555 + invoke-interface {v1}, Landroid/database/Cursor;->moveToNext()Z
13562 +.method public moveToPosition(I)Z
13567 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13569 + if-eqz v2, :cond_f
13572 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13574 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13578 + invoke-interface {v2, v3}, Landroid/database/Cursor;->moveToPosition(I)Z
13580 + .catch Ljava/lang/ArrayIndexOutOfBoundsException; {:try_start_5 .. :try_end_e} :catch_10
13589 + move-exception v0
13594 +.method public moveToPrevious()Z
13599 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13601 + if-eqz v1, :cond_d
13603 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13605 + invoke-interface {v1}, Landroid/database/Cursor;->moveToPrevious()Z
13609 + if-nez v1, :cond_e
13620 + if-ne v0, v1, :cond_d
13622 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13624 + invoke-direct {p0, v1}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(Landroid/database/Cursor;)Z
13628 + if-nez v1, :cond_d
13630 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13632 + invoke-interface {v1}, Landroid/database/Cursor;->moveToPrevious()Z
13639 +.method public registerContentObserver(Landroid/database/ContentObserver;)V
13642 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13644 + if-eqz v0, :cond_9
13646 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13648 + invoke-interface {v0, p1}, Landroid/database/Cursor;->registerContentObserver(Landroid/database/ContentObserver;)V
13654 +.method public registerDataSetObserver(Landroid/database/DataSetObserver;)V
13657 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13659 + if-eqz v0, :cond_9
13661 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13663 + invoke-interface {v0, p1}, Landroid/database/Cursor;->registerDataSetObserver(Landroid/database/DataSetObserver;)V
13669 +.method public requery()Z
13672 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13674 + if-eqz v0, :cond_b
13676 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13678 + invoke-interface {v0}, Landroid/database/Cursor;->requery()Z
13691 +.method public respond(Landroid/os/Bundle;)Landroid/os/Bundle;
13694 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13696 + if-eqz v0, :cond_b
13698 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13700 + invoke-interface {v0, p1}, Landroid/database/Cursor;->respond(Landroid/os/Bundle;)Landroid/os/Bundle;
13702 + move-result-object v0
13708 + new-instance v0, Landroid/os/Bundle;
13710 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
13715 +.method public setNotificationUri(Landroid/content/ContentResolver;Landroid/net/Uri;)V
13718 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13720 + if-eqz v0, :cond_9
13722 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13724 + invoke-interface {v0, p1, p2}, Landroid/database/Cursor;->setNotificationUri(Landroid/content/ContentResolver;Landroid/net/Uri;)V
13730 +.method public unregisterContentObserver(Landroid/database/ContentObserver;)V
13733 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13735 + if-eqz v0, :cond_9
13737 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13739 + invoke-interface {v0, p1}, Landroid/database/Cursor;->unregisterContentObserver(Landroid/database/ContentObserver;)V
13745 +.method public unregisterDataSetObserver(Landroid/database/DataSetObserver;)V
13748 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13750 + if-eqz v0, :cond_9
13752 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13754 + invoke-interface {v0, p1}, Landroid/database/Cursor;->unregisterDataSetObserver(Landroid/database/DataSetObserver;)V
13759 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali
13760 --- stock-framework/smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali 1969-12-31 18:00:00.000000000 -0600
13761 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali 2012-08-20 18:17:10.724276219 -0500
13763 +.class Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
13764 +.super Ljava/lang/Thread;
13765 +.source "PrivacyLocationManager.java"
13769 +.annotation system Ldalvik/annotation/EnclosingClass;
13770 + value = Landroid/privacy/surrogate/PrivacyLocationManager;
13773 +.annotation system Ldalvik/annotation/InnerClass;
13774 + accessFlags = 0x2
13775 + name = "PrivacyLocationUpdater"
13780 +.field private intent:Landroid/app/PendingIntent;
13782 +.field private latitude:D
13784 +.field private listener:Landroid/location/LocationListener;
13786 +.field private longitude:D
13788 +.field private provider:Ljava/lang/String;
13790 +.field final synthetic this$0:Landroid/privacy/surrogate/PrivacyLocationManager;
13794 +.method public constructor <init>(Landroid/privacy/surrogate/PrivacyLocationManager;Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;DD)V
13797 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->this$0:Landroid/privacy/surrogate/PrivacyLocationManager;
13799 + invoke-direct {p0}, Ljava/lang/Thread;-><init>()V
13801 + iput-object p2, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->provider:Ljava/lang/String;
13803 + iput-object p3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->listener:Landroid/location/LocationListener;
13805 + iput-object p4, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->intent:Landroid/app/PendingIntent;
13807 + iput-wide p5, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->latitude:D
13809 + iput-wide p7, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->longitude:D
13816 +.method public run()V
13819 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->provider:Ljava/lang/String;
13821 + if-eqz v3, :cond_43
13823 + new-instance v2, Landroid/location/Location;
13825 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->provider:Ljava/lang/String;
13827 + invoke-direct {v2, v3}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
13829 + iget-wide v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->latitude:D
13831 + invoke-virtual {v2, v3, v4}, Landroid/location/Location;->setLatitude(D)V
13833 + iget-wide v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->longitude:D
13835 + invoke-virtual {v2, v3, v4}, Landroid/location/Location;->setLongitude(D)V
13842 + if-ge v1, v3, :cond_43
13844 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->listener:Landroid/location/LocationListener;
13846 + if-eqz v3, :cond_34
13848 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->listener:Landroid/location/LocationListener;
13850 + invoke-interface {v3, v2}, Landroid/location/LocationListener;->onLocationChanged(Landroid/location/Location;)V
13855 + invoke-static {}, Ljava/lang/Math;->random()D
13857 + move-result-wide v3
13859 + const-wide v5, 0x408f400000000000L
13861 + mul-double/2addr v3, v5
13863 + double-to-int v3, v3
13865 + int-to-long v3, v3
13867 + invoke-static {v3, v4}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->sleep(J)V
13869 + .catch Ljava/lang/InterruptedException; {:try_start_22 .. :try_end_31} :catch_3e
13872 + add-int/lit8 v1, v1, 0x1
13877 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->intent:Landroid/app/PendingIntent;
13879 + if-eqz v3, :cond_22
13881 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->intent:Landroid/app/PendingIntent;
13883 + invoke-virtual {v3}, Landroid/app/PendingIntent;->cancel()V
13888 + move-exception v0
13890 + invoke-virtual {v0}, Ljava/lang/InterruptedException;->printStackTrace()V
13897 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyLocationManager.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyLocationManager.smali
13898 --- stock-framework/smali/android/privacy/surrogate/PrivacyLocationManager.smali 1969-12-31 18:00:00.000000000 -0600
13899 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyLocationManager.smali 2012-08-20 18:17:10.728276247 -0500
13901 +.class public final Landroid/privacy/surrogate/PrivacyLocationManager;
13902 +.super Landroid/location/LocationManager;
13903 +.source "PrivacyLocationManager.java"
13907 +.annotation system Ldalvik/annotation/MemberClasses;
13909 + Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
13915 +.field private static final CUSTOM_LOCATION_UPDATE_COUNT:I = 0x5
13917 +.field private static final TAG:Ljava/lang/String; = "PrivacyLocationManager"
13921 +.field private context:Landroid/content/Context;
13923 +.field private lock:Ljava/lang/Object;
13925 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
13929 +.method public constructor <init>(Landroid/location/ILocationManager;Landroid/content/Context;)V
13932 + invoke-direct {p0, p1}, Landroid/location/LocationManager;-><init>(Landroid/location/ILocationManager;)V
13934 + new-instance v0, Ljava/lang/Object;
13936 + invoke-direct {v0}, Ljava/lang/Object;-><init>()V
13938 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->lock:Ljava/lang/Object;
13940 + iput-object p2, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
13942 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
13944 + const-string/jumbo v1, "privacy"
13946 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
13948 + move-result-object v1
13950 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
13952 + move-result-object v1
13954 + invoke-direct {v0, p2, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
13956 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
13961 +.method private requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
13966 + if-nez p1, :cond_5
13974 + invoke-virtual {p1}, Landroid/location/Criteria;->getAccuracy()I
13980 + if-eq v0, v1, :cond_24
13982 + invoke-virtual {p1}, Landroid/location/Criteria;->getBearingAccuracy()I
13986 + if-eq v0, v2, :cond_24
13988 + invoke-virtual {p1}, Landroid/location/Criteria;->getHorizontalAccuracy()I
13992 + if-eq v0, v2, :cond_24
13994 + invoke-virtual {p1}, Landroid/location/Criteria;->getVerticalAccuracy()I
13998 + if-eq v0, v2, :cond_24
14000 + invoke-virtual {p1}, Landroid/location/Criteria;->getSpeedAccuracy()I
14004 + if-ne v0, v2, :cond_2b
14007 + const-string v0, "gps"
14009 + invoke-direct {p0, v0, p2, p3}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
14016 + const-string/jumbo v0, "network"
14018 + invoke-direct {p0, v0, p2, p3}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
14025 +.method private requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
14028 + move-object/from16 v0, p0
14030 + iget-object v0, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->lock:Ljava/lang/Object;
14032 + move-object/from16 v19, v0
14034 + monitor-enter v19
14037 + move-object/from16 v0, p0
14039 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
14041 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
14043 + move-result-object v2
14045 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
14049 + move-object/from16 v0, p0
14051 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14053 + invoke-virtual {v1, v2, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
14055 + move-result-object v7
14057 + const/16 v18, 0x0
14059 + if-eqz v7, :cond_239
14061 + const-string v1, "gps"
14063 + move-object/from16 v0, p1
14065 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
14069 + if-eqz v1, :cond_111
14071 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
14075 + packed-switch v1, :pswitch_data_25e
14084 + move-object/from16 v0, p0
14086 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14090 + const-string v5, "locationGPS"
14094 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14099 + move-exception v1
14103 + .catchall {:try_start_7 .. :try_end_40} :catchall_3e
14108 + if-eqz p3, :cond_46
14111 + invoke-virtual/range {p3 .. p3}, Landroid/app/PendingIntent;->cancel()V
14114 + const/16 v18, 0x1
14116 + move-object/from16 v0, p0
14118 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14122 + const-string v5, "locationGPS"
14126 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14128 + .catchall {:try_start_43 .. :try_end_53} :catchall_3e
14134 + new-instance v8, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
14136 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
14138 + move-result-object v1
14140 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14142 + move-result-wide v13
14144 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
14146 + move-result-object v1
14148 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14150 + move-result-wide v15
14152 + move-object/from16 v9, p0
14154 + move-object/from16 v10, p1
14156 + move-object/from16 v11, p2
14158 + move-object/from16 v12, p3
14160 + 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
14162 + invoke-virtual {v8}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->start()V
14164 + .catchall {:try_start_54 .. :try_end_74} :catchall_3e
14165 + .catch Ljava/lang/NumberFormatException; {:try_start_54 .. :try_end_74} :catch_a6
14167 + const/16 v18, 0x1
14171 + move-object/from16 v0, p0
14173 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14177 + const-string v5, "locationGPS"
14179 + new-instance v6, Ljava/lang/StringBuilder;
14181 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
14183 + const-string v8, "Lat: "
14185 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14187 + move-result-object v6
14189 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
14191 + move-result-object v8
14193 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14195 + move-result-object v6
14197 + const-string v8, " Lon: "
14199 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14201 + move-result-object v6
14203 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
14205 + move-result-object v8
14207 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14209 + move-result-object v6
14211 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14213 + move-result-object v6
14215 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14220 + move-exception v17
14222 + const-string v1, "PrivacyLocationManager"
14224 + const-string/jumbo v4, "requestLocationUpdates: invalid coordinates"
14226 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
14228 + .catchall {:try_start_76 .. :try_end_af} :catchall_3e
14230 + const/16 v18, 0x1
14236 + new-instance v8, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
14238 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
14240 + move-result-object v1
14242 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14244 + move-result-wide v13
14246 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
14248 + move-result-object v1
14250 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14252 + move-result-wide v15
14254 + move-object/from16 v9, p0
14256 + move-object/from16 v10, p1
14258 + move-object/from16 v11, p2
14260 + move-object/from16 v12, p3
14262 + 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
14264 + invoke-virtual {v8}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->start()V
14266 + .catchall {:try_start_b2 .. :try_end_d2} :catchall_3e
14267 + .catch Ljava/lang/NumberFormatException; {:try_start_b2 .. :try_end_d2} :catch_105
14269 + const/16 v18, 0x1
14273 + move-object/from16 v0, p0
14275 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14279 + const-string v5, "locationGPS"
14281 + new-instance v6, Ljava/lang/StringBuilder;
14283 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
14285 + const-string v8, "Lat: "
14287 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14289 + move-result-object v6
14291 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
14293 + move-result-object v8
14295 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14297 + move-result-object v6
14299 + const-string v8, " Lon: "
14301 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14303 + move-result-object v6
14305 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
14307 + move-result-object v8
14309 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14311 + move-result-object v6
14313 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14315 + move-result-object v6
14317 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14322 + move-exception v17
14324 + const-string v1, "PrivacyLocationManager"
14326 + const-string/jumbo v4, "requestLocationUpdates: invalid coordinates"
14328 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
14330 + const/16 v18, 0x1
14335 + const-string/jumbo v1, "network"
14337 + move-object/from16 v0, p1
14339 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
14343 + if-eqz v1, :cond_204
14345 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
14349 + packed-switch v1, :pswitch_data_26a
14354 + move-object/from16 v0, p0
14356 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14360 + const-string v5, "locationNetwork"
14364 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14369 + if-eqz p3, :cond_137
14371 + invoke-virtual/range {p3 .. p3}, Landroid/app/PendingIntent;->cancel()V
14374 + const/16 v18, 0x1
14376 + move-object/from16 v0, p0
14378 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14382 + const-string v5, "locationNetwork"
14386 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14388 + .catchall {:try_start_d4 .. :try_end_144} :catchall_3e
14394 + new-instance v8, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
14396 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
14398 + move-result-object v1
14400 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14402 + move-result-wide v13
14404 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
14406 + move-result-object v1
14408 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14410 + move-result-wide v15
14412 + move-object/from16 v9, p0
14414 + move-object/from16 v10, p1
14416 + move-object/from16 v11, p2
14418 + move-object/from16 v12, p3
14420 + 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
14422 + invoke-virtual {v8}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->start()V
14424 + .catchall {:try_start_146 .. :try_end_166} :catchall_3e
14425 + .catch Ljava/lang/NumberFormatException; {:try_start_146 .. :try_end_166} :catch_199
14427 + const/16 v18, 0x1
14431 + move-object/from16 v0, p0
14433 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14437 + const-string v5, "locationNetwork"
14439 + new-instance v6, Ljava/lang/StringBuilder;
14441 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
14443 + const-string v8, "Lat: "
14445 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14447 + move-result-object v6
14449 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
14451 + move-result-object v8
14453 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14455 + move-result-object v6
14457 + const-string v8, " Lon: "
14459 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14461 + move-result-object v6
14463 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
14465 + move-result-object v8
14467 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14469 + move-result-object v6
14471 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14473 + move-result-object v6
14475 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14480 + move-exception v17
14482 + const-string v1, "PrivacyLocationManager"
14484 + const-string/jumbo v4, "requestLocationUpdates: invalid coordinates"
14486 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
14488 + .catchall {:try_start_168 .. :try_end_1a2} :catchall_3e
14490 + const/16 v18, 0x1
14496 + new-instance v8, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
14498 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
14500 + move-result-object v1
14502 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14504 + move-result-wide v13
14506 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
14508 + move-result-object v1
14510 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14512 + move-result-wide v15
14514 + move-object/from16 v9, p0
14516 + move-object/from16 v10, p1
14518 + move-object/from16 v11, p2
14520 + move-object/from16 v12, p3
14522 + 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
14524 + invoke-virtual {v8}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->start()V
14526 + .catchall {:try_start_1a5 .. :try_end_1c5} :catchall_3e
14527 + .catch Ljava/lang/NumberFormatException; {:try_start_1a5 .. :try_end_1c5} :catch_1f8
14529 + const/16 v18, 0x1
14533 + move-object/from16 v0, p0
14535 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14539 + const-string v5, "locationNetwork"
14541 + new-instance v6, Ljava/lang/StringBuilder;
14543 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
14545 + const-string v8, "Lat: "
14547 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14549 + move-result-object v6
14551 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
14553 + move-result-object v8
14555 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14557 + move-result-object v6
14559 + const-string v8, " Lon: "
14561 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14563 + move-result-object v6
14565 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
14567 + move-result-object v8
14569 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14571 + move-result-object v6
14573 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14575 + move-result-object v6
14577 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14582 + move-exception v17
14584 + const-string v1, "PrivacyLocationManager"
14586 + const-string/jumbo v4, "requestLocationUpdates: invalid coordinates"
14588 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
14590 + const/16 v18, 0x1
14595 + const-string/jumbo v1, "passive"
14597 + move-object/from16 v0, p1
14599 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
14603 + if-eqz v1, :cond_30
14605 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
14609 + if-nez v1, :cond_22a
14611 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
14615 + if-nez v1, :cond_22a
14617 + const/16 v18, 0x0
14619 + move-object/from16 v0, p0
14621 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14625 + const-string v5, "locationGPS"
14629 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14634 + const/16 v18, 0x1
14636 + move-object/from16 v0, p0
14638 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14642 + const-string v5, "locationGPS"
14646 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14651 + const-string/jumbo v1, "network"
14653 + move-object/from16 v0, p1
14655 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
14659 + if-eqz v1, :cond_251
14661 + move-object/from16 v0, p0
14663 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14667 + const-string v5, "locationNetwork"
14671 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14676 + move-object/from16 v0, p0
14678 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14682 + const-string v5, "locationGPS"
14686 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14688 + .catchall {:try_start_1c7 .. :try_end_25c} :catchall_3e
14692 + :pswitch_data_25e
14693 + .packed-switch 0x0
14698 + .end packed-switch
14700 + :pswitch_data_26a
14701 + .packed-switch 0x0
14706 + .end packed-switch
14711 +.method public addNmeaListener(Landroid/location/GpsStatus$NmeaListener;)Z
14718 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
14720 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
14722 + move-result-object v1
14724 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
14728 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14730 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
14732 + move-result-object v6
14734 + if-eqz v6, :cond_24
14736 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
14740 + if-eqz v0, :cond_24
14742 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14746 + const-string v4, "locationGPS"
14748 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14756 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14758 + const-string v4, "locationGPS"
14762 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14764 + invoke-super {p0, p1}, Landroid/location/LocationManager;->addNmeaListener(Landroid/location/GpsStatus$NmeaListener;)Z
14771 +.method public getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
14784 + if-nez p1, :cond_c
14786 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
14788 + move-result-object v7
14795 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
14797 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
14799 + move-result-object v1
14801 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
14805 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14807 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
14809 + move-result-object v6
14813 + if-eqz v6, :cond_22c
14815 + const-string v0, "gps"
14817 + invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
14821 + if-eqz v0, :cond_ff
14823 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
14827 + packed-switch v0, :pswitch_data_29a
14832 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
14834 + move-result-object v7
14836 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14838 + const-string v4, "locationGPS"
14840 + if-eqz v7, :cond_5e
14842 + new-instance v5, Ljava/lang/StringBuilder;
14844 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
14846 + const-string v8, "Lat: "
14848 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14850 + move-result-object v5
14852 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
14854 + move-result-wide v8
14856 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
14858 + move-result-object v5
14860 + const-string v8, " Lon: "
14862 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14864 + move-result-object v5
14866 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
14868 + move-result-wide v8
14870 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
14872 + move-result-object v5
14874 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14876 + move-result-object v5
14879 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14884 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14886 + const-string v4, "locationGPS"
14890 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14895 + new-instance v7, Landroid/location/Location;
14897 + invoke-direct {v7, p1}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
14899 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
14901 + move-result-object v0
14903 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14905 + move-result-wide v3
14907 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLatitude(D)V
14909 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
14911 + move-result-object v0
14913 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14915 + move-result-wide v3
14917 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLongitude(D)V
14919 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14921 + const-string v4, "locationGPS"
14923 + new-instance v3, Ljava/lang/StringBuilder;
14925 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
14927 + const-string v5, "Lat: "
14929 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14931 + move-result-object v3
14933 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
14935 + move-result-wide v8
14937 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
14939 + move-result-object v3
14941 + const-string v5, " Lon: "
14943 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14945 + move-result-object v3
14947 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
14949 + move-result-wide v8
14951 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
14953 + move-result-object v3
14955 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14957 + move-result-object v5
14961 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14966 + new-instance v7, Landroid/location/Location;
14968 + invoke-direct {v7, p1}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
14970 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
14972 + move-result-object v0
14974 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14976 + move-result-wide v3
14978 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLatitude(D)V
14980 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
14982 + move-result-object v0
14984 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14986 + move-result-wide v3
14988 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLongitude(D)V
14990 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14992 + const-string v4, "locationGPS"
14994 + new-instance v3, Ljava/lang/StringBuilder;
14996 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
14998 + const-string v5, "Lat: "
15000 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15002 + move-result-object v3
15004 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15006 + move-result-wide v8
15008 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15010 + move-result-object v3
15012 + const-string v5, " Lon: "
15014 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15016 + move-result-object v3
15018 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15020 + move-result-wide v8
15022 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15024 + move-result-object v3
15026 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15028 + move-result-object v5
15032 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15037 + const-string/jumbo v0, "network"
15039 + invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15043 + if-eqz v0, :cond_1e3
15045 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15049 + packed-switch v0, :pswitch_data_2a6
15054 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
15056 + move-result-object v7
15058 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15060 + const-string v4, "locationNetwork"
15062 + if-eqz v7, :cond_140
15064 + new-instance v5, Ljava/lang/StringBuilder;
15066 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
15068 + const-string v8, "Lat: "
15070 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15072 + move-result-object v5
15074 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15076 + move-result-wide v8
15078 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15080 + move-result-object v5
15082 + const-string v8, " Lon: "
15084 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15086 + move-result-object v5
15088 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15090 + move-result-wide v8
15092 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15094 + move-result-object v5
15096 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15098 + move-result-object v5
15101 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15106 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15108 + const-string v4, "locationNetwork"
15112 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15117 + new-instance v7, Landroid/location/Location;
15119 + invoke-direct {v7, p1}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
15121 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
15123 + move-result-object v0
15125 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
15127 + move-result-wide v3
15129 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLatitude(D)V
15131 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
15133 + move-result-object v0
15135 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
15137 + move-result-wide v3
15139 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLongitude(D)V
15141 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15143 + const-string v4, "locationNetwork"
15145 + new-instance v3, Ljava/lang/StringBuilder;
15147 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
15149 + const-string v5, "Lat: "
15151 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15153 + move-result-object v3
15155 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15157 + move-result-wide v8
15159 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15161 + move-result-object v3
15163 + const-string v5, " Lon: "
15165 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15167 + move-result-object v3
15169 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15171 + move-result-wide v8
15173 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15175 + move-result-object v3
15177 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15179 + move-result-object v5
15183 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15188 + new-instance v7, Landroid/location/Location;
15190 + invoke-direct {v7, p1}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
15192 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
15194 + move-result-object v0
15196 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
15198 + move-result-wide v3
15200 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLatitude(D)V
15202 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
15204 + move-result-object v0
15206 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
15208 + move-result-wide v3
15210 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLongitude(D)V
15212 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15214 + const-string v4, "locationNetwork"
15216 + new-instance v3, Ljava/lang/StringBuilder;
15218 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
15220 + const-string v5, "Lat: "
15222 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15224 + move-result-object v3
15226 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15228 + move-result-wide v8
15230 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15232 + move-result-object v3
15234 + const-string v5, " Lon: "
15236 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15238 + move-result-object v3
15240 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15242 + move-result-wide v8
15244 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15246 + move-result-object v3
15248 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15250 + move-result-object v5
15254 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15259 + const-string/jumbo v0, "passive"
15261 + invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15265 + if-eqz v0, :cond_b
15267 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
15271 + if-nez v0, :cond_b
15273 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15277 + if-nez v0, :cond_b
15279 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
15281 + move-result-object v7
15283 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15285 + const-string v4, "locationGPS"
15287 + if-eqz v7, :cond_227
15289 + new-instance v5, Ljava/lang/StringBuilder;
15291 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
15293 + const-string v8, "Lat: "
15295 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15297 + move-result-object v5
15299 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15301 + move-result-wide v8
15303 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15305 + move-result-object v5
15307 + const-string v8, " Lon: "
15309 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15311 + move-result-object v5
15313 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15315 + move-result-wide v8
15317 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15319 + move-result-object v5
15321 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15323 + move-result-object v5
15326 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15331 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
15333 + move-result-object v7
15335 + const-string/jumbo v0, "network"
15337 + invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15341 + if-eqz v0, :cond_269
15343 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15345 + const-string v4, "locationNetwork"
15347 + if-eqz v7, :cond_264
15349 + new-instance v5, Ljava/lang/StringBuilder;
15351 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
15353 + const-string v8, "Lat: "
15355 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15357 + move-result-object v5
15359 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15361 + move-result-wide v8
15363 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15365 + move-result-object v5
15367 + const-string v8, " Lon: "
15369 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15371 + move-result-object v5
15373 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15375 + move-result-wide v8
15377 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15379 + move-result-object v5
15381 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15383 + move-result-object v5
15386 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15391 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15393 + const-string v4, "locationGPS"
15395 + if-eqz v7, :cond_294
15397 + new-instance v5, Ljava/lang/StringBuilder;
15399 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
15401 + const-string v8, "Lat: "
15403 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15405 + move-result-object v5
15407 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15409 + move-result-wide v8
15411 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15413 + move-result-object v5
15415 + const-string v8, " Lon: "
15417 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15419 + move-result-object v5
15421 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15423 + move-result-wide v8
15425 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15427 + move-result-object v5
15429 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15431 + move-result-object v5
15434 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15440 + :pswitch_data_29a
15441 + .packed-switch 0x0
15446 + .end packed-switch
15448 + :pswitch_data_2a6
15449 + .packed-switch 0x0
15454 + .end packed-switch
15457 +.method public getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15460 + if-nez p1, :cond_7
15462 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15464 + move-result-object v0
15471 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15473 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
15475 + invoke-virtual {v3}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
15477 + move-result-object v3
15479 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
15483 + invoke-virtual {v2, v3, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
15485 + move-result-object v1
15489 + if-eqz v1, :cond_5f
15491 + const-string v2, "gps"
15493 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15497 + if-eqz v2, :cond_2f
15499 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
15503 + packed-switch v2, :pswitch_data_64
15509 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15511 + move-result-object v0
15516 + const-string/jumbo v2, "network"
15518 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15522 + if-eqz v2, :cond_45
15524 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15528 + packed-switch v2, :pswitch_data_70
15534 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15536 + move-result-object v0
15541 + const-string/jumbo v2, "passive"
15543 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15547 + if-eqz v2, :cond_6
15549 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
15553 + if-eqz v2, :cond_5a
15555 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15559 + if-nez v2, :cond_6
15562 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15564 + move-result-object v0
15569 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15571 + move-result-object v0
15576 + .packed-switch 0x0
15581 + .end packed-switch
15584 + .packed-switch 0x0
15589 + .end packed-switch
15592 +.method public isProviderEnabled(Ljava/lang/String;)Z
15595 + if-nez p1, :cond_7
15597 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
15607 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15609 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
15611 + invoke-virtual {v3}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
15613 + move-result-object v3
15615 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
15619 + invoke-virtual {v2, v3, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
15621 + move-result-object v1
15625 + if-eqz v1, :cond_65
15627 + const-string v2, "gps"
15629 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15633 + if-eqz v2, :cond_31
15635 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
15639 + packed-switch v2, :pswitch_data_6a
15644 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
15656 + const-string/jumbo v2, "network"
15658 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15662 + if-eqz v2, :cond_49
15664 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15668 + packed-switch v2, :pswitch_data_76
15673 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
15685 + const-string/jumbo v2, "passive"
15687 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15691 + if-eqz v2, :cond_6
15693 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
15697 + if-eqz v2, :cond_5e
15699 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15703 + if-nez v2, :cond_63
15706 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
15718 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
15725 + .packed-switch 0x0
15730 + .end packed-switch
15733 + .packed-switch 0x0
15738 + .end packed-switch
15741 +.method public requestLocationUpdates(JFLandroid/location/Criteria;Landroid/app/PendingIntent;)V
15744 + if-eqz p4, :cond_4
15746 + if-nez p5, :cond_8
15749 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/app/PendingIntent;)V
15758 + invoke-direct {p0, p4, v0, p5}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15762 + if-nez v0, :cond_7
15764 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/app/PendingIntent;)V
15769 +.method public requestLocationUpdates(JFLandroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
15772 + if-eqz p4, :cond_4
15774 + if-nez p5, :cond_8
15777 + invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
15786 + invoke-direct {p0, p4, p5, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15790 + if-nez v0, :cond_7
15792 + invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
15797 +.method public requestLocationUpdates(Ljava/lang/String;JFLandroid/app/PendingIntent;)V
15800 + if-eqz p1, :cond_4
15802 + if-nez p5, :cond_8
15805 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/app/PendingIntent;)V
15814 + invoke-direct {p0, p1, v0, p5}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15818 + if-nez v0, :cond_7
15820 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/app/PendingIntent;)V
15825 +.method public requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;)V
15828 + if-eqz p1, :cond_4
15830 + if-nez p5, :cond_8
15833 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;)V
15842 + invoke-direct {p0, p1, p5, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15846 + if-nez v0, :cond_7
15848 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;)V
15853 +.method public requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;Landroid/os/Looper;)V
15856 + if-eqz p1, :cond_4
15858 + if-nez p5, :cond_8
15861 + invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;Landroid/os/Looper;)V
15870 + invoke-direct {p0, p1, p5, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15874 + if-nez v0, :cond_7
15876 + invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;Landroid/os/Looper;)V
15881 +.method public requestSingleUpdate(Landroid/location/Criteria;Landroid/app/PendingIntent;)V
15884 + if-eqz p1, :cond_4
15886 + if-nez p2, :cond_8
15889 + invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/app/PendingIntent;)V
15898 + invoke-direct {p0, p1, v0, p2}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15902 + if-nez v0, :cond_7
15904 + invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/app/PendingIntent;)V
15909 +.method public requestSingleUpdate(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
15912 + if-eqz p1, :cond_4
15914 + if-nez p2, :cond_8
15917 + invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
15926 + invoke-direct {p0, p1, p2, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15930 + if-nez v0, :cond_7
15932 + invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
15937 +.method public requestSingleUpdate(Ljava/lang/String;Landroid/app/PendingIntent;)V
15940 + if-eqz p1, :cond_4
15942 + if-nez p2, :cond_8
15945 + invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/app/PendingIntent;)V
15954 + invoke-direct {p0, p1, v0, p2}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15958 + if-nez v0, :cond_7
15960 + invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/app/PendingIntent;)V
15965 +.method public requestSingleUpdate(Ljava/lang/String;Landroid/location/LocationListener;Landroid/os/Looper;)V
15968 + if-eqz p1, :cond_4
15970 + if-nez p2, :cond_8
15973 + invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/location/LocationListener;Landroid/os/Looper;)V
15982 + invoke-direct {p0, p1, p2, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15986 + if-nez v0, :cond_7
15988 + invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/location/LocationListener;Landroid/os/Looper;)V
15992 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyTelephonyManager.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyTelephonyManager.smali
15993 --- stock-framework/smali/android/privacy/surrogate/PrivacyTelephonyManager.smali 1969-12-31 18:00:00.000000000 -0600
15994 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyTelephonyManager.smali 2012-08-20 18:17:10.732276262 -0500
15996 +.class public final Landroid/privacy/surrogate/PrivacyTelephonyManager;
15997 +.super Landroid/telephony/TelephonyManager;
15998 +.source "PrivacyTelephonyManager.java"
16002 +.field private static final TAG:Ljava/lang/String; = "PrivacyTelephonyManager"
16006 +.field private context:Landroid/content/Context;
16008 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
16012 +.method public constructor <init>(Landroid/content/Context;)V
16015 + invoke-direct {p0, p1}, Landroid/telephony/TelephonyManager;-><init>(Landroid/content/Context;)V
16017 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16019 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
16021 + const-string/jumbo v1, "privacy"
16023 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
16025 + move-result-object v1
16027 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
16029 + move-result-object v1
16031 + invoke-direct {v0, p1, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
16033 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16038 +.method private getNetworkInfo()Ljava/lang/String;
16043 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16045 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16047 + move-result-object v1
16049 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16053 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16055 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16057 + move-result-object v6
16059 + if-eqz v6, :cond_25
16061 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
16065 + if-eqz v0, :cond_25
16067 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16071 + const-string/jumbo v4, "networkInfoCurrent"
16073 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16075 + const-string v5, ""
16081 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16085 + const-string/jumbo v4, "networkInfoCurrent"
16087 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16092 +.method private getSimInfo()Ljava/lang/String;
16097 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16099 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16101 + move-result-object v1
16103 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16107 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16109 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16111 + move-result-object v6
16113 + if-eqz v6, :cond_25
16115 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSimInfoSetting()B
16119 + if-eqz v0, :cond_25
16121 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16125 + const-string/jumbo v4, "networkInfoSIM"
16127 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16129 + const-string v5, ""
16135 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16139 + const-string/jumbo v4, "networkInfoSIM"
16141 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16148 +.method public getDeviceId()Ljava/lang/String;
16151 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16153 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16155 + move-result-object v1
16157 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16161 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16163 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16165 + move-result-object v6
16167 + if-eqz v6, :cond_28
16169 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
16173 + if-eqz v0, :cond_28
16175 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceId()Ljava/lang/String;
16177 + move-result-object v5
16179 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16181 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
16185 + const-string v4, "deviceID"
16187 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16193 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getDeviceId()Ljava/lang/String;
16195 + move-result-object v5
16197 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16201 + const-string v4, "deviceID"
16203 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16208 +.method public getLine1Number()Ljava/lang/String;
16211 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16213 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16215 + move-result-object v1
16217 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16221 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16223 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16225 + move-result-object v6
16227 + if-eqz v6, :cond_28
16229 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
16233 + if-eqz v0, :cond_28
16235 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1Number()Ljava/lang/String;
16237 + move-result-object v5
16239 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16241 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
16245 + const-string v4, "line1Number"
16247 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16253 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getLine1Number()Ljava/lang/String;
16255 + move-result-object v5
16257 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16261 + const-string v4, "line1Number"
16263 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16268 +.method public getNeighboringCellInfo()Ljava/util/List;
16270 + .annotation system Ldalvik/annotation/Signature;
16273 + "Ljava/util/List",
16275 + "Landroid/telephony/NeighboringCellInfo;",
16280 + iget-object v6, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16282 + iget-object v7, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16284 + invoke-virtual {v7}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16286 + move-result-object v7
16288 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16292 + invoke-virtual {v6, v7, v8}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16294 + move-result-object v5
16298 + const-string v4, "[null]"
16300 + if-eqz v5, :cond_1c
16302 + invoke-virtual {v5}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
16308 + if-ne v6, v7, :cond_1d
16315 + invoke-virtual {v5}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
16319 + if-eqz v6, :cond_2b
16321 + new-instance v3, Ljava/util/ArrayList;
16323 + invoke-direct {v3}, Ljava/util/ArrayList;-><init>()V
16325 + const-string v4, "[empty list of cells]"
16330 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNeighboringCellInfo()Ljava/util/List;
16332 + move-result-object v3
16334 + const-string v0, ""
16336 + invoke-interface {v3}, Ljava/util/List;->iterator()Ljava/util/Iterator;
16338 + move-result-object v2
16341 + invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z
16345 + if-eqz v6, :cond_5f
16347 + invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
16349 + move-result-object v1
16351 + check-cast v1, Landroid/telephony/NeighboringCellInfo;
16353 + new-instance v6, Ljava/lang/StringBuilder;
16355 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
16357 + invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16359 + move-result-object v6
16361 + const-string v7, "\t"
16363 + invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16365 + move-result-object v6
16367 + invoke-virtual {v6, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
16369 + move-result-object v6
16371 + const-string v7, "\n"
16373 + invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16375 + move-result-object v6
16377 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
16379 + move-result-object v0
16384 + new-instance v6, Ljava/lang/StringBuilder;
16386 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
16388 + const-string v7, "[real value]:\n"
16390 + invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16392 + move-result-object v6
16394 + invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16396 + move-result-object v6
16398 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
16400 + move-result-object v4
16405 +.method public getNetworkCountryIso()Ljava/lang/String;
16408 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getNetworkInfo()Ljava/lang/String;
16410 + move-result-object v0
16412 + if-nez v0, :cond_a
16414 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNetworkCountryIso()Ljava/lang/String;
16416 + move-result-object v0
16422 +.method public getNetworkOperator()Ljava/lang/String;
16425 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getNetworkInfo()Ljava/lang/String;
16427 + move-result-object v0
16429 + if-nez v0, :cond_a
16431 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNetworkOperator()Ljava/lang/String;
16433 + move-result-object v0
16439 +.method public getNetworkOperatorName()Ljava/lang/String;
16442 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getNetworkInfo()Ljava/lang/String;
16444 + move-result-object v0
16446 + if-nez v0, :cond_a
16448 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNetworkOperatorName()Ljava/lang/String;
16450 + move-result-object v0
16456 +.method public getSimCountryIso()Ljava/lang/String;
16459 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getSimInfo()Ljava/lang/String;
16461 + move-result-object v0
16463 + if-nez v0, :cond_a
16465 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSimCountryIso()Ljava/lang/String;
16467 + move-result-object v0
16473 +.method public getSimOperator()Ljava/lang/String;
16476 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getSimInfo()Ljava/lang/String;
16478 + move-result-object v0
16480 + if-nez v0, :cond_a
16482 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSimOperator()Ljava/lang/String;
16484 + move-result-object v0
16490 +.method public getSimOperatorName()Ljava/lang/String;
16493 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getSimInfo()Ljava/lang/String;
16495 + move-result-object v0
16497 + if-nez v0, :cond_a
16499 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSimOperatorName()Ljava/lang/String;
16501 + move-result-object v0
16507 +.method public getSimSerialNumber()Ljava/lang/String;
16510 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16512 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16514 + move-result-object v1
16516 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16520 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16522 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16524 + move-result-object v6
16526 + if-eqz v6, :cond_29
16528 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSimSerialNumberSetting()B
16532 + if-eqz v0, :cond_29
16534 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSimSerialNumber()Ljava/lang/String;
16536 + move-result-object v5
16538 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16540 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSimSerialNumberSetting()B
16544 + const-string/jumbo v4, "simSerial"
16546 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16552 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSimSerialNumber()Ljava/lang/String;
16554 + move-result-object v5
16556 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16560 + const-string/jumbo v4, "simSerial"
16562 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16567 +.method public getSubscriberId()Ljava/lang/String;
16570 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16572 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16574 + move-result-object v1
16576 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16580 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16582 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16584 + move-result-object v6
16586 + if-eqz v6, :cond_29
16588 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberIdSetting()B
16592 + if-eqz v0, :cond_29
16594 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberId()Ljava/lang/String;
16596 + move-result-object v5
16598 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16600 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberIdSetting()B
16604 + const-string/jumbo v4, "subscriberID"
16606 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16612 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSubscriberId()Ljava/lang/String;
16614 + move-result-object v5
16616 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16620 + const-string/jumbo v4, "subscriberID"
16622 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16627 +.method public getVoiceMailNumber()Ljava/lang/String;
16630 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16632 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16634 + move-result-object v1
16636 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16640 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16642 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16644 + move-result-object v6
16646 + if-eqz v6, :cond_28
16648 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
16652 + if-eqz v0, :cond_28
16654 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1Number()Ljava/lang/String;
16656 + move-result-object v5
16658 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16660 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
16664 + const-string v4, "line1Number"
16666 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16672 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getVoiceMailNumber()Ljava/lang/String;
16674 + move-result-object v5
16676 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16680 + const-string v4, "line1Number"
16682 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16687 +.method public listen(Landroid/telephony/PhoneStateListener;I)V
16690 + and-int/lit8 v0, p2, 0x10
16692 + if-nez v0, :cond_8
16694 + and-int/lit8 v0, p2, 0x20
16696 + if-eqz v0, :cond_21
16699 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16701 + invoke-virtual {p1, v0}, Landroid/telephony/PhoneStateListener;->setContext(Landroid/content/Context;)V
16703 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16705 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16707 + move-result-object v0
16709 + invoke-virtual {p1, v0}, Landroid/telephony/PhoneStateListener;->setPackageName(Ljava/lang/String;)V
16711 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16715 + invoke-virtual {p1, v0}, Landroid/telephony/PhoneStateListener;->setUid(I)V
16717 + invoke-super {p0, p1, p2}, Landroid/telephony/TelephonyManager;->listen(Landroid/telephony/PhoneStateListener;I)V
16723 + invoke-super {p0, p1, p2}, Landroid/telephony/TelephonyManager;->listen(Landroid/telephony/PhoneStateListener;I)V
16727 diff -Npru stock-framework/smali/android/telephony/PhoneStateListener$1.smali pdroid-framework/smali/android/telephony/PhoneStateListener$1.smali
16728 --- stock-framework/smali/android/telephony/PhoneStateListener$1.smali 2012-08-20 18:16:46.856157856 -0500
16729 +++ pdroid-framework/smali/android/telephony/PhoneStateListener$1.smali 2012-08-20 18:17:11.108278127 -0500
16730 @@ -64,23 +64,196 @@
16733 .method public onCallStateChanged(ILjava/lang/String;)V
16737 - iget-object v0, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16738 + move-object/from16 v0, p0
16740 - iget-object v0, v0, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
16741 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16743 - const/16 v1, 0x20
16744 + #getter for: Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
16745 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
16748 + move-result-object v3
16750 - invoke-static {v0, v1, p1, v2, p2}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
16751 + if-eqz v3, :cond_99
16753 - move-result-object v0
16754 + if-eqz p2, :cond_99
16756 - invoke-virtual {v0}, Landroid/os/Message;->sendToTarget()V
16757 + invoke-virtual/range {p2 .. p2}, Ljava/lang/String;->isEmpty()Z
16761 + if-nez v3, :cond_99
16763 + move-object/from16 v0, p0
16765 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16767 + #getter for: Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
16768 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
16770 + move-result-object v3
16772 + const-string/jumbo v4, "privacy"
16774 + invoke-virtual {v3, v4}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
16776 + move-result-object v2
16778 + check-cast v2, Landroid/privacy/PrivacySettingsManager;
16780 + move-object/from16 v0, p0
16782 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16784 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
16785 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
16787 + move-result-object v3
16789 + move-object/from16 v0, p0
16791 + iget-object v4, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16793 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
16794 + invoke-static {v4}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
16798 + invoke-virtual {v2, v3, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16800 + move-result-object v8
16802 + if-eqz v8, :cond_6a
16804 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getIncomingCallsSetting()B
16808 + if-eqz v3, :cond_6a
16810 + const-string v7, ""
16812 + move-object/from16 v0, p0
16814 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16816 + iget-object v3, v3, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
16818 + const/16 v4, 0x20
16822 + move/from16 v0, p1
16824 + invoke-static {v3, v4, v0, v5, v7}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
16826 + move-result-object v3
16828 + invoke-virtual {v3}, Landroid/os/Message;->sendToTarget()V
16830 + move-object/from16 v0, p0
16832 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16834 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
16835 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
16837 + move-result-object v3
16839 + move-object/from16 v0, p0
16841 + iget-object v4, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16843 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
16844 + invoke-static {v4}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
16850 + const-string v6, "incomingCall"
16852 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16858 + move-object/from16 v0, p0
16860 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16862 + iget-object v3, v3, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
16864 + const/16 v4, 0x20
16868 + move/from16 v0, p1
16870 + move-object/from16 v1, p2
16872 + invoke-static {v3, v4, v0, v5, v1}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
16874 + move-result-object v3
16876 + invoke-virtual {v3}, Landroid/os/Message;->sendToTarget()V
16878 + move-object/from16 v0, p0
16880 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16882 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
16883 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
16885 + move-result-object v10
16887 + move-object/from16 v0, p0
16889 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16891 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
16892 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
16898 + const-string v13, "incomingCall"
16900 + move-object v9, v2
16902 + move-object/from16 v14, p2
16904 + move-object v15, v8
16906 + invoke-virtual/range {v9 .. v15}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16911 + move-object/from16 v0, p0
16913 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16915 + iget-object v3, v3, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
16917 + const/16 v4, 0x20
16921 + move/from16 v0, p1
16923 + move-object/from16 v1, p2
16925 + invoke-static {v3, v4, v0, v5, v1}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
16927 + move-result-object v3
16929 + invoke-virtual {v3}, Landroid/os/Message;->sendToTarget()V
16934 .method public onCellInfoChanged(Landroid/telephony/CellInfo;)V
16935 @@ -104,27 +277,124 @@
16938 .method public onCellLocationChanged(Landroid/os/Bundle;)V
16946 invoke-static {p1}, Landroid/telephony/CellLocation;->newFromBundle(Landroid/os/Bundle;)Landroid/telephony/CellLocation;
16948 + move-result-object v7
16950 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16952 + #getter for: Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
16953 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
16955 + move-result-object v1
16957 + if-eqz v1, :cond_4a
16959 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16961 + #getter for: Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
16962 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
16964 + move-result-object v1
16966 + const-string/jumbo v2, "privacy"
16968 + invoke-virtual {v1, v2}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
16970 move-result-object v0
16972 + check-cast v0, Landroid/privacy/PrivacySettingsManager;
16974 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16976 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
16977 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
16979 + move-result-object v1
16981 + iget-object v2, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16983 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
16984 + invoke-static {v2}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
16988 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16990 + move-result-object v6
16992 + if-eqz v6, :cond_4b
16994 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
16998 + if-eqz v1, :cond_4b
17000 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
17002 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
17003 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
17005 + move-result-object v1
17007 + iget-object v2, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
17009 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
17010 + invoke-static {v2}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
17014 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
17018 + const-string v4, "locationNetwork"
17020 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
17027 iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
17029 iget-object v1, v1, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
17033 - invoke-static {v1, v2, v3, v3, v0}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
17034 + invoke-static {v1, v2, v3, v3, v7}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
17036 move-result-object v1
17038 invoke-virtual {v1}, Landroid/os/Message;->sendToTarget()V
17041 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
17043 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
17044 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
17046 + move-result-object v1
17048 + iget-object v2, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
17050 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
17051 + invoke-static {v2}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
17055 + const-string v4, "locationNetwork"
17057 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
17062 .method public onDataActivity(I)V
17063 diff -Npru stock-framework/smali/android/telephony/PhoneStateListener.smali pdroid-framework/smali/android/telephony/PhoneStateListener.smali
17064 --- stock-framework/smali/android/telephony/PhoneStateListener.smali 2012-08-20 18:16:45.748152362 -0500
17065 +++ pdroid-framework/smali/android/telephony/PhoneStateListener.smali 2012-08-20 18:17:10.092273086 -0500
17066 @@ -31,12 +31,20 @@
17068 .field public static final LISTEN_SIGNAL_STRENGTHS:I = 0x100
17070 +.field private static final TAG:Ljava/lang/String; = "PhoneStateListener"
17074 .field callback:Lcom/android/internal/telephony/IPhoneStateListener;
17076 +.field private context:Landroid/content/Context;
17078 .field mHandler:Landroid/os/Handler;
17080 +.field private packageName:Ljava/lang/String;
17082 +.field private uid:I
17086 .method public constructor <init>()V
17091 +.method static synthetic access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
17094 + iget-object v0, p0, Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
17099 +.method static synthetic access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
17102 + iget-object v0, p0, Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
17107 +.method static synthetic access$200(Landroid/telephony/PhoneStateListener;)I
17110 + iget v0, p0, Landroid/telephony/PhoneStateListener;->uid:I
17117 .method public onCallForwardingIndicatorChanged(Z)V
17118 @@ -134,3 +166,27 @@
17123 +.method public setContext(Landroid/content/Context;)V
17126 + iput-object p1, p0, Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
17131 +.method public setPackageName(Ljava/lang/String;)V
17134 + iput-object p1, p0, Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
17139 +.method public setUid(I)V
17142 + iput p1, p0, Landroid/telephony/PhoneStateListener;->uid:I
17146 diff -Npru stock-framework/smali/android/widget/AppSecurityPermissions.smali pdroid-framework/smali/android/widget/AppSecurityPermissions.smali
17147 --- stock-framework/smali/android/widget/AppSecurityPermissions.smali 2012-08-20 18:16:47.548161298 -0500
17148 +++ pdroid-framework/smali/android/widget/AppSecurityPermissions.smali 2012-08-20 18:17:11.668280907 -0500
17149 @@ -1883,7 +1883,7 @@
17151 iget-boolean v0, p0, Landroid/widget/AppSecurityPermissions;->localLOGV:Z
17153 - if-eqz v0, :cond_1e
17154 + if-eqz v0, :cond_1f
17156 const-string v0, "AppSecurityPermissions"
17158 @@ -1891,7 +1891,7 @@
17160 invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
17162 - const-string v2, "mExpanded="
17163 + const-string/jumbo v2, "mExpanded="
17165 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17167 @@ -1909,22 +1909,22 @@
17169 invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
17173 iget-boolean v0, p0, Landroid/widget/AppSecurityPermissions;->mExpanded:Z
17175 - if-nez v0, :cond_29
17176 + if-nez v0, :cond_2a
17182 iput-boolean v0, p0, Landroid/widget/AppSecurityPermissions;->mExpanded:Z
17184 invoke-direct {p0}, Landroid/widget/AppSecurityPermissions;->showPermissions()V