Huge refactor for 4.2
[auto-patcher.git] / patches / pdroid / 4.1 / cm / 20120820 / framework.patch
blob441be4b589101e7cd4bed94a32ed9bd6fda077a9
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
4 @@ -758,12 +758,12 @@
6 iget v4, p0, Landroid/app/BackStackRecord;->mExitAnim:I
8 - if-eqz v4, :cond_6d
9 + if-eqz v4, :cond_6e
11 :cond_4e
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
19 @@ -787,16 +787,16 @@
21 invoke-virtual {p3, v4}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
23 - :cond_6d
24 + :cond_6e
25 iget v4, p0, Landroid/app/BackStackRecord;->mPopEnterAnim:I
27 - if-nez v4, :cond_75
28 + if-nez v4, :cond_76
30 iget v4, p0, Landroid/app/BackStackRecord;->mPopExitAnim:I
32 - if-eqz v4, :cond_95
33 + if-eqz v4, :cond_96
35 - :cond_75
36 + :cond_76
37 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
39 const-string/jumbo v4, "mPopEnterAnim=#"
40 @@ -823,16 +823,16 @@
42 invoke-virtual {p3, v4}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
44 - :cond_95
45 + :cond_96
46 iget v4, p0, Landroid/app/BackStackRecord;->mBreadCrumbTitleRes:I
48 - if-nez v4, :cond_9d
49 + if-nez v4, :cond_9e
51 iget-object v4, p0, Landroid/app/BackStackRecord;->mBreadCrumbTitleText:Ljava/lang/CharSequence;
53 - if-eqz v4, :cond_b8
54 + if-eqz v4, :cond_b9
56 - :cond_9d
57 + :cond_9e
58 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
60 const-string v4, "mBreadCrumbTitleRes=#"
61 @@ -855,16 +855,16 @@
63 invoke-virtual {p3, v4}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
65 - :cond_b8
66 + :cond_b9
67 iget v4, p0, Landroid/app/BackStackRecord;->mBreadCrumbShortTitleRes:I
69 - if-nez v4, :cond_c0
70 + if-nez v4, :cond_c1
72 iget-object v4, p0, Landroid/app/BackStackRecord;->mBreadCrumbShortTitleText:Ljava/lang/CharSequence;
74 - if-eqz v4, :cond_db
75 + if-eqz v4, :cond_dc
77 - :cond_c0
78 + :cond_c1
79 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
81 const-string v4, "mBreadCrumbShortTitleRes=#"
82 @@ -887,10 +887,10 @@
84 invoke-virtual {p3, v4}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
86 - :cond_db
87 + :cond_dc
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
95 @@ -920,8 +920,8 @@
97 const/4 v2, 0x0
99 - :goto_fd
100 - if-eqz v3, :cond_1c1
101 + :goto_fe
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
118 - :cond_12e
119 + :cond_12f
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
127 - :cond_14d
128 + :cond_14e
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
139 - :cond_155
140 + :cond_156
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
148 - :cond_175
149 + :cond_176
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 @@
159 move-result v4
161 - if-lez v4, :cond_1bd
162 + if-lez v4, :cond_1be
164 const/4 v0, 0x0
166 - :goto_182
167 + :goto_183
168 iget-object v4, v3, Landroid/app/BackStackRecord$Op;->removed:Ljava/util/ArrayList;
170 invoke-virtual {v4}, Ljava/util/ArrayList;->size()I
172 move-result v4
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 @@
181 const/4 v5, 0x1
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
190 - :goto_19b
191 + :goto_19c
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
199 - goto :goto_182
200 + goto :goto_183
202 - :cond_1a7
203 + :cond_1a8
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
211 - goto :goto_19b
212 + goto :goto_19c
214 - :cond_1bd
215 + :cond_1be
216 iget-object v3, v3, Landroid/app/BackStackRecord$Op;->next:Landroid/app/BackStackRecord$Op;
218 - goto/16 :goto_fd
219 + goto/16 :goto_fe
221 - :cond_1c1
222 + :cond_1c2
223 return-void
224 .end method
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
229 @@ -26,21 +26,25 @@
231 # virtual methods
232 .method public createStaticService()Ljava/lang/Object;
233 - .registers 4
234 + .registers 5
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
260 - return-object v1
261 + return-object v2
262 .end method
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
266 @@ -28,13 +28,13 @@
267 .method public createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
268 .registers 4
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
280 return-object v0
281 .end method
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
285 @@ -38,9 +38,9 @@
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
295 return-object v2
296 .end method
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
300 @@ -0,0 +1,50 @@
301 +.class final Landroid/app/ContextImpl$40;
302 +.super Landroid/app/ContextImpl$StaticServiceFetcher;
303 +.source "ContextImpl.java"
306 +# annotations
307 +.annotation system Ldalvik/annotation/EnclosingClass;
308 + value = Landroid/app/ContextImpl;
309 +.end annotation
311 +.annotation system Ldalvik/annotation/InnerClass;
312 + accessFlags = 0x8
313 + name = null
314 +.end annotation
317 +# direct methods
318 +.method constructor <init>()V
319 + .registers 1
321 + invoke-direct {p0}, Landroid/app/ContextImpl$StaticServiceFetcher;-><init>()V
323 + return-void
324 +.end method
327 +# virtual methods
328 +.method public createStaticService()Ljava/lang/Object;
329 + .registers 5
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
349 + return-object v2
350 +.end method
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
354 @@ -36,6 +36,8 @@
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;
362 value = {
363 @@ -442,6 +444,14 @@
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
375 return-void
376 .end method
378 @@ -476,6 +486,8 @@
380 iput-object p0, p0, Landroid/app/ContextImpl;->mOuterContext:Landroid/content/Context;
382 + sput-object p0, Landroid/app/ContextImpl;->sOuterContext:Landroid/content/Context;
384 return-void
385 .end method
387 @@ -530,6 +542,8 @@
389 iput-object p0, p0, Landroid/app/ContextImpl;->mOuterContext:Landroid/content/Context;
391 + sput-object p0, Landroid/app/ContextImpl;->sOuterContext:Landroid/content/Context;
393 return-void
394 .end method
396 @@ -999,6 +1013,14 @@
397 throw v0
398 .end method
400 +.method static final getStaticOuterContext()Landroid/content/Context;
401 + .registers 1
403 + sget-object v0, Landroid/app/ContextImpl;->sOuterContext:Landroid/content/Context;
405 + return-object v0
406 +.end method
408 .method private getWallpaperManager()Landroid/app/WallpaperManager;
409 .registers 2
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;
417 return-void
418 .end method
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
425 @@ -801,7 +801,7 @@
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;
434 @@ -813,7 +813,7 @@
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;
443 @@ -825,7 +825,7 @@
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 @@
468 :cond_19
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
481 throw v2
483 - :cond_25
484 + :cond_26
485 invoke-direct {p0}, Landroid/opengl/GLSurfaceView$EglHelper;->destroySurfaceImp()V
487 iget-object v3, p0, Landroid/opengl/GLSurfaceView$EglHelper;->mGLSurfaceViewWeakRef:Ljava/lang/ref/WeakReference;
488 @@ -325,7 +325,7 @@
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;
501 - :goto_46
502 + :goto_47
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
515 - :cond_50
516 + :cond_51
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
520 @@ -368,7 +368,7 @@
522 const/16 v3, 0x300b
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
533 - :cond_61
534 - :goto_61
535 + :cond_62
536 + :goto_62
537 return v2
539 - :cond_62
540 + :cond_63
541 const/4 v3, 0x0
543 iput-object v3, p0, Landroid/opengl/GLSurfaceView$EglHelper;->mEglSurface:Ljavax/microedition/khronos/egl/EGLSurface;
545 - goto :goto_46
546 + goto :goto_47
548 - :cond_66
549 + :cond_67
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;
553 @@ -402,7 +402,7 @@
555 move-result v3
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
566 - goto :goto_61
567 + goto :goto_62
569 - :cond_84
570 + :cond_85
571 const/4 v2, 0x1
573 - goto :goto_61
574 + goto :goto_62
575 .end method
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
581 @@ -0,0 +1,104 @@
582 +.class public interface abstract Landroid/privacy/IPrivacySettingsManager;
583 +.super Ljava/lang/Object;
584 +.source "IPrivacySettingsManager.java"
586 +# interfaces
587 +.implements Landroid/os/IInterface;
590 +# annotations
591 +.annotation system Ldalvik/annotation/MemberClasses;
592 + value = {
593 + Landroid/privacy/IPrivacySettingsManager$Stub;
595 +.end annotation
598 +# virtual methods
599 +.method public abstract addObserver(Ljava/lang/String;)V
600 + .annotation system Ldalvik/annotation/Throws;
601 + value = {
602 + Landroid/os/RemoteException;
604 + .end annotation
605 +.end method
607 +.method public abstract deleteSettings(Ljava/lang/String;)Z
608 + .annotation system Ldalvik/annotation/Throws;
609 + value = {
610 + Landroid/os/RemoteException;
612 + .end annotation
613 +.end method
615 +.method public abstract getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
616 + .annotation system Ldalvik/annotation/Throws;
617 + value = {
618 + Landroid/os/RemoteException;
620 + .end annotation
621 +.end method
623 +.method public abstract getVersion()D
624 + .annotation system Ldalvik/annotation/Throws;
625 + value = {
626 + Landroid/os/RemoteException;
628 + .end annotation
629 +.end method
631 +.method public abstract notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
632 + .annotation system Ldalvik/annotation/Throws;
633 + value = {
634 + Landroid/os/RemoteException;
636 + .end annotation
637 +.end method
639 +.method public abstract purgeSettings()Z
640 + .annotation system Ldalvik/annotation/Throws;
641 + value = {
642 + Landroid/os/RemoteException;
644 + .end annotation
645 +.end method
647 +.method public abstract registerObservers()V
648 + .annotation system Ldalvik/annotation/Throws;
649 + value = {
650 + Landroid/os/RemoteException;
652 + .end annotation
653 +.end method
655 +.method public abstract saveSettings(Landroid/privacy/PrivacySettings;)Z
656 + .annotation system Ldalvik/annotation/Throws;
657 + value = {
658 + Landroid/os/RemoteException;
660 + .end annotation
661 +.end method
663 +.method public abstract setBootCompleted()V
664 + .annotation system Ldalvik/annotation/Throws;
665 + value = {
666 + Landroid/os/RemoteException;
668 + .end annotation
669 +.end method
671 +.method public abstract setEnabled(Z)Z
672 + .annotation system Ldalvik/annotation/Throws;
673 + value = {
674 + Landroid/os/RemoteException;
676 + .end annotation
677 +.end method
679 +.method public abstract setNotificationsEnabled(Z)Z
680 + .annotation system Ldalvik/annotation/Throws;
681 + value = {
682 + Landroid/os/RemoteException;
684 + .end annotation
685 +.end method
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
689 @@ -0,0 +1,743 @@
690 +.class Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;
691 +.super Ljava/lang/Object;
692 +.source "IPrivacySettingsManager.java"
694 +# interfaces
695 +.implements Landroid/privacy/IPrivacySettingsManager;
698 +# annotations
699 +.annotation system Ldalvik/annotation/EnclosingClass;
700 + value = Landroid/privacy/IPrivacySettingsManager$Stub;
701 +.end annotation
703 +.annotation system Ldalvik/annotation/InnerClass;
704 + accessFlags = 0xa
705 + name = "Proxy"
706 +.end annotation
709 +# instance fields
710 +.field private mRemote:Landroid/os/IBinder;
713 +# direct methods
714 +.method constructor <init>(Landroid/os/IBinder;)V
715 + .registers 2
717 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
719 + iput-object p1, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
721 + return-void
722 +.end method
725 +# virtual methods
726 +.method public addObserver(Ljava/lang/String;)V
727 + .registers 7
728 + .annotation system Ldalvik/annotation/Throws;
729 + value = {
730 + Landroid/os/RemoteException;
732 + .end annotation
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
742 + :try_start_8
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;
751 + const/4 v3, 0x6
753 + const/4 v4, 0x0
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
758 + :try_end_1a
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
765 + return-void
767 + :catchall_21
768 + move-exception v2
770 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
772 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
774 + throw v2
775 +.end method
777 +.method public asBinder()Landroid/os/IBinder;
778 + .registers 2
780 + iget-object v0, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
782 + return-object v0
783 +.end method
785 +.method public deleteSettings(Ljava/lang/String;)Z
786 + .registers 8
787 + .annotation system Ldalvik/annotation/Throws;
788 + value = {
789 + Landroid/os/RemoteException;
791 + .end annotation
793 + const/4 v2, 0x0
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
803 + :try_start_9
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;
812 + const/4 v4, 0x3
814 + const/4 v5, 0x0
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
821 + :try_end_1e
822 + .catchall {:try_start_9 .. :try_end_1e} :catchall_29
824 + move-result v3
826 + if-eqz v3, :cond_22
828 + const/4 v2, 0x1
830 + :cond_22
831 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
833 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
835 + return v2
837 + :catchall_29
838 + move-exception v3
840 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
842 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
844 + throw v3
845 +.end method
847 +.method public getInterfaceDescriptor()Ljava/lang/String;
848 + .registers 2
850 + const-string v0, "android.privacy.IPrivacySettingsManager"
852 + return-object v0
853 +.end method
855 +.method public getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
856 + .registers 8
857 + .annotation system Ldalvik/annotation/Throws;
858 + value = {
859 + Landroid/os/RemoteException;
861 + .end annotation
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
871 + :try_start_8
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;
880 + const/4 v4, 0x1
882 + const/4 v5, 0x0
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
890 + move-result v3
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;
901 + :try_end_28
902 + .catchall {:try_start_8 .. :try_end_28} :catchall_31
904 + :goto_28
905 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
907 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
909 + return-object v2
911 + :cond_2f
912 + const/4 v2, 0x0
914 + goto :goto_28
916 + :catchall_31
917 + move-exception v3
919 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
921 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
923 + throw v3
924 +.end method
926 +.method public getVersion()D
927 + .registers 8
928 + .annotation system Ldalvik/annotation/Throws;
929 + value = {
930 + Landroid/os/RemoteException;
932 + .end annotation
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
942 + :try_start_8
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;
949 + const/16 v5, 0x8
951 + const/4 v6, 0x0
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
958 + :try_end_1b
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
967 + return-wide v2
969 + :catchall_23
970 + move-exception v4
972 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
974 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
976 + throw v4
977 +.end method
979 +.method public notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
980 + .registers 10
981 + .annotation system Ldalvik/annotation/Throws;
982 + value = {
983 + Landroid/os/RemoteException;
985 + .end annotation
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
995 + :try_start_8
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;
1010 + const/4 v3, 0x4
1012 + const/4 v4, 0x0
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
1017 + :try_end_23
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
1024 + return-void
1026 + :catchall_2a
1027 + move-exception v2
1029 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1031 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1033 + throw v2
1034 +.end method
1036 +.method public purgeSettings()Z
1037 + .registers 7
1038 + .annotation system Ldalvik/annotation/Throws;
1039 + value = {
1040 + Landroid/os/RemoteException;
1042 + .end annotation
1044 + const/4 v2, 0x0
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
1054 + :try_start_9
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;
1061 + const/4 v4, 0x7
1063 + const/4 v5, 0x0
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
1070 + :try_end_1b
1071 + .catchall {:try_start_9 .. :try_end_1b} :catchall_26
1073 + move-result v3
1075 + if-eqz v3, :cond_1f
1077 + const/4 v2, 0x1
1079 + :cond_1f
1080 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1082 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1084 + return v2
1086 + :catchall_26
1087 + move-exception v3
1089 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1091 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1093 + throw v3
1094 +.end method
1096 +.method public registerObservers()V
1097 + .registers 6
1098 + .annotation system Ldalvik/annotation/Throws;
1099 + value = {
1100 + Landroid/os/RemoteException;
1102 + .end annotation
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
1112 + :try_start_8
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;
1119 + const/4 v3, 0x5
1121 + const/4 v4, 0x0
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
1126 + :try_end_17
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
1133 + return-void
1135 + :catchall_1e
1136 + move-exception v2
1138 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1140 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1142 + throw v2
1143 +.end method
1145 +.method public saveSettings(Landroid/privacy/PrivacySettings;)Z
1146 + .registers 9
1147 + .annotation system Ldalvik/annotation/Throws;
1148 + value = {
1149 + Landroid/os/RemoteException;
1151 + .end annotation
1153 + const/4 v2, 0x1
1155 + const/4 v3, 0x0
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
1165 + :try_start_a
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
1172 + const/4 v4, 0x1
1174 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInt(I)V
1176 + const/4 v4, 0x0
1178 + invoke-virtual {p1, v0, v4}, Landroid/privacy/PrivacySettings;->writeToParcel(Landroid/os/Parcel;I)V
1180 + :goto_19
1181 + iget-object v4, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
1183 + const/4 v5, 0x2
1185 + const/4 v6, 0x0
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
1192 + :try_end_26
1193 + .catchall {:try_start_a .. :try_end_26} :catchall_35
1195 + move-result v4
1197 + if-eqz v4, :cond_3d
1199 + :goto_29
1200 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1202 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1204 + return v2
1206 + :cond_30
1207 + const/4 v4, 0x0
1209 + :try_start_31
1210 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInt(I)V
1211 + :try_end_34
1212 + .catchall {:try_start_31 .. :try_end_34} :catchall_35
1214 + goto :goto_19
1216 + :catchall_35
1217 + move-exception v3
1219 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1221 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1223 + throw v3
1225 + :cond_3d
1226 + move v2, v3
1228 + goto :goto_29
1229 +.end method
1231 +.method public setBootCompleted()V
1232 + .registers 6
1233 + .annotation system Ldalvik/annotation/Throws;
1234 + value = {
1235 + Landroid/os/RemoteException;
1237 + .end annotation
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
1247 + :try_start_8
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;
1254 + const/16 v3, 0xb
1256 + const/4 v4, 0x0
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
1261 + :try_end_18
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
1268 + return-void
1270 + :catchall_1f
1271 + move-exception v2
1273 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1275 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1277 + throw v2
1278 +.end method
1280 +.method public setEnabled(Z)Z
1281 + .registers 9
1282 + .annotation system Ldalvik/annotation/Throws;
1283 + value = {
1284 + Landroid/os/RemoteException;
1286 + .end annotation
1288 + const/4 v2, 0x1
1290 + const/4 v3, 0x0
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
1300 + :try_start_a
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
1307 + move v4, v2
1309 + :goto_12
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;
1314 + const/16 v5, 0x9
1316 + const/4 v6, 0x0
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
1323 + :try_end_23
1324 + .catchall {:try_start_a .. :try_end_23} :catchall_31
1326 + move-result v4
1328 + if-eqz v4, :cond_2f
1330 + :goto_26
1331 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1333 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1335 + return v2
1337 + :cond_2d
1338 + move v4, v3
1340 + goto :goto_12
1342 + :cond_2f
1343 + move v2, v3
1345 + goto :goto_26
1347 + :catchall_31
1348 + move-exception v3
1350 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1352 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1354 + throw v3
1355 +.end method
1357 +.method public setNotificationsEnabled(Z)Z
1358 + .registers 9
1359 + .annotation system Ldalvik/annotation/Throws;
1360 + value = {
1361 + Landroid/os/RemoteException;
1363 + .end annotation
1365 + const/4 v2, 0x1
1367 + const/4 v3, 0x0
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
1377 + :try_start_a
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
1384 + move v4, v2
1386 + :goto_12
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;
1391 + const/16 v5, 0xa
1393 + const/4 v6, 0x0
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
1400 + :try_end_23
1401 + .catchall {:try_start_a .. :try_end_23} :catchall_31
1403 + move-result v4
1405 + if-eqz v4, :cond_2f
1407 + :goto_26
1408 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1410 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1412 + return v2
1414 + :cond_2d
1415 + move v4, v3
1417 + goto :goto_12
1419 + :cond_2f
1420 + move v2, v3
1422 + goto :goto_26
1424 + :catchall_31
1425 + move-exception v3
1427 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1429 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1431 + throw v3
1432 +.end method
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
1436 @@ -0,0 +1,412 @@
1437 +.class public abstract Landroid/privacy/IPrivacySettingsManager$Stub;
1438 +.super Landroid/os/Binder;
1439 +.source "IPrivacySettingsManager.java"
1441 +# interfaces
1442 +.implements Landroid/privacy/IPrivacySettingsManager;
1445 +# annotations
1446 +.annotation system Ldalvik/annotation/EnclosingClass;
1447 + value = Landroid/privacy/IPrivacySettingsManager;
1448 +.end annotation
1450 +.annotation system Ldalvik/annotation/InnerClass;
1451 + accessFlags = 0x409
1452 + name = "Stub"
1453 +.end annotation
1455 +.annotation system Ldalvik/annotation/MemberClasses;
1456 + value = {
1457 + Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;
1459 +.end annotation
1462 +# static fields
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
1488 +# direct methods
1489 +.method public constructor <init>()V
1490 + .registers 2
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
1498 + return-void
1499 +.end method
1501 +.method public static asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
1502 + .registers 3
1504 + if-nez p0, :cond_4
1506 + const/4 v0, 0x0
1508 + :goto_3
1509 + return-object v0
1511 + :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;
1526 + goto :goto_3
1528 + :cond_13
1529 + new-instance v0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;
1531 + invoke-direct {v0, p0}, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
1533 + goto :goto_3
1534 +.end method
1537 +# virtual methods
1538 +.method public asBinder()Landroid/os/IBinder;
1539 + .registers 1
1541 + return-object p0
1542 +.end method
1544 +.method public onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1545 + .registers 14
1546 + .annotation system Ldalvik/annotation/Throws;
1547 + value = {
1548 + Landroid/os/RemoteException;
1550 + .end annotation
1552 + const/4 v6, 0x0
1554 + const/4 v7, 0x1
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
1560 + move-result v7
1562 + :goto_9
1563 + return v7
1565 + :sswitch_a
1566 + const-string v6, "android.privacy.IPrivacySettingsManager"
1568 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
1570 + goto :goto_9
1572 + :sswitch_10
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
1593 + goto :goto_9
1595 + :cond_29
1596 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
1598 + goto :goto_9
1600 + :sswitch_2d
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
1607 + move-result v8
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;
1619 + :goto_40
1620 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->saveSettings(Landroid/privacy/PrivacySettings;)Z
1622 + move-result v4
1624 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1626 + if-eqz v4, :cond_4a
1628 + move v6, v7
1630 + :cond_4a
1631 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
1633 + goto :goto_9
1635 + :cond_4e
1636 + const/4 v0, 0x0
1638 + goto :goto_40
1640 + :sswitch_50
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
1651 + move-result v4
1653 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1655 + if-eqz v4, :cond_63
1657 + move v6, v7
1659 + :cond_63
1660 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
1662 + goto :goto_9
1664 + :sswitch_67
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
1675 + move-result v1
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
1689 + goto :goto_9
1691 + :sswitch_83
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
1700 + goto/16 :goto_9
1702 + :sswitch_90
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
1715 + goto/16 :goto_9
1717 + :sswitch_a1
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
1724 + move-result v4
1726 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1728 + if-eqz v4, :cond_b0
1730 + move v6, v7
1732 + :cond_b0
1733 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
1735 + goto/16 :goto_9
1737 + :sswitch_b5
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
1750 + goto/16 :goto_9
1752 + :sswitch_c6
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
1759 + move-result v8
1761 + if-eqz v8, :cond_e1
1763 + move v0, v7
1765 + :goto_d2
1766 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->setEnabled(Z)Z
1768 + move-result v4
1770 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1772 + if-eqz v4, :cond_dc
1774 + move v6, v7
1776 + :cond_dc
1777 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
1779 + goto/16 :goto_9
1781 + :cond_e1
1782 + move v0, v6
1784 + goto :goto_d2
1786 + :sswitch_e3
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
1793 + move-result v8
1795 + if-eqz v8, :cond_fe
1797 + move v0, v7
1799 + :goto_ef
1800 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->setNotificationsEnabled(Z)Z
1802 + move-result v4
1804 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1806 + if-eqz v4, :cond_f9
1808 + move v6, v7
1810 + :cond_f9
1811 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
1813 + goto/16 :goto_9
1815 + :cond_fe
1816 + move v0, v6
1818 + goto :goto_ef
1820 + :sswitch_100
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
1829 + goto/16 :goto_9
1831 + nop
1833 + :sswitch_data_10e
1834 + .sparse-switch
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
1848 +.end method
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
1852 @@ -0,0 +1,217 @@
1853 +.class public Landroid/privacy/PrivacyFileObserver;
1854 +.super Landroid/os/FileObserver;
1855 +.source "PrivacyFileObserver.java"
1858 +# static fields
1859 +.field public static final PACKAGE_PATH_INDEX:I = 0x3
1861 +.field public static final TAG:Ljava/lang/String; = "PrivacyFileObserver"
1864 +# instance fields
1865 +.field public absolutePath:Ljava/lang/String;
1867 +.field public children:Ljava/util/HashMap;
1868 + .annotation system Ldalvik/annotation/Signature;
1869 + value = {
1870 + "Ljava/util/HashMap",
1871 + "<",
1872 + "Ljava/lang/String;",
1873 + "Landroid/privacy/PrivacyFileObserver;",
1874 + ">;"
1876 + .end annotation
1877 +.end field
1879 +.field private pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
1882 +# direct methods
1883 +.method public constructor <init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
1884 + .registers 12
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
1908 + move-result v8
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
1920 + const/4 v3, 0x0
1922 + :goto_24
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
1941 + move-result v8
1943 + if-eqz v8, :cond_3f
1945 + invoke-virtual {v1}, Landroid/privacy/PrivacyFileObserver;->startWatching()V
1947 + :cond_3f
1948 + add-int/lit8 v3, v3, 0x1
1950 + goto :goto_24
1952 + :cond_42
1953 + return-void
1954 +.end method
1957 +# virtual methods
1958 +.method public addObserver(Ljava/lang/String;)V
1959 + .registers 6
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;
1999 + return-void
2000 +.end method
2002 +.method public onEvent(ILjava/lang/String;)V
2003 + .registers 11
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
2017 + const/4 v0, 0x0
2019 + :goto_e
2020 + const/4 v4, 0x3
2022 + if-ge v0, v4, :cond_1d
2024 + invoke-virtual {v3}, Ljava/util/StringTokenizer;->hasMoreElements()Z
2026 + move-result v4
2028 + if-eqz v4, :cond_1d
2030 + invoke-virtual {v3}, Ljava/util/StringTokenizer;->nextToken()Ljava/lang/String;
2032 + add-int/lit8 v0, v0, 0x1
2034 + goto :goto_e
2036 + :cond_1d
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
2051 + move-result v5
2053 + const-string/jumbo v6, "systemLogs"
2055 + const/4 v7, 0x0
2057 + invoke-virtual {v4, v2, v5, v6, v7}, Landroid/privacy/PrivacySettingsManagerService;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
2059 + :cond_34
2060 + return-void
2061 +.end method
2063 +.method public startWatching()V
2064 + .registers 1
2066 + invoke-super {p0}, Landroid/os/FileObserver;->startWatching()V
2068 + return-void
2069 +.end method
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
2073 @@ -0,0 +1,4631 @@
2074 +.class public Landroid/privacy/PrivacyPersistenceAdapter;
2075 +.super Ljava/lang/Object;
2076 +.source "PrivacyPersistenceAdapter.java"
2079 +# static fields
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;
2127 +# instance fields
2128 +.field private context:Landroid/content/Context;
2130 +.field private db:Landroid/database/sqlite/SQLiteDatabase;
2133 +# direct methods
2134 +.method static constructor <clinit>()V
2135 + .registers 3
2137 + const/4 v2, 0x0
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;
2145 + const/16 v0, 0x23
2147 + new-array v0, v0, [Ljava/lang/String;
2149 + const-string v1, "_id"
2151 + aput-object v1, v0, v2
2153 + const/4 v1, 0x1
2155 + const-string/jumbo v2, "packageName"
2157 + aput-object v2, v0, v1
2159 + const/4 v1, 0x2
2161 + const-string/jumbo v2, "uid"
2163 + aput-object v2, v0, v1
2165 + const/4 v1, 0x3
2167 + const-string v2, "deviceIdSetting"
2169 + aput-object v2, v0, v1
2171 + const/4 v1, 0x4
2173 + const-string v2, "deviceId"
2175 + aput-object v2, v0, v1
2177 + const/4 v1, 0x5
2179 + const-string v2, "line1NumberSetting"
2181 + aput-object v2, v0, v1
2183 + const/4 v1, 0x6
2185 + const-string v2, "line1Number"
2187 + aput-object v2, v0, v1
2189 + const/4 v1, 0x7
2191 + const-string v2, "locationGpsSetting"
2193 + aput-object v2, v0, v1
2195 + const/16 v1, 0x8
2197 + const-string v2, "locationGpsLat"
2199 + aput-object v2, v0, v1
2201 + const/16 v1, 0x9
2203 + const-string v2, "locationGpsLon"
2205 + aput-object v2, v0, v1
2207 + const/16 v1, 0xa
2209 + const-string v2, "locationNetworkSetting"
2211 + aput-object v2, v0, v1
2213 + const/16 v1, 0xb
2215 + const-string v2, "locationNetworkLat"
2217 + aput-object v2, v0, v1
2219 + const/16 v1, 0xc
2221 + const-string v2, "locationNetworkLon"
2223 + aput-object v2, v0, v1
2225 + const/16 v1, 0xd
2227 + const-string/jumbo v2, "networkInfoSetting"
2229 + aput-object v2, v0, v1
2231 + const/16 v1, 0xe
2233 + const-string/jumbo v2, "simInfoSetting"
2235 + aput-object v2, v0, v1
2237 + const/16 v1, 0xf
2239 + const-string/jumbo v2, "simSerialNumberSetting"
2241 + aput-object v2, v0, v1
2243 + const/16 v1, 0x10
2245 + const-string/jumbo v2, "simSerialNumber"
2247 + aput-object v2, v0, v1
2249 + const/16 v1, 0x11
2251 + const-string/jumbo v2, "subscriberIdSetting"
2253 + aput-object v2, v0, v1
2255 + const/16 v1, 0x12
2257 + const-string/jumbo v2, "subscriberId"
2259 + aput-object v2, v0, v1
2261 + const/16 v1, 0x13
2263 + const-string v2, "accountsSetting"
2265 + aput-object v2, v0, v1
2267 + const/16 v1, 0x14
2269 + const-string v2, "accountsAuthTokensSetting"
2271 + aput-object v2, v0, v1
2273 + const/16 v1, 0x15
2275 + const-string/jumbo v2, "outgoingCallsSetting"
2277 + aput-object v2, v0, v1
2279 + const/16 v1, 0x16
2281 + const-string v2, "incomingCallsSetting"
2283 + aput-object v2, v0, v1
2285 + const/16 v1, 0x17
2287 + const-string v2, "contactsSetting"
2289 + aput-object v2, v0, v1
2291 + const/16 v1, 0x18
2293 + const-string v2, "calendarSetting"
2295 + aput-object v2, v0, v1
2297 + const/16 v1, 0x19
2299 + const-string/jumbo v2, "mmsSetting"
2301 + aput-object v2, v0, v1
2303 + const/16 v1, 0x1a
2305 + const-string/jumbo v2, "smsSetting"
2307 + aput-object v2, v0, v1
2309 + const/16 v1, 0x1b
2311 + const-string v2, "callLogSetting"
2313 + aput-object v2, v0, v1
2315 + const/16 v1, 0x1c
2317 + const-string v2, "bookmarksSetting"
2319 + aput-object v2, v0, v1
2321 + const/16 v1, 0x1d
2323 + const-string/jumbo v2, "systemLogsSetting"
2325 + aput-object v2, v0, v1
2327 + const/16 v1, 0x1e
2329 + const-string v2, "externalStorageSetting"
2331 + aput-object v2, v0, v1
2333 + const/16 v1, 0x1f
2335 + const-string v2, "cameraSetting"
2337 + aput-object v2, v0, v1
2339 + const/16 v1, 0x20
2341 + const-string/jumbo v2, "recordAudioSetting"
2343 + aput-object v2, v0, v1
2345 + const/16 v1, 0x21
2347 + const-string/jumbo v2, "notificationSetting"
2349 + aput-object v2, v0, v1
2351 + const/16 v1, 0x22
2353 + const-string v2, "intentBootCompletedSetting"
2355 + aput-object v2, v0, v1
2357 + sput-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->DATABASE_FIELDS:[Ljava/lang/String;
2359 + return-void
2360 +.end method
2362 +.method public constructor <init>(Landroid/content/Context;)V
2363 + .registers 6
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
2377 + move-result v0
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
2389 + move-result v2
2391 + if-nez v2, :cond_22
2393 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->createDatabase()V
2395 + :cond_22
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
2404 + move-result v2
2406 + if-nez v2, :cond_32
2408 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->createSettingsDir()V
2410 + :cond_32
2411 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getDbVersion()I
2413 + move-result v1
2415 + const/4 v2, 0x3
2417 + if-ge v1, v2, :cond_3c
2419 + invoke-direct {p0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->upgradeDatabase(I)V
2421 + :cond_3c
2422 + return-void
2423 +.end method
2425 +.method private declared-synchronized createDatabase()V
2426 + .registers 6
2428 + monitor-enter p0
2430 + :try_start_1
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
2436 + :try_end_8
2437 + .catchall {:try_start_1 .. :try_end_8} :catchall_4c
2439 + :try_start_8
2440 + const-string v2, "/data/system/privacy.db"
2442 + const/4 v3, 0x0
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
2484 + move-result v2
2486 + if-eqz v2, :cond_41
2488 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
2489 + :try_end_41
2490 + .catchall {:try_start_8 .. :try_end_41} :catchall_4c
2491 + .catch Landroid/database/SQLException; {:try_start_8 .. :try_end_41} :catch_43
2493 + :cond_41
2494 + :goto_41
2495 + monitor-exit p0
2497 + return-void
2499 + :catch_43
2500 + move-exception v1
2502 + :try_start_44
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
2508 + :try_end_4b
2509 + .catchall {:try_start_44 .. :try_end_4b} :catchall_4c
2511 + goto :goto_41
2513 + :catchall_4c
2514 + move-exception v2
2516 + monitor-exit p0
2518 + throw v2
2519 +.end method
2521 +.method private declared-synchronized createSettingsDir()V
2522 + .registers 4
2524 + monitor-enter p0
2526 + :try_start_1
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
2535 + const/4 v1, 0x1
2537 + const/4 v2, 0x0
2539 + invoke-virtual {v0, v1, v2}, Ljava/io/File;->setReadable(ZZ)Z
2541 + const/4 v1, 0x1
2543 + const/4 v2, 0x0
2545 + invoke-virtual {v0, v1, v2}, Ljava/io/File;->setExecutable(ZZ)Z
2546 + :try_end_15
2547 + .catchall {:try_start_1 .. :try_end_15} :catchall_17
2549 + monitor-exit p0
2551 + return-void
2553 + :catchall_17
2554 + move-exception v1
2556 + monitor-exit p0
2558 + throw v1
2559 +.end method
2561 +.method private deleteRecursive(Ljava/io/File;)V
2562 + .registers 7
2564 + invoke-virtual {p1}, Ljava/io/File;->isDirectory()Z
2566 + move-result v4
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
2576 + const/4 v2, 0x0
2578 + :goto_c
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
2587 + goto :goto_c
2589 + :cond_16
2590 + invoke-virtual {p1}, Ljava/io/File;->delete()Z
2592 + return-void
2593 +.end method
2595 +.method private getDbVersion()I
2596 + .registers 9
2598 + const/4 v4, 0x1
2600 + const/4 v3, -0x1
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
2608 + move-result v6
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
2622 + :try_start_16
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
2633 + move-result v6
2635 + if-nez v6, :cond_25
2637 + const/4 v3, 0x1
2639 + :cond_25
2640 + invoke-interface {v0}, Landroid/database/Cursor;->close()V
2642 + sget-object v7, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2644 + monitor-enter v7
2645 + :try_end_2b
2646 + .catch Ljava/lang/Exception; {:try_start_16 .. :try_end_2b} :catch_55
2648 + :try_start_2b
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
2655 + move-result v6
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
2669 + move-result v6
2671 + if-nez v6, :cond_4e
2673 + if-eqz v1, :cond_4e
2675 + invoke-virtual {v1}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
2677 + move-result v6
2679 + if-eqz v6, :cond_4e
2681 + invoke-virtual {v1}, Landroid/database/sqlite/SQLiteDatabase;->close()V
2683 + :cond_4e
2684 + monitor-exit v7
2686 + :goto_4f
2687 + if-ne v3, v4, :cond_66
2689 + :goto_51
2690 + return v3
2692 + :catchall_52
2693 + move-exception v6
2695 + monitor-exit v7
2696 + :try_end_54
2697 + .catchall {:try_start_2b .. :try_end_54} :catchall_52
2699 + :try_start_54
2700 + throw v6
2701 + :try_end_55
2702 + .catch Ljava/lang/Exception; {:try_start_54 .. :try_end_55} :catch_55
2704 + :catch_55
2705 + move-exception v2
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
2713 + goto :goto_4f
2715 + :cond_5e
2716 + :try_start_5e
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
2722 + :try_end_65
2723 + .catch Ljava/lang/Exception; {:try_start_5e .. :try_end_65} :catch_55
2725 + goto :goto_4f
2727 + :cond_66
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
2736 + move v3, v4
2738 + goto :goto_51
2740 + :cond_70
2741 + :try_start_70
2742 + invoke-static {v5}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
2743 + :try_end_73
2744 + .catch Ljava/lang/Exception; {:try_start_70 .. :try_end_73} :catch_76
2746 + move-result v4
2748 + move v3, v4
2750 + goto :goto_51
2752 + :catch_76
2753 + move-exception v2
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
2761 + move v3, v4
2763 + goto :goto_51
2764 +.end method
2766 +.method private declared-synchronized getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
2767 + .registers 4
2769 + monitor-enter p0
2771 + :try_start_1
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
2780 + move-result v0
2782 + if-eqz v0, :cond_11
2784 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2785 + :try_end_f
2786 + .catchall {:try_start_1 .. :try_end_f} :catchall_1e
2788 + :goto_f
2789 + monitor-exit p0
2791 + return-object v0
2793 + :cond_11
2794 + :try_start_11
2795 + const-string v0, "/data/system/privacy.db"
2797 + const/4 v1, 0x0
2799 + const/4 v2, 0x1
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;
2808 + :try_end_1d
2809 + .catchall {:try_start_11 .. :try_end_1d} :catchall_1e
2811 + goto :goto_f
2813 + :catchall_1e
2814 + move-exception v0
2816 + monitor-exit p0
2818 + throw v0
2819 +.end method
2821 +.method private declared-synchronized getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
2822 + .registers 4
2824 + monitor-enter p0
2826 + :try_start_1
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
2835 + move-result v0
2837 + if-nez v0, :cond_11
2839 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->createDatabase()V
2841 + :cond_11
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
2850 + move-result v0
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
2858 + move-result v0
2860 + if-nez v0, :cond_29
2862 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2863 + :try_end_27
2864 + .catchall {:try_start_1 .. :try_end_27} :catchall_36
2866 + :goto_27
2867 + monitor-exit p0
2869 + return-object v0
2871 + :cond_29
2872 + :try_start_29
2873 + const-string v0, "/data/system/privacy.db"
2875 + const/4 v1, 0x0
2877 + const/4 v2, 0x0
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;
2886 + :try_end_35
2887 + .catchall {:try_start_29 .. :try_end_35} :catchall_36
2889 + goto :goto_27
2891 + :catchall_36
2892 + move-exception v0
2894 + monitor-exit p0
2896 + throw v0
2897 +.end method
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;
2900 + .registers 16
2901 + .annotation system Ldalvik/annotation/Throws;
2902 + value = {
2903 + Ljava/lang/Exception;
2905 + .end annotation
2907 + const/4 v0, 0x0
2909 + const/4 v3, 0x0
2911 + const/4 v2, 0x0
2913 + :goto_3
2914 + if-nez v3, :cond_27
2916 + const/4 v4, 0x5
2918 + if-ge v2, v4, :cond_27
2920 + if-eqz v0, :cond_d
2922 + :try_start_a
2923 + invoke-interface {v0}, Landroid/database/Cursor;->close()V
2925 + :cond_d
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;
2927 + :try_end_10
2928 + .catch Ljava/lang/IllegalStateException; {:try_start_a .. :try_end_10} :catch_15
2930 + move-result-object v0
2932 + const/4 v3, 0x1
2934 + :goto_12
2935 + add-int/lit8 v2, v2, 0x1
2937 + goto :goto_3
2939 + :catch_15
2940 + move-exception v1
2942 + const/4 v3, 0x0
2944 + if-eqz p1, :cond_22
2946 + invoke-virtual {p1}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
2948 + move-result v4
2950 + if-eqz v4, :cond_22
2952 + invoke-virtual {p1}, Landroid/database/sqlite/SQLiteDatabase;->close()V
2954 + :cond_22
2955 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
2957 + move-result-object p1
2959 + goto :goto_12
2961 + :cond_27
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
2970 + throw v4
2972 + :cond_32
2973 + return-object v0
2974 +.end method
2976 +.method private rawQuery(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;)Landroid/database/Cursor;
2977 + .registers 9
2978 + .annotation system Ldalvik/annotation/Throws;
2979 + value = {
2980 + Ljava/lang/Exception;
2982 + .end annotation
2984 + const/4 v0, 0x0
2986 + const/4 v3, 0x0
2988 + const/4 v2, 0x0
2990 + :goto_3
2991 + if-nez v3, :cond_28
2993 + const/4 v4, 0x5
2995 + if-ge v2, v4, :cond_28
2997 + if-eqz v0, :cond_d
2999 + :try_start_a
3000 + invoke-interface {v0}, Landroid/database/Cursor;->close()V
3002 + :cond_d
3003 + const/4 v4, 0x0
3005 + invoke-virtual {p1, p2, v4}, Landroid/database/sqlite/SQLiteDatabase;->rawQuery(Ljava/lang/String;[Ljava/lang/String;)Landroid/database/Cursor;
3006 + :try_end_11
3007 + .catch Ljava/lang/IllegalStateException; {:try_start_a .. :try_end_11} :catch_16
3009 + move-result-object v0
3011 + const/4 v3, 0x1
3013 + :goto_13
3014 + add-int/lit8 v2, v2, 0x1
3016 + goto :goto_3
3018 + :catch_16
3019 + move-exception v1
3021 + const/4 v3, 0x0
3023 + if-eqz p1, :cond_23
3025 + invoke-virtual {p1}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3027 + move-result v4
3029 + if-eqz v4, :cond_23
3031 + invoke-virtual {p1}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3033 + :cond_23
3034 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
3036 + move-result-object p1
3038 + goto :goto_13
3040 + :cond_28
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
3049 + throw v4
3051 + :cond_33
3052 + return-object v0
3053 +.end method
3055 +.method private declared-synchronized upgradeDatabase(I)V
3056 + .registers 23
3058 + monitor-enter p0
3060 + :try_start_1
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
3087 + const/16 v19, 0x3
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
3114 + :try_end_3c
3115 + .catchall {:try_start_1 .. :try_end_3c} :catchall_66
3117 + :try_start_3c
3118 + invoke-virtual {v5}, Ljava/io/File;->delete()Z
3119 + :try_end_3f
3120 + .catchall {:try_start_3c .. :try_end_3f} :catchall_66
3121 + .catch Ljava/lang/SecurityException; {:try_start_3c .. :try_end_3f} :catch_5c
3123 + :goto_3f
3124 + :try_start_3f
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
3148 + :try_end_5a
3149 + .catchall {:try_start_3f .. :try_end_5a} :catchall_66
3151 + :goto_5a
3152 + monitor-exit p0
3154 + return-void
3156 + :catch_5c
3157 + move-exception v7
3159 + :try_start_5d
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
3165 + :try_end_65
3166 + .catchall {:try_start_5d .. :try_end_65} :catchall_66
3168 + goto :goto_3f
3170 + :catchall_66
3171 + move-exception v17
3173 + monitor-exit p0
3175 + throw v17
3177 + :cond_69
3178 + :try_start_69
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
3187 + :cond_73
3188 + :goto_73
3189 + if-eqz v4, :cond_159
3191 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3193 + move-result v17
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
3201 + :goto_81
3202 + invoke-virtual/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->purgeSettings()Z
3203 + :try_end_84
3204 + .catchall {:try_start_69 .. :try_end_84} :catchall_66
3206 + goto :goto_5a
3208 + :pswitch_85
3209 + if-eqz v4, :cond_73
3211 + :try_start_87
3212 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3214 + move-result v17
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
3268 + const/4 v8, 0x0
3270 + move v9, v8
3272 + :goto_c7
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
3283 + const/4 v8, 0x0
3285 + :goto_d1
3286 + if-ge v8, v11, :cond_123
3288 + aget-object v16, v3, v8
3290 + invoke-virtual/range {v16 .. v16}, Ljava/io/File;->isDirectory()Z
3292 + move-result v17
3294 + if-eqz v17, :cond_120
3296 + invoke-virtual/range {v16 .. v16}, Ljava/io/File;->listFiles()[Ljava/io/File;
3298 + move-result-object v15
3300 + const/16 v17, 0x0
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
3324 + const/16 v18, 0x0
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
3346 + const/16 v17, 0x0
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
3360 + :cond_120
3361 + add-int/lit8 v8, v8, 0x1
3363 + goto :goto_d1
3365 + :cond_123
3366 + add-int/lit8 v8, v9, 0x1
3368 + move v9, v8
3370 + goto :goto_c7
3372 + :cond_127
3373 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->setTransactionSuccessful()V
3374 + :try_end_12a
3375 + .catchall {:try_start_87 .. :try_end_12a} :catchall_66
3376 + .catch Ljava/lang/Exception; {:try_start_87 .. :try_end_12a} :catch_12c
3378 + goto/16 :goto_73
3380 + :catch_12c
3381 + move-exception v7
3383 + if-eqz v4, :cond_13b
3385 + :try_start_12f
3386 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3388 + move-result v17
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
3396 + :cond_13b
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
3411 + goto/16 :goto_73
3413 + :pswitch_14f
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
3420 + goto/16 :goto_73
3422 + :cond_159
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
3428 + :try_end_161
3429 + .catchall {:try_start_12f .. :try_end_161} :catchall_66
3431 + goto/16 :goto_81
3433 + nop
3435 + :pswitch_data_164
3436 + .packed-switch 0x1
3437 + :pswitch_85
3438 + :pswitch_85
3439 + :pswitch_14f
3440 + .end packed-switch
3441 +.end method
3444 +# virtual methods
3445 +.method public declared-synchronized deleteSettings(Ljava/lang/String;)Z
3446 + .registers 16
3448 + monitor-enter p0
3450 + const/4 v11, 0x1
3452 + :try_start_2
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
3458 + :try_end_9
3459 + .catchall {:try_start_2 .. :try_end_9} :catchall_107
3461 + :try_start_9
3462 + const-string/jumbo v1, "settings"
3464 + const/4 v2, 0x1
3466 + new-array v2, v2, [Ljava/lang/String;
3468 + const/4 v3, 0x0
3470 + const-string v4, "_id"
3472 + aput-object v4, v2, v3
3474 + const-string/jumbo v3, "packageName=?"
3476 + const/4 v4, 0x1
3478 + new-array v4, v4, [Ljava/lang/String;
3480 + const/4 v5, 0x0
3482 + aput-object p1, v4, v5
3484 + const/4 v5, 0x0
3486 + const/4 v6, 0x0
3488 + const/4 v7, 0x0
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
3498 + move-result v1
3500 + if-lez v1, :cond_4c
3502 + invoke-interface {v8}, Landroid/database/Cursor;->moveToFirst()Z
3504 + move-result v1
3506 + if-eqz v1, :cond_4c
3508 + const/4 v1, 0x0
3510 + invoke-interface {v8, v1}, Landroid/database/Cursor;->getInt(I)I
3512 + move-result v10
3514 + const-string v1, "allowed_contacts"
3516 + const-string/jumbo v2, "settings_id=?"
3518 + const/4 v3, 0x1
3520 + new-array v3, v3, [Ljava/lang/String;
3522 + const/4 v4, 0x0
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
3534 + :cond_4c
3535 + const-string/jumbo v1, "settings"
3537 + const-string/jumbo v2, "packageName=?"
3539 + const/4 v3, 0x1
3541 + new-array v3, v3, [Ljava/lang/String;
3543 + const/4 v4, 0x0
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
3549 + move-result v1
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
3580 + :try_end_7c
3581 + .catchall {:try_start_9 .. :try_end_7c} :catchall_10a
3582 + .catch Ljava/lang/Exception; {:try_start_9 .. :try_end_7c} :catch_ef
3584 + const/4 v1, 0x0
3586 + :try_start_7d
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
3593 + move-result v2
3595 + if-eqz v2, :cond_8b
3597 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3598 + :try_end_8b
3599 + .catchall {:try_start_7d .. :try_end_8b} :catchall_107
3601 + :cond_8b
3602 + :goto_8b
3603 + monitor-exit p0
3605 + return v1
3607 + :cond_8d
3608 + :try_start_8d
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
3681 + :cond_d9
3682 + invoke-virtual {v12}, Ljava/io/File;->delete()Z
3684 + :cond_dc
3685 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->setTransactionSuccessful()V
3686 + :try_end_df
3687 + .catchall {:try_start_8d .. :try_end_df} :catchall_10a
3688 + .catch Ljava/lang/Exception; {:try_start_8d .. :try_end_df} :catch_ef
3690 + :try_start_df
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
3697 + move-result v1
3699 + if-eqz v1, :cond_ed
3701 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3702 + :try_end_ed
3703 + .catchall {:try_start_df .. :try_end_ed} :catchall_107
3705 + :cond_ed
3706 + :goto_ed
3707 + move v1, v11
3709 + goto :goto_8b
3711 + :catch_ef
3712 + move-exception v9
3714 + const/4 v11, 0x0
3716 + :try_start_f1
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
3722 + :try_end_f8
3723 + .catchall {:try_start_f1 .. :try_end_f8} :catchall_10a
3725 + :try_start_f8
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
3732 + move-result v1
3734 + if-eqz v1, :cond_ed
3736 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3737 + :try_end_106
3738 + .catchall {:try_start_f8 .. :try_end_106} :catchall_107
3740 + goto :goto_ed
3742 + :catchall_107
3743 + move-exception v1
3745 + monitor-exit p0
3747 + throw v1
3749 + :catchall_10a
3750 + move-exception v1
3752 + :try_start_10b
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
3759 + move-result v2
3761 + if-eqz v2, :cond_119
3763 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3765 + :cond_119
3766 + throw v1
3767 + :try_end_11a
3768 + .catchall {:try_start_10b .. :try_end_11a} :catchall_107
3769 +.end method
3771 +.method public declared-synchronized getSettings(Ljava/lang/String;Z)Landroid/privacy/PrivacySettings;
3772 + .registers 47
3774 + monitor-enter p0
3776 + const/16 v43, 0x0
3778 + if-nez p1, :cond_10
3780 + :try_start_5
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
3786 + :try_end_c
3787 + .catchall {:try_start_5 .. :try_end_c} :catchall_2d8
3789 + move-object/from16 v3, v43
3791 + :goto_e
3792 + monitor-exit p0
3794 + return-object v43
3796 + :cond_10
3797 + :try_start_10
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
3804 + move-result v1
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;
3813 + :try_end_20
3814 + .catchall {:try_start_10 .. :try_end_20} :catchall_2d8
3816 + :try_start_20
3817 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
3818 + :try_end_23
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
3824 + const/16 v41, 0x0
3826 + :try_start_26
3827 + const-string/jumbo v3, "settings"
3829 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->DATABASE_FIELDS:[Ljava/lang/String;
3831 + const-string/jumbo v5, "packageName=?"
3833 + const/4 v1, 0x1
3835 + new-array v6, v1, [Ljava/lang/String;
3837 + const/4 v1, 0x0
3839 + aput-object p1, v6, v1
3841 + const/4 v7, 0x0
3843 + const/4 v8, 0x0
3845 + const/4 v9, 0x0
3847 + const/4 v10, 0x0
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
3859 + move-result v1
3861 + if-eqz v1, :cond_2dc
3863 + new-instance v3, Landroid/privacy/PrivacySettings;
3865 + const/4 v1, 0x0
3867 + move-object/from16 v0, v41
3869 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getInt(I)I
3871 + move-result v1
3873 + invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
3875 + move-result-object v4
3877 + const/4 v1, 0x1
3879 + move-object/from16 v0, v41
3881 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
3883 + move-result-object v5
3885 + const/4 v1, 0x2
3887 + move-object/from16 v0, v41
3889 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getInt(I)I
3891 + move-result v6
3893 + const/4 v1, 0x3
3895 + move-object/from16 v0, v41
3897 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3899 + move-result v1
3901 + int-to-byte v7, v1
3903 + const/4 v1, 0x4
3905 + move-object/from16 v0, v41
3907 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
3909 + move-result-object v8
3911 + const/4 v1, 0x5
3913 + move-object/from16 v0, v41
3915 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3917 + move-result v1
3919 + int-to-byte v9, v1
3921 + const/4 v1, 0x6
3923 + move-object/from16 v0, v41
3925 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
3927 + move-result-object v10
3929 + const/4 v1, 0x7
3931 + move-object/from16 v0, v41
3933 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3935 + move-result v1
3937 + int-to-byte v11, v1
3939 + const/16 v1, 0x8
3941 + move-object/from16 v0, v41
3943 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
3945 + move-result-object v12
3947 + const/16 v1, 0x9
3949 + move-object/from16 v0, v41
3951 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
3953 + move-result-object v13
3955 + const/16 v1, 0xa
3957 + move-object/from16 v0, v41
3959 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3961 + move-result v1
3963 + int-to-byte v14, v1
3965 + const/16 v1, 0xb
3967 + move-object/from16 v0, v41
3969 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
3971 + move-result-object v15
3973 + const/16 v1, 0xc
3975 + move-object/from16 v0, v41
3977 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
3979 + move-result-object v16
3981 + const/16 v1, 0xd
3983 + move-object/from16 v0, v41
3985 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3987 + move-result v1
3989 + int-to-byte v0, v1
3991 + move/from16 v17, v0
3993 + const/16 v1, 0xe
3995 + move-object/from16 v0, v41
3997 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3999 + move-result v1
4001 + int-to-byte v0, v1
4003 + move/from16 v18, v0
4005 + const/16 v1, 0xf
4007 + move-object/from16 v0, v41
4009 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4011 + move-result v1
4013 + int-to-byte v0, v1
4015 + move/from16 v19, v0
4017 + const/16 v1, 0x10
4019 + move-object/from16 v0, v41
4021 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
4023 + move-result-object v20
4025 + const/16 v1, 0x11
4027 + move-object/from16 v0, v41
4029 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4031 + move-result v1
4033 + int-to-byte v0, v1
4035 + move/from16 v21, v0
4037 + const/16 v1, 0x12
4039 + move-object/from16 v0, v41
4041 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
4043 + move-result-object v22
4045 + const/16 v1, 0x13
4047 + move-object/from16 v0, v41
4049 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4051 + move-result v1
4053 + int-to-byte v0, v1
4055 + move/from16 v23, v0
4057 + const/16 v1, 0x14
4059 + move-object/from16 v0, v41
4061 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4063 + move-result v1
4065 + int-to-byte v0, v1
4067 + move/from16 v24, v0
4069 + const/16 v1, 0x15
4071 + move-object/from16 v0, v41
4073 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4075 + move-result v1
4077 + int-to-byte v0, v1
4079 + move/from16 v25, v0
4081 + const/16 v1, 0x16
4083 + move-object/from16 v0, v41
4085 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4087 + move-result v1
4089 + int-to-byte v0, v1
4091 + move/from16 v26, v0
4093 + const/16 v1, 0x17
4095 + move-object/from16 v0, v41
4097 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4099 + move-result v1
4101 + int-to-byte v0, v1
4103 + move/from16 v27, v0
4105 + const/16 v1, 0x18
4107 + move-object/from16 v0, v41
4109 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4111 + move-result v1
4113 + int-to-byte v0, v1
4115 + move/from16 v28, v0
4117 + const/16 v1, 0x19
4119 + move-object/from16 v0, v41
4121 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4123 + move-result v1
4125 + int-to-byte v0, v1
4127 + move/from16 v29, v0
4129 + const/16 v1, 0x1a
4131 + move-object/from16 v0, v41
4133 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4135 + move-result v1
4137 + int-to-byte v0, v1
4139 + move/from16 v30, v0
4141 + const/16 v1, 0x1b
4143 + move-object/from16 v0, v41
4145 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4147 + move-result v1
4149 + int-to-byte v0, v1
4151 + move/from16 v31, v0
4153 + const/16 v1, 0x1c
4155 + move-object/from16 v0, v41
4157 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4159 + move-result v1
4161 + int-to-byte v0, v1
4163 + move/from16 v32, v0
4165 + const/16 v1, 0x1d
4167 + move-object/from16 v0, v41
4169 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4171 + move-result v1
4173 + int-to-byte v0, v1
4175 + move/from16 v33, v0
4177 + const/16 v1, 0x1e
4179 + move-object/from16 v0, v41
4181 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4183 + move-result v1
4185 + int-to-byte v0, v1
4187 + move/from16 v34, v0
4189 + const/16 v1, 0x1f
4191 + move-object/from16 v0, v41
4193 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4195 + move-result v1
4197 + int-to-byte v0, v1
4199 + move/from16 v35, v0
4201 + const/16 v1, 0x20
4203 + move-object/from16 v0, v41
4205 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4207 + move-result v1
4209 + int-to-byte v0, v1
4211 + move/from16 v36, v0
4213 + const/16 v1, 0x21
4215 + move-object/from16 v0, v41
4217 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4219 + move-result v1
4221 + int-to-byte v0, v1
4223 + move/from16 v37, v0
4225 + const/16 v1, 0x22
4227 + move-object/from16 v0, v41
4229 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4231 + move-result v1
4233 + int-to-byte v0, v1
4235 + move/from16 v38, v0
4237 + const/16 v39, 0x0
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
4240 + :try_end_1a1
4241 + .catchall {:try_start_26 .. :try_end_1a1} :catchall_29b
4242 + .catch Ljava/lang/Exception; {:try_start_26 .. :try_end_1a1} :catch_2d3
4244 + :try_start_1a1
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
4261 + move-result v4
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
4291 + move-result v1
4293 + if-lez v1, :cond_268
4295 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->getCount()I
4297 + move-result v1
4299 + new-array v0, v1, [I
4301 + move-object/from16 v40, v0
4303 + :goto_1dc
4304 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->moveToNext()Z
4306 + move-result v1
4308 + if-eqz v1, :cond_263
4310 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->getPosition()I
4312 + move-result v1
4314 + const/4 v4, 0x1
4316 + move-object/from16 v0, v41
4318 + invoke-interface {v0, v4}, Landroid/database/Cursor;->getInt(I)I
4320 + move-result v4
4322 + aput v4, v40, v1
4323 + :try_end_1ef
4324 + .catchall {:try_start_1a1 .. :try_end_1ef} :catchall_2d1
4325 + .catch Ljava/lang/Exception; {:try_start_1a1 .. :try_end_1ef} :catch_1f0
4327 + goto :goto_1dc
4329 + :catch_1f0
4330 + move-exception v42
4332 + :goto_1f1
4333 + :try_start_1f1
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
4365 + :try_end_215
4366 + .catchall {:try_start_1f1 .. :try_end_215} :catchall_2d1
4368 + :cond_215
4369 + if-eqz v41, :cond_21a
4371 + :try_start_217
4372 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->close()V
4374 + :cond_21a
4375 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4377 + monitor-enter v4
4378 + :try_end_21d
4379 + .catchall {:try_start_217 .. :try_end_21d} :catchall_298
4381 + :try_start_21d
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
4388 + move-result v1
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
4402 + move-result v1
4404 + if-nez v1, :cond_240
4406 + if-eqz v2, :cond_240
4408 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
4410 + move-result v1
4412 + if-eqz v1, :cond_240
4414 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
4416 + :cond_240
4417 + monitor-exit v4
4418 + :try_end_241
4419 + .catchall {:try_start_21d .. :try_end_241} :catchall_2ce
4421 + :goto_241
4422 + move-object/from16 v43, v3
4424 + goto/16 :goto_e
4426 + :catch_245
4427 + move-exception v42
4429 + :try_start_246
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
4444 + move-result v1
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;
4453 + :try_end_25f
4454 + .catchall {:try_start_246 .. :try_end_25f} :catchall_2d8
4456 + move-object/from16 v3, v43
4458 + goto/16 :goto_e
4460 + :cond_263
4461 + :try_start_263
4462 + move-object/from16 v0, v40
4464 + invoke-virtual {v3, v0}, Landroid/privacy/PrivacySettings;->setAllowedContacts([I)V
4465 + :try_end_268
4466 + .catchall {:try_start_263 .. :try_end_268} :catchall_2d1
4467 + .catch Ljava/lang/Exception; {:try_start_263 .. :try_end_268} :catch_1f0
4469 + :cond_268
4470 + :goto_268
4471 + if-eqz v41, :cond_26d
4473 + :try_start_26a
4474 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->close()V
4476 + :cond_26d
4477 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4479 + monitor-enter v4
4480 + :try_end_270
4481 + .catchall {:try_start_26a .. :try_end_270} :catchall_298
4483 + :try_start_270
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
4490 + move-result v1
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
4504 + move-result v1
4506 + if-nez v1, :cond_293
4508 + if-eqz v2, :cond_293
4510 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
4512 + move-result v1
4514 + if-eqz v1, :cond_293
4516 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
4518 + :cond_293
4519 + monitor-exit v4
4521 + goto :goto_241
4523 + :catchall_295
4524 + move-exception v1
4526 + monitor-exit v4
4527 + :try_end_297
4528 + .catchall {:try_start_270 .. :try_end_297} :catchall_295
4530 + :try_start_297
4531 + throw v1
4532 + :try_end_298
4533 + .catchall {:try_start_297 .. :try_end_298} :catchall_298
4535 + :catchall_298
4536 + move-exception v1
4538 + :goto_299
4539 + monitor-exit p0
4541 + throw v1
4543 + :catchall_29b
4544 + move-exception v1
4546 + move-object/from16 v3, v43
4548 + :goto_29e
4549 + if-eqz v41, :cond_2a3
4551 + :try_start_2a0
4552 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->close()V
4554 + :cond_2a3
4555 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4557 + monitor-enter v4
4558 + :try_end_2a6
4559 + .catchall {:try_start_2a0 .. :try_end_2a6} :catchall_298
4561 + :try_start_2a6
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
4568 + move-result v5
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
4582 + move-result v5
4584 + if-nez v5, :cond_2c9
4586 + if-eqz v2, :cond_2c9
4588 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
4590 + move-result v5
4592 + if-eqz v5, :cond_2c9
4594 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
4596 + :cond_2c9
4597 + monitor-exit v4
4598 + :try_end_2ca
4599 + .catchall {:try_start_2a6 .. :try_end_2ca} :catchall_2cb
4601 + :try_start_2ca
4602 + throw v1
4603 + :try_end_2cb
4604 + .catchall {:try_start_2ca .. :try_end_2cb} :catchall_298
4606 + :catchall_2cb
4607 + move-exception v1
4609 + :try_start_2cc
4610 + monitor-exit v4
4611 + :try_end_2cd
4612 + .catchall {:try_start_2cc .. :try_end_2cd} :catchall_2cb
4614 + :try_start_2cd
4615 + throw v1
4616 + :try_end_2ce
4617 + .catchall {:try_start_2cd .. :try_end_2ce} :catchall_298
4619 + :catchall_2ce
4620 + move-exception v1
4622 + :try_start_2cf
4623 + monitor-exit v4
4624 + :try_end_2d0
4625 + .catchall {:try_start_2cf .. :try_end_2d0} :catchall_2ce
4627 + :try_start_2d0
4628 + throw v1
4629 + :try_end_2d1
4630 + .catchall {:try_start_2d0 .. :try_end_2d1} :catchall_298
4632 + :catchall_2d1
4633 + move-exception v1
4635 + goto :goto_29e
4637 + :catch_2d3
4638 + move-exception v42
4640 + move-object/from16 v3, v43
4642 + goto/16 :goto_1f1
4644 + :catchall_2d8
4645 + move-exception v1
4647 + move-object/from16 v3, v43
4649 + goto :goto_299
4651 + :cond_2dc
4652 + move-object/from16 v3, v43
4654 + goto :goto_268
4655 +.end method
4657 +.method public getValue(Ljava/lang/String;)Ljava/lang/String;
4658 + .registers 15
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
4666 + move-result v0
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
4680 + const/4 v12, 0x0
4682 + :try_start_15
4683 + const-string/jumbo v2, "map"
4685 + const/4 v0, 0x1
4687 + new-array v3, v0, [Ljava/lang/String;
4689 + const/4 v0, 0x0
4691 + const-string/jumbo v4, "value"
4693 + aput-object v4, v3, v0
4695 + const-string/jumbo v4, "name=?"
4697 + const/4 v0, 0x1
4699 + new-array v5, v0, [Ljava/lang/String;
4701 + const/4 v0, 0x0
4703 + aput-object p1, v5, v0
4705 + const/4 v6, 0x0
4707 + const/4 v7, 0x0
4709 + const/4 v8, 0x0
4711 + const/4 v9, 0x0
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
4723 + move-result v0
4725 + if-lez v0, :cond_77
4727 + invoke-interface {v10}, Landroid/database/Cursor;->moveToFirst()Z
4729 + move-result v0
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
4737 + move-result v0
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
4744 + :try_end_4f
4745 + .catch Ljava/lang/Exception; {:try_start_15 .. :try_end_4f} :catch_90
4747 + :goto_4f
4748 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4750 + monitor-enter v2
4752 + :try_start_52
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
4759 + move-result v0
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
4773 + move-result v0
4775 + if-nez v0, :cond_75
4777 + if-eqz v1, :cond_75
4779 + invoke-virtual {v1}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
4781 + move-result v0
4783 + if-eqz v0, :cond_75
4785 + invoke-virtual {v1}, Landroid/database/sqlite/SQLiteDatabase;->close()V
4787 + :cond_75
4788 + monitor-exit v2
4789 + :try_end_76
4790 + .catchall {:try_start_52 .. :try_end_76} :catchall_aa
4792 + return-object v12
4794 + :cond_77
4795 + :try_start_77
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
4817 + :try_end_8f
4818 + .catch Ljava/lang/Exception; {:try_start_77 .. :try_end_8f} :catch_90
4820 + goto :goto_4f
4822 + :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
4847 + goto :goto_4f
4849 + :catchall_aa
4850 + move-exception v0
4852 + :try_start_ab
4853 + monitor-exit v2
4854 + :try_end_ac
4855 + .catchall {:try_start_ab .. :try_end_ac} :catchall_aa
4857 + throw v0
4858 +.end method
4860 +.method public purgeSettings()Z
4861 + .registers 28
4863 + const/16 v25, 0x1
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
4877 + const/16 v2, 0x80
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
4889 + :goto_1b
4890 + invoke-interface/range {v18 .. v18}, Ljava/util/Iterator;->hasNext()Z
4892 + move-result v2
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
4906 + goto :goto_1b
4908 + :cond_2d
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
4925 + const/16 v18, 0x0
4927 + :goto_3f
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
4944 + move-result v2
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
4954 + :cond_5a
4955 + add-int/lit8 v18, v18, 0x1
4957 + goto :goto_3f
4959 + :cond_5d
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
4966 + move-result v2
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
4980 + const/16 v16, 0x0
4982 + :try_start_73
4983 + const-string/jumbo v4, "settings"
4985 + const/4 v2, 0x1
4987 + new-array v5, v2, [Ljava/lang/String;
4989 + const/4 v2, 0x0
4991 + const-string/jumbo v6, "packageName"
4993 + aput-object v6, v5, v2
4995 + const/4 v6, 0x0
4997 + const/4 v7, 0x0
4999 + const/4 v8, 0x0
5001 + const/4 v9, 0x0
5003 + const/4 v10, 0x0
5005 + const/4 v11, 0x0
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
5017 + :goto_90
5018 + invoke-interface/range {v16 .. v16}, Landroid/database/Cursor;->moveToNext()Z
5020 + move-result v2
5022 + if-eqz v2, :cond_142
5024 + const/4 v2, 0x0
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
5036 + move-result v2
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
5045 + :try_end_ac
5046 + .catchall {:try_start_73 .. :try_end_ac} :catchall_107
5047 + .catch Ljava/lang/Exception; {:try_start_73 .. :try_end_ac} :catch_ad
5049 + goto :goto_90
5051 + :catch_ad
5052 + move-exception v17
5054 + :try_start_ae
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
5062 + :try_end_b8
5063 + .catchall {:try_start_ae .. :try_end_b8} :catchall_107
5065 + const/16 v25, 0x0
5067 + if-eqz v16, :cond_bf
5069 + invoke-interface/range {v16 .. v16}, Landroid/database/Cursor;->close()V
5071 + :cond_bf
5072 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5074 + monitor-enter v4
5076 + :try_start_c2
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
5083 + move-result v2
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
5097 + move-result v2
5099 + if-nez v2, :cond_e5
5101 + if-eqz v3, :cond_e5
5103 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
5105 + move-result v2
5107 + if-eqz v2, :cond_e5
5109 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->close()V
5111 + :cond_e5
5112 + monitor-exit v4
5113 + :try_end_e6
5114 + .catchall {:try_start_c2 .. :try_end_e6} :catchall_13f
5116 + :goto_e6
5117 + return v25
5119 + :cond_e7
5120 + :try_start_e7
5121 + move-object/from16 v0, v24
5123 + invoke-interface {v14, v0}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
5125 + move-result v2
5127 + if-eqz v2, :cond_135
5129 + const/4 v2, 0x0
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
5150 + :try_end_106
5151 + .catchall {:try_start_e7 .. :try_end_106} :catchall_107
5152 + .catch Ljava/lang/Exception; {:try_start_e7 .. :try_end_106} :catch_ad
5154 + goto :goto_90
5156 + :catchall_107
5157 + move-exception v2
5159 + if-eqz v16, :cond_10d
5161 + invoke-interface/range {v16 .. v16}, Landroid/database/Cursor;->close()V
5163 + :cond_10d
5164 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5166 + monitor-enter v4
5168 + :try_start_110
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
5175 + move-result v5
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
5189 + move-result v5
5191 + if-nez v5, :cond_133
5193 + if-eqz v3, :cond_133
5195 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
5197 + move-result v5
5199 + if-eqz v5, :cond_133
5201 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->close()V
5203 + :cond_133
5204 + monitor-exit v4
5205 + :try_end_134
5206 + .catchall {:try_start_110 .. :try_end_134} :catchall_13c
5208 + throw v2
5210 + :cond_135
5211 + :try_start_135
5212 + move-object/from16 v0, v24
5214 + invoke-interface {v14, v0}, Ljava/util/List;->add(Ljava/lang/Object;)Z
5215 + :try_end_13a
5216 + .catchall {:try_start_135 .. :try_end_13a} :catchall_107
5217 + .catch Ljava/lang/Exception; {:try_start_135 .. :try_end_13a} :catch_ad
5219 + goto/16 :goto_90
5221 + :catchall_13c
5222 + move-exception v2
5224 + :try_start_13d
5225 + monitor-exit v4
5226 + :try_end_13e
5227 + .catchall {:try_start_13d .. :try_end_13e} :catchall_13c
5229 + throw v2
5231 + :catchall_13f
5232 + move-exception v2
5234 + :try_start_140
5235 + monitor-exit v4
5236 + :try_end_141
5237 + .catchall {:try_start_140 .. :try_end_141} :catchall_13f
5239 + throw v2
5241 + :cond_142
5242 + if-eqz v16, :cond_147
5244 + invoke-interface/range {v16 .. v16}, Landroid/database/Cursor;->close()V
5246 + :cond_147
5247 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5249 + monitor-enter v4
5251 + :try_start_14a
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
5258 + move-result v2
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
5272 + move-result v2
5274 + if-nez v2, :cond_16d
5276 + if-eqz v3, :cond_16d
5278 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
5280 + move-result v2
5282 + if-eqz v2, :cond_16d
5284 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->close()V
5286 + :cond_16d
5287 + monitor-exit v4
5289 + goto/16 :goto_e6
5291 + :catchall_170
5292 + move-exception v2
5294 + monitor-exit v4
5295 + :try_end_172
5296 + .catchall {:try_start_14a .. :try_end_172} :catchall_170
5298 + throw v2
5299 +.end method
5301 +.method public declared-synchronized saveSettings(Landroid/privacy/PrivacySettings;)Z
5302 + .registers 27
5304 + monitor-enter p0
5306 + const/16 v18, 0x1
5308 + :try_start_3
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
5317 + move-result v3
5319 + if-eqz v3, :cond_1a
5321 + :cond_f
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
5327 + :try_end_17
5328 + .catchall {:try_start_3 .. :try_end_17} :catchall_2c2
5330 + const/4 v3, 0x0
5332 + :goto_18
5333 + monitor-exit p0
5335 + return v3
5337 + :cond_1a
5338 + :try_start_1a
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"
5353 + const/4 v4, -0x1
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
5367 + move-result v4
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
5391 + move-result v4
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
5415 + move-result v4
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
5449 + move-result v4
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
5483 + move-result v4
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
5497 + move-result v4
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
5511 + move-result v4
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
5535 + move-result v4
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
5559 + move-result v4
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
5573 + move-result v4
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
5587 + move-result v4
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
5601 + move-result v4
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
5615 + move-result v4
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
5629 + move-result v4
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
5643 + move-result v4
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
5657 + move-result v4
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
5671 + move-result v4
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
5685 + move-result v4
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
5699 + move-result v4
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
5713 + move-result v4
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
5727 + move-result v4
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
5743 + move-result v3
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
5758 + :try_end_1eb
5759 + .catchall {:try_start_1a .. :try_end_1eb} :catchall_2c2
5761 + const/4 v11, 0x0
5763 + :try_start_1ec
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=?"
5774 + const/4 v5, 0x1
5776 + new-array v5, v5, [Ljava/lang/String;
5778 + const/4 v6, 0x0
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
5790 + move-result v3
5792 + const/4 v4, 0x1
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
5802 + throw v3
5803 + :try_end_213
5804 + .catchall {:try_start_1ec .. :try_end_213} :catchall_291
5805 + .catch Ljava/lang/Exception; {:try_start_1ec .. :try_end_213} :catch_213
5807 + :catch_213
5808 + move-exception v13
5810 + const/16 v18, 0x0
5812 + :try_start_216
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
5819 + :cond_21e
5820 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5822 + monitor-enter v4
5823 + :try_end_221
5824 + .catchall {:try_start_216 .. :try_end_221} :catchall_2c2
5826 + :try_start_221
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
5833 + move-result v3
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
5847 + move-result v3
5849 + if-nez v3, :cond_244
5851 + if-eqz v2, :cond_244
5853 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
5855 + move-result v3
5857 + if-eqz v3, :cond_244
5859 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
5861 + :cond_244
5862 + monitor-exit v4
5863 + :try_end_245
5864 + .catchall {:try_start_221 .. :try_end_245} :catchall_4ca
5866 + :goto_245
5867 + move/from16 v3, v18
5869 + goto/16 :goto_18
5871 + :cond_249
5872 + :try_start_249
5873 + const-string v3, "allowed_contacts"
5875 + const-string/jumbo v4, "settings_id=?"
5877 + const/4 v5, 0x1
5879 + new-array v5, v5, [Ljava/lang/String;
5881 + const/4 v6, 0x0
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
5901 + const/4 v14, 0x0
5903 + :goto_267
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"
5914 + aget v4, v10, v14
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"
5924 + const/4 v4, 0x0
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
5942 + throw v3
5943 + :try_end_291
5944 + .catchall {:try_start_249 .. :try_end_291} :catchall_291
5945 + .catch Ljava/lang/Exception; {:try_start_249 .. :try_end_291} :catch_213
5947 + :catchall_291
5948 + move-exception v3
5950 + :try_start_292
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
5957 + :cond_29a
5958 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5960 + monitor-enter v4
5961 + :try_end_29d
5962 + .catchall {:try_start_292 .. :try_end_29d} :catchall_2c2
5964 + :try_start_29d
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
5971 + move-result v5
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
5985 + move-result v5
5987 + if-nez v5, :cond_2c0
5989 + if-eqz v2, :cond_2c0
5991 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
5993 + move-result v5
5995 + if-eqz v5, :cond_2c0
5997 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
5999 + :cond_2c0
6000 + monitor-exit v4
6001 + :try_end_2c1
6002 + .catchall {:try_start_29d .. :try_end_2c1} :catchall_4cd
6004 + :try_start_2c1
6005 + throw v3
6006 + :try_end_2c2
6007 + .catchall {:try_start_2c1 .. :try_end_2c2} :catchall_2c2
6009 + :catchall_2c2
6010 + move-exception v3
6012 + monitor-exit p0
6014 + throw v3
6016 + :cond_2c5
6017 + add-int/lit8 v14, v14, 0x1
6019 + goto :goto_267
6021 + :cond_2c8
6022 + :try_start_2c8
6023 + const-string/jumbo v3, "settings"
6025 + const/4 v4, 0x1
6027 + new-array v4, v4, [Ljava/lang/String;
6029 + const/4 v5, 0x0
6031 + const-string v6, "_id"
6033 + aput-object v6, v4, v5
6035 + const-string/jumbo v5, "packageName=?"
6037 + const/4 v6, 0x1
6039 + new-array v6, v6, [Ljava/lang/String;
6041 + const/4 v7, 0x0
6043 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getPackageName()Ljava/lang/String;
6045 + move-result-object v8
6047 + aput-object v8, v6, v7
6049 + const/4 v7, 0x0
6051 + const/4 v8, 0x0
6053 + const/4 v9, 0x0
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
6063 + move-result v3
6065 + const/4 v4, 0x1
6067 + if-ne v3, v4, :cond_36e
6069 + const-string/jumbo v3, "settings"
6071 + const-string/jumbo v4, "packageName=?"
6073 + const/4 v5, 0x1
6075 + new-array v5, v5, [Ljava/lang/String;
6077 + const/4 v6, 0x0
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
6089 + move-result v3
6091 + const/4 v4, 0x1
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
6101 + throw v3
6103 + :cond_312
6104 + invoke-interface {v11}, Landroid/database/Cursor;->moveToFirst()Z
6106 + move-result v3
6108 + if-eqz v3, :cond_3f2
6110 + const/4 v3, 0x0
6112 + invoke-interface {v11, v3}, Landroid/database/Cursor;->getInt(I)I
6114 + move-result v3
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=?"
6124 + const/4 v5, 0x1
6126 + new-array v5, v5, [Ljava/lang/String;
6128 + const/4 v6, 0x0
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
6148 + const/4 v14, 0x0
6150 + :goto_33f
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"
6163 + aget v4, v10, v14
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"
6173 + const/4 v4, 0x0
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
6191 + throw v3
6193 + :cond_36b
6194 + add-int/lit8 v14, v14, 0x1
6196 + goto :goto_33f
6198 + :cond_36e
6199 + invoke-interface {v11}, Landroid/database/Cursor;->getCount()I
6201 + move-result v3
6203 + if-nez v3, :cond_3dc
6205 + const-string/jumbo v3, "settings"
6207 + const/4 v4, 0x0
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
6227 + throw v3
6229 + :cond_38d
6230 + const-string v3, "allowed_contacts"
6232 + const-string/jumbo v4, "settings_id=?"
6234 + const/4 v5, 0x1
6236 + new-array v5, v5, [Ljava/lang/String;
6238 + const/4 v6, 0x0
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
6258 + const/4 v14, 0x0
6260 + :goto_3ab
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"
6275 + aget v4, v10, v14
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"
6285 + const/4 v4, 0x0
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
6303 + throw v3
6305 + :cond_3d9
6306 + add-int/lit8 v14, v14, 0x1
6308 + goto :goto_3ab
6310 + :cond_3dc
6311 + const/16 v18, 0x0
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
6319 + throw v3
6321 + :cond_3e7
6322 + const/16 v18, 0x0
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
6330 + throw v3
6332 + :cond_3f2
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
6402 + :try_end_43c
6403 + .catchall {:try_start_2c8 .. :try_end_43c} :catchall_291
6404 + .catch Ljava/lang/Exception; {:try_start_2c8 .. :try_end_43c} :catch_213
6406 + :try_start_43c
6407 + invoke-virtual/range {v21 .. v21}, Ljava/io/File;->mkdirs()Z
6409 + const/4 v3, 0x1
6411 + const/4 v4, 0x0
6413 + move-object/from16 v0, v21
6415 + invoke-virtual {v0, v3, v4}, Ljava/io/File;->setReadable(ZZ)Z
6417 + const/4 v3, 0x1
6419 + const/4 v4, 0x0
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
6427 + const/4 v3, 0x1
6429 + const/4 v4, 0x0
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
6453 + move-result v4
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
6476 + :try_end_487
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
6481 + :try_start_487
6482 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->setTransactionSuccessful()V
6483 + :try_end_48a
6484 + .catchall {:try_start_487 .. :try_end_48a} :catchall_291
6485 + .catch Ljava/lang/Exception; {:try_start_487 .. :try_end_48a} :catch_213
6487 + :try_start_48a
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
6494 + :cond_492
6495 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6497 + monitor-enter v4
6498 + :try_end_495
6499 + .catchall {:try_start_48a .. :try_end_495} :catchall_2c2
6501 + :try_start_495
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
6508 + move-result v3
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
6522 + move-result v3
6524 + if-nez v3, :cond_4b8
6526 + if-eqz v2, :cond_4b8
6528 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
6530 + move-result v3
6532 + if-eqz v3, :cond_4b8
6534 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
6536 + :cond_4b8
6537 + monitor-exit v4
6539 + goto/16 :goto_245
6541 + :catchall_4bb
6542 + move-exception v3
6544 + monitor-exit v4
6545 + :try_end_4bd
6546 + .catchall {:try_start_495 .. :try_end_4bd} :catchall_4bb
6548 + :try_start_4bd
6549 + throw v3
6550 + :try_end_4be
6551 + .catchall {:try_start_4bd .. :try_end_4be} :catchall_2c2
6553 + :catch_4be
6554 + move-exception v13
6556 + const/16 v18, 0x0
6558 + :try_start_4c1
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
6565 + throw v3
6566 + :try_end_4ca
6567 + .catchall {:try_start_4c1 .. :try_end_4ca} :catchall_291
6568 + .catch Ljava/lang/Exception; {:try_start_4c1 .. :try_end_4ca} :catch_213
6570 + :catchall_4ca
6571 + move-exception v3
6573 + :try_start_4cb
6574 + monitor-exit v4
6575 + :try_end_4cc
6576 + .catchall {:try_start_4cb .. :try_end_4cc} :catchall_4ca
6578 + :try_start_4cc
6579 + throw v3
6580 + :try_end_4cd
6581 + .catchall {:try_start_4cc .. :try_end_4cd} :catchall_2c2
6583 + :catchall_4cd
6584 + move-exception v3
6586 + :try_start_4ce
6587 + monitor-exit v4
6588 + :try_end_4cf
6589 + .catchall {:try_start_4ce .. :try_end_4cf} :catchall_4cd
6591 + :try_start_4cf
6592 + throw v3
6593 + :try_end_4d0
6594 + .catchall {:try_start_4cf .. :try_end_4d0} :catchall_2c2
6595 +.end method
6597 +.method public declared-synchronized setValue(Ljava/lang/String;Ljava/lang/String;)Z
6598 + .registers 10
6600 + monitor-enter p0
6602 + :try_start_1
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"
6653 + const/4 v4, 0x0
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
6665 + const/4 v1, 0x1
6667 + :goto_48
6668 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6670 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
6672 + move-result v3
6674 + if-nez v3, :cond_5b
6676 + if-eqz v0, :cond_5b
6678 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
6680 + move-result v3
6682 + if-eqz v3, :cond_5b
6684 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
6685 + :try_end_5b
6686 + .catchall {:try_start_1 .. :try_end_5b} :catchall_5f
6688 + :cond_5b
6689 + monitor-exit p0
6691 + return v1
6693 + :cond_5d
6694 + const/4 v1, 0x0
6696 + goto :goto_48
6698 + :catchall_5f
6699 + move-exception v3
6701 + monitor-exit p0
6703 + throw v3
6704 +.end method
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
6708 @@ -0,0 +1,77 @@
6709 +.class final Landroid/privacy/PrivacySettings$1;
6710 +.super Ljava/lang/Object;
6711 +.source "PrivacySettings.java"
6713 +# interfaces
6714 +.implements Landroid/os/Parcelable$Creator;
6717 +# annotations
6718 +.annotation system Ldalvik/annotation/EnclosingClass;
6719 + value = Landroid/privacy/PrivacySettings;
6720 +.end annotation
6722 +.annotation system Ldalvik/annotation/InnerClass;
6723 + accessFlags = 0x8
6724 + name = null
6725 +.end annotation
6727 +.annotation system Ldalvik/annotation/Signature;
6728 + value = {
6729 + "Ljava/lang/Object;",
6730 + "Landroid/os/Parcelable$Creator",
6731 + "<",
6732 + "Landroid/privacy/PrivacySettings;",
6733 + ">;"
6735 +.end annotation
6738 +# direct methods
6739 +.method constructor <init>()V
6740 + .registers 1
6742 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
6744 + return-void
6745 +.end method
6748 +# virtual methods
6749 +.method public createFromParcel(Landroid/os/Parcel;)Landroid/privacy/PrivacySettings;
6750 + .registers 3
6752 + new-instance v0, Landroid/privacy/PrivacySettings;
6754 + invoke-direct {v0, p1}, Landroid/privacy/PrivacySettings;-><init>(Landroid/os/Parcel;)V
6756 + return-object v0
6757 +.end method
6759 +.method public bridge synthetic createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
6760 + .registers 3
6762 + invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettings$1;->createFromParcel(Landroid/os/Parcel;)Landroid/privacy/PrivacySettings;
6764 + move-result-object v0
6766 + return-object v0
6767 +.end method
6769 +.method public newArray(I)[Landroid/privacy/PrivacySettings;
6770 + .registers 3
6772 + new-array v0, p1, [Landroid/privacy/PrivacySettings;
6774 + return-object v0
6775 +.end method
6777 +.method public bridge synthetic newArray(I)[Ljava/lang/Object;
6778 + .registers 3
6780 + invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettings$1;->newArray(I)[Landroid/privacy/PrivacySettings;
6782 + move-result-object v0
6784 + return-object v0
6785 +.end method
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
6789 @@ -0,0 +1,535 @@
6790 +.class public Landroid/privacy/PrivacySettingsManagerService;
6791 +.super Landroid/privacy/IPrivacySettingsManager$Stub;
6792 +.source "PrivacySettingsManagerService.java"
6795 +# static fields
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;
6805 +# instance fields
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;
6817 +# direct methods
6818 +.method public constructor <init>(Landroid/content/Context;)V
6819 + .registers 5
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
6851 + move-result v2
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
6891 + move-result v0
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
6907 + move-result v0
6909 + iput-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->notificationsEnabled:Z
6911 + const/4 v0, 0x0
6913 + iput-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->bootCompleted:Z
6915 + return-void
6916 +.end method
6919 +# virtual methods
6920 +.method public addObserver(Ljava/lang/String;)V
6921 + .registers 5
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
6935 + return-void
6936 +.end method
6938 +.method public deleteSettings(Ljava/lang/String;)Z
6939 + .registers 8
6941 + const/4 v5, 0x1
6943 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
6945 + move-result v2
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
6959 + :cond_12
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
6964 + move-result v1
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
6990 + move-result v2
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
7000 + :cond_3d
7001 + :goto_3d
7002 + return v1
7004 + :cond_3e
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;
7013 + goto :goto_3d
7014 +.end method
7016 +.method public getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
7017 + .registers 4
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
7033 + move-result v0
7035 + if-eqz v0, :cond_1a
7037 + :cond_12
7038 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
7040 + const/4 v1, 0x0
7042 + invoke-virtual {v0, p1, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->getSettings(Ljava/lang/String;Z)Landroid/privacy/PrivacySettings;
7044 + move-result-object v0
7046 + :goto_19
7047 + return-object v0
7049 + :cond_1a
7050 + const/4 v0, 0x0
7052 + goto :goto_19
7053 +.end method
7055 +.method public getVersion()D
7056 + .registers 3
7058 + const-wide v0, 0x3ff51eb851eb851fL
7060 + return-wide v0
7061 +.end method
7063 +.method public notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
7064 + .registers 8
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"
7088 + const/4 v2, -0x1
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
7108 + :cond_34
7109 + return-void
7110 +.end method
7112 +.method public purgeSettings()Z
7113 + .registers 2
7115 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
7117 + invoke-virtual {v0}, Landroid/privacy/PrivacyPersistenceAdapter;->purgeSettings()Z
7119 + move-result v0
7121 + return v0
7122 +.end method
7124 +.method public registerObservers()V
7125 + .registers 4
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;
7143 + return-void
7144 +.end method
7146 +.method public saveSettings(Landroid/privacy/PrivacySettings;)Z
7147 + .registers 6
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
7163 + move-result v3
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
7183 + move-result v1
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
7197 + :cond_34
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
7224 + move-result v0
7226 + const/4 v1, 0x1
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
7238 + :cond_5f
7239 + return v0
7240 +.end method
7242 +.method public setBootCompleted()V
7243 + .registers 2
7245 + const/4 v0, 0x1
7247 + iput-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->bootCompleted:Z
7249 + return-void
7250 +.end method
7252 +.method public setEnabled(Z)Z
7253 + .registers 6
7255 + const/4 v1, 0x1
7257 + if-eqz p1, :cond_12
7259 + const-string v0, "1"
7261 + :goto_5
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
7268 + move-result v2
7270 + if-eqz v2, :cond_15
7272 + iput-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->enabled:Z
7274 + :goto_11
7275 + return v1
7277 + :cond_12
7278 + const-string v0, "0"
7280 + goto :goto_5
7282 + :cond_15
7283 + const/4 v1, 0x0
7285 + goto :goto_11
7286 +.end method
7288 +.method public setNotificationsEnabled(Z)Z
7289 + .registers 6
7291 + const/4 v1, 0x1
7293 + if-eqz p1, :cond_15
7295 + const-string v0, "1"
7297 + :goto_5
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
7304 + move-result v2
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
7312 + :goto_14
7313 + return v1
7315 + :cond_15
7316 + const-string v0, "0"
7318 + goto :goto_5
7320 + :cond_18
7321 + const/4 v1, 0x0
7323 + goto :goto_14
7324 +.end method
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
7328 @@ -0,0 +1,531 @@
7329 +.class public Landroid/privacy/PrivacySettingsManager;
7330 +.super Ljava/lang/Object;
7331 +.source "PrivacySettingsManager.java"
7334 +# static fields
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"
7340 +# instance fields
7341 +.field private service:Landroid/privacy/IPrivacySettingsManager;
7344 +# direct methods
7345 +.method public constructor <init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
7346 + .registers 3
7348 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
7350 + iput-object p2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7352 + return-void
7353 +.end method
7356 +# virtual methods
7357 +.method public addObserver(Ljava/lang/String;)V
7358 + .registers 5
7360 + :try_start_0
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
7369 + :goto_9
7370 + return-void
7372 + :cond_a
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
7378 + :try_end_11
7379 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_11} :catch_12
7381 + goto :goto_9
7383 + :catch_12
7384 + move-exception v0
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
7392 + goto :goto_9
7393 +.end method
7395 +.method public deleteSettings(Ljava/lang/String;)Z
7396 + .registers 3
7398 + invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettingsManager;->deleteSettings(Ljava/lang/String;)Z
7400 + move-result v0
7402 + return v0
7403 +.end method
7405 +.method public deleteSettings(Ljava/lang/String;I)Z
7406 + .registers 7
7408 + const/4 v1, 0x0
7410 + :try_start_1
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
7419 + move-result v1
7421 + :goto_b
7422 + return v1
7424 + :cond_c
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
7430 + :try_end_13
7431 + .catch Landroid/os/RemoteException; {:try_start_1 .. :try_end_13} :catch_14
7433 + goto :goto_b
7435 + :catch_14
7436 + move-exception v0
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
7444 + goto :goto_b
7445 +.end method
7447 +.method public getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
7448 + .registers 6
7450 + const/4 v1, 0x0
7452 + :try_start_1
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
7463 + :goto_b
7464 + return-object v1
7466 + :cond_c
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
7472 + :try_end_13
7473 + .catch Landroid/os/RemoteException; {:try_start_1 .. :try_end_13} :catch_14
7475 + goto :goto_b
7477 + :catch_14
7478 + move-exception v0
7480 + invoke-virtual {v0}, Landroid/os/RemoteException;->printStackTrace()V
7482 + goto :goto_b
7483 +.end method
7485 +.method public getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
7486 + .registers 4
7488 + invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
7490 + move-result-object v0
7492 + return-object v0
7493 +.end method
7495 +.method public getVersion()D
7496 + .registers 4
7498 + :try_start_0
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
7509 + :goto_a
7510 + return-wide v1
7512 + :cond_b
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
7518 + :try_end_12
7519 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_12} :catch_15
7521 + :goto_12
7522 + const-wide/16 v1, 0x0
7524 + goto :goto_a
7526 + :catch_15
7527 + move-exception v0
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
7535 + goto :goto_12
7536 +.end method
7538 +.method public isServiceAvailable()Z
7539 + .registers 2
7541 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7543 + if-eqz v0, :cond_6
7545 + const/4 v0, 0x1
7547 + :goto_5
7548 + return v0
7550 + :cond_6
7551 + const/4 v0, 0x0
7553 + goto :goto_5
7554 +.end method
7556 +.method public notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
7557 + .registers 9
7559 + :try_start_0
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
7568 + :goto_9
7569 + return-void
7571 + :cond_a
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
7577 + :try_end_11
7578 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_11} :catch_12
7580 + goto :goto_9
7582 + :catch_12
7583 + move-exception v0
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
7591 + goto :goto_9
7592 +.end method
7594 +.method public notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
7595 + .registers 13
7597 + move-object v0, p0
7599 + move-object v1, p1
7601 + move v2, p3
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
7611 + return-void
7612 +.end method
7614 +.method public purgeSettings()Z
7615 + .registers 4
7617 + :try_start_0
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
7626 + move-result v1
7628 + :goto_a
7629 + return v1
7631 + :cond_b
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
7637 + :try_end_12
7638 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_12} :catch_14
7640 + :goto_12
7641 + const/4 v1, 0x0
7643 + goto :goto_a
7645 + :catch_14
7646 + move-exception v0
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
7654 + goto :goto_12
7655 +.end method
7657 +.method public registerObservers()V
7658 + .registers 4
7660 + :try_start_0
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
7669 + :goto_9
7670 + return-void
7672 + :cond_a
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
7678 + :try_end_11
7679 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_11} :catch_12
7681 + goto :goto_9
7683 + :catch_12
7684 + move-exception v0
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
7692 + goto :goto_9
7693 +.end method
7695 +.method public saveSettings(Landroid/privacy/PrivacySettings;)Z
7696 + .registers 6
7698 + const/4 v1, 0x0
7700 + :try_start_1
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
7709 + move-result v1
7711 + :goto_b
7712 + return v1
7714 + :cond_c
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
7720 + :try_end_14
7721 + .catch Landroid/os/RemoteException; {:try_start_1 .. :try_end_14} :catch_15
7723 + goto :goto_b
7725 + :catch_15
7726 + move-exception v0
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
7734 + goto :goto_b
7735 +.end method
7737 +.method public setBootCompleted()V
7738 + .registers 4
7740 + :try_start_0
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
7749 + :goto_9
7750 + return-void
7752 + :cond_a
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
7758 + :try_end_12
7759 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_12} :catch_13
7761 + goto :goto_9
7763 + :catch_13
7764 + move-exception v0
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
7772 + goto :goto_9
7773 +.end method
7775 +.method public setEnabled(Z)Z
7776 + .registers 5
7778 + :try_start_0
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
7787 + move-result v1
7789 + :goto_a
7790 + return v1
7792 + :cond_b
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
7798 + :try_end_13
7799 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_13} :catch_15
7801 + :goto_13
7802 + const/4 v1, 0x0
7804 + goto :goto_a
7806 + :catch_15
7807 + move-exception v0
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
7815 + goto :goto_13
7816 +.end method
7818 +.method public setNotificationsEnabled(Z)Z
7819 + .registers 5
7821 + :try_start_0
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
7830 + move-result v1
7832 + :goto_a
7833 + return v1
7835 + :cond_b
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
7841 + :try_end_13
7842 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_13} :catch_15
7844 + :goto_13
7845 + const/4 v1, 0x0
7847 + goto :goto_a
7849 + :catch_15
7850 + move-exception v0
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
7858 + goto :goto_13
7859 +.end method
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
7863 @@ -0,0 +1,2109 @@
7864 +.class public final Landroid/privacy/PrivacySettings;
7865 +.super Ljava/lang/Object;
7866 +.source "PrivacySettings.java"
7868 +# interfaces
7869 +.implements Landroid/os/Parcelable;
7872 +# static fields
7873 +.field public static final CREATOR:Landroid/os/Parcelable$Creator; = null
7874 + .annotation system Ldalvik/annotation/Signature;
7875 + value = {
7876 + "Landroid/os/Parcelable$Creator",
7877 + "<",
7878 + "Landroid/privacy/PrivacySettings;",
7879 + ">;"
7881 + .end annotation
7882 +.end field
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
7939 +# instance fields
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
8007 +# direct methods
8008 +.method static constructor <clinit>()V
8009 + .registers 1
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;
8017 + return-void
8018 +.end method
8020 +.method public constructor <init>(Landroid/os/Parcel;)V
8021 + .registers 4
8023 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
8025 + invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I
8027 + move-result v0
8029 + const/4 v1, -0x1
8031 + if-ne v0, v1, :cond_ce
8033 + const/4 v1, 0x0
8035 + :goto_b
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
8046 + move-result v1
8048 + iput v1, p0, Landroid/privacy/PrivacySettings;->uid:I
8050 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8052 + move-result v1
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
8064 + move-result v1
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
8076 + move-result v1
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
8094 + move-result v1
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
8112 + move-result v1
8114 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
8116 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8118 + move-result v1
8120 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
8122 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8124 + move-result v1
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
8136 + move-result v1
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
8148 + move-result v1
8150 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
8152 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8154 + move-result v1
8156 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
8158 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8160 + move-result v1
8162 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
8164 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8166 + move-result v1
8168 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
8170 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8172 + move-result v1
8174 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
8176 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8178 + move-result v1
8180 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
8182 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8184 + move-result v1
8186 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
8188 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8190 + move-result v1
8192 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
8194 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8196 + move-result v1
8198 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
8200 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8202 + move-result v1
8204 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
8206 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8208 + move-result v1
8210 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
8212 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8214 + move-result v1
8216 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
8218 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8220 + move-result v1
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
8230 + return-void
8232 + :cond_ce
8233 + invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
8235 + move-result-object v1
8237 + goto/16 :goto_b
8238 +.end method
8240 +.method public constructor <init>(Ljava/lang/Integer;Ljava/lang/String;I)V
8241 + .registers 6
8243 + const/4 v1, 0x0
8245 + const/4 v0, 0x0
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
8315 + return-void
8316 +.end method
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
8319 + .registers 38
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
8427 + return-void
8428 +.end method
8430 +.method private getRandomLat()Ljava/lang/String;
8431 + .registers 10
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
8453 + :goto_1b
8454 + new-instance v3, Ljava/lang/StringBuilder;
8456 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
8458 + const/4 v4, 0x6
8460 + const/4 v5, 0x4
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
8480 + return-object v3
8482 + :cond_35
8483 + new-instance v2, Ljava/math/BigDecimal;
8485 + neg-double v3, v0
8487 + invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;-><init>(D)V
8489 + goto :goto_1b
8490 +.end method
8492 +.method private getRandomLon()Ljava/lang/String;
8493 + .registers 10
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
8515 + :goto_1b
8516 + new-instance v3, Ljava/lang/StringBuilder;
8518 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
8520 + const/4 v4, 0x6
8522 + const/4 v5, 0x4
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
8542 + return-object v3
8544 + :cond_35
8545 + new-instance v2, Ljava/math/BigDecimal;
8547 + neg-double v3, v0
8549 + invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;-><init>(D)V
8551 + goto :goto_1b
8552 +.end method
8555 +# virtual methods
8556 +.method public describeContents()I
8557 + .registers 2
8559 + const/4 v0, 0x0
8561 + return v0
8562 +.end method
8564 +.method public getAccountsAuthTokensSetting()B
8565 + .registers 2
8567 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
8569 + return v0
8570 +.end method
8572 +.method public getAccountsSetting()B
8573 + .registers 2
8575 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
8577 + return v0
8578 +.end method
8580 +.method public getAllowedContacts()[I
8581 + .registers 2
8583 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
8585 + return-object v0
8586 +.end method
8588 +.method public getBookmarksSetting()B
8589 + .registers 2
8591 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
8593 + return v0
8594 +.end method
8596 +.method public getCalendarSetting()B
8597 + .registers 2
8599 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
8601 + return v0
8602 +.end method
8604 +.method public getCallLogSetting()B
8605 + .registers 2
8607 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
8609 + return v0
8610 +.end method
8612 +.method public getContactsSetting()B
8613 + .registers 2
8615 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
8617 + return v0
8618 +.end method
8620 +.method public getDeviceId()Ljava/lang/String;
8621 + .registers 6
8623 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
8625 + const/4 v3, 0x1
8627 + if-ne v2, v3, :cond_8
8629 + const-string v2, ""
8631 + :goto_7
8632 + return-object v2
8634 + :cond_8
8635 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
8637 + const/4 v3, 0x3
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
8671 + const/4 v2, 0x0
8673 + const/16 v3, 0xf
8675 + invoke-virtual {v1, v2, v3}, Ljava/lang/String;->substring(II)Ljava/lang/String;
8677 + move-result-object v2
8679 + goto :goto_7
8681 + :cond_35
8682 + iget-object v2, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
8684 + goto :goto_7
8685 +.end method
8687 +.method public getDeviceIdSetting()B
8688 + .registers 2
8690 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
8692 + return v0
8693 +.end method
8695 +.method public getIncomingCallsSetting()B
8696 + .registers 2
8698 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
8700 + return v0
8701 +.end method
8703 +.method public getIntentBootCompletedSetting()B
8704 + .registers 2
8706 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
8708 + return v0
8709 +.end method
8711 +.method public getLine1Number()Ljava/lang/String;
8712 + .registers 6
8714 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
8716 + const/4 v3, 0x1
8718 + if-ne v2, v3, :cond_8
8720 + const-string v2, ""
8722 + :goto_7
8723 + return-object v2
8725 + :cond_8
8726 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
8728 + const/4 v3, 0x3
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
8768 + const/4 v2, 0x0
8770 + const/16 v3, 0xd
8772 + invoke-virtual {v1, v2, v3}, Ljava/lang/String;->substring(II)Ljava/lang/String;
8774 + move-result-object v2
8776 + goto :goto_7
8778 + :cond_3b
8779 + iget-object v2, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
8781 + goto :goto_7
8782 +.end method
8784 +.method public getLine1NumberSetting()B
8785 + .registers 2
8787 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
8789 + return v0
8790 +.end method
8792 +.method public getLocationGpsLat()Ljava/lang/String;
8793 + .registers 3
8795 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8797 + const/4 v1, 0x1
8799 + if-ne v0, v1, :cond_8
8801 + const-string v0, ""
8803 + :goto_7
8804 + return-object v0
8806 + :cond_8
8807 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8809 + const/4 v1, 0x3
8811 + if-ne v0, v1, :cond_12
8813 + invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLat()Ljava/lang/String;
8815 + move-result-object v0
8817 + goto :goto_7
8819 + :cond_12
8820 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
8822 + goto :goto_7
8823 +.end method
8825 +.method public getLocationGpsLon()Ljava/lang/String;
8826 + .registers 3
8828 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8830 + const/4 v1, 0x1
8832 + if-ne v0, v1, :cond_8
8834 + const-string v0, ""
8836 + :goto_7
8837 + return-object v0
8839 + :cond_8
8840 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8842 + const/4 v1, 0x3
8844 + if-ne v0, v1, :cond_12
8846 + invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLon()Ljava/lang/String;
8848 + move-result-object v0
8850 + goto :goto_7
8852 + :cond_12
8853 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
8855 + goto :goto_7
8856 +.end method
8858 +.method public getLocationGpsSetting()B
8859 + .registers 2
8861 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8863 + return v0
8864 +.end method
8866 +.method public getLocationNetworkLat()Ljava/lang/String;
8867 + .registers 3
8869 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8871 + const/4 v1, 0x1
8873 + if-ne v0, v1, :cond_8
8875 + const-string v0, ""
8877 + :goto_7
8878 + return-object v0
8880 + :cond_8
8881 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8883 + const/4 v1, 0x3
8885 + if-ne v0, v1, :cond_12
8887 + invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLat()Ljava/lang/String;
8889 + move-result-object v0
8891 + goto :goto_7
8893 + :cond_12
8894 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
8896 + goto :goto_7
8897 +.end method
8899 +.method public getLocationNetworkLon()Ljava/lang/String;
8900 + .registers 3
8902 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8904 + const/4 v1, 0x1
8906 + if-ne v0, v1, :cond_8
8908 + const-string v0, ""
8910 + :goto_7
8911 + return-object v0
8913 + :cond_8
8914 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8916 + const/4 v1, 0x3
8918 + if-ne v0, v1, :cond_12
8920 + invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLon()Ljava/lang/String;
8922 + move-result-object v0
8924 + goto :goto_7
8926 + :cond_12
8927 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
8929 + goto :goto_7
8930 +.end method
8932 +.method public getLocationNetworkSetting()B
8933 + .registers 2
8935 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8937 + return v0
8938 +.end method
8940 +.method public getMmsSetting()B
8941 + .registers 2
8943 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
8945 + return v0
8946 +.end method
8948 +.method public getNetworkInfoSetting()B
8949 + .registers 2
8951 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
8953 + return v0
8954 +.end method
8956 +.method public getNotificationSetting()B
8957 + .registers 2
8959 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
8961 + return v0
8962 +.end method
8964 +.method public getOutgoingCallsSetting()B
8965 + .registers 2
8967 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
8969 + return v0
8970 +.end method
8972 +.method public getPackageName()Ljava/lang/String;
8973 + .registers 2
8975 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
8977 + return-object v0
8978 +.end method
8980 +.method public getSimInfoSetting()B
8981 + .registers 2
8983 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
8985 + return v0
8986 +.end method
8988 +.method public getSimSerialNumber()Ljava/lang/String;
8989 + .registers 5
8991 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
8993 + const/4 v2, 0x1
8995 + if-ne v1, v2, :cond_8
8997 + const-string v1, ""
8999 + :goto_7
9000 + return-object v1
9002 + :cond_8
9003 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
9005 + const/4 v2, 0x3
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
9039 + goto :goto_7
9041 + :cond_2e
9042 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
9044 + goto :goto_7
9045 +.end method
9047 +.method public getSimSerialNumberSetting()B
9048 + .registers 2
9050 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
9052 + return v0
9053 +.end method
9055 +.method public getSmsSetting()B
9056 + .registers 2
9058 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
9060 + return v0
9061 +.end method
9063 +.method public getSubscriberId()Ljava/lang/String;
9064 + .registers 6
9066 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
9068 + const/4 v3, 0x1
9070 + if-ne v2, v3, :cond_8
9072 + const-string v2, ""
9074 + :goto_7
9075 + return-object v2
9077 + :cond_8
9078 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
9080 + const/4 v3, 0x3
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
9114 + const/4 v2, 0x0
9116 + const/16 v3, 0xf
9118 + invoke-virtual {v1, v2, v3}, Ljava/lang/String;->substring(II)Ljava/lang/String;
9120 + move-result-object v2
9122 + goto :goto_7
9124 + :cond_35
9125 + iget-object v2, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
9127 + goto :goto_7
9128 +.end method
9130 +.method public getSubscriberIdSetting()B
9131 + .registers 2
9133 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
9135 + return v0
9136 +.end method
9138 +.method public getSystemLogsSetting()B
9139 + .registers 2
9141 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
9143 + return v0
9144 +.end method
9146 +.method public getUid()I
9147 + .registers 2
9149 + iget v0, p0, Landroid/privacy/PrivacySettings;->uid:I
9151 + return v0
9152 +.end method
9154 +.method public get_id()Ljava/lang/Integer;
9155 + .registers 2
9157 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
9159 + return-object v0
9160 +.end method
9162 +.method public setAccountsAuthTokensSetting(B)V
9163 + .registers 2
9165 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
9167 + return-void
9168 +.end method
9170 +.method public setAccountsSetting(B)V
9171 + .registers 2
9173 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
9175 + return-void
9176 +.end method
9178 +.method public setAllowedContacts([I)V
9179 + .registers 2
9181 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
9183 + return-void
9184 +.end method
9186 +.method public setBookmarksSetting(B)V
9187 + .registers 2
9189 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
9191 + return-void
9192 +.end method
9194 +.method public setCalendarSetting(B)V
9195 + .registers 2
9197 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
9199 + return-void
9200 +.end method
9202 +.method public setCallLogSetting(B)V
9203 + .registers 2
9205 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
9207 + return-void
9208 +.end method
9210 +.method public setContactsSetting(B)V
9211 + .registers 2
9213 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
9215 + return-void
9216 +.end method
9218 +.method public setDeviceId(Ljava/lang/String;)V
9219 + .registers 2
9221 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
9223 + return-void
9224 +.end method
9226 +.method public setDeviceIdSetting(B)V
9227 + .registers 2
9229 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
9231 + return-void
9232 +.end method
9234 +.method public setIncomingCallsSetting(B)V
9235 + .registers 2
9237 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
9239 + return-void
9240 +.end method
9242 +.method public setIntentBootCompletedSetting(B)V
9243 + .registers 2
9245 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
9247 + return-void
9248 +.end method
9250 +.method public setLine1Number(Ljava/lang/String;)V
9251 + .registers 2
9253 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
9255 + return-void
9256 +.end method
9258 +.method public setLine1NumberSetting(B)V
9259 + .registers 2
9261 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
9263 + return-void
9264 +.end method
9266 +.method public setLocationGpsLat(Ljava/lang/String;)V
9267 + .registers 2
9269 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
9271 + return-void
9272 +.end method
9274 +.method public setLocationGpsLon(Ljava/lang/String;)V
9275 + .registers 2
9277 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
9279 + return-void
9280 +.end method
9282 +.method public setLocationGpsSetting(B)V
9283 + .registers 2
9285 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
9287 + return-void
9288 +.end method
9290 +.method public setLocationNetworkLat(Ljava/lang/String;)V
9291 + .registers 2
9293 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
9295 + return-void
9296 +.end method
9298 +.method public setLocationNetworkLon(Ljava/lang/String;)V
9299 + .registers 2
9301 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
9303 + return-void
9304 +.end method
9306 +.method public setLocationNetworkSetting(B)V
9307 + .registers 2
9309 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
9311 + return-void
9312 +.end method
9314 +.method public setMmsSetting(B)V
9315 + .registers 2
9317 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
9319 + return-void
9320 +.end method
9322 +.method public setNetworkInfoSetting(B)V
9323 + .registers 2
9325 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
9327 + return-void
9328 +.end method
9330 +.method public setNotificationSetting(B)V
9331 + .registers 2
9333 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
9335 + return-void
9336 +.end method
9338 +.method public setOutgoingCallsSetting(B)V
9339 + .registers 2
9341 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
9343 + return-void
9344 +.end method
9346 +.method public setPackageName(Ljava/lang/String;)V
9347 + .registers 2
9349 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
9351 + return-void
9352 +.end method
9354 +.method public setSimInfoSetting(B)V
9355 + .registers 2
9357 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
9359 + return-void
9360 +.end method
9362 +.method public setSimSerialNumber(Ljava/lang/String;)V
9363 + .registers 2
9365 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
9367 + return-void
9368 +.end method
9370 +.method public setSimSerialNumberSetting(B)V
9371 + .registers 2
9373 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
9375 + return-void
9376 +.end method
9378 +.method public setSmsSetting(B)V
9379 + .registers 2
9381 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
9383 + return-void
9384 +.end method
9386 +.method public setSubscriberId(Ljava/lang/String;)V
9387 + .registers 2
9389 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
9391 + return-void
9392 +.end method
9394 +.method public setSubscriberIdSetting(B)V
9395 + .registers 2
9397 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
9399 + return-void
9400 +.end method
9402 +.method public setSystemLogsSetting(B)V
9403 + .registers 2
9405 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
9407 + return-void
9408 +.end method
9410 +.method public setUid(I)V
9411 + .registers 2
9413 + iput p1, p0, Landroid/privacy/PrivacySettings;->uid:I
9415 + return-void
9416 +.end method
9418 +.method public toString()Ljava/lang/String;
9419 + .registers 3
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
9819 + return-object v0
9820 +.end method
9822 +.method public writeToParcel(Landroid/os/Parcel;I)V
9823 + .registers 4
9825 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
9827 + if-nez v0, :cond_a9
9829 + const/4 v0, -0x1
9831 + :goto_5
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
9962 + return-void
9964 + :cond_a9
9965 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
9967 + invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
9969 + move-result v0
9971 + goto/16 :goto_5
9972 +.end method
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
9976 @@ -0,0 +1,129 @@
9977 +.class Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
9978 +.super Ljava/lang/Object;
9979 +.source "PrivacyAccountManager.java"
9981 +# interfaces
9982 +.implements Landroid/accounts/AccountManagerFuture;
9985 +# annotations
9986 +.annotation system Ldalvik/annotation/EnclosingClass;
9987 + value = Landroid/privacy/surrogate/PrivacyAccountManager;
9988 +.end annotation
9990 +.annotation system Ldalvik/annotation/InnerClass;
9991 + accessFlags = 0x2
9992 + name = "PrivacyAccountManagerFuture"
9993 +.end annotation
9995 +.annotation system Ldalvik/annotation/Signature;
9996 + value = {
9997 + "<V:",
9998 + "Ljava/lang/Object;",
9999 + ">",
10000 + "Ljava/lang/Object;",
10001 + "Landroid/accounts/AccountManagerFuture",
10002 + "<TV;>;"
10004 +.end annotation
10007 +# instance fields
10008 +.field private result:Ljava/lang/Object;
10009 + .annotation system Ldalvik/annotation/Signature;
10010 + value = {
10011 + "TV;"
10013 + .end annotation
10014 +.end field
10016 +.field final synthetic this$0:Landroid/privacy/surrogate/PrivacyAccountManager;
10019 +# direct methods
10020 +.method public constructor <init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
10021 + .registers 3
10022 + .annotation system Ldalvik/annotation/Signature;
10023 + value = {
10024 + "(TV;)V"
10026 + .end annotation
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;
10034 + return-void
10035 +.end method
10038 +# virtual methods
10039 +.method public cancel(Z)Z
10040 + .registers 3
10042 + const/4 v0, 0x0
10044 + return v0
10045 +.end method
10047 +.method public getResult()Ljava/lang/Object;
10048 + .registers 2
10049 + .annotation system Ldalvik/annotation/Signature;
10050 + value = {
10051 + "()TV;"
10053 + .end annotation
10055 + .annotation system Ldalvik/annotation/Throws;
10056 + value = {
10057 + Landroid/accounts/OperationCanceledException;,
10058 + Ljava/io/IOException;,
10059 + Landroid/accounts/AuthenticatorException;
10061 + .end annotation
10063 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->result:Ljava/lang/Object;
10065 + return-object v0
10066 +.end method
10068 +.method public getResult(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;
10069 + .registers 5
10070 + .annotation system Ldalvik/annotation/Signature;
10071 + value = {
10072 + "(J",
10073 + "Ljava/util/concurrent/TimeUnit;",
10074 + ")TV;"
10076 + .end annotation
10078 + .annotation system Ldalvik/annotation/Throws;
10079 + value = {
10080 + Landroid/accounts/OperationCanceledException;,
10081 + Ljava/io/IOException;,
10082 + Landroid/accounts/AuthenticatorException;
10084 + .end annotation
10086 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->result:Ljava/lang/Object;
10088 + return-object v0
10089 +.end method
10091 +.method public isCancelled()Z
10092 + .registers 2
10094 + const/4 v0, 0x0
10096 + return v0
10097 +.end method
10099 +.method public isDone()Z
10100 + .registers 2
10102 + const/4 v0, 0x1
10104 + return v0
10105 +.end method
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
10109 @@ -0,0 +1,701 @@
10110 +.class public final Landroid/privacy/surrogate/PrivacyAccountManager;
10111 +.super Landroid/accounts/AccountManager;
10112 +.source "PrivacyAccountManager.java"
10115 +# annotations
10116 +.annotation system Ldalvik/annotation/MemberClasses;
10117 + value = {
10118 + Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10120 +.end annotation
10123 +# static fields
10124 +.field private static final TAG:Ljava/lang/String; = "PrivacyAccountManager"
10127 +# instance fields
10128 +.field private context:Landroid/content/Context;
10130 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
10133 +# direct methods
10134 +.method public constructor <init>(Landroid/content/Context;Landroid/accounts/IAccountManager;)V
10135 + .registers 5
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;
10157 + return-void
10158 +.end method
10160 +.method public constructor <init>(Landroid/content/Context;Landroid/accounts/IAccountManager;Landroid/os/Handler;)V
10161 + .registers 6
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;
10183 + return-void
10184 +.end method
10187 +# virtual methods
10188 +.method public blockingGetAuthToken(Landroid/accounts/Account;Ljava/lang/String;Z)Ljava/lang/String;
10189 + .registers 12
10190 + .annotation system Ldalvik/annotation/Throws;
10191 + value = {
10192 + Landroid/accounts/OperationCanceledException;,
10193 + Ljava/io/IOException;,
10194 + Landroid/accounts/AuthenticatorException;
10196 + .end annotation
10198 + const/4 v5, 0x0
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
10208 + move-result v2
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
10220 + move-result v0
10222 + if-eqz v0, :cond_23
10224 + const/4 v7, 0x0
10226 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10228 + const/4 v3, 0x1
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
10234 + :goto_22
10235 + return-object v7
10237 + :cond_23
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;
10244 + const/4 v3, 0x0
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
10250 + goto :goto_22
10251 +.end method
10253 +.method public getAccounts()[Landroid/accounts/Account;
10254 + .registers 10
10256 + const/4 v5, 0x0
10258 + const/4 v3, 0x0
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
10268 + move-result v2
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
10280 + move-result v0
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;
10290 + const/4 v3, 0x1
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
10296 + :goto_26
10297 + return-object v7
10299 + :cond_27
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
10312 + goto :goto_26
10313 +.end method
10315 +.method public getAccountsByType(Ljava/lang/String;)[Landroid/accounts/Account;
10316 + .registers 11
10318 + const/4 v5, 0x0
10320 + const/4 v3, 0x0
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
10330 + move-result v2
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
10342 + move-result v0
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;
10352 + const/4 v3, 0x1
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
10358 + :goto_26
10359 + return-object v7
10361 + :cond_27
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
10374 + goto :goto_26
10375 +.end method
10377 +.method public getAccountsByTypeAndFeatures(Ljava/lang/String;[Ljava/lang/String;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
10378 + .registers 14
10379 + .annotation system Ldalvik/annotation/Signature;
10380 + value = {
10381 + "(",
10382 + "Ljava/lang/String;",
10383 + "[",
10384 + "Ljava/lang/String;",
10385 + "Landroid/accounts/AccountManagerCallback",
10386 + "<[",
10387 + "Landroid/accounts/Account;",
10388 + ">;",
10389 + "Landroid/os/Handler;",
10390 + ")",
10391 + "Landroid/accounts/AccountManagerFuture",
10392 + "<[",
10393 + "Landroid/accounts/Account;",
10394 + ">;"
10396 + .end annotation
10398 + const/4 v5, 0x0
10400 + const/4 v3, 0x0
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
10410 + move-result v2
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
10422 + move-result v0
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;
10436 + const/4 v3, 0x1
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
10442 + :goto_2b
10443 + return-object v7
10445 + :cond_2c
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
10458 + goto :goto_2b
10459 +.end method
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;
10462 + .registers 16
10463 + .annotation system Ldalvik/annotation/Signature;
10464 + value = {
10465 + "(",
10466 + "Landroid/accounts/Account;",
10467 + "Ljava/lang/String;",
10468 + "Landroid/os/Bundle;",
10469 + "Landroid/app/Activity;",
10470 + "Landroid/accounts/AccountManagerCallback",
10471 + "<",
10472 + "Landroid/os/Bundle;",
10473 + ">;",
10474 + "Landroid/os/Handler;",
10475 + ")",
10476 + "Landroid/accounts/AccountManagerFuture",
10477 + "<",
10478 + "Landroid/os/Bundle;",
10479 + ">;"
10481 + .end annotation
10483 + const/4 v5, 0x0
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
10493 + move-result v2
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
10505 + move-result v0
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;
10521 + const/4 v3, 0x1
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
10527 + :goto_2d
10528 + return-object v7
10530 + :cond_2e
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;
10539 + const/4 v3, 0x0
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
10545 + goto :goto_2d
10546 +.end method
10548 +.method public getAuthToken(Landroid/accounts/Account;Ljava/lang/String;ZLandroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
10549 + .registers 15
10550 + .annotation system Ldalvik/annotation/Signature;
10551 + value = {
10552 + "(",
10553 + "Landroid/accounts/Account;",
10554 + "Ljava/lang/String;",
10555 + "Z",
10556 + "Landroid/accounts/AccountManagerCallback",
10557 + "<",
10558 + "Landroid/os/Bundle;",
10559 + ">;",
10560 + "Landroid/os/Handler;",
10561 + ")",
10562 + "Landroid/accounts/AccountManagerFuture",
10563 + "<",
10564 + "Landroid/os/Bundle;",
10565 + ">;"
10567 + .end annotation
10569 + const/4 v5, 0x0
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
10579 + move-result v2
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
10591 + move-result v0
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;
10607 + const/4 v3, 0x1
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
10613 + :goto_2d
10614 + return-object v7
10616 + :cond_2e
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;
10625 + const/4 v3, 0x0
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
10631 + goto :goto_2d
10632 +.end method
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;
10635 + .registers 18
10636 + .annotation system Ldalvik/annotation/Signature;
10637 + value = {
10638 + "(",
10639 + "Ljava/lang/String;",
10640 + "Ljava/lang/String;",
10641 + "[",
10642 + "Ljava/lang/String;",
10643 + "Landroid/app/Activity;",
10644 + "Landroid/os/Bundle;",
10645 + "Landroid/os/Bundle;",
10646 + "Landroid/accounts/AccountManagerCallback",
10647 + "<",
10648 + "Landroid/os/Bundle;",
10649 + ">;",
10650 + "Landroid/os/Handler;",
10651 + ")",
10652 + "Landroid/accounts/AccountManagerFuture",
10653 + "<",
10654 + "Landroid/os/Bundle;",
10655 + ">;"
10657 + .end annotation
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
10667 + move-result v2
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
10679 + move-result v0
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;
10695 + const/4 v3, 0x1
10697 + const-string v4, "authTokens"
10699 + const/4 v5, 0x0
10701 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10703 + :goto_2d
10704 + return-object v7
10706 + :cond_2e
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;
10715 + const/4 v3, 0x0
10717 + const-string v4, "authTokens"
10719 + const/4 v5, 0x0
10721 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10723 + goto :goto_2d
10724 +.end method
10726 +.method public hasFeatures(Landroid/accounts/Account;[Ljava/lang/String;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
10727 + .registers 14
10728 + .annotation system Ldalvik/annotation/Signature;
10729 + value = {
10730 + "(",
10731 + "Landroid/accounts/Account;",
10732 + "[",
10733 + "Ljava/lang/String;",
10734 + "Landroid/accounts/AccountManagerCallback",
10735 + "<",
10736 + "Ljava/lang/Boolean;",
10737 + ">;",
10738 + "Landroid/os/Handler;",
10739 + ")",
10740 + "Landroid/accounts/AccountManagerFuture",
10741 + "<",
10742 + "Ljava/lang/Boolean;",
10743 + ">;"
10745 + .end annotation
10747 + const/4 v5, 0x0
10749 + const/4 v3, 0x0
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
10759 + move-result v2
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
10771 + move-result v0
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;
10787 + const/4 v3, 0x1
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
10793 + :goto_2d
10794 + return-object v7
10796 + :cond_2e
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
10809 + goto :goto_2d
10810 +.end method
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
10814 @@ -0,0 +1,1087 @@
10815 +.class public final Landroid/privacy/surrogate/PrivacyActivityManagerService;
10816 +.super Ljava/lang/Object;
10817 +.source "PrivacyActivityManagerService.java"
10820 +# static fields
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
10852 +# direct methods
10853 +.method static constructor <clinit>()V
10854 + .registers 3
10856 + const/4 v2, 0x0
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
10878 + return-void
10879 +.end method
10881 +.method public constructor <init>()V
10882 + .registers 1
10884 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
10886 + return-void
10887 +.end method
10889 +.method public static enforcePrivacyPermission(Ljava/lang/String;ILandroid/content/Intent;Landroid/content/Context;I)V
10890 + .registers 22
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;
10908 + :cond_11
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
10917 + move-result v2
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
10965 + :cond_49
10966 + if-eqz v8, :cond_76
10968 + :try_start_4b
10969 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getOutgoingCallsSetting()B
10971 + move-result v2
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;
10987 + const/4 v5, 0x1
10989 + const-string/jumbo v6, "outgoingCall"
10991 + const/4 v7, 0x0
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
10998 + :try_end_6a
10999 + .catch Ljava/lang/Exception; {:try_start_4b .. :try_end_6a} :catch_a0
11001 + :cond_6a
11002 + :goto_6a
11003 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
11005 + const/4 v3, 0x1
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
11015 + :cond_75
11016 + :goto_75
11017 + return-void
11019 + :cond_76
11020 + :try_start_76
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;
11049 + const/4 v5, 0x0
11051 + const-string/jumbo v6, "outgoingCall"
11053 + const/4 v7, 0x0
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
11060 + :try_end_9f
11061 + .catch Ljava/lang/Exception; {:try_start_76 .. :try_end_9f} :catch_a0
11063 + goto :goto_6a
11065 + :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
11074 + goto :goto_6a
11076 + :cond_a9
11077 + const/4 v2, 0x0
11079 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOut:Landroid/content/Intent;
11081 + goto :goto_75
11083 + :cond_ad
11084 + const-string v2, "android.intent.action.PHONE_STATE"
11086 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11088 + move-result v2
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
11104 + move-result v2
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
11144 + :cond_e9
11145 + if-eqz v8, :cond_116
11147 + :try_start_eb
11148 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getIncomingCallsSetting()B
11150 + move-result v2
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;
11166 + const/4 v5, 0x1
11168 + const-string v6, "incomingCall"
11170 + const/4 v7, 0x0
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
11177 + :try_end_109
11178 + .catch Ljava/lang/Exception; {:try_start_eb .. :try_end_109} :catch_13f
11180 + :cond_109
11181 + :goto_109
11182 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
11184 + const/4 v3, 0x1
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
11194 + goto/16 :goto_75
11196 + :cond_116
11197 + :try_start_116
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;
11226 + const/4 v5, 0x0
11228 + const-string v6, "incomingCall"
11230 + const/4 v7, 0x0
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
11237 + :try_end_13e
11238 + .catch Ljava/lang/Exception; {:try_start_116 .. :try_end_13e} :catch_13f
11240 + goto :goto_109
11242 + :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
11251 + goto :goto_109
11253 + :cond_148
11254 + const/4 v2, 0x0
11256 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpIn:Landroid/content/Intent;
11258 + goto/16 :goto_75
11260 + :cond_14d
11261 + const-string v2, "android.provider.Telephony.SMS_RECEIVED"
11263 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11265 + move-result v2
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
11297 + const/4 v2, 0x0
11299 + aget-object v2, v15, v2
11301 + check-cast v2, [B
11303 + check-cast v2, [B
11305 + move-object v12, v2
11307 + :goto_179
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
11334 + :cond_193
11335 + if-eqz v8, :cond_1cf
11337 + :try_start_195
11338 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getSmsSetting()B
11340 + move-result v2
11342 + if-eqz v2, :cond_1cf
11344 + const-string v16, "[empty]"
11346 + const/4 v2, 0x1
11348 + new-array v14, v2, [Ljava/lang/Object;
11350 + const/4 v2, 0x0
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;
11368 + const/4 v5, 0x1
11370 + const-string/jumbo v6, "sms"
11372 + const/4 v7, 0x0
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
11379 + :try_end_1c0
11380 + .catch Ljava/lang/Exception; {:try_start_195 .. :try_end_1c0} :catch_212
11382 + :cond_1c0
11383 + :goto_1c0
11384 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
11386 + const/4 v3, 0x1
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
11396 + goto/16 :goto_75
11398 + :cond_1cd
11399 + const/4 v12, 0x0
11401 + goto :goto_179
11403 + :cond_1cf
11404 + :try_start_1cf
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
11447 + const/4 v2, 0x0
11449 + aget-object v2, v15, v2
11451 + check-cast v2, [B
11453 + check-cast v2, [B
11455 + move-object v12, v2
11457 + :goto_203
11458 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11460 + const/4 v5, 0x0
11462 + const-string/jumbo v6, "sms"
11464 + const/4 v7, 0x0
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
11471 + :try_end_211
11472 + .catch Ljava/lang/Exception; {:try_start_1cf .. :try_end_211} :catch_212
11474 + goto :goto_1c0
11476 + :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
11485 + goto :goto_1c0
11487 + :cond_21b
11488 + const/4 v12, 0x0
11490 + goto :goto_203
11492 + :cond_21d
11493 + const/4 v2, 0x0
11495 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSms:Landroid/content/Intent;
11497 + goto/16 :goto_75
11499 + :cond_222
11500 + const-string v2, "android.provider.Telephony.WAP_PUSH_RECEIVED"
11502 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11504 + move-result v2
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
11512 + move-result v2
11514 + if-eqz v2, :cond_2ff
11516 + :cond_232
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
11545 + const/4 v2, 0x0
11547 + aget-object v2, v15, v2
11549 + check-cast v2, [B
11551 + check-cast v2, [B
11553 + move-object v12, v2
11555 + :goto_256
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
11582 + :cond_270
11583 + if-eqz v8, :cond_2ac
11585 + :try_start_272
11586 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getMmsSetting()B
11588 + move-result v2
11590 + if-eqz v2, :cond_2ac
11592 + const-string v16, "[empty]"
11594 + const/4 v2, 0x1
11596 + new-array v14, v2, [Ljava/lang/Object;
11598 + const/4 v2, 0x0
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;
11616 + const/4 v5, 0x1
11618 + const-string/jumbo v6, "mms"
11620 + const/4 v7, 0x0
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
11627 + :try_end_29d
11628 + .catch Ljava/lang/Exception; {:try_start_272 .. :try_end_29d} :catch_2ef
11630 + :cond_29d
11631 + :goto_29d
11632 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
11634 + const/4 v3, 0x1
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
11644 + goto/16 :goto_75
11646 + :cond_2aa
11647 + const/4 v12, 0x0
11649 + goto :goto_256
11651 + :cond_2ac
11652 + :try_start_2ac
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
11695 + const/4 v2, 0x0
11697 + aget-object v2, v15, v2
11699 + check-cast v2, [B
11701 + check-cast v2, [B
11703 + move-object v12, v2
11705 + :goto_2e0
11706 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11708 + const/4 v5, 0x0
11710 + const-string/jumbo v6, "mms"
11712 + const/4 v7, 0x0
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
11719 + :try_end_2ee
11720 + .catch Ljava/lang/Exception; {:try_start_2ac .. :try_end_2ee} :catch_2ef
11722 + goto :goto_29d
11724 + :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
11733 + goto :goto_29d
11735 + :cond_2f8
11736 + const/4 v12, 0x0
11738 + goto :goto_2e0
11740 + :cond_2fa
11741 + const/4 v2, 0x0
11743 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMms:Landroid/content/Intent;
11745 + goto/16 :goto_75
11747 + :cond_2ff
11748 + const-string v2, "android.intent.action.BOOT_COMPLETED"
11750 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11752 + move-result v2
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
11760 + goto/16 :goto_75
11762 + :cond_30e
11763 + const-string v2, "android.intent.action.PACKAGE_ADDED"
11765 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11767 + move-result v2
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
11803 + move-result v11
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
11815 + move-result v2
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
11825 + goto/16 :goto_75
11827 + :array_350
11828 + .array-data 0x1
11829 + 0x0t
11830 + 0x20t
11831 + 0x1t
11832 + 0x81t
11833 + 0xf0t
11834 + 0x0t
11835 + 0x0t
11836 + 0x11t
11837 + 0x90t
11838 + 0x1t
11839 + 0x30t
11840 + 0x22t
11841 + 0x22t
11842 + 0x80t
11843 + 0x1t
11844 + 0x20t
11845 + .end array-data
11847 + :array_35c
11848 + .array-data 0x1
11849 + 0x0t
11850 + 0x20t
11851 + 0x1t
11852 + 0x81t
11853 + 0xf0t
11854 + 0x0t
11855 + 0x0t
11856 + 0x11t
11857 + 0x90t
11858 + 0x1t
11859 + 0x30t
11860 + 0x22t
11861 + 0x22t
11862 + 0x80t
11863 + 0x1t
11864 + 0x20t
11865 + .end array-data
11866 +.end method
11868 +.method private static hashCode(Landroid/content/Intent;)J
11869 + .registers 7
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
11885 + move-result v2
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;
11899 + :cond_1e
11900 + return-wide v0
11901 +.end method
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
11905 @@ -0,0 +1,624 @@
11906 +.class public final Landroid/privacy/surrogate/PrivacyContentResolver;
11907 +.super Ljava/lang/Object;
11908 +.source "PrivacyContentResolver.java"
11911 +# static fields
11912 +.field private static final TAG:Ljava/lang/String; = "PrivacyContentResolver"
11914 +.field private static pSetMan:Landroid/privacy/PrivacySettingsManager;
11917 +# direct methods
11918 +.method public constructor <init>()V
11919 + .registers 1
11921 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
11923 + return-void
11924 +.end method
11926 +.method private static arrayToString([Ljava/lang/String;)Ljava/lang/String;
11927 + .registers 8
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
11939 + const/4 v2, 0x0
11941 + :goto_a
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
11974 + goto :goto_a
11976 + :cond_2d
11977 + const-string v5, ""
11979 + :goto_2f
11980 + return-object v5
11982 + :cond_30
11983 + invoke-virtual {v4}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String;
11985 + move-result-object v5
11987 + goto :goto_2f
11988 +.end method
11990 +.method public static enforcePrivacyPermission(Landroid/net/Uri;[Ljava/lang/String;Landroid/content/Context;Landroid/database/Cursor;)Landroid/database/Cursor;
11991 + .registers 21
11992 + .annotation system Ldalvik/annotation/Throws;
11993 + value = {
11994 + Landroid/os/RemoteException;
11996 + .end annotation
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;
12016 + :cond_13
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
12023 + move-result v3
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
12045 + move-result v1
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
12053 + move-result v1
12055 + if-eqz v1, :cond_ab
12057 + :cond_3b
12058 + if-eqz v7, :cond_54
12060 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getContactsSetting()B
12062 + move-result v1
12064 + const/4 v4, 0x1
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;
12076 + const/4 v4, 0x1
12078 + const-string v5, "contacts"
12080 + const/4 v6, 0x0
12082 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12084 + :cond_54
12085 + :goto_54
12086 + return-object v13
12088 + :cond_55
12089 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getContactsSetting()B
12091 + move-result v1
12093 + const/4 v4, 0x2
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
12109 + move-result v1
12111 + if-eqz v1, :cond_a1
12113 + const/4 v11, 0x0
12115 + if-eqz p1, :cond_82
12117 + move-object/from16 v8, p1
12119 + array-length v12, v8
12121 + const/4 v10, 0x0
12123 + :goto_73
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
12134 + move-result v1
12136 + if-eqz v1, :cond_93
12138 + const/4 v11, 0x1
12140 + :cond_82
12141 + if-nez v11, :cond_96
12143 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12145 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12147 + :goto_89
12148 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12150 + const/4 v4, 0x2
12152 + const-string v5, "contacts"
12154 + const/4 v6, 0x0
12156 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12158 + goto :goto_54
12160 + :cond_93
12161 + add-int/lit8 v10, v10, 0x1
12163 + goto :goto_73
12165 + :cond_96
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
12176 + goto :goto_89
12178 + :cond_a1
12179 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12181 + const/4 v4, 0x0
12183 + const-string v5, "contacts"
12185 + const/4 v6, 0x0
12187 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12189 + goto :goto_54
12191 + :cond_ab
12192 + const-string v1, "com.android.calendar"
12194 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12196 + move-result v1
12198 + if-eqz v1, :cond_d8
12200 + if-eqz v7, :cond_cd
12202 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getCalendarSetting()B
12204 + move-result v1
12206 + const/4 v4, 0x1
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;
12218 + const/4 v4, 0x1
12220 + const-string v5, "calendar"
12222 + const/4 v6, 0x0
12224 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12226 + goto :goto_54
12228 + :cond_cd
12229 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12231 + const/4 v4, 0x0
12233 + const-string v5, "calendar"
12235 + const/4 v6, 0x0
12237 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12239 + goto/16 :goto_54
12241 + :cond_d8
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
12250 + move-result v1
12252 + if-eqz v1, :cond_10c
12254 + if-eqz v7, :cond_100
12256 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getMmsSetting()B
12258 + move-result v1
12260 + const/4 v4, 0x1
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;
12272 + const/4 v4, 0x1
12274 + const-string/jumbo v5, "mms"
12276 + const/4 v6, 0x0
12278 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12280 + goto/16 :goto_54
12282 + :cond_100
12283 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12285 + const/4 v4, 0x0
12287 + const-string/jumbo v5, "mms"
12289 + const/4 v6, 0x0
12291 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12293 + goto/16 :goto_54
12295 + :cond_10c
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
12304 + move-result v1
12306 + if-eqz v1, :cond_140
12308 + if-eqz v7, :cond_134
12310 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getSmsSetting()B
12312 + move-result v1
12314 + const/4 v4, 0x1
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;
12326 + const/4 v4, 0x1
12328 + const-string/jumbo v5, "sms"
12330 + const/4 v6, 0x0
12332 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12334 + goto/16 :goto_54
12336 + :cond_134
12337 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12339 + const/4 v4, 0x0
12341 + const-string/jumbo v5, "sms"
12343 + const/4 v6, 0x0
12345 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12347 + goto/16 :goto_54
12349 + :cond_140
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
12358 + move-result v1
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
12366 + move-result v1
12368 + if-eqz v1, :cond_184
12370 + :cond_155
12371 + if-eqz v7, :cond_178
12373 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getMmsSetting()B
12375 + move-result v1
12377 + const/4 v4, 0x1
12379 + if-eq v1, v4, :cond_165
12381 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getSmsSetting()B
12383 + move-result v1
12385 + const/4 v4, 0x1
12387 + if-ne v1, v4, :cond_178
12389 + :cond_165
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;
12398 + const/4 v4, 0x1
12400 + const-string/jumbo v5, "mmsSms"
12402 + const/4 v6, 0x0
12404 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12406 + goto/16 :goto_54
12408 + :cond_178
12409 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12411 + const/4 v4, 0x0
12413 + const-string/jumbo v5, "mmsSms"
12415 + const/4 v6, 0x0
12417 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12419 + goto/16 :goto_54
12421 + :cond_184
12422 + const-string v1, "call_log"
12424 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12426 + move-result v1
12428 + if-eqz v1, :cond_1b2
12430 + if-eqz v7, :cond_1a7
12432 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getCallLogSetting()B
12434 + move-result v1
12436 + const/4 v4, 0x1
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;
12448 + const/4 v4, 0x1
12450 + const-string v5, "callLog"
12452 + const/4 v6, 0x0
12454 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12456 + goto/16 :goto_54
12458 + :cond_1a7
12459 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12461 + const/4 v4, 0x0
12463 + const-string v5, "callLog"
12465 + const/4 v6, 0x0
12467 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12469 + goto/16 :goto_54
12471 + :cond_1b2
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
12480 + move-result v1
12482 + if-eqz v1, :cond_54
12484 + if-eqz v7, :cond_1d9
12486 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getBookmarksSetting()B
12488 + move-result v1
12490 + const/4 v4, 0x1
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;
12502 + const/4 v4, 0x1
12504 + const-string v5, "bookmarks"
12506 + const/4 v6, 0x0
12508 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12510 + goto/16 :goto_54
12512 + :cond_1d9
12513 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12515 + const/4 v4, 0x0
12517 + const-string v5, "bookmarks"
12519 + const/4 v6, 0x0
12521 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12523 + goto/16 :goto_54
12525 + :cond_1e4
12526 + move-object/from16 v13, p3
12528 + goto/16 :goto_54
12529 +.end method
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
12533 @@ -0,0 +1,1225 @@
12534 +.class public Landroid/privacy/surrogate/PrivacyCursor;
12535 +.super Ljava/lang/Object;
12536 +.source "PrivacyCursor.java"
12538 +# interfaces
12539 +.implements Landroid/database/Cursor;
12542 +# static fields
12543 +.field private static final TAG:Ljava/lang/String; = "PrivacyCursor"
12546 +# instance fields
12547 +.field private allowedIdMapping:[I
12549 +.field private allowedIds:[I
12551 +.field private realCursor:Landroid/database/Cursor;
12554 +# direct methods
12555 +.method public constructor <init>()V
12556 + .registers 1
12558 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
12560 + return-void
12561 +.end method
12563 +.method public constructor <init>(Landroid/database/Cursor;[I)V
12564 + .registers 7
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
12574 + :cond_8
12575 + const/4 p1, 0x0
12577 + :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
12590 + move-result v0
12592 + array-length v2, p2
12594 + new-array v2, v2, [I
12596 + iput-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
12598 + const/4 v1, 0x0
12600 + :cond_1d
12601 + :goto_1d
12602 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12604 + invoke-interface {v2}, Landroid/database/Cursor;->moveToNext()Z
12606 + move-result v2
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
12614 + move-result v2
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
12624 + move-result v3
12626 + aput v3, v2, v1
12628 + add-int/lit8 v1, v1, 0x1
12630 + goto :goto_1d
12632 + :cond_3a
12633 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12635 + invoke-interface {v2, v0}, Landroid/database/Cursor;->moveToPosition(I)Z
12637 + :cond_3f
12638 + return-void
12639 +.end method
12641 +.method private getContactId(Landroid/database/Cursor;)I
12642 + .registers 5
12644 + const-string v2, "_id"
12646 + invoke-interface {p1, v2}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
12648 + move-result v0
12650 + const/4 v1, -0x1
12652 + const/4 v2, -0x1
12654 + if-eq v0, v2, :cond_e
12656 + invoke-interface {p1, v0}, Landroid/database/Cursor;->getInt(I)I
12658 + move-result v1
12660 + :cond_e
12661 + return v1
12662 +.end method
12664 +.method private getMappedPos(I)I
12665 + .registers 4
12667 + const/4 v0, 0x0
12669 + :goto_1
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
12678 + aget v1, v1, v0
12680 + if-ne v1, p1, :cond_d
12682 + :goto_c
12683 + return v0
12685 + :cond_d
12686 + add-int/lit8 v0, v0, 0x1
12688 + goto :goto_1
12690 + :cond_10
12691 + const/4 v0, -0x1
12693 + goto :goto_c
12694 +.end method
12696 +.method private isAllowed(I)Z
12697 + .registers 7
12699 + const/4 v4, 0x0
12701 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIds:[I
12703 + array-length v3, v0
12705 + const/4 v2, 0x0
12707 + :goto_5
12708 + if-ge v2, v3, :cond_c
12710 + aget v1, v0, v2
12712 + if-ne p1, v1, :cond_d
12714 + const/4 v4, 0x1
12716 + :cond_c
12717 + return v4
12719 + :cond_d
12720 + add-int/lit8 v2, v2, 0x1
12722 + goto :goto_5
12723 +.end method
12725 +.method private isAllowed(Landroid/database/Cursor;)Z
12726 + .registers 3
12728 + invoke-direct {p0, p1}, Landroid/privacy/surrogate/PrivacyCursor;->getContactId(Landroid/database/Cursor;)I
12730 + move-result v0
12732 + invoke-direct {p0, v0}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(I)Z
12734 + move-result v0
12736 + return v0
12737 +.end method
12740 +# virtual methods
12741 +.method public close()V
12742 + .registers 2
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
12752 + :cond_9
12753 + return-void
12754 +.end method
12756 +.method public copyStringToBuffer(ILandroid/database/CharArrayBuffer;)V
12757 + .registers 4
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
12767 + :cond_9
12768 + return-void
12769 +.end method
12771 +.method public deactivate()V
12772 + .registers 2
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
12782 + :cond_9
12783 + return-void
12784 +.end method
12786 +.method public getBlob(I)[B
12787 + .registers 3
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
12799 + :goto_a
12800 + return-object v0
12802 + :cond_b
12803 + const/4 v0, 0x0
12805 + new-array v0, v0, [B
12807 + goto :goto_a
12808 +.end method
12810 +.method public getColumnCount()I
12811 + .registers 2
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
12821 + move-result v0
12823 + :goto_a
12824 + return v0
12826 + :cond_b
12827 + const/4 v0, 0x0
12829 + goto :goto_a
12830 +.end method
12832 +.method public getColumnIndex(Ljava/lang/String;)I
12833 + .registers 3
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
12843 + move-result v0
12845 + :goto_a
12846 + return v0
12848 + :cond_b
12849 + const/4 v0, -0x1
12851 + goto :goto_a
12852 +.end method
12854 +.method public getColumnIndexOrThrow(Ljava/lang/String;)I
12855 + .registers 3
12856 + .annotation system Ldalvik/annotation/Throws;
12857 + value = {
12858 + Ljava/lang/IllegalArgumentException;
12860 + .end annotation
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
12870 + move-result v0
12872 + :goto_a
12873 + return v0
12875 + :cond_b
12876 + const/4 v0, -0x1
12878 + goto :goto_a
12879 +.end method
12881 +.method public getColumnName(I)Ljava/lang/String;
12882 + .registers 3
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
12894 + :goto_a
12895 + return-object v0
12897 + :cond_b
12898 + const-string v0, ""
12900 + goto :goto_a
12901 +.end method
12903 +.method public getColumnNames()[Ljava/lang/String;
12904 + .registers 4
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
12916 + :goto_a
12917 + return-object v0
12919 + :cond_b
12920 + const/4 v0, 0x1
12922 + new-array v0, v0, [Ljava/lang/String;
12924 + const/4 v1, 0x0
12926 + const-string v2, ""
12928 + aput-object v2, v0, v1
12930 + goto :goto_a
12931 +.end method
12933 +.method public getCount()I
12934 + .registers 4
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
12970 + :goto_22
12971 + return v0
12973 + :cond_23
12974 + const/4 v0, 0x0
12976 + goto :goto_22
12977 +.end method
12979 +.method public getDouble(I)D
12980 + .registers 4
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
12992 + :goto_a
12993 + return-wide v0
12995 + :cond_b
12996 + const-wide/16 v0, 0x0
12998 + goto :goto_a
12999 +.end method
13001 +.method public getExtras()Landroid/os/Bundle;
13002 + .registers 2
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
13014 + :goto_a
13015 + return-object v0
13017 + :cond_b
13018 + new-instance v0, Landroid/os/Bundle;
13020 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
13022 + goto :goto_a
13023 +.end method
13025 +.method public getFloat(I)F
13026 + .registers 3
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
13036 + move-result v0
13038 + :goto_a
13039 + return v0
13041 + :cond_b
13042 + const/4 v0, 0x0
13044 + goto :goto_a
13045 +.end method
13047 +.method public getInt(I)I
13048 + .registers 4
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
13058 + move-result v0
13060 + :goto_a
13061 + return v0
13063 + :cond_b
13064 + const/4 v0, 0x0
13066 + goto :goto_a
13067 +.end method
13069 +.method public getLong(I)J
13070 + .registers 4
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
13082 + :goto_a
13083 + return-wide v0
13085 + :cond_b
13086 + const-wide/16 v0, 0x0
13088 + goto :goto_a
13089 +.end method
13091 +.method public getPosition()I
13092 + .registers 5
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
13102 + move-result v1
13104 + invoke-direct {p0, v1}, Landroid/privacy/surrogate/PrivacyCursor;->getMappedPos(I)I
13106 + move-result v0
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
13134 + move-result v3
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
13146 + :goto_36
13147 + return v0
13149 + :cond_37
13150 + const/4 v0, -0x1
13152 + goto :goto_36
13153 +.end method
13155 +.method public getShort(I)S
13156 + .registers 3
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
13166 + move-result v0
13168 + :goto_a
13169 + return v0
13171 + :cond_b
13172 + const/4 v0, 0x0
13174 + goto :goto_a
13175 +.end method
13177 +.method public getString(I)Ljava/lang/String;
13178 + .registers 3
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
13190 + :goto_a
13191 + return-object v0
13193 + :cond_b
13194 + const-string v0, ""
13196 + goto :goto_a
13197 +.end method
13199 +.method public getType(I)I
13200 + .registers 3
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
13210 + move-result v0
13212 + :goto_a
13213 + return v0
13215 + :cond_b
13216 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13218 + const/4 v0, 0x0
13220 + goto :goto_a
13221 +.end method
13223 +.method public getWantsAllOnMoveCalls()Z
13224 + .registers 2
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
13234 + move-result v0
13236 + :goto_a
13237 + return v0
13239 + :cond_b
13240 + const/4 v0, 0x0
13242 + goto :goto_a
13243 +.end method
13245 +.method public isAfterLast()Z
13246 + .registers 2
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
13256 + move-result v0
13258 + :goto_a
13259 + return v0
13261 + :cond_b
13262 + const/4 v0, 0x0
13264 + goto :goto_a
13265 +.end method
13267 +.method public isBeforeFirst()Z
13268 + .registers 2
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
13278 + move-result v0
13280 + :goto_a
13281 + return v0
13283 + :cond_b
13284 + const/4 v0, 0x0
13286 + goto :goto_a
13287 +.end method
13289 +.method public isClosed()Z
13290 + .registers 2
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
13300 + move-result v0
13302 + :goto_a
13303 + return v0
13305 + :cond_b
13306 + const/4 v0, 0x0
13308 + goto :goto_a
13309 +.end method
13311 +.method public isFirst()Z
13312 + .registers 4
13314 + const/4 v0, 0x0
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
13324 + move-result v1
13326 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13328 + aget v2, v2, v0
13330 + if-ne v1, v2, :cond_12
13332 + const/4 v0, 0x1
13334 + :cond_12
13335 + return v0
13336 +.end method
13338 +.method public isLast()Z
13339 + .registers 4
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
13349 + move-result v0
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
13359 + aget v1, v1, v2
13361 + if-ne v0, v1, :cond_17
13363 + const/4 v0, 0x1
13365 + :goto_16
13366 + return v0
13368 + :cond_17
13369 + const/4 v0, 0x0
13371 + goto :goto_16
13372 +.end method
13374 +.method public isNull(I)Z
13375 + .registers 3
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
13385 + move-result v0
13387 + :goto_a
13388 + return v0
13390 + :cond_b
13391 + const/4 v0, 0x0
13393 + goto :goto_a
13394 +.end method
13396 +.method public move(I)Z
13397 + .registers 8
13399 + const/4 v2, 0x0
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
13427 + :try_start_1e
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
13434 + move-result v4
13436 + invoke-direct {p0, v4}, Landroid/privacy/surrogate/PrivacyCursor;->getMappedPos(I)I
13438 + move-result v4
13440 + add-int/2addr v4, p1
13442 + aget v1, v3, v4
13444 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13446 + invoke-interface {v3, v1}, Landroid/database/Cursor;->moveToPosition(I)Z
13447 + :try_end_32
13448 + .catch Ljava/lang/ArrayIndexOutOfBoundsException; {:try_start_1e .. :try_end_32} :catch_34
13450 + move-result v2
13452 + :cond_33
13453 + :goto_33
13454 + return v2
13456 + :catch_34
13457 + move-exception v0
13459 + goto :goto_33
13460 +.end method
13462 +.method public moveToFirst()Z
13463 + .registers 4
13465 + const/4 v0, 0x0
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
13475 + aget v2, v2, v0
13477 + invoke-interface {v1, v2}, Landroid/database/Cursor;->moveToPosition(I)Z
13479 + move-result v0
13481 + :cond_f
13482 + return v0
13483 +.end method
13485 +.method public moveToLast()Z
13486 + .registers 5
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
13502 + aget v2, v2, v3
13504 + invoke-interface {v1, v2}, Landroid/database/Cursor;->moveToPosition(I)Z
13506 + move-result v0
13508 + :goto_13
13509 + return v0
13511 + :cond_14
13512 + const/4 v0, 0x0
13514 + goto :goto_13
13515 +.end method
13517 +.method public moveToNext()Z
13518 + .registers 3
13520 + const/4 v0, 0x0
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
13530 + move-result v1
13532 + if-nez v1, :cond_e
13534 + :cond_d
13535 + return v0
13537 + :cond_e
13538 + const/4 v0, 0x1
13540 + :goto_f
13541 + const/4 v1, 0x1
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
13549 + move-result v1
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
13557 + move-result v0
13559 + goto :goto_f
13560 +.end method
13562 +.method public moveToPosition(I)Z
13563 + .registers 6
13565 + const/4 v1, 0x0
13567 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13569 + if-eqz v2, :cond_f
13571 + :try_start_5
13572 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13574 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13576 + aget v3, v3, p1
13578 + invoke-interface {v2, v3}, Landroid/database/Cursor;->moveToPosition(I)Z
13579 + :try_end_e
13580 + .catch Ljava/lang/ArrayIndexOutOfBoundsException; {:try_start_5 .. :try_end_e} :catch_10
13582 + move-result v1
13584 + :cond_f
13585 + :goto_f
13586 + return v1
13588 + :catch_10
13589 + move-exception v0
13591 + goto :goto_f
13592 +.end method
13594 +.method public moveToPrevious()Z
13595 + .registers 3
13597 + const/4 v0, 0x0
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
13607 + move-result v1
13609 + if-nez v1, :cond_e
13611 + :cond_d
13612 + return v0
13614 + :cond_e
13615 + const/4 v0, 0x1
13617 + :goto_f
13618 + const/4 v1, 0x1
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
13626 + move-result v1
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
13634 + move-result v0
13636 + goto :goto_f
13637 +.end method
13639 +.method public registerContentObserver(Landroid/database/ContentObserver;)V
13640 + .registers 3
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
13650 + :cond_9
13651 + return-void
13652 +.end method
13654 +.method public registerDataSetObserver(Landroid/database/DataSetObserver;)V
13655 + .registers 3
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
13665 + :cond_9
13666 + return-void
13667 +.end method
13669 +.method public requery()Z
13670 + .registers 2
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
13680 + move-result v0
13682 + :goto_a
13683 + return v0
13685 + :cond_b
13686 + const/4 v0, 0x0
13688 + goto :goto_a
13689 +.end method
13691 +.method public respond(Landroid/os/Bundle;)Landroid/os/Bundle;
13692 + .registers 3
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
13704 + :goto_a
13705 + return-object v0
13707 + :cond_b
13708 + new-instance v0, Landroid/os/Bundle;
13710 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
13712 + goto :goto_a
13713 +.end method
13715 +.method public setNotificationUri(Landroid/content/ContentResolver;Landroid/net/Uri;)V
13716 + .registers 4
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
13726 + :cond_9
13727 + return-void
13728 +.end method
13730 +.method public unregisterContentObserver(Landroid/database/ContentObserver;)V
13731 + .registers 3
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
13741 + :cond_9
13742 + return-void
13743 +.end method
13745 +.method public unregisterDataSetObserver(Landroid/database/DataSetObserver;)V
13746 + .registers 3
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
13756 + :cond_9
13757 + return-void
13758 +.end method
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
13762 @@ -0,0 +1,134 @@
13763 +.class Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
13764 +.super Ljava/lang/Thread;
13765 +.source "PrivacyLocationManager.java"
13768 +# annotations
13769 +.annotation system Ldalvik/annotation/EnclosingClass;
13770 + value = Landroid/privacy/surrogate/PrivacyLocationManager;
13771 +.end annotation
13773 +.annotation system Ldalvik/annotation/InnerClass;
13774 + accessFlags = 0x2
13775 + name = "PrivacyLocationUpdater"
13776 +.end annotation
13779 +# instance fields
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;
13793 +# direct methods
13794 +.method public constructor <init>(Landroid/privacy/surrogate/PrivacyLocationManager;Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;DD)V
13795 + .registers 9
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
13811 + return-void
13812 +.end method
13815 +# virtual methods
13816 +.method public run()V
13817 + .registers 8
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
13837 + const/4 v1, 0x0
13839 + :goto_16
13840 + const/4 v3, 0x5
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
13852 + :cond_22
13853 + :goto_22
13854 + :try_start_22
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
13868 + :try_end_31
13869 + .catch Ljava/lang/InterruptedException; {:try_start_22 .. :try_end_31} :catch_3e
13871 + :goto_31
13872 + add-int/lit8 v1, v1, 0x1
13874 + goto :goto_16
13876 + :cond_34
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
13885 + goto :goto_22
13887 + :catch_3e
13888 + move-exception v0
13890 + invoke-virtual {v0}, Ljava/lang/InterruptedException;->printStackTrace()V
13892 + goto :goto_31
13894 + :cond_43
13895 + return-void
13896 +.end method
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
13900 @@ -0,0 +1,2091 @@
13901 +.class public final Landroid/privacy/surrogate/PrivacyLocationManager;
13902 +.super Landroid/location/LocationManager;
13903 +.source "PrivacyLocationManager.java"
13906 +# annotations
13907 +.annotation system Ldalvik/annotation/MemberClasses;
13908 + value = {
13909 + Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
13911 +.end annotation
13914 +# static fields
13915 +.field private static final CUSTOM_LOCATION_UPDATE_COUNT:I = 0x5
13917 +.field private static final TAG:Ljava/lang/String; = "PrivacyLocationManager"
13920 +# instance fields
13921 +.field private context:Landroid/content/Context;
13923 +.field private lock:Ljava/lang/Object;
13925 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
13928 +# direct methods
13929 +.method public constructor <init>(Landroid/location/ILocationManager;Landroid/content/Context;)V
13930 + .registers 5
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;
13958 + return-void
13959 +.end method
13961 +.method private requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
13962 + .registers 7
13964 + const/4 v2, 0x3
13966 + if-nez p1, :cond_5
13968 + const/4 v0, 0x0
13970 + :goto_4
13971 + return v0
13973 + :cond_5
13974 + invoke-virtual {p1}, Landroid/location/Criteria;->getAccuracy()I
13976 + move-result v0
13978 + const/4 v1, 0x1
13980 + if-eq v0, v1, :cond_24
13982 + invoke-virtual {p1}, Landroid/location/Criteria;->getBearingAccuracy()I
13984 + move-result v0
13986 + if-eq v0, v2, :cond_24
13988 + invoke-virtual {p1}, Landroid/location/Criteria;->getHorizontalAccuracy()I
13990 + move-result v0
13992 + if-eq v0, v2, :cond_24
13994 + invoke-virtual {p1}, Landroid/location/Criteria;->getVerticalAccuracy()I
13996 + move-result v0
13998 + if-eq v0, v2, :cond_24
14000 + invoke-virtual {p1}, Landroid/location/Criteria;->getSpeedAccuracy()I
14002 + move-result v0
14004 + if-ne v0, v2, :cond_2b
14006 + :cond_24
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
14011 + move-result v0
14013 + goto :goto_4
14015 + :cond_2b
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
14020 + move-result v0
14022 + goto :goto_4
14023 +.end method
14025 +.method private requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
14026 + .registers 24
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
14036 + :try_start_7
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
14047 + move-result v3
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
14067 + move-result v1
14069 + if-eqz v1, :cond_111
14071 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
14073 + move-result v1
14075 + packed-switch v1, :pswitch_data_25e
14077 + :cond_30
14078 + :goto_30
14079 + monitor-exit v19
14081 + return v18
14083 + :pswitch_32
14084 + move-object/from16 v0, p0
14086 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14088 + const/4 v4, 0x0
14090 + const-string v5, "locationGPS"
14092 + const/4 v6, 0x0
14094 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14096 + goto :goto_30
14098 + :catchall_3e
14099 + move-exception v1
14101 + monitor-exit v19
14102 + :try_end_40
14103 + .catchall {:try_start_7 .. :try_end_40} :catchall_3e
14105 + throw v1
14107 + :pswitch_41
14108 + if-eqz p3, :cond_46
14110 + :try_start_43
14111 + invoke-virtual/range {p3 .. p3}, Landroid/app/PendingIntent;->cancel()V
14113 + :cond_46
14114 + const/16 v18, 0x1
14116 + move-object/from16 v0, p0
14118 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14120 + const/4 v4, 0x1
14122 + const-string v5, "locationGPS"
14124 + const/4 v6, 0x0
14126 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14127 + :try_end_53
14128 + .catchall {:try_start_43 .. :try_end_53} :catchall_3e
14130 + goto :goto_30
14132 + :pswitch_54
14133 + :try_start_54
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
14163 + :try_end_74
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
14169 + :goto_76
14170 + :try_start_76
14171 + move-object/from16 v0, p0
14173 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14175 + const/4 v4, 0x2
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
14217 + goto :goto_30
14219 + :catch_a6
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
14227 + :try_end_af
14228 + .catchall {:try_start_76 .. :try_end_af} :catchall_3e
14230 + const/16 v18, 0x1
14232 + goto :goto_76
14234 + :pswitch_b2
14235 + :try_start_b2
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
14265 + :try_end_d2
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
14271 + :goto_d4
14272 + :try_start_d4
14273 + move-object/from16 v0, p0
14275 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14277 + const/4 v4, 0x3
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
14319 + goto/16 :goto_30
14321 + :catch_105
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
14332 + goto :goto_d4
14334 + :cond_111
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
14341 + move-result v1
14343 + if-eqz v1, :cond_204
14345 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
14347 + move-result v1
14349 + packed-switch v1, :pswitch_data_26a
14351 + goto/16 :goto_30
14353 + :pswitch_125
14354 + move-object/from16 v0, p0
14356 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14358 + const/4 v4, 0x0
14360 + const-string v5, "locationNetwork"
14362 + const/4 v6, 0x0
14364 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14366 + goto/16 :goto_30
14368 + :pswitch_132
14369 + if-eqz p3, :cond_137
14371 + invoke-virtual/range {p3 .. p3}, Landroid/app/PendingIntent;->cancel()V
14373 + :cond_137
14374 + const/16 v18, 0x1
14376 + move-object/from16 v0, p0
14378 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14380 + const/4 v4, 0x1
14382 + const-string v5, "locationNetwork"
14384 + const/4 v6, 0x0
14386 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14387 + :try_end_144
14388 + .catchall {:try_start_d4 .. :try_end_144} :catchall_3e
14390 + goto/16 :goto_30
14392 + :pswitch_146
14393 + :try_start_146
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
14423 + :try_end_166
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
14429 + :goto_168
14430 + :try_start_168
14431 + move-object/from16 v0, p0
14433 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14435 + const/4 v4, 0x2
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
14477 + goto/16 :goto_30
14479 + :catch_199
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
14487 + :try_end_1a2
14488 + .catchall {:try_start_168 .. :try_end_1a2} :catchall_3e
14490 + const/16 v18, 0x1
14492 + goto :goto_168
14494 + :pswitch_1a5
14495 + :try_start_1a5
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
14525 + :try_end_1c5
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
14531 + :goto_1c7
14532 + :try_start_1c7
14533 + move-object/from16 v0, p0
14535 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14537 + const/4 v4, 0x3
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
14579 + goto/16 :goto_30
14581 + :catch_1f8
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
14592 + goto :goto_1c7
14594 + :cond_204
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
14601 + move-result v1
14603 + if-eqz v1, :cond_30
14605 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
14607 + move-result v1
14609 + if-nez v1, :cond_22a
14611 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
14613 + move-result v1
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;
14623 + const/4 v4, 0x0
14625 + const-string v5, "locationGPS"
14627 + const/4 v6, 0x0
14629 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14631 + goto/16 :goto_30
14633 + :cond_22a
14634 + const/16 v18, 0x1
14636 + move-object/from16 v0, p0
14638 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14640 + const/4 v4, 0x1
14642 + const-string v5, "locationGPS"
14644 + const/4 v6, 0x0
14646 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14648 + goto/16 :goto_30
14650 + :cond_239
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
14657 + move-result v1
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;
14665 + const/4 v4, 0x0
14667 + const-string v5, "locationNetwork"
14669 + const/4 v6, 0x0
14671 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14673 + goto/16 :goto_30
14675 + :cond_251
14676 + move-object/from16 v0, p0
14678 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14680 + const/4 v4, 0x0
14682 + const-string v5, "locationGPS"
14684 + const/4 v6, 0x0
14686 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14687 + :try_end_25c
14688 + .catchall {:try_start_1c7 .. :try_end_25c} :catchall_3e
14690 + goto/16 :goto_30
14692 + :pswitch_data_25e
14693 + .packed-switch 0x0
14694 + :pswitch_32
14695 + :pswitch_41
14696 + :pswitch_54
14697 + :pswitch_b2
14698 + .end packed-switch
14700 + :pswitch_data_26a
14701 + .packed-switch 0x0
14702 + :pswitch_125
14703 + :pswitch_132
14704 + :pswitch_146
14705 + :pswitch_1a5
14706 + .end packed-switch
14707 +.end method
14710 +# virtual methods
14711 +.method public addNmeaListener(Landroid/location/GpsStatus$NmeaListener;)Z
14712 + .registers 10
14714 + const/4 v5, 0x0
14716 + const/4 v7, 0x0
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
14726 + move-result v2
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
14738 + move-result v0
14740 + if-eqz v0, :cond_24
14742 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14744 + const/4 v3, 0x1
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
14750 + move v0, v7
14752 + :goto_23
14753 + return v0
14755 + :cond_24
14756 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14758 + const-string v4, "locationGPS"
14760 + move v3, v7
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
14766 + move-result v0
14768 + goto :goto_23
14769 +.end method
14771 +.method public getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
14772 + .registers 14
14774 + const/4 v11, 0x3
14776 + const/4 v10, 0x2
14778 + const/4 v8, 0x1
14780 + const/4 v3, 0x0
14782 + const/4 v5, 0x0
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
14790 + :cond_b
14791 + :goto_b
14792 + return-object v7
14794 + :cond_c
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
14803 + move-result v2
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
14811 + const/4 v7, 0x0
14813 + if-eqz v6, :cond_22c
14815 + const-string v0, "gps"
14817 + invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
14819 + move-result v0
14821 + if-eqz v0, :cond_ff
14823 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
14825 + move-result v0
14827 + packed-switch v0, :pswitch_data_29a
14829 + goto :goto_b
14831 + :pswitch_2f
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
14878 + :cond_5e
14879 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14881 + goto :goto_b
14883 + :pswitch_62
14884 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14886 + const-string v4, "locationGPS"
14888 + move v3, v8
14890 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14892 + goto :goto_b
14894 + :pswitch_6b
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
14959 + move v3, v10
14961 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14963 + goto/16 :goto_b
14965 + :pswitch_b5
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
15030 + move v3, v11
15032 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15034 + goto/16 :goto_b
15036 + :cond_ff
15037 + const-string/jumbo v0, "network"
15039 + invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15041 + move-result v0
15043 + if-eqz v0, :cond_1e3
15045 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15047 + move-result v0
15049 + packed-switch v0, :pswitch_data_2a6
15051 + goto/16 :goto_b
15053 + :pswitch_111
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
15100 + :cond_140
15101 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15103 + goto/16 :goto_b
15105 + :pswitch_145
15106 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15108 + const-string v4, "locationNetwork"
15110 + move v3, v8
15112 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15114 + goto/16 :goto_b
15116 + :pswitch_14f
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
15181 + move v3, v10
15183 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15185 + goto/16 :goto_b
15187 + :pswitch_199
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
15252 + move v3, v11
15254 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15256 + goto/16 :goto_b
15258 + :cond_1e3
15259 + const-string/jumbo v0, "passive"
15261 + invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15263 + move-result v0
15265 + if-eqz v0, :cond_b
15267 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
15269 + move-result v0
15271 + if-nez v0, :cond_b
15273 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15275 + move-result v0
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
15325 + :cond_227
15326 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15328 + goto/16 :goto_b
15330 + :cond_22c
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
15339 + move-result v0
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
15385 + :cond_264
15386 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15388 + goto/16 :goto_b
15390 + :cond_269
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
15433 + :cond_294
15434 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15436 + goto/16 :goto_b
15438 + nop
15440 + :pswitch_data_29a
15441 + .packed-switch 0x0
15442 + :pswitch_2f
15443 + :pswitch_62
15444 + :pswitch_6b
15445 + :pswitch_b5
15446 + .end packed-switch
15448 + :pswitch_data_2a6
15449 + .packed-switch 0x0
15450 + :pswitch_111
15451 + :pswitch_145
15452 + :pswitch_14f
15453 + :pswitch_199
15454 + .end packed-switch
15455 +.end method
15457 +.method public getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15458 + .registers 7
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
15466 + :cond_6
15467 + :goto_6
15468 + return-object v0
15470 + :cond_7
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
15481 + move-result v4
15483 + invoke-virtual {v2, v3, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
15485 + move-result-object v1
15487 + const/4 v0, 0x0
15489 + if-eqz v1, :cond_5f
15491 + const-string v2, "gps"
15493 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15495 + move-result v2
15497 + if-eqz v2, :cond_2f
15499 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
15501 + move-result v2
15503 + packed-switch v2, :pswitch_data_64
15505 + :pswitch_29
15506 + goto :goto_6
15508 + :pswitch_2a
15509 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15511 + move-result-object v0
15513 + goto :goto_6
15515 + :cond_2f
15516 + const-string/jumbo v2, "network"
15518 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15520 + move-result v2
15522 + if-eqz v2, :cond_45
15524 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15526 + move-result v2
15528 + packed-switch v2, :pswitch_data_70
15530 + :pswitch_3f
15531 + goto :goto_6
15533 + :pswitch_40
15534 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15536 + move-result-object v0
15538 + goto :goto_6
15540 + :cond_45
15541 + const-string/jumbo v2, "passive"
15543 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15545 + move-result v2
15547 + if-eqz v2, :cond_6
15549 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
15551 + move-result v2
15553 + if-eqz v2, :cond_5a
15555 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15557 + move-result v2
15559 + if-nez v2, :cond_6
15561 + :cond_5a
15562 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15564 + move-result-object v0
15566 + goto :goto_6
15568 + :cond_5f
15569 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15571 + move-result-object v0
15573 + goto :goto_6
15575 + :pswitch_data_64
15576 + .packed-switch 0x0
15577 + :pswitch_2a
15578 + :pswitch_29
15579 + :pswitch_2a
15580 + :pswitch_2a
15581 + .end packed-switch
15583 + :pswitch_data_70
15584 + .packed-switch 0x0
15585 + :pswitch_40
15586 + :pswitch_3f
15587 + :pswitch_40
15588 + :pswitch_40
15589 + .end packed-switch
15590 +.end method
15592 +.method public isProviderEnabled(Ljava/lang/String;)Z
15593 + .registers 7
15595 + if-nez p1, :cond_7
15597 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
15599 + move-result v0
15601 + :cond_6
15602 + :goto_6
15603 + :pswitch_6
15604 + return v0
15606 + :cond_7
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
15617 + move-result v4
15619 + invoke-virtual {v2, v3, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
15621 + move-result-object v1
15623 + const/4 v0, 0x0
15625 + if-eqz v1, :cond_65
15627 + const-string v2, "gps"
15629 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15631 + move-result v2
15633 + if-eqz v2, :cond_31
15635 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
15637 + move-result v2
15639 + packed-switch v2, :pswitch_data_6a
15641 + goto :goto_6
15643 + :pswitch_2a
15644 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
15646 + move-result v0
15648 + goto :goto_6
15650 + :pswitch_2f
15651 + const/4 v0, 0x1
15653 + goto :goto_6
15655 + :cond_31
15656 + const-string/jumbo v2, "network"
15658 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15660 + move-result v2
15662 + if-eqz v2, :cond_49
15664 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15666 + move-result v2
15668 + packed-switch v2, :pswitch_data_76
15670 + goto :goto_6
15672 + :pswitch_42
15673 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
15675 + move-result v0
15677 + goto :goto_6
15679 + :pswitch_47
15680 + const/4 v0, 0x1
15682 + goto :goto_6
15684 + :cond_49
15685 + const-string/jumbo v2, "passive"
15687 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15689 + move-result v2
15691 + if-eqz v2, :cond_6
15693 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
15695 + move-result v2
15697 + if-eqz v2, :cond_5e
15699 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15701 + move-result v2
15703 + if-nez v2, :cond_63
15705 + :cond_5e
15706 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
15708 + move-result v0
15710 + goto :goto_6
15712 + :cond_63
15713 + const/4 v0, 0x0
15715 + goto :goto_6
15717 + :cond_65
15718 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
15720 + move-result v0
15722 + goto :goto_6
15724 + :pswitch_data_6a
15725 + .packed-switch 0x0
15726 + :pswitch_2a
15727 + :pswitch_6
15728 + :pswitch_2f
15729 + :pswitch_2f
15730 + .end packed-switch
15732 + :pswitch_data_76
15733 + .packed-switch 0x0
15734 + :pswitch_42
15735 + :pswitch_6
15736 + :pswitch_47
15737 + :pswitch_47
15738 + .end packed-switch
15739 +.end method
15741 +.method public requestLocationUpdates(JFLandroid/location/Criteria;Landroid/app/PendingIntent;)V
15742 + .registers 7
15744 + if-eqz p4, :cond_4
15746 + if-nez p5, :cond_8
15748 + :cond_4
15749 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/app/PendingIntent;)V
15751 + :cond_7
15752 + :goto_7
15753 + return-void
15755 + :cond_8
15756 + const/4 v0, 0x0
15758 + invoke-direct {p0, p4, v0, p5}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15760 + move-result v0
15762 + if-nez v0, :cond_7
15764 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/app/PendingIntent;)V
15766 + goto :goto_7
15767 +.end method
15769 +.method public requestLocationUpdates(JFLandroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
15770 + .registers 8
15772 + if-eqz p4, :cond_4
15774 + if-nez p5, :cond_8
15776 + :cond_4
15777 + invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
15779 + :cond_7
15780 + :goto_7
15781 + return-void
15783 + :cond_8
15784 + const/4 v0, 0x0
15786 + invoke-direct {p0, p4, p5, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15788 + move-result v0
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
15794 + goto :goto_7
15795 +.end method
15797 +.method public requestLocationUpdates(Ljava/lang/String;JFLandroid/app/PendingIntent;)V
15798 + .registers 7
15800 + if-eqz p1, :cond_4
15802 + if-nez p5, :cond_8
15804 + :cond_4
15805 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/app/PendingIntent;)V
15807 + :cond_7
15808 + :goto_7
15809 + return-void
15811 + :cond_8
15812 + const/4 v0, 0x0
15814 + invoke-direct {p0, p1, v0, p5}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15816 + move-result v0
15818 + if-nez v0, :cond_7
15820 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/app/PendingIntent;)V
15822 + goto :goto_7
15823 +.end method
15825 +.method public requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;)V
15826 + .registers 7
15828 + if-eqz p1, :cond_4
15830 + if-nez p5, :cond_8
15832 + :cond_4
15833 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;)V
15835 + :cond_7
15836 + :goto_7
15837 + return-void
15839 + :cond_8
15840 + const/4 v0, 0x0
15842 + invoke-direct {p0, p1, p5, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15844 + move-result v0
15846 + if-nez v0, :cond_7
15848 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;)V
15850 + goto :goto_7
15851 +.end method
15853 +.method public requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;Landroid/os/Looper;)V
15854 + .registers 8
15856 + if-eqz p1, :cond_4
15858 + if-nez p5, :cond_8
15860 + :cond_4
15861 + invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;Landroid/os/Looper;)V
15863 + :cond_7
15864 + :goto_7
15865 + return-void
15867 + :cond_8
15868 + const/4 v0, 0x0
15870 + invoke-direct {p0, p1, p5, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15872 + move-result v0
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
15878 + goto :goto_7
15879 +.end method
15881 +.method public requestSingleUpdate(Landroid/location/Criteria;Landroid/app/PendingIntent;)V
15882 + .registers 4
15884 + if-eqz p1, :cond_4
15886 + if-nez p2, :cond_8
15888 + :cond_4
15889 + invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/app/PendingIntent;)V
15891 + :cond_7
15892 + :goto_7
15893 + return-void
15895 + :cond_8
15896 + const/4 v0, 0x0
15898 + invoke-direct {p0, p1, v0, p2}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15900 + move-result v0
15902 + if-nez v0, :cond_7
15904 + invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/app/PendingIntent;)V
15906 + goto :goto_7
15907 +.end method
15909 +.method public requestSingleUpdate(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
15910 + .registers 5
15912 + if-eqz p1, :cond_4
15914 + if-nez p2, :cond_8
15916 + :cond_4
15917 + invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
15919 + :cond_7
15920 + :goto_7
15921 + return-void
15923 + :cond_8
15924 + const/4 v0, 0x0
15926 + invoke-direct {p0, p1, p2, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15928 + move-result v0
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
15934 + goto :goto_7
15935 +.end method
15937 +.method public requestSingleUpdate(Ljava/lang/String;Landroid/app/PendingIntent;)V
15938 + .registers 4
15940 + if-eqz p1, :cond_4
15942 + if-nez p2, :cond_8
15944 + :cond_4
15945 + invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/app/PendingIntent;)V
15947 + :cond_7
15948 + :goto_7
15949 + return-void
15951 + :cond_8
15952 + const/4 v0, 0x0
15954 + invoke-direct {p0, p1, v0, p2}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15956 + move-result v0
15958 + if-nez v0, :cond_7
15960 + invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/app/PendingIntent;)V
15962 + goto :goto_7
15963 +.end method
15965 +.method public requestSingleUpdate(Ljava/lang/String;Landroid/location/LocationListener;Landroid/os/Looper;)V
15966 + .registers 5
15968 + if-eqz p1, :cond_4
15970 + if-nez p2, :cond_8
15972 + :cond_4
15973 + invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/location/LocationListener;Landroid/os/Looper;)V
15975 + :cond_7
15976 + :goto_7
15977 + return-void
15979 + :cond_8
15980 + const/4 v0, 0x0
15982 + invoke-direct {p0, p1, p2, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15984 + move-result v0
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
15990 + goto :goto_7
15991 +.end method
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
15995 @@ -0,0 +1,731 @@
15996 +.class public final Landroid/privacy/surrogate/PrivacyTelephonyManager;
15997 +.super Landroid/telephony/TelephonyManager;
15998 +.source "PrivacyTelephonyManager.java"
16001 +# static fields
16002 +.field private static final TAG:Ljava/lang/String; = "PrivacyTelephonyManager"
16005 +# instance fields
16006 +.field private context:Landroid/content/Context;
16008 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
16011 +# direct methods
16012 +.method public constructor <init>(Landroid/content/Context;)V
16013 + .registers 4
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;
16035 + return-void
16036 +.end method
16038 +.method private getNetworkInfo()Ljava/lang/String;
16039 + .registers 8
16041 + const/4 v5, 0x0
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
16051 + move-result v2
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
16063 + move-result v0
16065 + if-eqz v0, :cond_25
16067 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16069 + const/4 v3, 0x1
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, ""
16077 + :goto_24
16078 + return-object v5
16080 + :cond_25
16081 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16083 + const/4 v3, 0x0
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
16089 + goto :goto_24
16090 +.end method
16092 +.method private getSimInfo()Ljava/lang/String;
16093 + .registers 8
16095 + const/4 v5, 0x0
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
16105 + move-result v2
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
16117 + move-result v0
16119 + if-eqz v0, :cond_25
16121 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16123 + const/4 v3, 0x1
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, ""
16131 + :goto_24
16132 + return-object v5
16134 + :cond_25
16135 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16137 + const/4 v3, 0x0
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
16143 + goto :goto_24
16144 +.end method
16147 +# virtual methods
16148 +.method public getDeviceId()Ljava/lang/String;
16149 + .registers 8
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
16159 + move-result v2
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
16171 + move-result v0
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
16183 + move-result v3
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
16189 + :goto_27
16190 + return-object v5
16192 + :cond_28
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;
16199 + const/4 v3, 0x0
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
16205 + goto :goto_27
16206 +.end method
16208 +.method public getLine1Number()Ljava/lang/String;
16209 + .registers 8
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
16219 + move-result v2
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
16231 + move-result v0
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
16243 + move-result v3
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
16249 + :goto_27
16250 + return-object v5
16252 + :cond_28
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;
16259 + const/4 v3, 0x0
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
16265 + goto :goto_27
16266 +.end method
16268 +.method public getNeighboringCellInfo()Ljava/util/List;
16269 + .registers 10
16270 + .annotation system Ldalvik/annotation/Signature;
16271 + value = {
16272 + "()",
16273 + "Ljava/util/List",
16274 + "<",
16275 + "Landroid/telephony/NeighboringCellInfo;",
16276 + ">;"
16278 + .end annotation
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
16290 + move-result v8
16292 + invoke-virtual {v6, v7, v8}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16294 + move-result-object v5
16296 + const/4 v3, 0x0
16298 + const-string v4, "[null]"
16300 + if-eqz v5, :cond_1c
16302 + invoke-virtual {v5}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
16304 + move-result v6
16306 + const/4 v7, 0x1
16308 + if-ne v6, v7, :cond_1d
16310 + :cond_1c
16311 + :goto_1c
16312 + return-object v3
16314 + :cond_1d
16315 + invoke-virtual {v5}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
16317 + move-result v6
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]"
16327 + goto :goto_1c
16329 + :cond_2b
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
16340 + :goto_35
16341 + invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z
16343 + move-result v6
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
16381 + goto :goto_35
16383 + :cond_5f
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
16402 + goto :goto_1c
16403 +.end method
16405 +.method public getNetworkCountryIso()Ljava/lang/String;
16406 + .registers 2
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
16418 + :cond_a
16419 + return-object v0
16420 +.end method
16422 +.method public getNetworkOperator()Ljava/lang/String;
16423 + .registers 2
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
16435 + :cond_a
16436 + return-object v0
16437 +.end method
16439 +.method public getNetworkOperatorName()Ljava/lang/String;
16440 + .registers 2
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
16452 + :cond_a
16453 + return-object v0
16454 +.end method
16456 +.method public getSimCountryIso()Ljava/lang/String;
16457 + .registers 2
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
16469 + :cond_a
16470 + return-object v0
16471 +.end method
16473 +.method public getSimOperator()Ljava/lang/String;
16474 + .registers 2
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
16486 + :cond_a
16487 + return-object v0
16488 +.end method
16490 +.method public getSimOperatorName()Ljava/lang/String;
16491 + .registers 2
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
16503 + :cond_a
16504 + return-object v0
16505 +.end method
16507 +.method public getSimSerialNumber()Ljava/lang/String;
16508 + .registers 8
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
16518 + move-result v2
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
16530 + move-result v0
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
16542 + move-result v3
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
16548 + :goto_28
16549 + return-object v5
16551 + :cond_29
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;
16558 + const/4 v3, 0x0
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
16564 + goto :goto_28
16565 +.end method
16567 +.method public getSubscriberId()Ljava/lang/String;
16568 + .registers 8
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
16578 + move-result v2
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
16590 + move-result v0
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
16602 + move-result v3
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
16608 + :goto_28
16609 + return-object v5
16611 + :cond_29
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;
16618 + const/4 v3, 0x0
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
16624 + goto :goto_28
16625 +.end method
16627 +.method public getVoiceMailNumber()Ljava/lang/String;
16628 + .registers 8
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
16638 + move-result v2
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
16650 + move-result v0
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
16662 + move-result v3
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
16668 + :goto_27
16669 + return-object v5
16671 + :cond_28
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;
16678 + const/4 v3, 0x0
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
16684 + goto :goto_27
16685 +.end method
16687 +.method public listen(Landroid/telephony/PhoneStateListener;I)V
16688 + .registers 4
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
16698 + :cond_8
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
16713 + move-result v0
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
16719 + :goto_20
16720 + return-void
16722 + :cond_21
16723 + invoke-super {p0, p1, p2}, Landroid/telephony/TelephonyManager;->listen(Landroid/telephony/PhoneStateListener;I)V
16725 + goto :goto_20
16726 +.end method
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 @@
16731 .end method
16733 .method public onCallStateChanged(ILjava/lang/String;)V
16734 - .registers 6
16735 + .registers 19
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;
16747 - const/4 v2, 0x0
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
16759 + move-result v3
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
16796 + move-result v4
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
16806 + move-result v3
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
16820 + const/4 v5, 0x0
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
16846 + move-result v4
16848 + const/4 v5, 0x1
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
16854 + :goto_69
16855 return-void
16857 + :cond_6a
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
16866 + const/4 v5, 0x0
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
16894 + move-result v11
16896 + const/4 v12, 0x0
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
16908 + goto :goto_69
16910 + :cond_99
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
16919 + const/4 v5, 0x0
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
16931 + goto :goto_69
16932 .end method
16934 .method public onCellInfoChanged(Landroid/telephony/CellInfo;)V
16935 @@ -104,27 +277,124 @@
16936 .end method
16938 .method public onCellLocationChanged(Landroid/os/Bundle;)V
16939 - .registers 6
16940 + .registers 10
16942 + const/4 v5, 0x0
16944 const/4 v3, 0x0
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
16986 + move-result v2
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
16996 + move-result v1
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
17012 + move-result v2
17014 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
17016 + move-result v3
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
17022 + :cond_4a
17023 + :goto_4a
17024 + return-void
17026 + :cond_4b
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;
17031 const/16 v2, 0x10
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
17040 - return-void
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
17053 + move-result v2
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
17059 + goto :goto_4a
17060 .end method
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"
17073 # instance fields
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
17085 # direct methods
17086 .method public constructor <init>()V
17087 @@ -59,6 +67,30 @@
17088 return-void
17089 .end method
17091 +.method static synthetic access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
17092 + .registers 2
17094 + iget-object v0, p0, Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
17096 + return-object v0
17097 +.end method
17099 +.method static synthetic access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
17100 + .registers 2
17102 + iget-object v0, p0, Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
17104 + return-object v0
17105 +.end method
17107 +.method static synthetic access$200(Landroid/telephony/PhoneStateListener;)I
17108 + .registers 2
17110 + iget v0, p0, Landroid/telephony/PhoneStateListener;->uid:I
17112 + return v0
17113 +.end method
17116 # virtual methods
17117 .method public onCallForwardingIndicatorChanged(Z)V
17118 @@ -134,3 +166,27 @@
17120 return-void
17121 .end method
17123 +.method public setContext(Landroid/content/Context;)V
17124 + .registers 2
17126 + iput-object p1, p0, Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
17128 + return-void
17129 +.end method
17131 +.method public setPackageName(Ljava/lang/String;)V
17132 + .registers 2
17134 + iput-object p1, p0, Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
17136 + return-void
17137 +.end method
17139 +.method public setUid(I)V
17140 + .registers 2
17142 + iput p1, p0, Landroid/telephony/PhoneStateListener;->uid:I
17144 + return-void
17145 +.end method
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
17171 - :cond_1e
17172 + :cond_1f
17173 iget-boolean v0, p0, Landroid/widget/AppSecurityPermissions;->mExpanded:Z
17175 - if-nez v0, :cond_29
17176 + if-nez v0, :cond_2a
17178 const/4 v0, 0x1
17180 - :goto_23
17181 + :goto_24
17182 iput-boolean v0, p0, Landroid/widget/AppSecurityPermissions;->mExpanded:Z
17184 invoke-direct {p0}, Landroid/widget/AppSecurityPermissions;->showPermissions()V
17186 return-void
17188 - :cond_29
17189 + :cond_2a
17190 const/4 v0, 0x0
17192 - goto :goto_23
17193 + goto :goto_24
17194 .end method