Revert "Fixed pdroid security hole (ported from OpenPDroid)"
[auto-patcher.git] / patches / pdroid / 4.1 / .aosp-mod / 20121003 / framework.patch
blobb11862515e50b67f8907cb8230239921dc8466e9
1 diff -Npru stock-framework/smali/android/app/ContextImpl$20.smali pdroid-framework/smali/android/app/ContextImpl$20.smali
2 --- stock-framework/smali/android/app/ContextImpl$20.smali 2012-10-05 10:16:07.705222441 -0500
3 +++ pdroid-framework/smali/android/app/ContextImpl$20.smali 2012-10-05 10:15:45.005109883 -0500
4 @@ -26,21 +26,25 @@
6 # virtual methods
7 .method public createStaticService()Ljava/lang/Object;
8 - .registers 4
9 + .registers 5
11 - const-string v1, "location"
12 + const-string v2, "location"
14 - invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
15 + invoke-static {v2}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
17 move-result-object v0
19 - new-instance v1, Landroid/location/LocationManager;
21 invoke-static {v0}, Landroid/location/ILocationManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/location/ILocationManager;
23 - move-result-object v2
24 + move-result-object v1
26 + new-instance v2, Landroid/privacy/surrogate/PrivacyLocationManager;
28 + invoke-static {}, Landroid/app/ContextImpl;->getStaticOuterContext()Landroid/content/Context;
30 + move-result-object v3
32 - invoke-direct {v1, v2}, Landroid/location/LocationManager;-><init>(Landroid/location/ILocationManager;)V
33 + invoke-direct {v2, v1, v3}, Landroid/privacy/surrogate/PrivacyLocationManager;-><init>(Landroid/location/ILocationManager;Landroid/content/Context;)V
35 - return-object v1
36 + return-object v2
37 .end method
38 diff -Npru stock-framework/smali/android/app/ContextImpl$29.smali pdroid-framework/smali/android/app/ContextImpl$29.smali
39 --- stock-framework/smali/android/app/ContextImpl$29.smali 2012-10-05 10:16:07.713222481 -0500
40 +++ pdroid-framework/smali/android/app/ContextImpl$29.smali 2012-10-05 10:15:45.013109917 -0500
41 @@ -28,13 +28,13 @@
42 .method public createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
43 .registers 4
45 - new-instance v0, Landroid/telephony/TelephonyManager;
46 + new-instance v0, Landroid/privacy/surrogate/PrivacyTelephonyManager;
48 invoke-virtual {p1}, Landroid/app/ContextImpl;->getOuterContext()Landroid/content/Context;
50 move-result-object v1
52 - invoke-direct {v0, v1}, Landroid/telephony/TelephonyManager;-><init>(Landroid/content/Context;)V
53 + invoke-direct {v0, v1}, Landroid/privacy/surrogate/PrivacyTelephonyManager;-><init>(Landroid/content/Context;)V
55 return-object v0
56 .end method
57 diff -Npru stock-framework/smali/android/app/ContextImpl$38.smali pdroid-framework/smali/android/app/ContextImpl$38.smali
58 --- stock-framework/smali/android/app/ContextImpl$38.smali 1969-12-31 18:00:00.000000000 -0600
59 +++ pdroid-framework/smali/android/app/ContextImpl$38.smali 2012-10-05 10:15:45.021109956 -0500
60 @@ -0,0 +1,50 @@
61 +.class final Landroid/app/ContextImpl$38;
62 +.super Landroid/app/ContextImpl$StaticServiceFetcher;
63 +.source "ContextImpl.java"
66 +# annotations
67 +.annotation system Ldalvik/annotation/EnclosingClass;
68 + value = Landroid/app/ContextImpl;
69 +.end annotation
71 +.annotation system Ldalvik/annotation/InnerClass;
72 + accessFlags = 0x8
73 + name = null
74 +.end annotation
77 +# direct methods
78 +.method constructor <init>()V
79 + .registers 1
81 + invoke-direct {p0}, Landroid/app/ContextImpl$StaticServiceFetcher;-><init>()V
83 + return-void
84 +.end method
87 +# virtual methods
88 +.method public createStaticService()Ljava/lang/Object;
89 + .registers 5
91 + const-string/jumbo v2, "privacy"
93 + invoke-static {v2}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
95 + move-result-object v0
97 + invoke-static {v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
99 + move-result-object v1
101 + new-instance v2, Landroid/privacy/PrivacySettingsManager;
103 + invoke-static {}, Landroid/app/ContextImpl;->getStaticOuterContext()Landroid/content/Context;
105 + move-result-object v3
107 + invoke-direct {v2, v3, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
109 + return-object v2
110 +.end method
111 diff -Npru stock-framework/smali/android/app/ContextImpl$3.smali pdroid-framework/smali/android/app/ContextImpl$3.smali
112 --- stock-framework/smali/android/app/ContextImpl$3.smali 2012-10-05 10:16:07.721222521 -0500
113 +++ pdroid-framework/smali/android/app/ContextImpl$3.smali 2012-10-05 10:15:45.021109956 -0500
114 @@ -38,9 +38,9 @@
116 move-result-object v1
118 - new-instance v2, Landroid/accounts/AccountManager;
119 + new-instance v2, Landroid/privacy/surrogate/PrivacyAccountManager;
121 - invoke-direct {v2, p1, v1}, Landroid/accounts/AccountManager;-><init>(Landroid/content/Context;Landroid/accounts/IAccountManager;)V
122 + invoke-direct {v2, p1, v1}, Landroid/privacy/surrogate/PrivacyAccountManager;-><init>(Landroid/content/Context;Landroid/accounts/IAccountManager;)V
124 return-object v2
125 .end method
126 diff -Npru stock-framework/smali/android/app/ContextImpl.smali pdroid-framework/smali/android/app/ContextImpl.smali
127 --- stock-framework/smali/android/app/ContextImpl.smali 2012-10-05 10:16:07.753222679 -0500
128 +++ pdroid-framework/smali/android/app/ContextImpl.smali 2012-10-05 10:15:45.057110138 -0500
129 @@ -36,6 +36,8 @@
131 .field private static sNextPerContextServiceCacheIndex:I
133 +.field private static sOuterContext:Landroid/content/Context;
135 .field private static final sSharedPrefs:Ljava/util/HashMap;
136 .annotation system Ldalvik/annotation/Signature;
137 value = {
138 @@ -426,6 +428,14 @@
140 invoke-static {v0, v1}, Landroid/app/ContextImpl;->registerService(Ljava/lang/String;Landroid/app/ContextImpl$ServiceFetcher;)V
142 + const-string/jumbo v0, "privacy"
144 + new-instance v1, Landroid/app/ContextImpl$38;
146 + invoke-direct {v1}, Landroid/app/ContextImpl$38;-><init>()V
148 + invoke-static {v0, v1}, Landroid/app/ContextImpl;->registerService(Ljava/lang/String;Landroid/app/ContextImpl$ServiceFetcher;)V
150 return-void
151 .end method
153 @@ -460,6 +470,8 @@
155 iput-object p0, p0, Landroid/app/ContextImpl;->mOuterContext:Landroid/content/Context;
157 + sput-object p0, Landroid/app/ContextImpl;->sOuterContext:Landroid/content/Context;
159 return-void
160 .end method
162 @@ -514,6 +526,8 @@
164 iput-object p0, p0, Landroid/app/ContextImpl;->mOuterContext:Landroid/content/Context;
166 + sput-object p0, Landroid/app/ContextImpl;->sOuterContext:Landroid/content/Context;
168 return-void
169 .end method
171 @@ -983,6 +997,14 @@
172 throw v0
173 .end method
175 +.method static final getStaticOuterContext()Landroid/content/Context;
176 + .registers 1
178 + sget-object v0, Landroid/app/ContextImpl;->sOuterContext:Landroid/content/Context;
180 + return-object v0
181 +.end method
183 .method private getWallpaperManager()Landroid/app/WallpaperManager;
184 .registers 2
186 @@ -4221,6 +4243,8 @@
188 iput-object p1, p0, Landroid/app/ContextImpl;->mOuterContext:Landroid/content/Context;
190 + sput-object p1, Landroid/app/ContextImpl;->sOuterContext:Landroid/content/Context;
192 return-void
193 .end method
195 diff -Npru stock-framework/smali/android/content/ContentResolver.smali pdroid-framework/smali/android/content/ContentResolver.smali
196 --- stock-framework/smali/android/content/ContentResolver.smali 2012-10-05 10:16:07.737222605 -0500
197 +++ pdroid-framework/smali/android/content/ContentResolver.smali 2012-10-05 10:15:45.041110057 -0500
198 @@ -3506,8 +3506,8 @@
200 invoke-virtual {v0, v9}, Landroid/os/CancellationSignal;->setRemote(Landroid/os/ICancellationSignal;)V
201 :try_end_1d
202 - .catchall {:try_start_a .. :try_end_1d} :catchall_a8
203 - .catch Landroid/os/RemoteException; {:try_start_a .. :try_end_1d} :catch_9b
204 + .catchall {:try_start_a .. :try_end_1d} :catchall_b6
205 + .catch Landroid/os/RemoteException; {:try_start_a .. :try_end_1d} :catch_a9
207 :cond_1d
208 move-object/from16 v4, p1
209 @@ -3523,64 +3523,82 @@
210 :try_start_27
211 invoke-interface/range {v3 .. v9}, Landroid/content/IContentProvider;->query(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Landroid/os/ICancellationSignal;)Landroid/database/Cursor;
212 :try_end_2a
213 - .catchall {:try_start_27 .. :try_end_2a} :catchall_a8
214 - .catch Landroid/os/DeadObjectException; {:try_start_27 .. :try_end_2a} :catch_3e
215 - .catch Landroid/os/RemoteException; {:try_start_27 .. :try_end_2a} :catch_9b
216 + .catchall {:try_start_27 .. :try_end_2a} :catchall_b6
217 + .catch Landroid/os/DeadObjectException; {:try_start_27 .. :try_end_2a} :catch_4c
218 + .catch Landroid/os/RemoteException; {:try_start_27 .. :try_end_2a} :catch_a9
220 move-result-object v19
222 :goto_2b
223 - if-nez v19, :cond_67
224 + :try_start_2b
225 + move-object/from16 v0, p0
227 + iget-object v4, v0, Landroid/content/ContentResolver;->mContext:Landroid/content/Context;
229 + move-object/from16 v0, p1
231 + move-object/from16 v1, p2
233 + move-object/from16 v2, v19
235 + invoke-static {v0, v1, v4, v2}, Landroid/privacy/surrogate/PrivacyContentResolver;->enforcePrivacyPermission(Landroid/net/Uri;[Ljava/lang/String;Landroid/content/Context;Landroid/database/Cursor;)Landroid/database/Cursor;
236 + :try_end_38
237 + .catchall {:try_start_2b .. :try_end_38} :catchall_b6
238 + .catch Landroid/os/RemoteException; {:try_start_2b .. :try_end_38} :catch_a9
240 + move-result-object v19
242 + if-nez v19, :cond_75
244 const/16 v22, 0x0
246 - if-eqz v3, :cond_36
247 + if-eqz v3, :cond_44
249 move-object/from16 v0, p0
251 invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
253 - :cond_36
254 + :cond_44
255 if-eqz v10, :cond_8
257 - :goto_38
258 + :goto_46
259 move-object/from16 v0, p0
261 invoke-virtual {v0, v10}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
263 goto :goto_8
265 - :catch_3e
266 + :catch_4c
267 move-exception v18
269 - :try_start_3f
270 + :try_start_4d
271 move-object/from16 v0, p0
273 invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->unstableProviderDied(Landroid/content/IContentProvider;)V
275 invoke-virtual/range {p0 .. p1}, Landroid/content/ContentResolver;->acquireProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
276 - :try_end_47
277 - .catchall {:try_start_3f .. :try_end_47} :catchall_a8
278 - .catch Landroid/os/RemoteException; {:try_start_3f .. :try_end_47} :catch_9b
279 + :try_end_55
280 + .catchall {:try_start_4d .. :try_end_55} :catchall_b6
281 + .catch Landroid/os/RemoteException; {:try_start_4d .. :try_end_55} :catch_a9
283 move-result-object v10
285 - if-nez v10, :cond_56
286 + if-nez v10, :cond_64
288 const/16 v22, 0x0
290 - if-eqz v3, :cond_53
291 + if-eqz v3, :cond_61
293 move-object/from16 v0, p0
295 invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
297 - :cond_53
298 + :cond_61
299 if-eqz v10, :cond_8
301 - goto :goto_38
302 + goto :goto_46
304 - :cond_56
305 + :cond_64
306 move-object/from16 v11, p1
308 move-object/from16 v12, p2
309 @@ -3593,14 +3611,14 @@
311 move-object/from16 v16, v9
313 - :try_start_62
314 + :try_start_70
315 invoke-interface/range {v10 .. v16}, Landroid/content/IContentProvider;->query(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Landroid/os/ICancellationSignal;)Landroid/database/Cursor;
317 move-result-object v19
319 goto :goto_2b
321 - :cond_67
322 + :cond_75
323 invoke-interface/range {v19 .. v19}, Landroid/database/Cursor;->getCount()I
325 invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
326 @@ -3623,11 +3641,11 @@
328 new-instance v22, Landroid/content/ContentResolver$CursorWrapperInner;
330 - if-eqz v10, :cond_96
331 + if-eqz v10, :cond_a4
333 move-object v4, v10
335 - :goto_82
336 + :goto_90
337 move-object/from16 v0, v22
339 move-object/from16 v1, p0
340 @@ -3635,67 +3653,67 @@
341 move-object/from16 v2, v19
343 invoke-direct {v0, v1, v2, v4}, Landroid/content/ContentResolver$CursorWrapperInner;-><init>(Landroid/content/ContentResolver;Landroid/database/Cursor;Landroid/content/IContentProvider;)V
344 - :try_end_8b
345 - .catchall {:try_start_62 .. :try_end_8b} :catchall_a8
346 - .catch Landroid/os/RemoteException; {:try_start_62 .. :try_end_8b} :catch_9b
347 + :try_end_99
348 + .catchall {:try_start_70 .. :try_end_99} :catchall_b6
349 + .catch Landroid/os/RemoteException; {:try_start_70 .. :try_end_99} :catch_a9
351 const/4 v10, 0x0
353 - if-eqz v3, :cond_93
354 + if-eqz v3, :cond_a1
356 move-object/from16 v0, p0
358 invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
360 - :cond_93
361 + :cond_a1
362 if-eqz v10, :cond_8
364 - goto :goto_38
365 + goto :goto_46
367 - :cond_96
368 - :try_start_96
369 + :cond_a4
370 + :try_start_a4
371 invoke-virtual/range {p0 .. p1}, Landroid/content/ContentResolver;->acquireProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
372 - :try_end_99
373 - .catchall {:try_start_96 .. :try_end_99} :catchall_a8
374 - .catch Landroid/os/RemoteException; {:try_start_96 .. :try_end_99} :catch_9b
375 + :try_end_a7
376 + .catchall {:try_start_a4 .. :try_end_a7} :catchall_b6
377 + .catch Landroid/os/RemoteException; {:try_start_a4 .. :try_end_a7} :catch_a9
379 move-result-object v4
381 - goto :goto_82
382 + goto :goto_90
384 - :catch_9b
385 + :catch_a9
386 move-exception v18
388 const/16 v22, 0x0
390 - if-eqz v3, :cond_a5
391 + if-eqz v3, :cond_b3
393 move-object/from16 v0, p0
395 invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
397 - :cond_a5
398 + :cond_b3
399 if-eqz v10, :cond_8
401 - goto :goto_38
402 + goto :goto_46
404 - :catchall_a8
405 + :catchall_b6
406 move-exception v4
408 - if-eqz v3, :cond_b0
409 + if-eqz v3, :cond_be
411 move-object/from16 v0, p0
413 invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
415 - :cond_b0
416 - if-eqz v10, :cond_b7
417 + :cond_be
418 + if-eqz v10, :cond_c5
420 move-object/from16 v0, p0
422 invoke-virtual {v0, v10}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
424 - :cond_b7
425 + :cond_c5
426 throw v4
427 .end method
429 diff -Npru stock-framework/smali/android/net/wifi/WifiStateMachine.smali pdroid-framework/smali/android/net/wifi/WifiStateMachine.smali
430 --- stock-framework/smali/android/net/wifi/WifiStateMachine.smali 2012-10-05 10:16:10.345235537 -0500
431 +++ pdroid-framework/smali/android/net/wifi/WifiStateMachine.smali 2012-10-05 10:15:48.001124739 -0500
432 @@ -6015,7 +6015,7 @@
434 invoke-virtual {v2, v0}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
436 - const-string v2, "mIsScanMode "
437 + const-string/jumbo v2, "mIsScanMode "
439 invoke-virtual {v1, v2}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
441 diff -Npru stock-framework/smali/android/privacy/IPrivacySettingsManager.smali pdroid-framework/smali/android/privacy/IPrivacySettingsManager.smali
442 --- stock-framework/smali/android/privacy/IPrivacySettingsManager.smali 1969-12-31 18:00:00.000000000 -0600
443 +++ pdroid-framework/smali/android/privacy/IPrivacySettingsManager.smali 2012-10-05 10:15:48.425126841 -0500
444 @@ -0,0 +1,104 @@
445 +.class public interface abstract Landroid/privacy/IPrivacySettingsManager;
446 +.super Ljava/lang/Object;
447 +.source "IPrivacySettingsManager.java"
449 +# interfaces
450 +.implements Landroid/os/IInterface;
453 +# annotations
454 +.annotation system Ldalvik/annotation/MemberClasses;
455 + value = {
456 + Landroid/privacy/IPrivacySettingsManager$Stub;
458 +.end annotation
461 +# virtual methods
462 +.method public abstract addObserver(Ljava/lang/String;)V
463 + .annotation system Ldalvik/annotation/Throws;
464 + value = {
465 + Landroid/os/RemoteException;
467 + .end annotation
468 +.end method
470 +.method public abstract deleteSettings(Ljava/lang/String;)Z
471 + .annotation system Ldalvik/annotation/Throws;
472 + value = {
473 + Landroid/os/RemoteException;
475 + .end annotation
476 +.end method
478 +.method public abstract getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
479 + .annotation system Ldalvik/annotation/Throws;
480 + value = {
481 + Landroid/os/RemoteException;
483 + .end annotation
484 +.end method
486 +.method public abstract getVersion()D
487 + .annotation system Ldalvik/annotation/Throws;
488 + value = {
489 + Landroid/os/RemoteException;
491 + .end annotation
492 +.end method
494 +.method public abstract notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
495 + .annotation system Ldalvik/annotation/Throws;
496 + value = {
497 + Landroid/os/RemoteException;
499 + .end annotation
500 +.end method
502 +.method public abstract purgeSettings()Z
503 + .annotation system Ldalvik/annotation/Throws;
504 + value = {
505 + Landroid/os/RemoteException;
507 + .end annotation
508 +.end method
510 +.method public abstract registerObservers()V
511 + .annotation system Ldalvik/annotation/Throws;
512 + value = {
513 + Landroid/os/RemoteException;
515 + .end annotation
516 +.end method
518 +.method public abstract saveSettings(Landroid/privacy/PrivacySettings;)Z
519 + .annotation system Ldalvik/annotation/Throws;
520 + value = {
521 + Landroid/os/RemoteException;
523 + .end annotation
524 +.end method
526 +.method public abstract setBootCompleted()V
527 + .annotation system Ldalvik/annotation/Throws;
528 + value = {
529 + Landroid/os/RemoteException;
531 + .end annotation
532 +.end method
534 +.method public abstract setEnabled(Z)Z
535 + .annotation system Ldalvik/annotation/Throws;
536 + value = {
537 + Landroid/os/RemoteException;
539 + .end annotation
540 +.end method
542 +.method public abstract setNotificationsEnabled(Z)Z
543 + .annotation system Ldalvik/annotation/Throws;
544 + value = {
545 + Landroid/os/RemoteException;
547 + .end annotation
548 +.end method
549 diff -Npru stock-framework/smali/android/privacy/IPrivacySettingsManager$Stub$Proxy.smali pdroid-framework/smali/android/privacy/IPrivacySettingsManager$Stub$Proxy.smali
550 --- stock-framework/smali/android/privacy/IPrivacySettingsManager$Stub$Proxy.smali 1969-12-31 18:00:00.000000000 -0600
551 +++ pdroid-framework/smali/android/privacy/IPrivacySettingsManager$Stub$Proxy.smali 2012-10-05 10:15:48.425126841 -0500
552 @@ -0,0 +1,743 @@
553 +.class Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;
554 +.super Ljava/lang/Object;
555 +.source "IPrivacySettingsManager.java"
557 +# interfaces
558 +.implements Landroid/privacy/IPrivacySettingsManager;
561 +# annotations
562 +.annotation system Ldalvik/annotation/EnclosingClass;
563 + value = Landroid/privacy/IPrivacySettingsManager$Stub;
564 +.end annotation
566 +.annotation system Ldalvik/annotation/InnerClass;
567 + accessFlags = 0xa
568 + name = "Proxy"
569 +.end annotation
572 +# instance fields
573 +.field private mRemote:Landroid/os/IBinder;
576 +# direct methods
577 +.method constructor <init>(Landroid/os/IBinder;)V
578 + .registers 2
580 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
582 + iput-object p1, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
584 + return-void
585 +.end method
588 +# virtual methods
589 +.method public addObserver(Ljava/lang/String;)V
590 + .registers 7
591 + .annotation system Ldalvik/annotation/Throws;
592 + value = {
593 + Landroid/os/RemoteException;
595 + .end annotation
597 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
599 + move-result-object v0
601 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
603 + move-result-object v1
605 + :try_start_8
606 + const-string v2, "android.privacy.IPrivacySettingsManager"
608 + invoke-virtual {v0, v2}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
610 + invoke-virtual {v0, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
612 + iget-object v2, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
614 + const/4 v3, 0x6
616 + const/4 v4, 0x0
618 + invoke-interface {v2, v3, v0, v1, v4}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
620 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
621 + :try_end_1a
622 + .catchall {:try_start_8 .. :try_end_1a} :catchall_21
624 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
626 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
628 + return-void
630 + :catchall_21
631 + move-exception v2
633 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
635 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
637 + throw v2
638 +.end method
640 +.method public asBinder()Landroid/os/IBinder;
641 + .registers 2
643 + iget-object v0, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
645 + return-object v0
646 +.end method
648 +.method public deleteSettings(Ljava/lang/String;)Z
649 + .registers 8
650 + .annotation system Ldalvik/annotation/Throws;
651 + value = {
652 + Landroid/os/RemoteException;
654 + .end annotation
656 + const/4 v2, 0x0
658 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
660 + move-result-object v0
662 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
664 + move-result-object v1
666 + :try_start_9
667 + const-string v3, "android.privacy.IPrivacySettingsManager"
669 + invoke-virtual {v0, v3}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
671 + invoke-virtual {v0, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
673 + iget-object v3, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
675 + const/4 v4, 0x3
677 + const/4 v5, 0x0
679 + invoke-interface {v3, v4, v0, v1, v5}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
681 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
683 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
684 + :try_end_1e
685 + .catchall {:try_start_9 .. :try_end_1e} :catchall_29
687 + move-result v3
689 + if-eqz v3, :cond_22
691 + const/4 v2, 0x1
693 + :cond_22
694 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
696 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
698 + return v2
700 + :catchall_29
701 + move-exception v3
703 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
705 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
707 + throw v3
708 +.end method
710 +.method public getInterfaceDescriptor()Ljava/lang/String;
711 + .registers 2
713 + const-string v0, "android.privacy.IPrivacySettingsManager"
715 + return-object v0
716 +.end method
718 +.method public getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
719 + .registers 8
720 + .annotation system Ldalvik/annotation/Throws;
721 + value = {
722 + Landroid/os/RemoteException;
724 + .end annotation
726 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
728 + move-result-object v0
730 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
732 + move-result-object v1
734 + :try_start_8
735 + const-string v3, "android.privacy.IPrivacySettingsManager"
737 + invoke-virtual {v0, v3}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
739 + invoke-virtual {v0, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
741 + iget-object v3, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
743 + const/4 v4, 0x1
745 + const/4 v5, 0x0
747 + invoke-interface {v3, v4, v0, v1, v5}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
749 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
751 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
753 + move-result v3
755 + if-eqz v3, :cond_2f
757 + sget-object v3, Landroid/privacy/PrivacySettings;->CREATOR:Landroid/os/Parcelable$Creator;
759 + invoke-interface {v3, v1}, Landroid/os/Parcelable$Creator;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
761 + move-result-object v2
763 + check-cast v2, Landroid/privacy/PrivacySettings;
764 + :try_end_28
765 + .catchall {:try_start_8 .. :try_end_28} :catchall_31
767 + :goto_28
768 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
770 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
772 + return-object v2
774 + :cond_2f
775 + const/4 v2, 0x0
777 + goto :goto_28
779 + :catchall_31
780 + move-exception v3
782 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
784 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
786 + throw v3
787 +.end method
789 +.method public getVersion()D
790 + .registers 8
791 + .annotation system Ldalvik/annotation/Throws;
792 + value = {
793 + Landroid/os/RemoteException;
795 + .end annotation
797 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
799 + move-result-object v0
801 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
803 + move-result-object v1
805 + :try_start_8
806 + const-string v4, "android.privacy.IPrivacySettingsManager"
808 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
810 + iget-object v4, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
812 + const/16 v5, 0x8
814 + const/4 v6, 0x0
816 + invoke-interface {v4, v5, v0, v1, v6}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
818 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
820 + invoke-virtual {v1}, Landroid/os/Parcel;->readDouble()D
821 + :try_end_1b
822 + .catchall {:try_start_8 .. :try_end_1b} :catchall_23
824 + move-result-wide v2
826 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
828 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
830 + return-wide v2
832 + :catchall_23
833 + move-exception v4
835 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
837 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
839 + throw v4
840 +.end method
842 +.method public notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
843 + .registers 10
844 + .annotation system Ldalvik/annotation/Throws;
845 + value = {
846 + Landroid/os/RemoteException;
848 + .end annotation
850 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
852 + move-result-object v0
854 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
856 + move-result-object v1
858 + :try_start_8
859 + const-string v2, "android.privacy.IPrivacySettingsManager"
861 + invoke-virtual {v0, v2}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
863 + invoke-virtual {v0, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
865 + invoke-virtual {v0, p2}, Landroid/os/Parcel;->writeByte(B)V
867 + invoke-virtual {v0, p3}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
869 + invoke-virtual {v0, p4}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
871 + iget-object v2, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
873 + const/4 v3, 0x4
875 + const/4 v4, 0x0
877 + invoke-interface {v2, v3, v0, v1, v4}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
879 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
880 + :try_end_23
881 + .catchall {:try_start_8 .. :try_end_23} :catchall_2a
883 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
885 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
887 + return-void
889 + :catchall_2a
890 + move-exception v2
892 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
894 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
896 + throw v2
897 +.end method
899 +.method public purgeSettings()Z
900 + .registers 7
901 + .annotation system Ldalvik/annotation/Throws;
902 + value = {
903 + Landroid/os/RemoteException;
905 + .end annotation
907 + const/4 v2, 0x0
909 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
911 + move-result-object v0
913 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
915 + move-result-object v1
917 + :try_start_9
918 + const-string v3, "android.privacy.IPrivacySettingsManager"
920 + invoke-virtual {v0, v3}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
922 + iget-object v3, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
924 + const/4 v4, 0x7
926 + const/4 v5, 0x0
928 + invoke-interface {v3, v4, v0, v1, v5}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
930 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
932 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
933 + :try_end_1b
934 + .catchall {:try_start_9 .. :try_end_1b} :catchall_26
936 + move-result v3
938 + if-eqz v3, :cond_1f
940 + const/4 v2, 0x1
942 + :cond_1f
943 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
945 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
947 + return v2
949 + :catchall_26
950 + move-exception v3
952 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
954 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
956 + throw v3
957 +.end method
959 +.method public registerObservers()V
960 + .registers 6
961 + .annotation system Ldalvik/annotation/Throws;
962 + value = {
963 + Landroid/os/RemoteException;
965 + .end annotation
967 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
969 + move-result-object v0
971 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
973 + move-result-object v1
975 + :try_start_8
976 + const-string v2, "android.privacy.IPrivacySettingsManager"
978 + invoke-virtual {v0, v2}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
980 + iget-object v2, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
982 + const/4 v3, 0x5
984 + const/4 v4, 0x0
986 + invoke-interface {v2, v3, v0, v1, v4}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
988 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
989 + :try_end_17
990 + .catchall {:try_start_8 .. :try_end_17} :catchall_1e
992 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
994 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
996 + return-void
998 + :catchall_1e
999 + move-exception v2
1001 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1003 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1005 + throw v2
1006 +.end method
1008 +.method public saveSettings(Landroid/privacy/PrivacySettings;)Z
1009 + .registers 9
1010 + .annotation system Ldalvik/annotation/Throws;
1011 + value = {
1012 + Landroid/os/RemoteException;
1014 + .end annotation
1016 + const/4 v2, 0x1
1018 + const/4 v3, 0x0
1020 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1022 + move-result-object v0
1024 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1026 + move-result-object v1
1028 + :try_start_a
1029 + const-string v4, "android.privacy.IPrivacySettingsManager"
1031 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
1033 + if-eqz p1, :cond_30
1035 + const/4 v4, 0x1
1037 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInt(I)V
1039 + const/4 v4, 0x0
1041 + invoke-virtual {p1, v0, v4}, Landroid/privacy/PrivacySettings;->writeToParcel(Landroid/os/Parcel;I)V
1043 + :goto_19
1044 + iget-object v4, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
1046 + const/4 v5, 0x2
1048 + const/4 v6, 0x0
1050 + invoke-interface {v4, v5, v0, v1, v6}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1052 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
1054 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
1055 + :try_end_26
1056 + .catchall {:try_start_a .. :try_end_26} :catchall_35
1058 + move-result v4
1060 + if-eqz v4, :cond_3d
1062 + :goto_29
1063 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1065 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1067 + return v2
1069 + :cond_30
1070 + const/4 v4, 0x0
1072 + :try_start_31
1073 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInt(I)V
1074 + :try_end_34
1075 + .catchall {:try_start_31 .. :try_end_34} :catchall_35
1077 + goto :goto_19
1079 + :catchall_35
1080 + move-exception v3
1082 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1084 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1086 + throw v3
1088 + :cond_3d
1089 + move v2, v3
1091 + goto :goto_29
1092 +.end method
1094 +.method public setBootCompleted()V
1095 + .registers 6
1096 + .annotation system Ldalvik/annotation/Throws;
1097 + value = {
1098 + Landroid/os/RemoteException;
1100 + .end annotation
1102 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1104 + move-result-object v0
1106 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1108 + move-result-object v1
1110 + :try_start_8
1111 + const-string v2, "android.privacy.IPrivacySettingsManager"
1113 + invoke-virtual {v0, v2}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
1115 + iget-object v2, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
1117 + const/16 v3, 0xb
1119 + const/4 v4, 0x0
1121 + invoke-interface {v2, v3, v0, v1, v4}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1123 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
1124 + :try_end_18
1125 + .catchall {:try_start_8 .. :try_end_18} :catchall_1f
1127 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1129 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1131 + return-void
1133 + :catchall_1f
1134 + move-exception v2
1136 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1138 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1140 + throw v2
1141 +.end method
1143 +.method public setEnabled(Z)Z
1144 + .registers 9
1145 + .annotation system Ldalvik/annotation/Throws;
1146 + value = {
1147 + Landroid/os/RemoteException;
1149 + .end annotation
1151 + const/4 v2, 0x1
1153 + const/4 v3, 0x0
1155 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1157 + move-result-object v0
1159 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1161 + move-result-object v1
1163 + :try_start_a
1164 + const-string v4, "android.privacy.IPrivacySettingsManager"
1166 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
1168 + if-eqz p1, :cond_2d
1170 + move v4, v2
1172 + :goto_12
1173 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInt(I)V
1175 + iget-object v4, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
1177 + const/16 v5, 0x9
1179 + const/4 v6, 0x0
1181 + invoke-interface {v4, v5, v0, v1, v6}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1183 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
1185 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
1186 + :try_end_23
1187 + .catchall {:try_start_a .. :try_end_23} :catchall_31
1189 + move-result v4
1191 + if-eqz v4, :cond_2f
1193 + :goto_26
1194 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1196 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1198 + return v2
1200 + :cond_2d
1201 + move v4, v3
1203 + goto :goto_12
1205 + :cond_2f
1206 + move v2, v3
1208 + goto :goto_26
1210 + :catchall_31
1211 + move-exception v3
1213 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1215 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1217 + throw v3
1218 +.end method
1220 +.method public setNotificationsEnabled(Z)Z
1221 + .registers 9
1222 + .annotation system Ldalvik/annotation/Throws;
1223 + value = {
1224 + Landroid/os/RemoteException;
1226 + .end annotation
1228 + const/4 v2, 0x1
1230 + const/4 v3, 0x0
1232 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1234 + move-result-object v0
1236 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1238 + move-result-object v1
1240 + :try_start_a
1241 + const-string v4, "android.privacy.IPrivacySettingsManager"
1243 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
1245 + if-eqz p1, :cond_2d
1247 + move v4, v2
1249 + :goto_12
1250 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInt(I)V
1252 + iget-object v4, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
1254 + const/16 v5, 0xa
1256 + const/4 v6, 0x0
1258 + invoke-interface {v4, v5, v0, v1, v6}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1260 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
1262 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
1263 + :try_end_23
1264 + .catchall {:try_start_a .. :try_end_23} :catchall_31
1266 + move-result v4
1268 + if-eqz v4, :cond_2f
1270 + :goto_26
1271 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1273 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1275 + return v2
1277 + :cond_2d
1278 + move v4, v3
1280 + goto :goto_12
1282 + :cond_2f
1283 + move v2, v3
1285 + goto :goto_26
1287 + :catchall_31
1288 + move-exception v3
1290 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1292 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1294 + throw v3
1295 +.end method
1296 diff -Npru stock-framework/smali/android/privacy/IPrivacySettingsManager$Stub.smali pdroid-framework/smali/android/privacy/IPrivacySettingsManager$Stub.smali
1297 --- stock-framework/smali/android/privacy/IPrivacySettingsManager$Stub.smali 1969-12-31 18:00:00.000000000 -0600
1298 +++ pdroid-framework/smali/android/privacy/IPrivacySettingsManager$Stub.smali 2012-10-05 10:15:48.425126841 -0500
1299 @@ -0,0 +1,412 @@
1300 +.class public abstract Landroid/privacy/IPrivacySettingsManager$Stub;
1301 +.super Landroid/os/Binder;
1302 +.source "IPrivacySettingsManager.java"
1304 +# interfaces
1305 +.implements Landroid/privacy/IPrivacySettingsManager;
1308 +# annotations
1309 +.annotation system Ldalvik/annotation/EnclosingClass;
1310 + value = Landroid/privacy/IPrivacySettingsManager;
1311 +.end annotation
1313 +.annotation system Ldalvik/annotation/InnerClass;
1314 + accessFlags = 0x409
1315 + name = "Stub"
1316 +.end annotation
1318 +.annotation system Ldalvik/annotation/MemberClasses;
1319 + value = {
1320 + Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;
1322 +.end annotation
1325 +# static fields
1326 +.field private static final DESCRIPTOR:Ljava/lang/String; = "android.privacy.IPrivacySettingsManager"
1328 +.field static final TRANSACTION_addObserver:I = 0x6
1330 +.field static final TRANSACTION_deleteSettings:I = 0x3
1332 +.field static final TRANSACTION_getSettings:I = 0x1
1334 +.field static final TRANSACTION_getVersion:I = 0x8
1336 +.field static final TRANSACTION_notification:I = 0x4
1338 +.field static final TRANSACTION_purgeSettings:I = 0x7
1340 +.field static final TRANSACTION_registerObservers:I = 0x5
1342 +.field static final TRANSACTION_saveSettings:I = 0x2
1344 +.field static final TRANSACTION_setBootCompleted:I = 0xb
1346 +.field static final TRANSACTION_setEnabled:I = 0x9
1348 +.field static final TRANSACTION_setNotificationsEnabled:I = 0xa
1351 +# direct methods
1352 +.method public constructor <init>()V
1353 + .registers 2
1355 + invoke-direct {p0}, Landroid/os/Binder;-><init>()V
1357 + const-string v0, "android.privacy.IPrivacySettingsManager"
1359 + invoke-virtual {p0, p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->attachInterface(Landroid/os/IInterface;Ljava/lang/String;)V
1361 + return-void
1362 +.end method
1364 +.method public static asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
1365 + .registers 3
1367 + if-nez p0, :cond_4
1369 + const/4 v0, 0x0
1371 + :goto_3
1372 + return-object v0
1374 + :cond_4
1375 + const-string v1, "android.privacy.IPrivacySettingsManager"
1377 + invoke-interface {p0, v1}, Landroid/os/IBinder;->queryLocalInterface(Ljava/lang/String;)Landroid/os/IInterface;
1379 + move-result-object v0
1381 + if-eqz v0, :cond_13
1383 + instance-of v1, v0, Landroid/privacy/IPrivacySettingsManager;
1385 + if-eqz v1, :cond_13
1387 + check-cast v0, Landroid/privacy/IPrivacySettingsManager;
1389 + goto :goto_3
1391 + :cond_13
1392 + new-instance v0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;
1394 + invoke-direct {v0, p0}, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
1396 + goto :goto_3
1397 +.end method
1400 +# virtual methods
1401 +.method public asBinder()Landroid/os/IBinder;
1402 + .registers 1
1404 + return-object p0
1405 +.end method
1407 +.method public onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1408 + .registers 14
1409 + .annotation system Ldalvik/annotation/Throws;
1410 + value = {
1411 + Landroid/os/RemoteException;
1413 + .end annotation
1415 + const/4 v6, 0x0
1417 + const/4 v7, 0x1
1419 + sparse-switch p1, :sswitch_data_10e
1421 + invoke-super {p0, p1, p2, p3, p4}, Landroid/os/Binder;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1423 + move-result v7
1425 + :goto_9
1426 + return v7
1428 + :sswitch_a
1429 + const-string v6, "android.privacy.IPrivacySettingsManager"
1431 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
1433 + goto :goto_9
1435 + :sswitch_10
1436 + const-string v8, "android.privacy.IPrivacySettingsManager"
1438 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1440 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
1442 + move-result-object v0
1444 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
1446 + move-result-object v4
1448 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1450 + if-eqz v4, :cond_29
1452 + invoke-virtual {p3, v7}, Landroid/os/Parcel;->writeInt(I)V
1454 + invoke-virtual {v4, p3, v7}, Landroid/privacy/PrivacySettings;->writeToParcel(Landroid/os/Parcel;I)V
1456 + goto :goto_9
1458 + :cond_29
1459 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
1461 + goto :goto_9
1463 + :sswitch_2d
1464 + const-string v8, "android.privacy.IPrivacySettingsManager"
1466 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1468 + invoke-virtual {p2}, Landroid/os/Parcel;->readInt()I
1470 + move-result v8
1472 + if-eqz v8, :cond_4e
1474 + sget-object v8, Landroid/privacy/PrivacySettings;->CREATOR:Landroid/os/Parcelable$Creator;
1476 + invoke-interface {v8, p2}, Landroid/os/Parcelable$Creator;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
1478 + move-result-object v0
1480 + check-cast v0, Landroid/privacy/PrivacySettings;
1482 + :goto_40
1483 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->saveSettings(Landroid/privacy/PrivacySettings;)Z
1485 + move-result v4
1487 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1489 + if-eqz v4, :cond_4a
1491 + move v6, v7
1493 + :cond_4a
1494 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
1496 + goto :goto_9
1498 + :cond_4e
1499 + const/4 v0, 0x0
1501 + goto :goto_40
1503 + :sswitch_50
1504 + const-string v8, "android.privacy.IPrivacySettingsManager"
1506 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1508 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
1510 + move-result-object v0
1512 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->deleteSettings(Ljava/lang/String;)Z
1514 + move-result v4
1516 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1518 + if-eqz v4, :cond_63
1520 + move v6, v7
1522 + :cond_63
1523 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
1525 + goto :goto_9
1527 + :sswitch_67
1528 + const-string v6, "android.privacy.IPrivacySettingsManager"
1530 + invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1532 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
1534 + move-result-object v0
1536 + invoke-virtual {p2}, Landroid/os/Parcel;->readByte()B
1538 + move-result v1
1540 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
1542 + move-result-object v2
1544 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
1546 + move-result-object v3
1548 + invoke-virtual {p0, v0, v1, v2, v3}, Landroid/privacy/IPrivacySettingsManager$Stub;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
1550 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1552 + goto :goto_9
1554 + :sswitch_83
1555 + const-string v6, "android.privacy.IPrivacySettingsManager"
1557 + invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1559 + invoke-virtual {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;->registerObservers()V
1561 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1563 + goto/16 :goto_9
1565 + :sswitch_90
1566 + const-string v6, "android.privacy.IPrivacySettingsManager"
1568 + invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1570 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
1572 + move-result-object v0
1574 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->addObserver(Ljava/lang/String;)V
1576 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1578 + goto/16 :goto_9
1580 + :sswitch_a1
1581 + const-string v8, "android.privacy.IPrivacySettingsManager"
1583 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1585 + invoke-virtual {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;->purgeSettings()Z
1587 + move-result v4
1589 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1591 + if-eqz v4, :cond_b0
1593 + move v6, v7
1595 + :cond_b0
1596 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
1598 + goto/16 :goto_9
1600 + :sswitch_b5
1601 + const-string v6, "android.privacy.IPrivacySettingsManager"
1603 + invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1605 + invoke-virtual {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;->getVersion()D
1607 + move-result-wide v4
1609 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1611 + invoke-virtual {p3, v4, v5}, Landroid/os/Parcel;->writeDouble(D)V
1613 + goto/16 :goto_9
1615 + :sswitch_c6
1616 + const-string v8, "android.privacy.IPrivacySettingsManager"
1618 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1620 + invoke-virtual {p2}, Landroid/os/Parcel;->readInt()I
1622 + move-result v8
1624 + if-eqz v8, :cond_e1
1626 + move v0, v7
1628 + :goto_d2
1629 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->setEnabled(Z)Z
1631 + move-result v4
1633 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1635 + if-eqz v4, :cond_dc
1637 + move v6, v7
1639 + :cond_dc
1640 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
1642 + goto/16 :goto_9
1644 + :cond_e1
1645 + move v0, v6
1647 + goto :goto_d2
1649 + :sswitch_e3
1650 + const-string v8, "android.privacy.IPrivacySettingsManager"
1652 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1654 + invoke-virtual {p2}, Landroid/os/Parcel;->readInt()I
1656 + move-result v8
1658 + if-eqz v8, :cond_fe
1660 + move v0, v7
1662 + :goto_ef
1663 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->setNotificationsEnabled(Z)Z
1665 + move-result v4
1667 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1669 + if-eqz v4, :cond_f9
1671 + move v6, v7
1673 + :cond_f9
1674 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
1676 + goto/16 :goto_9
1678 + :cond_fe
1679 + move v0, v6
1681 + goto :goto_ef
1683 + :sswitch_100
1684 + const-string v6, "android.privacy.IPrivacySettingsManager"
1686 + invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1688 + invoke-virtual {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;->setBootCompleted()V
1690 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1692 + goto/16 :goto_9
1694 + nop
1696 + :sswitch_data_10e
1697 + .sparse-switch
1698 + 0x1 -> :sswitch_10
1699 + 0x2 -> :sswitch_2d
1700 + 0x3 -> :sswitch_50
1701 + 0x4 -> :sswitch_67
1702 + 0x5 -> :sswitch_83
1703 + 0x6 -> :sswitch_90
1704 + 0x7 -> :sswitch_a1
1705 + 0x8 -> :sswitch_b5
1706 + 0x9 -> :sswitch_c6
1707 + 0xa -> :sswitch_e3
1708 + 0xb -> :sswitch_100
1709 + 0x5f4e5446 -> :sswitch_a
1710 + .end sparse-switch
1711 +.end method
1712 diff -Npru stock-framework/smali/android/privacy/PrivacyFileObserver.smali pdroid-framework/smali/android/privacy/PrivacyFileObserver.smali
1713 --- stock-framework/smali/android/privacy/PrivacyFileObserver.smali 1969-12-31 18:00:00.000000000 -0600
1714 +++ pdroid-framework/smali/android/privacy/PrivacyFileObserver.smali 2012-10-05 10:15:48.425126841 -0500
1715 @@ -0,0 +1,217 @@
1716 +.class public Landroid/privacy/PrivacyFileObserver;
1717 +.super Landroid/os/FileObserver;
1718 +.source "PrivacyFileObserver.java"
1721 +# static fields
1722 +.field public static final PACKAGE_PATH_INDEX:I = 0x3
1724 +.field public static final TAG:Ljava/lang/String; = "PrivacyFileObserver"
1727 +# instance fields
1728 +.field public absolutePath:Ljava/lang/String;
1730 +.field public children:Ljava/util/HashMap;
1731 + .annotation system Ldalvik/annotation/Signature;
1732 + value = {
1733 + "Ljava/util/HashMap",
1734 + "<",
1735 + "Ljava/lang/String;",
1736 + "Landroid/privacy/PrivacyFileObserver;",
1737 + ">;"
1739 + .end annotation
1740 +.end field
1742 +.field private pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
1745 +# direct methods
1746 +.method public constructor <init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
1747 + .registers 12
1749 + const/16 v8, 0xfff
1751 + invoke-direct {p0, p1, v8}, Landroid/os/FileObserver;-><init>(Ljava/lang/String;I)V
1753 + iput-object p1, p0, Landroid/privacy/PrivacyFileObserver;->absolutePath:Ljava/lang/String;
1755 + iput-object p2, p0, Landroid/privacy/PrivacyFileObserver;->pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
1757 + new-instance v8, Ljava/util/HashMap;
1759 + invoke-direct {v8}, Ljava/util/HashMap;-><init>()V
1761 + iput-object v8, p0, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap;
1763 + new-instance v7, Ljava/io/File;
1765 + iget-object v8, p0, Landroid/privacy/PrivacyFileObserver;->absolutePath:Ljava/lang/String;
1767 + invoke-direct {v7, v8}, Ljava/io/File;-><init>(Ljava/lang/String;)V
1769 + invoke-virtual {v7}, Ljava/io/File;->isDirectory()Z
1771 + move-result v8
1773 + if-eqz v8, :cond_42
1775 + invoke-virtual {v7}, Ljava/io/File;->listFiles()[Ljava/io/File;
1777 + move-result-object v6
1779 + move-object v0, v6
1781 + array-length v4, v0
1783 + const/4 v3, 0x0
1785 + :goto_24
1786 + if-ge v3, v4, :cond_42
1788 + aget-object v2, v0, v3
1790 + invoke-virtual {v2}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
1792 + move-result-object v5
1794 + new-instance v1, Landroid/privacy/PrivacyFileObserver;
1796 + invoke-direct {v1, v5, p2}, Landroid/privacy/PrivacyFileObserver;-><init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
1798 + iget-object v8, p0, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap;
1800 + invoke-virtual {v8, v5, v1}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
1802 + invoke-virtual {v2}, Ljava/io/File;->isFile()Z
1804 + move-result v8
1806 + if-eqz v8, :cond_3f
1808 + invoke-virtual {v1}, Landroid/privacy/PrivacyFileObserver;->startWatching()V
1810 + :cond_3f
1811 + add-int/lit8 v3, v3, 0x1
1813 + goto :goto_24
1815 + :cond_42
1816 + return-void
1817 +.end method
1820 +# virtual methods
1821 +.method public addObserver(Ljava/lang/String;)V
1822 + .registers 6
1824 + new-instance v2, Ljava/lang/StringBuilder;
1826 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
1828 + iget-object v3, p0, Landroid/privacy/PrivacyFileObserver;->absolutePath:Ljava/lang/String;
1830 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1832 + move-result-object v2
1834 + const-string v3, "/"
1836 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1838 + move-result-object v2
1840 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1842 + move-result-object v2
1844 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
1846 + move-result-object v1
1848 + iget-object v2, p0, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap;
1850 + invoke-virtual {v2, v1}, Ljava/util/HashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
1852 + new-instance v0, Landroid/privacy/PrivacyFileObserver;
1854 + iget-object v2, p0, Landroid/privacy/PrivacyFileObserver;->pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
1856 + invoke-direct {v0, v1, v2}, Landroid/privacy/PrivacyFileObserver;-><init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
1858 + iget-object v2, p0, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap;
1860 + invoke-virtual {v2, v1, v0}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
1862 + return-void
1863 +.end method
1865 +.method public onEvent(ILjava/lang/String;)V
1866 + .registers 11
1868 + and-int/lit8 v4, p1, 0x1
1870 + if-eqz v4, :cond_34
1872 + new-instance v3, Ljava/util/StringTokenizer;
1874 + iget-object v4, p0, Landroid/privacy/PrivacyFileObserver;->absolutePath:Ljava/lang/String;
1876 + const-string v5, "/"
1878 + invoke-direct {v3, v4, v5}, Ljava/util/StringTokenizer;-><init>(Ljava/lang/String;Ljava/lang/String;)V
1880 + const/4 v0, 0x0
1882 + :goto_e
1883 + const/4 v4, 0x3
1885 + if-ge v0, v4, :cond_1d
1887 + invoke-virtual {v3}, Ljava/util/StringTokenizer;->hasMoreElements()Z
1889 + move-result v4
1891 + if-eqz v4, :cond_1d
1893 + invoke-virtual {v3}, Ljava/util/StringTokenizer;->nextToken()Ljava/lang/String;
1895 + add-int/lit8 v0, v0, 0x1
1897 + goto :goto_e
1899 + :cond_1d
1900 + invoke-virtual {v3}, Ljava/util/StringTokenizer;->nextToken()Ljava/lang/String;
1902 + move-result-object v2
1904 + iget-object v4, p0, Landroid/privacy/PrivacyFileObserver;->pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
1906 + invoke-virtual {v4, v2}, Landroid/privacy/PrivacySettingsManagerService;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
1908 + move-result-object v1
1910 + iget-object v4, p0, Landroid/privacy/PrivacyFileObserver;->pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
1912 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getSystemLogsSetting()B
1914 + move-result v5
1916 + const-string/jumbo v6, "systemLogs"
1918 + const/4 v7, 0x0
1920 + invoke-virtual {v4, v2, v5, v6, v7}, Landroid/privacy/PrivacySettingsManagerService;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
1922 + :cond_34
1923 + return-void
1924 +.end method
1926 +.method public startWatching()V
1927 + .registers 1
1929 + invoke-super {p0}, Landroid/os/FileObserver;->startWatching()V
1931 + return-void
1932 +.end method
1933 diff -Npru stock-framework/smali/android/privacy/PrivacyPersistenceAdapter.smali pdroid-framework/smali/android/privacy/PrivacyPersistenceAdapter.smali
1934 --- stock-framework/smali/android/privacy/PrivacyPersistenceAdapter.smali 1969-12-31 18:00:00.000000000 -0600
1935 +++ pdroid-framework/smali/android/privacy/PrivacyPersistenceAdapter.smali 2012-10-05 10:15:48.433126881 -0500
1936 @@ -0,0 +1,4631 @@
1937 +.class public Landroid/privacy/PrivacyPersistenceAdapter;
1938 +.super Ljava/lang/Object;
1939 +.source "PrivacyPersistenceAdapter.java"
1942 +# static fields
1943 +.field private static final CREATE_TABLE_ALLOWED_CONTACTS:Ljava/lang/String; = "CREATE TABLE IF NOT EXISTS allowed_contacts ( settings_id, contact_id, PRIMARY KEY(settings_id, contact_id) );"
1945 +.field private static final CREATE_TABLE_MAP:Ljava/lang/String; = "CREATE TABLE IF NOT EXISTS map ( name TEXT PRIMARY KEY, value TEXT );"
1947 +.field private static final CREATE_TABLE_SETTINGS:Ljava/lang/String; = "CREATE TABLE IF NOT EXISTS settings ( _id INTEGER PRIMARY KEY AUTOINCREMENT, packageName TEXT, uid INTEGER, deviceIdSetting INTEGER, deviceId TEXT, line1NumberSetting INTEGER, line1Number TEXT, locationGpsSetting INTEGER, locationGpsLat TEXT, locationGpsLon TEXT, locationNetworkSetting INTEGER, locationNetworkLat TEXT, locationNetworkLon TEXT, networkInfoSetting INTEGER, simInfoSetting INTEGER, simSerialNumberSetting INTEGER, simSerialNumber TEXT, subscriberIdSetting INTEGER, subscriberId TEXT, accountsSetting INTEGER, accountsAuthTokensSetting INTEGER, outgoingCallsSetting INTEGER, incomingCallsSetting INTEGER, contactsSetting INTEGER, calendarSetting INTEGER, mmsSetting INTEGER, smsSetting INTEGER, callLogSetting INTEGER, bookmarksSetting INTEGER, systemLogsSetting INTEGER, externalStorageSetting INTEGER, cameraSetting INTEGER, recordAudioSetting INTEGER, notificationSetting INTEGER, intentBootCompletedSetting INTEGER);"
1949 +.field private static final DATABASE_FIELDS:[Ljava/lang/String; = null
1951 +.field private static final DATABASE_FILE:Ljava/lang/String; = "/data/system/privacy.db"
1953 +.field private static final DATABASE_VERSION:I = 0x3
1955 +.field public static final DUMMY_UID:I = -0x1
1957 +.field private static final INSERT_ENABLED:Ljava/lang/String; = "INSERT OR REPLACE INTO map (name, value) VALUES (\"enabled\", \"1\");"
1959 +.field private static final INSERT_NOTIFICATIONS_ENABLED:Ljava/lang/String; = "INSERT OR REPLACE INTO map (name, value) VALUES (\"notifications_enabled\", \"1\");"
1961 +.field private static final INSERT_VERSION:Ljava/lang/String; = "INSERT OR REPLACE INTO map (name, value) VALUES (\"db_version\", 3);"
1963 +.field private static final RETRY_QUERY_COUNT:I = 0x5
1965 +.field public static final SETTINGS_DIRECTORY:Ljava/lang/String; = "/data/system/privacy"
1967 +.field public static final SETTING_DB_VERSION:Ljava/lang/String; = "db_version"
1969 +.field public static final SETTING_ENABLED:Ljava/lang/String; = "enabled"
1971 +.field public static final SETTING_NOTIFICATIONS_ENABLED:Ljava/lang/String; = "notifications_enabled"
1973 +.field private static final TABLE_ALLOWED_CONTACTS:Ljava/lang/String; = "allowed_contacts"
1975 +.field private static final TABLE_MAP:Ljava/lang/String; = "map"
1977 +.field private static final TABLE_SETTINGS:Ljava/lang/String; = "settings"
1979 +.field private static final TABLE_VERSION:Ljava/lang/String; = "version"
1981 +.field private static final TAG:Ljava/lang/String; = "PrivacyPersistenceAdapter"
1983 +.field public static final VALUE_FALSE:Ljava/lang/String; = "0"
1985 +.field public static final VALUE_TRUE:Ljava/lang/String; = "1"
1987 +.field public static readingThreads:Ljava/lang/Integer;
1990 +# instance fields
1991 +.field private context:Landroid/content/Context;
1993 +.field private db:Landroid/database/sqlite/SQLiteDatabase;
1996 +# direct methods
1997 +.method static constructor <clinit>()V
1998 + .registers 3
2000 + const/4 v2, 0x0
2002 + invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
2004 + move-result-object v0
2006 + sput-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2008 + const/16 v0, 0x23
2010 + new-array v0, v0, [Ljava/lang/String;
2012 + const-string v1, "_id"
2014 + aput-object v1, v0, v2
2016 + const/4 v1, 0x1
2018 + const-string/jumbo v2, "packageName"
2020 + aput-object v2, v0, v1
2022 + const/4 v1, 0x2
2024 + const-string/jumbo v2, "uid"
2026 + aput-object v2, v0, v1
2028 + const/4 v1, 0x3
2030 + const-string v2, "deviceIdSetting"
2032 + aput-object v2, v0, v1
2034 + const/4 v1, 0x4
2036 + const-string v2, "deviceId"
2038 + aput-object v2, v0, v1
2040 + const/4 v1, 0x5
2042 + const-string v2, "line1NumberSetting"
2044 + aput-object v2, v0, v1
2046 + const/4 v1, 0x6
2048 + const-string v2, "line1Number"
2050 + aput-object v2, v0, v1
2052 + const/4 v1, 0x7
2054 + const-string v2, "locationGpsSetting"
2056 + aput-object v2, v0, v1
2058 + const/16 v1, 0x8
2060 + const-string v2, "locationGpsLat"
2062 + aput-object v2, v0, v1
2064 + const/16 v1, 0x9
2066 + const-string v2, "locationGpsLon"
2068 + aput-object v2, v0, v1
2070 + const/16 v1, 0xa
2072 + const-string v2, "locationNetworkSetting"
2074 + aput-object v2, v0, v1
2076 + const/16 v1, 0xb
2078 + const-string v2, "locationNetworkLat"
2080 + aput-object v2, v0, v1
2082 + const/16 v1, 0xc
2084 + const-string v2, "locationNetworkLon"
2086 + aput-object v2, v0, v1
2088 + const/16 v1, 0xd
2090 + const-string/jumbo v2, "networkInfoSetting"
2092 + aput-object v2, v0, v1
2094 + const/16 v1, 0xe
2096 + const-string/jumbo v2, "simInfoSetting"
2098 + aput-object v2, v0, v1
2100 + const/16 v1, 0xf
2102 + const-string/jumbo v2, "simSerialNumberSetting"
2104 + aput-object v2, v0, v1
2106 + const/16 v1, 0x10
2108 + const-string/jumbo v2, "simSerialNumber"
2110 + aput-object v2, v0, v1
2112 + const/16 v1, 0x11
2114 + const-string/jumbo v2, "subscriberIdSetting"
2116 + aput-object v2, v0, v1
2118 + const/16 v1, 0x12
2120 + const-string/jumbo v2, "subscriberId"
2122 + aput-object v2, v0, v1
2124 + const/16 v1, 0x13
2126 + const-string v2, "accountsSetting"
2128 + aput-object v2, v0, v1
2130 + const/16 v1, 0x14
2132 + const-string v2, "accountsAuthTokensSetting"
2134 + aput-object v2, v0, v1
2136 + const/16 v1, 0x15
2138 + const-string/jumbo v2, "outgoingCallsSetting"
2140 + aput-object v2, v0, v1
2142 + const/16 v1, 0x16
2144 + const-string v2, "incomingCallsSetting"
2146 + aput-object v2, v0, v1
2148 + const/16 v1, 0x17
2150 + const-string v2, "contactsSetting"
2152 + aput-object v2, v0, v1
2154 + const/16 v1, 0x18
2156 + const-string v2, "calendarSetting"
2158 + aput-object v2, v0, v1
2160 + const/16 v1, 0x19
2162 + const-string/jumbo v2, "mmsSetting"
2164 + aput-object v2, v0, v1
2166 + const/16 v1, 0x1a
2168 + const-string/jumbo v2, "smsSetting"
2170 + aput-object v2, v0, v1
2172 + const/16 v1, 0x1b
2174 + const-string v2, "callLogSetting"
2176 + aput-object v2, v0, v1
2178 + const/16 v1, 0x1c
2180 + const-string v2, "bookmarksSetting"
2182 + aput-object v2, v0, v1
2184 + const/16 v1, 0x1d
2186 + const-string/jumbo v2, "systemLogsSetting"
2188 + aput-object v2, v0, v1
2190 + const/16 v1, 0x1e
2192 + const-string v2, "externalStorageSetting"
2194 + aput-object v2, v0, v1
2196 + const/16 v1, 0x1f
2198 + const-string v2, "cameraSetting"
2200 + aput-object v2, v0, v1
2202 + const/16 v1, 0x20
2204 + const-string/jumbo v2, "recordAudioSetting"
2206 + aput-object v2, v0, v1
2208 + const/16 v1, 0x21
2210 + const-string/jumbo v2, "notificationSetting"
2212 + aput-object v2, v0, v1
2214 + const/16 v1, 0x22
2216 + const-string v2, "intentBootCompletedSetting"
2218 + aput-object v2, v0, v1
2220 + sput-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->DATABASE_FIELDS:[Ljava/lang/String;
2222 + return-void
2223 +.end method
2225 +.method public constructor <init>(Landroid/content/Context;)V
2226 + .registers 6
2228 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
2230 + iput-object p1, p0, Landroid/privacy/PrivacyPersistenceAdapter;->context:Landroid/content/Context;
2232 + new-instance v2, Ljava/io/File;
2234 + const-string v3, "/data/system/"
2236 + invoke-direct {v2, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
2238 + invoke-virtual {v2}, Ljava/io/File;->canWrite()Z
2240 + move-result v0
2242 + if-eqz v0, :cond_3c
2244 + new-instance v2, Ljava/io/File;
2246 + const-string v3, "/data/system/privacy.db"
2248 + invoke-direct {v2, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
2250 + invoke-virtual {v2}, Ljava/io/File;->exists()Z
2252 + move-result v2
2254 + if-nez v2, :cond_22
2256 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->createDatabase()V
2258 + :cond_22
2259 + new-instance v2, Ljava/io/File;
2261 + const-string v3, "/data/system/privacy"
2263 + invoke-direct {v2, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
2265 + invoke-virtual {v2}, Ljava/io/File;->exists()Z
2267 + move-result v2
2269 + if-nez v2, :cond_32
2271 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->createSettingsDir()V
2273 + :cond_32
2274 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getDbVersion()I
2276 + move-result v1
2278 + const/4 v2, 0x3
2280 + if-ge v1, v2, :cond_3c
2282 + invoke-direct {p0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->upgradeDatabase(I)V
2284 + :cond_3c
2285 + return-void
2286 +.end method
2288 +.method private declared-synchronized createDatabase()V
2289 + .registers 6
2291 + monitor-enter p0
2293 + :try_start_1
2294 + const-string v2, "PrivacyPersistenceAdapter"
2296 + const-string v3, "createDatabase - creating privacy database file"
2298 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
2299 + :try_end_8
2300 + .catchall {:try_start_1 .. :try_end_8} :catchall_4c
2302 + :try_start_8
2303 + const-string v2, "/data/system/privacy.db"
2305 + const/4 v3, 0x0
2307 + const/high16 v4, 0x1000
2309 + invoke-static {v2, v3, v4}, Landroid/database/sqlite/SQLiteDatabase;->openDatabase(Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;I)Landroid/database/sqlite/SQLiteDatabase;
2311 + move-result-object v0
2313 + const-string v2, "PrivacyPersistenceAdapter"
2315 + const-string v3, "createDatabase - creating privacy database"
2317 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
2319 + const-string v2, "CREATE TABLE IF NOT EXISTS settings ( _id INTEGER PRIMARY KEY AUTOINCREMENT, packageName TEXT, uid INTEGER, deviceIdSetting INTEGER, deviceId TEXT, line1NumberSetting INTEGER, line1Number TEXT, locationGpsSetting INTEGER, locationGpsLat TEXT, locationGpsLon TEXT, locationNetworkSetting INTEGER, locationNetworkLat TEXT, locationNetworkLon TEXT, networkInfoSetting INTEGER, simInfoSetting INTEGER, simSerialNumberSetting INTEGER, simSerialNumber TEXT, subscriberIdSetting INTEGER, subscriberId TEXT, accountsSetting INTEGER, accountsAuthTokensSetting INTEGER, outgoingCallsSetting INTEGER, incomingCallsSetting INTEGER, contactsSetting INTEGER, calendarSetting INTEGER, mmsSetting INTEGER, smsSetting INTEGER, callLogSetting INTEGER, bookmarksSetting INTEGER, systemLogsSetting INTEGER, externalStorageSetting INTEGER, cameraSetting INTEGER, recordAudioSetting INTEGER, notificationSetting INTEGER, intentBootCompletedSetting INTEGER);"
2321 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
2323 + const-string v2, "CREATE TABLE IF NOT EXISTS allowed_contacts ( settings_id, contact_id, PRIMARY KEY(settings_id, contact_id) );"
2325 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
2327 + const-string v2, "CREATE TABLE IF NOT EXISTS map ( name TEXT PRIMARY KEY, value TEXT );"
2329 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
2331 + const-string v2, "INSERT OR REPLACE INTO map (name, value) VALUES (\"db_version\", 3);"
2333 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
2335 + const-string v2, "INSERT OR REPLACE INTO map (name, value) VALUES (\"enabled\", \"1\");"
2337 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
2339 + const-string v2, "INSERT OR REPLACE INTO map (name, value) VALUES (\"notifications_enabled\", \"1\");"
2341 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
2343 + if-eqz v0, :cond_41
2345 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
2347 + move-result v2
2349 + if-eqz v2, :cond_41
2351 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
2352 + :try_end_41
2353 + .catchall {:try_start_8 .. :try_end_41} :catchall_4c
2354 + .catch Landroid/database/SQLException; {:try_start_8 .. :try_end_41} :catch_43
2356 + :cond_41
2357 + :goto_41
2358 + monitor-exit p0
2360 + return-void
2362 + :catch_43
2363 + move-exception v1
2365 + :try_start_44
2366 + const-string v2, "PrivacyPersistenceAdapter"
2368 + const-string v3, "createDatabase - failed to create privacy database"
2370 + invoke-static {v2, v3, v1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
2371 + :try_end_4b
2372 + .catchall {:try_start_44 .. :try_end_4b} :catchall_4c
2374 + goto :goto_41
2376 + :catchall_4c
2377 + move-exception v2
2379 + monitor-exit p0
2381 + throw v2
2382 +.end method
2384 +.method private declared-synchronized createSettingsDir()V
2385 + .registers 4
2387 + monitor-enter p0
2389 + :try_start_1
2390 + new-instance v0, Ljava/io/File;
2392 + const-string v1, "/data/system/privacy/"
2394 + invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
2396 + invoke-virtual {v0}, Ljava/io/File;->mkdirs()Z
2398 + const/4 v1, 0x1
2400 + const/4 v2, 0x0
2402 + invoke-virtual {v0, v1, v2}, Ljava/io/File;->setReadable(ZZ)Z
2404 + const/4 v1, 0x1
2406 + const/4 v2, 0x0
2408 + invoke-virtual {v0, v1, v2}, Ljava/io/File;->setExecutable(ZZ)Z
2409 + :try_end_15
2410 + .catchall {:try_start_1 .. :try_end_15} :catchall_17
2412 + monitor-exit p0
2414 + return-void
2416 + :catchall_17
2417 + move-exception v1
2419 + monitor-exit p0
2421 + throw v1
2422 +.end method
2424 +.method private deleteRecursive(Ljava/io/File;)V
2425 + .registers 7
2427 + invoke-virtual {p1}, Ljava/io/File;->isDirectory()Z
2429 + move-result v4
2431 + if-eqz v4, :cond_16
2433 + invoke-virtual {p1}, Ljava/io/File;->listFiles()[Ljava/io/File;
2435 + move-result-object v0
2437 + array-length v3, v0
2439 + const/4 v2, 0x0
2441 + :goto_c
2442 + if-ge v2, v3, :cond_16
2444 + aget-object v1, v0, v2
2446 + invoke-direct {p0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteRecursive(Ljava/io/File;)V
2448 + add-int/lit8 v2, v2, 0x1
2450 + goto :goto_c
2452 + :cond_16
2453 + invoke-virtual {p1}, Ljava/io/File;->delete()Z
2455 + return-void
2456 +.end method
2458 +.method private getDbVersion()I
2459 + .registers 9
2461 + const/4 v4, 0x1
2463 + const/4 v3, -0x1
2465 + sget-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2467 + sget-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2469 + invoke-virtual {v6}, Ljava/lang/Integer;->intValue()I
2471 + move-result v6
2473 + add-int/lit8 v6, v6, 0x1
2475 + invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
2477 + move-result-object v6
2479 + sput-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2481 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
2483 + move-result-object v1
2485 + :try_start_16
2486 + const-string v6, "SELECT name FROM sqlite_master WHERE type=\'table\' AND name=\'map\';"
2488 + invoke-direct {p0, v1, v6}, Landroid/privacy/PrivacyPersistenceAdapter;->rawQuery(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;)Landroid/database/Cursor;
2490 + move-result-object v0
2492 + if-eqz v0, :cond_5e
2494 + invoke-interface {v0}, Landroid/database/Cursor;->getCount()I
2496 + move-result v6
2498 + if-nez v6, :cond_25
2500 + const/4 v3, 0x1
2502 + :cond_25
2503 + invoke-interface {v0}, Landroid/database/Cursor;->close()V
2505 + sget-object v7, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2507 + monitor-enter v7
2508 + :try_end_2b
2509 + .catch Ljava/lang/Exception; {:try_start_16 .. :try_end_2b} :catch_55
2511 + :try_start_2b
2512 + sget-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2514 + sget-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2516 + invoke-virtual {v6}, Ljava/lang/Integer;->intValue()I
2518 + move-result v6
2520 + add-int/lit8 v6, v6, -0x1
2522 + invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
2524 + move-result-object v6
2526 + sput-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2528 + sget-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2530 + invoke-virtual {v6}, Ljava/lang/Integer;->intValue()I
2532 + move-result v6
2534 + if-nez v6, :cond_4e
2536 + if-eqz v1, :cond_4e
2538 + invoke-virtual {v1}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
2540 + move-result v6
2542 + if-eqz v6, :cond_4e
2544 + invoke-virtual {v1}, Landroid/database/sqlite/SQLiteDatabase;->close()V
2546 + :cond_4e
2547 + monitor-exit v7
2549 + :goto_4f
2550 + if-ne v3, v4, :cond_66
2552 + :goto_51
2553 + return v3
2555 + :catchall_52
2556 + move-exception v6
2558 + monitor-exit v7
2559 + :try_end_54
2560 + .catchall {:try_start_2b .. :try_end_54} :catchall_52
2562 + :try_start_54
2563 + throw v6
2564 + :try_end_55
2565 + .catch Ljava/lang/Exception; {:try_start_54 .. :try_end_55} :catch_55
2567 + :catch_55
2568 + move-exception v2
2570 + const-string v6, "PrivacyPersistenceAdapter"
2572 + const-string v7, "getDbVersion - failed to check if table map exists (exception)"
2574 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
2576 + goto :goto_4f
2578 + :cond_5e
2579 + :try_start_5e
2580 + const-string v6, "PrivacyPersistenceAdapter"
2582 + const-string v7, "getDbVersion - failed to check if table map exists (cursor is null)"
2584 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
2585 + :try_end_65
2586 + .catch Ljava/lang/Exception; {:try_start_5e .. :try_end_65} :catch_55
2588 + goto :goto_4f
2590 + :cond_66
2591 + const-string v6, "db_version"
2593 + invoke-virtual {p0, v6}, Landroid/privacy/PrivacyPersistenceAdapter;->getValue(Ljava/lang/String;)Ljava/lang/String;
2595 + move-result-object v5
2597 + if-nez v5, :cond_70
2599 + move v3, v4
2601 + goto :goto_51
2603 + :cond_70
2604 + :try_start_70
2605 + invoke-static {v5}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
2606 + :try_end_73
2607 + .catch Ljava/lang/Exception; {:try_start_70 .. :try_end_73} :catch_76
2609 + move-result v4
2611 + move v3, v4
2613 + goto :goto_51
2615 + :catch_76
2616 + move-exception v2
2618 + const-string v6, "PrivacyPersistenceAdapter"
2620 + const-string v7, "getDbVersion - failed to parse database version; returning 1"
2622 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
2624 + move v3, v4
2626 + goto :goto_51
2627 +.end method
2629 +.method private declared-synchronized getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
2630 + .registers 4
2632 + monitor-enter p0
2634 + :try_start_1
2635 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2637 + if-eqz v0, :cond_11
2639 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2641 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
2643 + move-result v0
2645 + if-eqz v0, :cond_11
2647 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2648 + :try_end_f
2649 + .catchall {:try_start_1 .. :try_end_f} :catchall_1e
2651 + :goto_f
2652 + monitor-exit p0
2654 + return-object v0
2656 + :cond_11
2657 + :try_start_11
2658 + const-string v0, "/data/system/privacy.db"
2660 + const/4 v1, 0x0
2662 + const/4 v2, 0x1
2664 + invoke-static {v0, v1, v2}, Landroid/database/sqlite/SQLiteDatabase;->openDatabase(Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;I)Landroid/database/sqlite/SQLiteDatabase;
2666 + move-result-object v0
2668 + iput-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2670 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2671 + :try_end_1d
2672 + .catchall {:try_start_11 .. :try_end_1d} :catchall_1e
2674 + goto :goto_f
2676 + :catchall_1e
2677 + move-exception v0
2679 + monitor-exit p0
2681 + throw v0
2682 +.end method
2684 +.method private declared-synchronized getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
2685 + .registers 4
2687 + monitor-enter p0
2689 + :try_start_1
2690 + new-instance v0, Ljava/io/File;
2692 + const-string v1, "/data/system/privacy.db"
2694 + invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
2696 + invoke-virtual {v0}, Ljava/io/File;->exists()Z
2698 + move-result v0
2700 + if-nez v0, :cond_11
2702 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->createDatabase()V
2704 + :cond_11
2705 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2707 + if-eqz v0, :cond_29
2709 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2711 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
2713 + move-result v0
2715 + if-eqz v0, :cond_29
2717 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2719 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isReadOnly()Z
2721 + move-result v0
2723 + if-nez v0, :cond_29
2725 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2726 + :try_end_27
2727 + .catchall {:try_start_1 .. :try_end_27} :catchall_36
2729 + :goto_27
2730 + monitor-exit p0
2732 + return-object v0
2734 + :cond_29
2735 + :try_start_29
2736 + const-string v0, "/data/system/privacy.db"
2738 + const/4 v1, 0x0
2740 + const/4 v2, 0x0
2742 + invoke-static {v0, v1, v2}, Landroid/database/sqlite/SQLiteDatabase;->openDatabase(Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;I)Landroid/database/sqlite/SQLiteDatabase;
2744 + move-result-object v0
2746 + iput-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2748 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2749 + :try_end_35
2750 + .catchall {:try_start_29 .. :try_end_35} :catchall_36
2752 + goto :goto_27
2754 + :catchall_36
2755 + move-exception v0
2757 + monitor-exit p0
2759 + throw v0
2760 +.end method
2762 +.method private query(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;
2763 + .registers 16
2764 + .annotation system Ldalvik/annotation/Throws;
2765 + value = {
2766 + Ljava/lang/Exception;
2768 + .end annotation
2770 + const/4 v0, 0x0
2772 + const/4 v3, 0x0
2774 + const/4 v2, 0x0
2776 + :goto_3
2777 + if-nez v3, :cond_27
2779 + const/4 v4, 0x5
2781 + if-ge v2, v4, :cond_27
2783 + if-eqz v0, :cond_d
2785 + :try_start_a
2786 + invoke-interface {v0}, Landroid/database/Cursor;->close()V
2788 + :cond_d
2789 + invoke-virtual/range {p1 .. p9}, Landroid/database/sqlite/SQLiteDatabase;->query(Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;
2790 + :try_end_10
2791 + .catch Ljava/lang/IllegalStateException; {:try_start_a .. :try_end_10} :catch_15
2793 + move-result-object v0
2795 + const/4 v3, 0x1
2797 + :goto_12
2798 + add-int/lit8 v2, v2, 0x1
2800 + goto :goto_3
2802 + :catch_15
2803 + move-exception v1
2805 + const/4 v3, 0x0
2807 + if-eqz p1, :cond_22
2809 + invoke-virtual {p1}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
2811 + move-result v4
2813 + if-eqz v4, :cond_22
2815 + invoke-virtual {p1}, Landroid/database/sqlite/SQLiteDatabase;->close()V
2817 + :cond_22
2818 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
2820 + move-result-object p1
2822 + goto :goto_12
2824 + :cond_27
2825 + if-nez v3, :cond_32
2827 + new-instance v4, Ljava/lang/Exception;
2829 + const-string/jumbo v5, "query - failed to execute query on the DB"
2831 + invoke-direct {v4, v5}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
2833 + throw v4
2835 + :cond_32
2836 + return-object v0
2837 +.end method
2839 +.method private rawQuery(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;)Landroid/database/Cursor;
2840 + .registers 9
2841 + .annotation system Ldalvik/annotation/Throws;
2842 + value = {
2843 + Ljava/lang/Exception;
2845 + .end annotation
2847 + const/4 v0, 0x0
2849 + const/4 v3, 0x0
2851 + const/4 v2, 0x0
2853 + :goto_3
2854 + if-nez v3, :cond_28
2856 + const/4 v4, 0x5
2858 + if-ge v2, v4, :cond_28
2860 + if-eqz v0, :cond_d
2862 + :try_start_a
2863 + invoke-interface {v0}, Landroid/database/Cursor;->close()V
2865 + :cond_d
2866 + const/4 v4, 0x0
2868 + invoke-virtual {p1, p2, v4}, Landroid/database/sqlite/SQLiteDatabase;->rawQuery(Ljava/lang/String;[Ljava/lang/String;)Landroid/database/Cursor;
2869 + :try_end_11
2870 + .catch Ljava/lang/IllegalStateException; {:try_start_a .. :try_end_11} :catch_16
2872 + move-result-object v0
2874 + const/4 v3, 0x1
2876 + :goto_13
2877 + add-int/lit8 v2, v2, 0x1
2879 + goto :goto_3
2881 + :catch_16
2882 + move-exception v1
2884 + const/4 v3, 0x0
2886 + if-eqz p1, :cond_23
2888 + invoke-virtual {p1}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
2890 + move-result v4
2892 + if-eqz v4, :cond_23
2894 + invoke-virtual {p1}, Landroid/database/sqlite/SQLiteDatabase;->close()V
2896 + :cond_23
2897 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
2899 + move-result-object p1
2901 + goto :goto_13
2903 + :cond_28
2904 + if-nez v3, :cond_33
2906 + new-instance v4, Ljava/lang/Exception;
2908 + const-string/jumbo v5, "query - failed to execute query on the DB"
2910 + invoke-direct {v4, v5}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
2912 + throw v4
2914 + :cond_33
2915 + return-object v0
2916 +.end method
2918 +.method private declared-synchronized upgradeDatabase(I)V
2919 + .registers 23
2921 + monitor-enter p0
2923 + :try_start_1
2924 + const-string v17, "PrivacyPersistenceAdapter"
2926 + new-instance v18, Ljava/lang/StringBuilder;
2928 + invoke-direct/range {v18 .. v18}, Ljava/lang/StringBuilder;-><init>()V
2930 + const-string/jumbo v19, "upgradeDatabase - upgrading DB from version "
2932 + invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2934 + move-result-object v18
2936 + move-object/from16 v0, v18
2938 + move/from16 v1, p1
2940 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
2942 + move-result-object v18
2944 + const-string v19, " to "
2946 + invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2948 + move-result-object v18
2950 + const/16 v19, 0x3
2952 + invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
2954 + move-result-object v18
2956 + invoke-virtual/range {v18 .. v18}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2958 + move-result-object v18
2960 + invoke-static/range {v17 .. v18}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
2962 + new-instance v6, Ljava/io/File;
2964 + const-string v17, "/data/system/privacy.db"
2966 + move-object/from16 v0, v17
2968 + invoke-direct {v6, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
2970 + new-instance v5, Ljava/io/File;
2972 + const-string v17, "/data/system/privacy.db.bak"
2974 + move-object/from16 v0, v17
2976 + invoke-direct {v5, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
2977 + :try_end_3c
2978 + .catchall {:try_start_1 .. :try_end_3c} :catchall_66
2980 + :try_start_3c
2981 + invoke-virtual {v5}, Ljava/io/File;->delete()Z
2982 + :try_end_3f
2983 + .catchall {:try_start_3c .. :try_end_3f} :catchall_66
2984 + .catch Ljava/lang/SecurityException; {:try_start_3c .. :try_end_3f} :catch_5c
2986 + :goto_3f
2987 + :try_start_3f
2988 + invoke-static {v6, v5}, Landroid/os/FileUtils;->copyFile(Ljava/io/File;Ljava/io/File;)Z
2990 + invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
2992 + move-result-wide v17
2994 + invoke-virtual {v5}, Ljava/io/File;->lastModified()J
2996 + move-result-wide v19
2998 + sub-long v17, v17, v19
3000 + const-wide/16 v19, 0x7d0
3002 + cmp-long v17, v17, v19
3004 + if-lez v17, :cond_69
3006 + const-string v17, "PrivacyPersistenceAdapter"
3008 + const-string/jumbo v18, "upgradeDatabase - could not create a database backup, aborting..."
3010 + invoke-static/range {v17 .. v18}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
3011 + :try_end_5a
3012 + .catchall {:try_start_3f .. :try_end_5a} :catchall_66
3014 + :goto_5a
3015 + monitor-exit p0
3017 + return-void
3019 + :catch_5c
3020 + move-exception v7
3022 + :try_start_5d
3023 + const-string v17, "PrivacyPersistenceAdapter"
3025 + const-string/jumbo v18, "upgradeDatabase - could not remove old backup"
3027 + invoke-static/range {v17 .. v18}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
3028 + :try_end_65
3029 + .catchall {:try_start_5d .. :try_end_65} :catchall_66
3031 + goto :goto_3f
3033 + :catchall_66
3034 + move-exception v17
3036 + monitor-exit p0
3038 + throw v17
3040 + :cond_69
3041 + :try_start_69
3042 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
3044 + move-result-object v4
3046 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->beginTransaction()V
3048 + packed-switch p1, :pswitch_data_164
3050 + :cond_73
3051 + :goto_73
3052 + if-eqz v4, :cond_159
3054 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3056 + move-result v17
3058 + if-eqz v17, :cond_159
3060 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
3062 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3064 + :goto_81
3065 + invoke-virtual/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->purgeSettings()Z
3066 + :try_end_84
3067 + .catchall {:try_start_69 .. :try_end_84} :catchall_66
3069 + goto :goto_5a
3071 + :pswitch_85
3072 + if-eqz v4, :cond_73
3074 + :try_start_87
3075 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3077 + move-result v17
3079 + if-eqz v17, :cond_73
3081 + const-string v17, "DROP TABLE IF EXISTS version;"
3083 + move-object/from16 v0, v17
3085 + invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
3087 + const-string v17, "CREATE TABLE IF NOT EXISTS allowed_contacts ( settings_id, contact_id, PRIMARY KEY(settings_id, contact_id) );"
3089 + move-object/from16 v0, v17
3091 + invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
3093 + const-string v17, "CREATE TABLE IF NOT EXISTS map ( name TEXT PRIMARY KEY, value TEXT );"
3095 + move-object/from16 v0, v17
3097 + invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
3099 + const-string v17, "INSERT OR REPLACE INTO map (name, value) VALUES (\"db_version\", 3);"
3101 + move-object/from16 v0, v17
3103 + invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
3105 + const-string v17, "INSERT OR REPLACE INTO map (name, value) VALUES (\"enabled\", \"1\");"
3107 + move-object/from16 v0, v17
3109 + invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
3111 + const-string v17, "INSERT OR REPLACE INTO map (name, value) VALUES (\"notifications_enabled\", \"1\");"
3113 + move-object/from16 v0, v17
3115 + invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
3117 + new-instance v14, Ljava/io/File;
3119 + const-string v17, "/data/system/privacy"
3121 + move-object/from16 v0, v17
3123 + invoke-direct {v14, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
3125 + invoke-virtual {v14}, Ljava/io/File;->listFiles()[Ljava/io/File;
3127 + move-result-object v2
3129 + array-length v10, v2
3131 + const/4 v8, 0x0
3133 + move v9, v8
3135 + :goto_c7
3136 + if-ge v9, v10, :cond_127
3138 + aget-object v13, v2, v9
3140 + invoke-virtual {v13}, Ljava/io/File;->listFiles()[Ljava/io/File;
3142 + move-result-object v3
3144 + array-length v11, v3
3146 + const/4 v8, 0x0
3148 + :goto_d1
3149 + if-ge v8, v11, :cond_123
3151 + aget-object v16, v3, v8
3153 + invoke-virtual/range {v16 .. v16}, Ljava/io/File;->isDirectory()Z
3155 + move-result v17
3157 + if-eqz v17, :cond_120
3159 + invoke-virtual/range {v16 .. v16}, Ljava/io/File;->listFiles()[Ljava/io/File;
3161 + move-result-object v15
3163 + const/16 v17, 0x0
3165 + aget-object v17, v15, v17
3167 + if-eqz v17, :cond_120
3169 + new-instance v12, Ljava/io/File;
3171 + new-instance v17, Ljava/lang/StringBuilder;
3173 + invoke-direct/range {v17 .. v17}, Ljava/lang/StringBuilder;-><init>()V
3175 + move-object/from16 v0, v17
3177 + invoke-virtual {v0, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
3179 + move-result-object v17
3181 + const-string v18, "/"
3183 + invoke-virtual/range {v17 .. v18}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3185 + move-result-object v17
3187 + const/16 v18, 0x0
3189 + aget-object v18, v15, v18
3191 + invoke-virtual/range {v18 .. v18}, Ljava/io/File;->getName()Ljava/lang/String;
3193 + move-result-object v18
3195 + invoke-virtual/range {v17 .. v18}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3197 + move-result-object v17
3199 + invoke-virtual/range {v17 .. v17}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3201 + move-result-object v17
3203 + move-object/from16 v0, v17
3205 + invoke-direct {v12, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
3207 + invoke-virtual {v12}, Ljava/io/File;->delete()Z
3209 + const/16 v17, 0x0
3211 + aget-object v17, v15, v17
3213 + move-object/from16 v0, v17
3215 + invoke-virtual {v0, v12}, Ljava/io/File;->renameTo(Ljava/io/File;)Z
3217 + move-object/from16 v0, p0
3219 + move-object/from16 v1, v16
3221 + invoke-direct {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteRecursive(Ljava/io/File;)V
3223 + :cond_120
3224 + add-int/lit8 v8, v8, 0x1
3226 + goto :goto_d1
3228 + :cond_123
3229 + add-int/lit8 v8, v9, 0x1
3231 + move v9, v8
3233 + goto :goto_c7
3235 + :cond_127
3236 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->setTransactionSuccessful()V
3237 + :try_end_12a
3238 + .catchall {:try_start_87 .. :try_end_12a} :catchall_66
3239 + .catch Ljava/lang/Exception; {:try_start_87 .. :try_end_12a} :catch_12c
3241 + goto/16 :goto_73
3243 + :catch_12c
3244 + move-exception v7
3246 + if-eqz v4, :cond_13b
3248 + :try_start_12f
3249 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3251 + move-result v17
3253 + if-eqz v17, :cond_13b
3255 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
3257 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3259 + :cond_13b
3260 + const-string v17, "PrivacyPersistenceAdapter"
3262 + const-string/jumbo v18, "upgradeDatabase - could not upgrade DB; will restore backup"
3264 + move-object/from16 v0, v17
3266 + move-object/from16 v1, v18
3268 + invoke-static {v0, v1, v7}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
3270 + invoke-static {v5, v6}, Landroid/os/FileUtils;->copyFile(Ljava/io/File;Ljava/io/File;)Z
3272 + invoke-virtual {v5}, Ljava/io/File;->delete()Z
3274 + goto/16 :goto_73
3276 + :pswitch_14f
3277 + const-string v17, "PrivacyPersistenceAdapter"
3279 + const-string/jumbo v18, "upgradeDatabase - trying to upgrade most current DB version"
3281 + invoke-static/range {v17 .. v18}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
3283 + goto/16 :goto_73
3285 + :cond_159
3286 + const-string v17, "PrivacyPersistenceAdapter"
3288 + const-string/jumbo v18, "upgradeDatabase - database is null or closed; cant call endTransaction()"
3290 + invoke-static/range {v17 .. v18}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
3291 + :try_end_161
3292 + .catchall {:try_start_12f .. :try_end_161} :catchall_66
3294 + goto/16 :goto_81
3296 + nop
3298 + :pswitch_data_164
3299 + .packed-switch 0x1
3300 + :pswitch_85
3301 + :pswitch_85
3302 + :pswitch_14f
3303 + .end packed-switch
3304 +.end method
3307 +# virtual methods
3308 +.method public declared-synchronized deleteSettings(Ljava/lang/String;)Z
3309 + .registers 16
3311 + monitor-enter p0
3313 + const/4 v11, 0x1
3315 + :try_start_2
3316 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
3318 + move-result-object v0
3320 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->beginTransaction()V
3321 + :try_end_9
3322 + .catchall {:try_start_2 .. :try_end_9} :catchall_107
3324 + :try_start_9
3325 + const-string/jumbo v1, "settings"
3327 + const/4 v2, 0x1
3329 + new-array v2, v2, [Ljava/lang/String;
3331 + const/4 v3, 0x0
3333 + const-string v4, "_id"
3335 + aput-object v4, v2, v3
3337 + const-string/jumbo v3, "packageName=?"
3339 + const/4 v4, 0x1
3341 + new-array v4, v4, [Ljava/lang/String;
3343 + const/4 v5, 0x0
3345 + aput-object p1, v4, v5
3347 + const/4 v5, 0x0
3349 + const/4 v6, 0x0
3351 + const/4 v7, 0x0
3353 + invoke-virtual/range {v0 .. v7}, Landroid/database/sqlite/SQLiteDatabase;->query(Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;
3355 + move-result-object v8
3357 + if-eqz v8, :cond_4c
3359 + invoke-interface {v8}, Landroid/database/Cursor;->getCount()I
3361 + move-result v1
3363 + if-lez v1, :cond_4c
3365 + invoke-interface {v8}, Landroid/database/Cursor;->moveToFirst()Z
3367 + move-result v1
3369 + if-eqz v1, :cond_4c
3371 + const/4 v1, 0x0
3373 + invoke-interface {v8, v1}, Landroid/database/Cursor;->getInt(I)I
3375 + move-result v10
3377 + const-string v1, "allowed_contacts"
3379 + const-string/jumbo v2, "settings_id=?"
3381 + const/4 v3, 0x1
3383 + new-array v3, v3, [Ljava/lang/String;
3385 + const/4 v4, 0x0
3387 + invoke-static {v10}, Ljava/lang/Integer;->toString(I)Ljava/lang/String;
3389 + move-result-object v5
3391 + aput-object v5, v3, v4
3393 + invoke-virtual {v0, v1, v2, v3}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
3395 + invoke-interface {v8}, Landroid/database/Cursor;->close()V
3397 + :cond_4c
3398 + const-string/jumbo v1, "settings"
3400 + const-string/jumbo v2, "packageName=?"
3402 + const/4 v3, 0x1
3404 + new-array v3, v3, [Ljava/lang/String;
3406 + const/4 v4, 0x0
3408 + aput-object p1, v3, v4
3410 + invoke-virtual {v0, v1, v2, v3}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
3412 + move-result v1
3414 + if-nez v1, :cond_8d
3416 + const-string v1, "PrivacyPersistenceAdapter"
3418 + new-instance v2, Ljava/lang/StringBuilder;
3420 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
3422 + const-string v3, "deleteSettings - database entry for "
3424 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3426 + move-result-object v2
3428 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3430 + move-result-object v2
3432 + const-string v3, " not found"
3434 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3436 + move-result-object v2
3438 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3440 + move-result-object v2
3442 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
3443 + :try_end_7c
3444 + .catchall {:try_start_9 .. :try_end_7c} :catchall_10a
3445 + .catch Ljava/lang/Exception; {:try_start_9 .. :try_end_7c} :catch_ef
3447 + const/4 v1, 0x0
3449 + :try_start_7d
3450 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
3452 + if-eqz v0, :cond_8b
3454 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3456 + move-result v2
3458 + if-eqz v2, :cond_8b
3460 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3461 + :try_end_8b
3462 + .catchall {:try_start_7d .. :try_end_8b} :catchall_107
3464 + :cond_8b
3465 + :goto_8b
3466 + monitor-exit p0
3468 + return v1
3470 + :cond_8d
3471 + :try_start_8d
3472 + new-instance v12, Ljava/io/File;
3474 + new-instance v1, Ljava/lang/StringBuilder;
3476 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
3478 + const-string v2, "/data/system/privacy/"
3480 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3482 + move-result-object v1
3484 + invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3486 + move-result-object v1
3488 + const-string v2, "/"
3490 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3492 + move-result-object v1
3494 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3496 + move-result-object v1
3498 + invoke-direct {v12, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
3500 + new-instance v13, Ljava/io/File;
3502 + new-instance v1, Ljava/lang/StringBuilder;
3504 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
3506 + const-string v2, "/data/system/privacy/"
3508 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3510 + move-result-object v1
3512 + invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3514 + move-result-object v1
3516 + const-string v2, "/systemLogsSetting"
3518 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3520 + move-result-object v1
3522 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3524 + move-result-object v1
3526 + invoke-direct {v13, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
3528 + invoke-virtual {v13}, Ljava/io/File;->delete()Z
3530 + invoke-virtual {v12}, Ljava/io/File;->list()[Ljava/lang/String;
3532 + move-result-object v1
3534 + if-eqz v1, :cond_d9
3536 + invoke-virtual {v12}, Ljava/io/File;->list()[Ljava/lang/String;
3538 + move-result-object v1
3540 + array-length v1, v1
3542 + if-nez v1, :cond_dc
3544 + :cond_d9
3545 + invoke-virtual {v12}, Ljava/io/File;->delete()Z
3547 + :cond_dc
3548 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->setTransactionSuccessful()V
3549 + :try_end_df
3550 + .catchall {:try_start_8d .. :try_end_df} :catchall_10a
3551 + .catch Ljava/lang/Exception; {:try_start_8d .. :try_end_df} :catch_ef
3553 + :try_start_df
3554 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
3556 + if-eqz v0, :cond_ed
3558 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3560 + move-result v1
3562 + if-eqz v1, :cond_ed
3564 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3565 + :try_end_ed
3566 + .catchall {:try_start_df .. :try_end_ed} :catchall_107
3568 + :cond_ed
3569 + :goto_ed
3570 + move v1, v11
3572 + goto :goto_8b
3574 + :catch_ef
3575 + move-exception v9
3577 + const/4 v11, 0x0
3579 + :try_start_f1
3580 + const-string v1, "PrivacyPersistenceAdapter"
3582 + const-string v2, "deleteSettings - could not delete settings"
3584 + invoke-static {v1, v2, v9}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
3585 + :try_end_f8
3586 + .catchall {:try_start_f1 .. :try_end_f8} :catchall_10a
3588 + :try_start_f8
3589 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
3591 + if-eqz v0, :cond_ed
3593 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3595 + move-result v1
3597 + if-eqz v1, :cond_ed
3599 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3600 + :try_end_106
3601 + .catchall {:try_start_f8 .. :try_end_106} :catchall_107
3603 + goto :goto_ed
3605 + :catchall_107
3606 + move-exception v1
3608 + monitor-exit p0
3610 + throw v1
3612 + :catchall_10a
3613 + move-exception v1
3615 + :try_start_10b
3616 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
3618 + if-eqz v0, :cond_119
3620 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3622 + move-result v2
3624 + if-eqz v2, :cond_119
3626 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3628 + :cond_119
3629 + throw v1
3630 + :try_end_11a
3631 + .catchall {:try_start_10b .. :try_end_11a} :catchall_107
3632 +.end method
3634 +.method public declared-synchronized getSettings(Ljava/lang/String;Z)Landroid/privacy/PrivacySettings;
3635 + .registers 47
3637 + monitor-enter p0
3639 + const/16 v43, 0x0
3641 + if-nez p1, :cond_10
3643 + :try_start_5
3644 + const-string v1, "PrivacyPersistenceAdapter"
3646 + const-string v4, "getSettings - insufficient application identifier - package name is required"
3648 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
3649 + :try_end_c
3650 + .catchall {:try_start_5 .. :try_end_c} :catchall_2d8
3652 + move-object/from16 v3, v43
3654 + :goto_e
3655 + monitor-exit p0
3657 + return-object v43
3659 + :cond_10
3660 + :try_start_10
3661 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
3663 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
3665 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
3667 + move-result v1
3669 + add-int/lit8 v1, v1, 0x1
3671 + invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
3673 + move-result-object v1
3675 + sput-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
3676 + :try_end_20
3677 + .catchall {:try_start_10 .. :try_end_20} :catchall_2d8
3679 + :try_start_20
3680 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
3681 + :try_end_23
3682 + .catchall {:try_start_20 .. :try_end_23} :catchall_2d8
3683 + .catch Landroid/database/sqlite/SQLiteException; {:try_start_20 .. :try_end_23} :catch_245
3685 + move-result-object v2
3687 + const/16 v41, 0x0
3689 + :try_start_26
3690 + const-string/jumbo v3, "settings"
3692 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->DATABASE_FIELDS:[Ljava/lang/String;
3694 + const-string/jumbo v5, "packageName=?"
3696 + const/4 v1, 0x1
3698 + new-array v6, v1, [Ljava/lang/String;
3700 + const/4 v1, 0x0
3702 + aput-object p1, v6, v1
3704 + const/4 v7, 0x0
3706 + const/4 v8, 0x0
3708 + const/4 v9, 0x0
3710 + const/4 v10, 0x0
3712 + move-object/from16 v1, p0
3714 + invoke-direct/range {v1 .. v10}, Landroid/privacy/PrivacyPersistenceAdapter;->query(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;
3716 + move-result-object v41
3718 + if-eqz v41, :cond_2dc
3720 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->moveToFirst()Z
3722 + move-result v1
3724 + if-eqz v1, :cond_2dc
3726 + new-instance v3, Landroid/privacy/PrivacySettings;
3728 + const/4 v1, 0x0
3730 + move-object/from16 v0, v41
3732 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getInt(I)I
3734 + move-result v1
3736 + invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
3738 + move-result-object v4
3740 + const/4 v1, 0x1
3742 + move-object/from16 v0, v41
3744 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
3746 + move-result-object v5
3748 + const/4 v1, 0x2
3750 + move-object/from16 v0, v41
3752 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getInt(I)I
3754 + move-result v6
3756 + const/4 v1, 0x3
3758 + move-object/from16 v0, v41
3760 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3762 + move-result v1
3764 + int-to-byte v7, v1
3766 + const/4 v1, 0x4
3768 + move-object/from16 v0, v41
3770 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
3772 + move-result-object v8
3774 + const/4 v1, 0x5
3776 + move-object/from16 v0, v41
3778 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3780 + move-result v1
3782 + int-to-byte v9, v1
3784 + const/4 v1, 0x6
3786 + move-object/from16 v0, v41
3788 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
3790 + move-result-object v10
3792 + const/4 v1, 0x7
3794 + move-object/from16 v0, v41
3796 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3798 + move-result v1
3800 + int-to-byte v11, v1
3802 + const/16 v1, 0x8
3804 + move-object/from16 v0, v41
3806 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
3808 + move-result-object v12
3810 + const/16 v1, 0x9
3812 + move-object/from16 v0, v41
3814 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
3816 + move-result-object v13
3818 + const/16 v1, 0xa
3820 + move-object/from16 v0, v41
3822 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3824 + move-result v1
3826 + int-to-byte v14, v1
3828 + const/16 v1, 0xb
3830 + move-object/from16 v0, v41
3832 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
3834 + move-result-object v15
3836 + const/16 v1, 0xc
3838 + move-object/from16 v0, v41
3840 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
3842 + move-result-object v16
3844 + const/16 v1, 0xd
3846 + move-object/from16 v0, v41
3848 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3850 + move-result v1
3852 + int-to-byte v0, v1
3854 + move/from16 v17, v0
3856 + const/16 v1, 0xe
3858 + move-object/from16 v0, v41
3860 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3862 + move-result v1
3864 + int-to-byte v0, v1
3866 + move/from16 v18, v0
3868 + const/16 v1, 0xf
3870 + move-object/from16 v0, v41
3872 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3874 + move-result v1
3876 + int-to-byte v0, v1
3878 + move/from16 v19, v0
3880 + const/16 v1, 0x10
3882 + move-object/from16 v0, v41
3884 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
3886 + move-result-object v20
3888 + const/16 v1, 0x11
3890 + move-object/from16 v0, v41
3892 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3894 + move-result v1
3896 + int-to-byte v0, v1
3898 + move/from16 v21, v0
3900 + const/16 v1, 0x12
3902 + move-object/from16 v0, v41
3904 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
3906 + move-result-object v22
3908 + const/16 v1, 0x13
3910 + move-object/from16 v0, v41
3912 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3914 + move-result v1
3916 + int-to-byte v0, v1
3918 + move/from16 v23, v0
3920 + const/16 v1, 0x14
3922 + move-object/from16 v0, v41
3924 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3926 + move-result v1
3928 + int-to-byte v0, v1
3930 + move/from16 v24, v0
3932 + const/16 v1, 0x15
3934 + move-object/from16 v0, v41
3936 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3938 + move-result v1
3940 + int-to-byte v0, v1
3942 + move/from16 v25, v0
3944 + const/16 v1, 0x16
3946 + move-object/from16 v0, v41
3948 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3950 + move-result v1
3952 + int-to-byte v0, v1
3954 + move/from16 v26, v0
3956 + const/16 v1, 0x17
3958 + move-object/from16 v0, v41
3960 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3962 + move-result v1
3964 + int-to-byte v0, v1
3966 + move/from16 v27, v0
3968 + const/16 v1, 0x18
3970 + move-object/from16 v0, v41
3972 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3974 + move-result v1
3976 + int-to-byte v0, v1
3978 + move/from16 v28, v0
3980 + const/16 v1, 0x19
3982 + move-object/from16 v0, v41
3984 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3986 + move-result v1
3988 + int-to-byte v0, v1
3990 + move/from16 v29, v0
3992 + const/16 v1, 0x1a
3994 + move-object/from16 v0, v41
3996 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3998 + move-result v1
4000 + int-to-byte v0, v1
4002 + move/from16 v30, v0
4004 + const/16 v1, 0x1b
4006 + move-object/from16 v0, v41
4008 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4010 + move-result v1
4012 + int-to-byte v0, v1
4014 + move/from16 v31, v0
4016 + const/16 v1, 0x1c
4018 + move-object/from16 v0, v41
4020 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4022 + move-result v1
4024 + int-to-byte v0, v1
4026 + move/from16 v32, v0
4028 + const/16 v1, 0x1d
4030 + move-object/from16 v0, v41
4032 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4034 + move-result v1
4036 + int-to-byte v0, v1
4038 + move/from16 v33, v0
4040 + const/16 v1, 0x1e
4042 + move-object/from16 v0, v41
4044 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4046 + move-result v1
4048 + int-to-byte v0, v1
4050 + move/from16 v34, v0
4052 + const/16 v1, 0x1f
4054 + move-object/from16 v0, v41
4056 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4058 + move-result v1
4060 + int-to-byte v0, v1
4062 + move/from16 v35, v0
4064 + const/16 v1, 0x20
4066 + move-object/from16 v0, v41
4068 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4070 + move-result v1
4072 + int-to-byte v0, v1
4074 + move/from16 v36, v0
4076 + const/16 v1, 0x21
4078 + move-object/from16 v0, v41
4080 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4082 + move-result v1
4084 + int-to-byte v0, v1
4086 + move/from16 v37, v0
4088 + const/16 v1, 0x22
4090 + move-object/from16 v0, v41
4092 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4094 + move-result v1
4096 + int-to-byte v0, v1
4098 + move/from16 v38, v0
4100 + const/16 v39, 0x0
4102 + invoke-direct/range {v3 .. v39}, Landroid/privacy/PrivacySettings;-><init>(Ljava/lang/Integer;Ljava/lang/String;IBLjava/lang/String;BLjava/lang/String;BLjava/lang/String;Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;BBBLjava/lang/String;BLjava/lang/String;BBBBBBBBBBBBBBBB[I)V
4103 + :try_end_1a1
4104 + .catchall {:try_start_26 .. :try_end_1a1} :catchall_29b
4105 + .catch Ljava/lang/Exception; {:try_start_26 .. :try_end_1a1} :catch_2d3
4107 + :try_start_1a1
4108 + new-instance v1, Ljava/lang/StringBuilder;
4110 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
4112 + const-string v4, "SELECT * FROM allowed_contacts WHERE settings_id="
4114 + invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4116 + move-result-object v1
4118 + invoke-virtual {v3}, Landroid/privacy/PrivacySettings;->get_id()Ljava/lang/Integer;
4120 + move-result-object v4
4122 + invoke-virtual {v4}, Ljava/lang/Integer;->intValue()I
4124 + move-result v4
4126 + invoke-static {v4}, Ljava/lang/Integer;->toString(I)Ljava/lang/String;
4128 + move-result-object v4
4130 + invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4132 + move-result-object v1
4134 + const-string v4, ";"
4136 + invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4138 + move-result-object v1
4140 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4142 + move-result-object v1
4144 + move-object/from16 v0, p0
4146 + invoke-direct {v0, v2, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->rawQuery(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;)Landroid/database/Cursor;
4148 + move-result-object v41
4150 + if-eqz v41, :cond_268
4152 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->getCount()I
4154 + move-result v1
4156 + if-lez v1, :cond_268
4158 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->getCount()I
4160 + move-result v1
4162 + new-array v0, v1, [I
4164 + move-object/from16 v40, v0
4166 + :goto_1dc
4167 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->moveToNext()Z
4169 + move-result v1
4171 + if-eqz v1, :cond_263
4173 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->getPosition()I
4175 + move-result v1
4177 + const/4 v4, 0x1
4179 + move-object/from16 v0, v41
4181 + invoke-interface {v0, v4}, Landroid/database/Cursor;->getInt(I)I
4183 + move-result v4
4185 + aput v4, v40, v1
4186 + :try_end_1ef
4187 + .catchall {:try_start_1a1 .. :try_end_1ef} :catchall_2d1
4188 + .catch Ljava/lang/Exception; {:try_start_1a1 .. :try_end_1ef} :catch_1f0
4190 + goto :goto_1dc
4192 + :catch_1f0
4193 + move-exception v42
4195 + :goto_1f1
4196 + :try_start_1f1
4197 + const-string v1, "PrivacyPersistenceAdapter"
4199 + new-instance v4, Ljava/lang/StringBuilder;
4201 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
4203 + const-string v5, "getSettings - failed to get settings for package: "
4205 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4207 + move-result-object v4
4209 + move-object/from16 v0, p1
4211 + invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4213 + move-result-object v4
4215 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4217 + move-result-object v4
4219 + move-object/from16 v0, v42
4221 + invoke-static {v1, v4, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
4223 + invoke-virtual/range {v42 .. v42}, Ljava/lang/Exception;->printStackTrace()V
4225 + if-eqz v41, :cond_215
4227 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->close()V
4228 + :try_end_215
4229 + .catchall {:try_start_1f1 .. :try_end_215} :catchall_2d1
4231 + :cond_215
4232 + if-eqz v41, :cond_21a
4234 + :try_start_217
4235 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->close()V
4237 + :cond_21a
4238 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4240 + monitor-enter v4
4241 + :try_end_21d
4242 + .catchall {:try_start_217 .. :try_end_21d} :catchall_298
4244 + :try_start_21d
4245 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4247 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4249 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
4251 + move-result v1
4253 + add-int/lit8 v1, v1, -0x1
4255 + invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4257 + move-result-object v1
4259 + sput-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4261 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4263 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
4265 + move-result v1
4267 + if-nez v1, :cond_240
4269 + if-eqz v2, :cond_240
4271 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
4273 + move-result v1
4275 + if-eqz v1, :cond_240
4277 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
4279 + :cond_240
4280 + monitor-exit v4
4281 + :try_end_241
4282 + .catchall {:try_start_21d .. :try_end_241} :catchall_2ce
4284 + :goto_241
4285 + move-object/from16 v43, v3
4287 + goto/16 :goto_e
4289 + :catch_245
4290 + move-exception v42
4292 + :try_start_246
4293 + const-string v1, "PrivacyPersistenceAdapter"
4295 + const-string v4, "getSettings - database could not be opened"
4297 + move-object/from16 v0, v42
4299 + invoke-static {v1, v4, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
4301 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4303 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4305 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
4307 + move-result v1
4309 + add-int/lit8 v1, v1, -0x1
4311 + invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4313 + move-result-object v1
4315 + sput-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4316 + :try_end_25f
4317 + .catchall {:try_start_246 .. :try_end_25f} :catchall_2d8
4319 + move-object/from16 v3, v43
4321 + goto/16 :goto_e
4323 + :cond_263
4324 + :try_start_263
4325 + move-object/from16 v0, v40
4327 + invoke-virtual {v3, v0}, Landroid/privacy/PrivacySettings;->setAllowedContacts([I)V
4328 + :try_end_268
4329 + .catchall {:try_start_263 .. :try_end_268} :catchall_2d1
4330 + .catch Ljava/lang/Exception; {:try_start_263 .. :try_end_268} :catch_1f0
4332 + :cond_268
4333 + :goto_268
4334 + if-eqz v41, :cond_26d
4336 + :try_start_26a
4337 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->close()V
4339 + :cond_26d
4340 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4342 + monitor-enter v4
4343 + :try_end_270
4344 + .catchall {:try_start_26a .. :try_end_270} :catchall_298
4346 + :try_start_270
4347 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4349 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4351 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
4353 + move-result v1
4355 + add-int/lit8 v1, v1, -0x1
4357 + invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4359 + move-result-object v1
4361 + sput-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4363 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4365 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
4367 + move-result v1
4369 + if-nez v1, :cond_293
4371 + if-eqz v2, :cond_293
4373 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
4375 + move-result v1
4377 + if-eqz v1, :cond_293
4379 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
4381 + :cond_293
4382 + monitor-exit v4
4384 + goto :goto_241
4386 + :catchall_295
4387 + move-exception v1
4389 + monitor-exit v4
4390 + :try_end_297
4391 + .catchall {:try_start_270 .. :try_end_297} :catchall_295
4393 + :try_start_297
4394 + throw v1
4395 + :try_end_298
4396 + .catchall {:try_start_297 .. :try_end_298} :catchall_298
4398 + :catchall_298
4399 + move-exception v1
4401 + :goto_299
4402 + monitor-exit p0
4404 + throw v1
4406 + :catchall_29b
4407 + move-exception v1
4409 + move-object/from16 v3, v43
4411 + :goto_29e
4412 + if-eqz v41, :cond_2a3
4414 + :try_start_2a0
4415 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->close()V
4417 + :cond_2a3
4418 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4420 + monitor-enter v4
4421 + :try_end_2a6
4422 + .catchall {:try_start_2a0 .. :try_end_2a6} :catchall_298
4424 + :try_start_2a6
4425 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4427 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4429 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
4431 + move-result v5
4433 + add-int/lit8 v5, v5, -0x1
4435 + invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4437 + move-result-object v5
4439 + sput-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4441 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4443 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
4445 + move-result v5
4447 + if-nez v5, :cond_2c9
4449 + if-eqz v2, :cond_2c9
4451 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
4453 + move-result v5
4455 + if-eqz v5, :cond_2c9
4457 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
4459 + :cond_2c9
4460 + monitor-exit v4
4461 + :try_end_2ca
4462 + .catchall {:try_start_2a6 .. :try_end_2ca} :catchall_2cb
4464 + :try_start_2ca
4465 + throw v1
4466 + :try_end_2cb
4467 + .catchall {:try_start_2ca .. :try_end_2cb} :catchall_298
4469 + :catchall_2cb
4470 + move-exception v1
4472 + :try_start_2cc
4473 + monitor-exit v4
4474 + :try_end_2cd
4475 + .catchall {:try_start_2cc .. :try_end_2cd} :catchall_2cb
4477 + :try_start_2cd
4478 + throw v1
4479 + :try_end_2ce
4480 + .catchall {:try_start_2cd .. :try_end_2ce} :catchall_298
4482 + :catchall_2ce
4483 + move-exception v1
4485 + :try_start_2cf
4486 + monitor-exit v4
4487 + :try_end_2d0
4488 + .catchall {:try_start_2cf .. :try_end_2d0} :catchall_2ce
4490 + :try_start_2d0
4491 + throw v1
4492 + :try_end_2d1
4493 + .catchall {:try_start_2d0 .. :try_end_2d1} :catchall_298
4495 + :catchall_2d1
4496 + move-exception v1
4498 + goto :goto_29e
4500 + :catch_2d3
4501 + move-exception v42
4503 + move-object/from16 v3, v43
4505 + goto/16 :goto_1f1
4507 + :catchall_2d8
4508 + move-exception v1
4510 + move-object/from16 v3, v43
4512 + goto :goto_299
4514 + :cond_2dc
4515 + move-object/from16 v3, v43
4517 + goto :goto_268
4518 +.end method
4520 +.method public getValue(Ljava/lang/String;)Ljava/lang/String;
4521 + .registers 15
4523 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4525 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4527 + invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
4529 + move-result v0
4531 + add-int/lit8 v0, v0, 0x1
4533 + invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4535 + move-result-object v0
4537 + sput-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4539 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
4541 + move-result-object v1
4543 + const/4 v12, 0x0
4545 + :try_start_15
4546 + const-string/jumbo v2, "map"
4548 + const/4 v0, 0x1
4550 + new-array v3, v0, [Ljava/lang/String;
4552 + const/4 v0, 0x0
4554 + const-string/jumbo v4, "value"
4556 + aput-object v4, v3, v0
4558 + const-string/jumbo v4, "name=?"
4560 + const/4 v0, 0x1
4562 + new-array v5, v0, [Ljava/lang/String;
4564 + const/4 v0, 0x0
4566 + aput-object p1, v5, v0
4568 + const/4 v6, 0x0
4570 + const/4 v7, 0x0
4572 + const/4 v8, 0x0
4574 + const/4 v9, 0x0
4576 + move-object v0, p0
4578 + invoke-direct/range {v0 .. v9}, Landroid/privacy/PrivacyPersistenceAdapter;->query(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;
4580 + move-result-object v10
4582 + if-eqz v10, :cond_77
4584 + invoke-interface {v10}, Landroid/database/Cursor;->getCount()I
4586 + move-result v0
4588 + if-lez v0, :cond_77
4590 + invoke-interface {v10}, Landroid/database/Cursor;->moveToFirst()Z
4592 + move-result v0
4594 + if-eqz v0, :cond_77
4596 + const-string/jumbo v0, "value"
4598 + invoke-interface {v10, v0}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
4600 + move-result v0
4602 + invoke-interface {v10, v0}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
4604 + move-result-object v12
4606 + invoke-interface {v10}, Landroid/database/Cursor;->close()V
4607 + :try_end_4f
4608 + .catch Ljava/lang/Exception; {:try_start_15 .. :try_end_4f} :catch_90
4610 + :goto_4f
4611 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4613 + monitor-enter v2
4615 + :try_start_52
4616 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4618 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4620 + invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
4622 + move-result v0
4624 + add-int/lit8 v0, v0, -0x1
4626 + invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4628 + move-result-object v0
4630 + sput-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4632 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4634 + invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
4636 + move-result v0
4638 + if-nez v0, :cond_75
4640 + if-eqz v1, :cond_75
4642 + invoke-virtual {v1}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
4644 + move-result v0
4646 + if-eqz v0, :cond_75
4648 + invoke-virtual {v1}, Landroid/database/sqlite/SQLiteDatabase;->close()V
4650 + :cond_75
4651 + monitor-exit v2
4652 + :try_end_76
4653 + .catchall {:try_start_52 .. :try_end_76} :catchall_aa
4655 + return-object v12
4657 + :cond_77
4658 + :try_start_77
4659 + const-string v0, "PrivacyPersistenceAdapter"
4661 + new-instance v2, Ljava/lang/StringBuilder;
4663 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
4665 + const-string v3, "getValue - could not get value for name: "
4667 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4669 + move-result-object v2
4671 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4673 + move-result-object v2
4675 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4677 + move-result-object v2
4679 + invoke-static {v0, v2}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
4680 + :try_end_8f
4681 + .catch Ljava/lang/Exception; {:try_start_77 .. :try_end_8f} :catch_90
4683 + goto :goto_4f
4685 + :catch_90
4686 + move-exception v11
4688 + const-string v0, "PrivacyPersistenceAdapter"
4690 + new-instance v2, Ljava/lang/StringBuilder;
4692 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
4694 + const-string v3, "getValue - could not get value for name: "
4696 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4698 + move-result-object v2
4700 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4702 + move-result-object v2
4704 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4706 + move-result-object v2
4708 + invoke-static {v0, v2, v11}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
4710 + goto :goto_4f
4712 + :catchall_aa
4713 + move-exception v0
4715 + :try_start_ab
4716 + monitor-exit v2
4717 + :try_end_ac
4718 + .catchall {:try_start_ab .. :try_end_ac} :catchall_aa
4720 + throw v0
4721 +.end method
4723 +.method public purgeSettings()Z
4724 + .registers 28
4726 + const/16 v25, 0x1
4728 + new-instance v13, Ljava/util/ArrayList;
4730 + invoke-direct {v13}, Ljava/util/ArrayList;-><init>()V
4732 + move-object/from16 v0, p0
4734 + iget-object v2, v0, Landroid/privacy/PrivacyPersistenceAdapter;->context:Landroid/content/Context;
4736 + invoke-virtual {v2}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
4738 + move-result-object v21
4740 + const/16 v2, 0x80
4742 + move-object/from16 v0, v21
4744 + invoke-virtual {v0, v2}, Landroid/content/pm/PackageManager;->getInstalledApplications(I)Ljava/util/List;
4746 + move-result-object v19
4748 + invoke-interface/range {v19 .. v19}, Ljava/util/List;->iterator()Ljava/util/Iterator;
4750 + move-result-object v18
4752 + :goto_1b
4753 + invoke-interface/range {v18 .. v18}, Ljava/util/Iterator;->hasNext()Z
4755 + move-result v2
4757 + if-eqz v2, :cond_2d
4759 + invoke-interface/range {v18 .. v18}, Ljava/util/Iterator;->next()Ljava/lang/Object;
4761 + move-result-object v12
4763 + check-cast v12, Landroid/content/pm/ApplicationInfo;
4765 + iget-object v2, v12, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
4767 + invoke-interface {v13, v2}, Ljava/util/List;->add(Ljava/lang/Object;)Z
4769 + goto :goto_1b
4771 + :cond_2d
4772 + new-instance v26, Ljava/io/File;
4774 + const-string v2, "/data/system/privacy"
4776 + move-object/from16 v0, v26
4778 + invoke-direct {v0, v2}, Ljava/io/File;-><init>(Ljava/lang/String;)V
4780 + invoke-virtual/range {v26 .. v26}, Ljava/io/File;->listFiles()[Ljava/io/File;
4782 + move-result-object v15
4784 + array-length v0, v15
4786 + move/from16 v20, v0
4788 + const/16 v18, 0x0
4790 + :goto_3f
4791 + move/from16 v0, v18
4793 + move/from16 v1, v20
4795 + if-ge v0, v1, :cond_5d
4797 + aget-object v23, v15, v18
4799 + invoke-virtual/range {v23 .. v23}, Ljava/io/File;->getName()Ljava/lang/String;
4801 + move-result-object v24
4803 + move-object/from16 v0, v24
4805 + invoke-interface {v13, v0}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
4807 + move-result v2
4809 + if-nez v2, :cond_5a
4811 + move-object/from16 v0, p0
4813 + move-object/from16 v1, v23
4815 + invoke-direct {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteRecursive(Ljava/io/File;)V
4817 + :cond_5a
4818 + add-int/lit8 v18, v18, 0x1
4820 + goto :goto_3f
4822 + :cond_5d
4823 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4825 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4827 + invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
4829 + move-result v2
4831 + add-int/lit8 v2, v2, 0x1
4833 + invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4835 + move-result-object v2
4837 + sput-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4839 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
4841 + move-result-object v3
4843 + const/16 v16, 0x0
4845 + :try_start_73
4846 + const-string/jumbo v4, "settings"
4848 + const/4 v2, 0x1
4850 + new-array v5, v2, [Ljava/lang/String;
4852 + const/4 v2, 0x0
4854 + const-string/jumbo v6, "packageName"
4856 + aput-object v6, v5, v2
4858 + const/4 v6, 0x0
4860 + const/4 v7, 0x0
4862 + const/4 v8, 0x0
4864 + const/4 v9, 0x0
4866 + const/4 v10, 0x0
4868 + const/4 v11, 0x0
4870 + move-object/from16 v2, p0
4872 + invoke-direct/range {v2 .. v11}, Landroid/privacy/PrivacyPersistenceAdapter;->query(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;
4874 + move-result-object v16
4876 + new-instance v14, Ljava/util/ArrayList;
4878 + invoke-direct {v14}, Ljava/util/ArrayList;-><init>()V
4880 + :goto_90
4881 + invoke-interface/range {v16 .. v16}, Landroid/database/Cursor;->moveToNext()Z
4883 + move-result v2
4885 + if-eqz v2, :cond_142
4887 + const/4 v2, 0x0
4889 + move-object/from16 v0, v16
4891 + invoke-interface {v0, v2}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
4893 + move-result-object v24
4895 + move-object/from16 v0, v24
4897 + invoke-interface {v13, v0}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
4899 + move-result v2
4901 + if-nez v2, :cond_e7
4903 + move-object/from16 v0, p0
4905 + move-object/from16 v1, v24
4907 + invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteSettings(Ljava/lang/String;)Z
4908 + :try_end_ac
4909 + .catchall {:try_start_73 .. :try_end_ac} :catchall_107
4910 + .catch Ljava/lang/Exception; {:try_start_73 .. :try_end_ac} :catch_ad
4912 + goto :goto_90
4914 + :catch_ad
4915 + move-exception v17
4917 + :try_start_ae
4918 + const-string v2, "PrivacyPersistenceAdapter"
4920 + const-string/jumbo v4, "purgeSettings - purging DB failed"
4922 + move-object/from16 v0, v17
4924 + invoke-static {v2, v4, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
4925 + :try_end_b8
4926 + .catchall {:try_start_ae .. :try_end_b8} :catchall_107
4928 + const/16 v25, 0x0
4930 + if-eqz v16, :cond_bf
4932 + invoke-interface/range {v16 .. v16}, Landroid/database/Cursor;->close()V
4934 + :cond_bf
4935 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4937 + monitor-enter v4
4939 + :try_start_c2
4940 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4942 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4944 + invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
4946 + move-result v2
4948 + add-int/lit8 v2, v2, -0x1
4950 + invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4952 + move-result-object v2
4954 + sput-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4956 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4958 + invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
4960 + move-result v2
4962 + if-nez v2, :cond_e5
4964 + if-eqz v3, :cond_e5
4966 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
4968 + move-result v2
4970 + if-eqz v2, :cond_e5
4972 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->close()V
4974 + :cond_e5
4975 + monitor-exit v4
4976 + :try_end_e6
4977 + .catchall {:try_start_c2 .. :try_end_e6} :catchall_13f
4979 + :goto_e6
4980 + return v25
4982 + :cond_e7
4983 + :try_start_e7
4984 + move-object/from16 v0, v24
4986 + invoke-interface {v14, v0}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
4988 + move-result v2
4990 + if-eqz v2, :cond_135
4992 + const/4 v2, 0x0
4994 + move-object/from16 v0, p0
4996 + move-object/from16 v1, v24
4998 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacyPersistenceAdapter;->getSettings(Ljava/lang/String;Z)Landroid/privacy/PrivacySettings;
5000 + move-result-object v22
5002 + move-object/from16 v0, p0
5004 + move-object/from16 v1, v24
5006 + invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteSettings(Ljava/lang/String;)Z
5008 + move-object/from16 v0, p0
5010 + move-object/from16 v1, v22
5012 + invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->saveSettings(Landroid/privacy/PrivacySettings;)Z
5013 + :try_end_106
5014 + .catchall {:try_start_e7 .. :try_end_106} :catchall_107
5015 + .catch Ljava/lang/Exception; {:try_start_e7 .. :try_end_106} :catch_ad
5017 + goto :goto_90
5019 + :catchall_107
5020 + move-exception v2
5022 + if-eqz v16, :cond_10d
5024 + invoke-interface/range {v16 .. v16}, Landroid/database/Cursor;->close()V
5026 + :cond_10d
5027 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5029 + monitor-enter v4
5031 + :try_start_110
5032 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5034 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5036 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
5038 + move-result v5
5040 + add-int/lit8 v5, v5, -0x1
5042 + invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5044 + move-result-object v5
5046 + sput-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5048 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5050 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
5052 + move-result v5
5054 + if-nez v5, :cond_133
5056 + if-eqz v3, :cond_133
5058 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
5060 + move-result v5
5062 + if-eqz v5, :cond_133
5064 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->close()V
5066 + :cond_133
5067 + monitor-exit v4
5068 + :try_end_134
5069 + .catchall {:try_start_110 .. :try_end_134} :catchall_13c
5071 + throw v2
5073 + :cond_135
5074 + :try_start_135
5075 + move-object/from16 v0, v24
5077 + invoke-interface {v14, v0}, Ljava/util/List;->add(Ljava/lang/Object;)Z
5078 + :try_end_13a
5079 + .catchall {:try_start_135 .. :try_end_13a} :catchall_107
5080 + .catch Ljava/lang/Exception; {:try_start_135 .. :try_end_13a} :catch_ad
5082 + goto/16 :goto_90
5084 + :catchall_13c
5085 + move-exception v2
5087 + :try_start_13d
5088 + monitor-exit v4
5089 + :try_end_13e
5090 + .catchall {:try_start_13d .. :try_end_13e} :catchall_13c
5092 + throw v2
5094 + :catchall_13f
5095 + move-exception v2
5097 + :try_start_140
5098 + monitor-exit v4
5099 + :try_end_141
5100 + .catchall {:try_start_140 .. :try_end_141} :catchall_13f
5102 + throw v2
5104 + :cond_142
5105 + if-eqz v16, :cond_147
5107 + invoke-interface/range {v16 .. v16}, Landroid/database/Cursor;->close()V
5109 + :cond_147
5110 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5112 + monitor-enter v4
5114 + :try_start_14a
5115 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5117 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5119 + invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
5121 + move-result v2
5123 + add-int/lit8 v2, v2, -0x1
5125 + invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5127 + move-result-object v2
5129 + sput-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5131 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5133 + invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
5135 + move-result v2
5137 + if-nez v2, :cond_16d
5139 + if-eqz v3, :cond_16d
5141 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
5143 + move-result v2
5145 + if-eqz v2, :cond_16d
5147 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->close()V
5149 + :cond_16d
5150 + monitor-exit v4
5152 + goto/16 :goto_e6
5154 + :catchall_170
5155 + move-exception v2
5157 + monitor-exit v4
5158 + :try_end_172
5159 + .catchall {:try_start_14a .. :try_end_172} :catchall_170
5161 + throw v2
5162 +.end method
5164 +.method public declared-synchronized saveSettings(Landroid/privacy/PrivacySettings;)Z
5165 + .registers 27
5167 + monitor-enter p0
5169 + const/16 v18, 0x1
5171 + :try_start_3
5172 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getPackageName()Ljava/lang/String;
5174 + move-result-object v17
5176 + if-eqz v17, :cond_f
5178 + invoke-virtual/range {v17 .. v17}, Ljava/lang/String;->isEmpty()Z
5180 + move-result v3
5182 + if-eqz v3, :cond_1a
5184 + :cond_f
5185 + const-string v3, "PrivacyPersistenceAdapter"
5187 + const-string/jumbo v4, "saveSettings - either package name, UID or both is missing"
5189 + invoke-static {v3, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
5190 + :try_end_17
5191 + .catchall {:try_start_3 .. :try_end_17} :catchall_2c2
5193 + const/4 v3, 0x0
5195 + :goto_18
5196 + monitor-exit p0
5198 + return v3
5200 + :cond_1a
5201 + :try_start_1a
5202 + new-instance v23, Landroid/content/ContentValues;
5204 + invoke-direct/range {v23 .. v23}, Landroid/content/ContentValues;-><init>()V
5206 + const-string/jumbo v3, "packageName"
5208 + move-object/from16 v0, v23
5210 + move-object/from16 v1, v17
5212 + invoke-virtual {v0, v3, v1}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5214 + const-string/jumbo v3, "uid"
5216 + const/4 v4, -0x1
5218 + invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5220 + move-result-object v4
5222 + move-object/from16 v0, v23
5224 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
5226 + const-string v3, "deviceIdSetting"
5228 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
5230 + move-result v4
5232 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5234 + move-result-object v4
5236 + move-object/from16 v0, v23
5238 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5240 + const-string v3, "deviceId"
5242 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getDeviceId()Ljava/lang/String;
5244 + move-result-object v4
5246 + move-object/from16 v0, v23
5248 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5250 + const-string v3, "line1NumberSetting"
5252 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
5254 + move-result v4
5256 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5258 + move-result-object v4
5260 + move-object/from16 v0, v23
5262 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5264 + const-string v3, "line1Number"
5266 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLine1Number()Ljava/lang/String;
5268 + move-result-object v4
5270 + move-object/from16 v0, v23
5272 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5274 + const-string v3, "locationGpsSetting"
5276 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
5278 + move-result v4
5280 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5282 + move-result-object v4
5284 + move-object/from16 v0, v23
5286 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5288 + const-string v3, "locationGpsLat"
5290 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
5292 + move-result-object v4
5294 + move-object/from16 v0, v23
5296 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5298 + const-string v3, "locationGpsLon"
5300 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
5302 + move-result-object v4
5304 + move-object/from16 v0, v23
5306 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5308 + const-string v3, "locationNetworkSetting"
5310 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
5312 + move-result v4
5314 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5316 + move-result-object v4
5318 + move-object/from16 v0, v23
5320 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5322 + const-string v3, "locationNetworkLat"
5324 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
5326 + move-result-object v4
5328 + move-object/from16 v0, v23
5330 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5332 + const-string v3, "locationNetworkLon"
5334 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
5336 + move-result-object v4
5338 + move-object/from16 v0, v23
5340 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5342 + const-string/jumbo v3, "networkInfoSetting"
5344 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
5346 + move-result v4
5348 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5350 + move-result-object v4
5352 + move-object/from16 v0, v23
5354 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5356 + const-string/jumbo v3, "simInfoSetting"
5358 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSimInfoSetting()B
5360 + move-result v4
5362 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5364 + move-result-object v4
5366 + move-object/from16 v0, v23
5368 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5370 + const-string/jumbo v3, "simSerialNumberSetting"
5372 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSimSerialNumberSetting()B
5374 + move-result v4
5376 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5378 + move-result-object v4
5380 + move-object/from16 v0, v23
5382 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5384 + const-string/jumbo v3, "simSerialNumber"
5386 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSimSerialNumber()Ljava/lang/String;
5388 + move-result-object v4
5390 + move-object/from16 v0, v23
5392 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5394 + const-string/jumbo v3, "subscriberIdSetting"
5396 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSubscriberIdSetting()B
5398 + move-result v4
5400 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5402 + move-result-object v4
5404 + move-object/from16 v0, v23
5406 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5408 + const-string/jumbo v3, "subscriberId"
5410 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSubscriberId()Ljava/lang/String;
5412 + move-result-object v4
5414 + move-object/from16 v0, v23
5416 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5418 + const-string v3, "accountsSetting"
5420 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
5422 + move-result v4
5424 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5426 + move-result-object v4
5428 + move-object/from16 v0, v23
5430 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5432 + const-string v3, "accountsAuthTokensSetting"
5434 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
5436 + move-result v4
5438 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5440 + move-result-object v4
5442 + move-object/from16 v0, v23
5444 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5446 + const-string/jumbo v3, "outgoingCallsSetting"
5448 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getOutgoingCallsSetting()B
5450 + move-result v4
5452 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5454 + move-result-object v4
5456 + move-object/from16 v0, v23
5458 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5460 + const-string v3, "incomingCallsSetting"
5462 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getIncomingCallsSetting()B
5464 + move-result v4
5466 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5468 + move-result-object v4
5470 + move-object/from16 v0, v23
5472 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5474 + const-string v3, "contactsSetting"
5476 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getContactsSetting()B
5478 + move-result v4
5480 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5482 + move-result-object v4
5484 + move-object/from16 v0, v23
5486 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5488 + const-string v3, "calendarSetting"
5490 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getCalendarSetting()B
5492 + move-result v4
5494 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5496 + move-result-object v4
5498 + move-object/from16 v0, v23
5500 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5502 + const-string/jumbo v3, "mmsSetting"
5504 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getMmsSetting()B
5506 + move-result v4
5508 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5510 + move-result-object v4
5512 + move-object/from16 v0, v23
5514 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5516 + const-string/jumbo v3, "smsSetting"
5518 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSmsSetting()B
5520 + move-result v4
5522 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5524 + move-result-object v4
5526 + move-object/from16 v0, v23
5528 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5530 + const-string v3, "callLogSetting"
5532 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getCallLogSetting()B
5534 + move-result v4
5536 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5538 + move-result-object v4
5540 + move-object/from16 v0, v23
5542 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5544 + const-string v3, "bookmarksSetting"
5546 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getBookmarksSetting()B
5548 + move-result v4
5550 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5552 + move-result-object v4
5554 + move-object/from16 v0, v23
5556 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5558 + const-string/jumbo v3, "systemLogsSetting"
5560 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSystemLogsSetting()B
5562 + move-result v4
5564 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5566 + move-result-object v4
5568 + move-object/from16 v0, v23
5570 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5572 + const-string/jumbo v3, "notificationSetting"
5574 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getNotificationSetting()B
5576 + move-result v4
5578 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5580 + move-result-object v4
5582 + move-object/from16 v0, v23
5584 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5586 + const-string v3, "intentBootCompletedSetting"
5588 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getIntentBootCompletedSetting()B
5590 + move-result v4
5592 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5594 + move-result-object v4
5596 + move-object/from16 v0, v23
5598 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5600 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5602 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5604 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
5606 + move-result v3
5608 + add-int/lit8 v3, v3, 0x1
5610 + invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5612 + move-result-object v3
5614 + sput-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5616 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
5618 + move-result-object v2
5620 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->beginTransaction()V
5621 + :try_end_1eb
5622 + .catchall {:try_start_1a .. :try_end_1eb} :catchall_2c2
5624 + const/4 v11, 0x0
5626 + :try_start_1ec
5627 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->get_id()Ljava/lang/Integer;
5629 + move-result-object v15
5631 + if-eqz v15, :cond_2c8
5633 + const-string/jumbo v3, "settings"
5635 + const-string v4, "_id=?"
5637 + const/4 v5, 0x1
5639 + new-array v5, v5, [Ljava/lang/String;
5641 + const/4 v6, 0x0
5643 + invoke-virtual {v15}, Ljava/lang/Integer;->toString()Ljava/lang/String;
5645 + move-result-object v7
5647 + aput-object v7, v5, v6
5649 + move-object/from16 v0, v23
5651 + invoke-virtual {v2, v3, v0, v4, v5}, Landroid/database/sqlite/SQLiteDatabase;->update(Ljava/lang/String;Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;)I
5653 + move-result v3
5655 + const/4 v4, 0x1
5657 + if-ge v3, v4, :cond_249
5659 + new-instance v3, Ljava/lang/Exception;
5661 + const-string/jumbo v4, "saveSettings - failed to update database entry"
5663 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
5665 + throw v3
5666 + :try_end_213
5667 + .catchall {:try_start_1ec .. :try_end_213} :catchall_291
5668 + .catch Ljava/lang/Exception; {:try_start_1ec .. :try_end_213} :catch_213
5670 + :catch_213
5671 + move-exception v13
5673 + const/16 v18, 0x0
5675 + :try_start_216
5676 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
5678 + if-eqz v11, :cond_21e
5680 + invoke-interface {v11}, Landroid/database/Cursor;->close()V
5682 + :cond_21e
5683 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5685 + monitor-enter v4
5686 + :try_end_221
5687 + .catchall {:try_start_216 .. :try_end_221} :catchall_2c2
5689 + :try_start_221
5690 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5692 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5694 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
5696 + move-result v3
5698 + add-int/lit8 v3, v3, -0x1
5700 + invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5702 + move-result-object v3
5704 + sput-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5706 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5708 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
5710 + move-result v3
5712 + if-nez v3, :cond_244
5714 + if-eqz v2, :cond_244
5716 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
5718 + move-result v3
5720 + if-eqz v3, :cond_244
5722 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
5724 + :cond_244
5725 + monitor-exit v4
5726 + :try_end_245
5727 + .catchall {:try_start_221 .. :try_end_245} :catchall_4ca
5729 + :goto_245
5730 + move/from16 v3, v18
5732 + goto/16 :goto_18
5734 + :cond_249
5735 + :try_start_249
5736 + const-string v3, "allowed_contacts"
5738 + const-string/jumbo v4, "settings_id=?"
5740 + const/4 v5, 0x1
5742 + new-array v5, v5, [Ljava/lang/String;
5744 + const/4 v6, 0x0
5746 + invoke-virtual {v15}, Ljava/lang/Integer;->toString()Ljava/lang/String;
5748 + move-result-object v7
5750 + aput-object v7, v5, v6
5752 + invoke-virtual {v2, v3, v4, v5}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
5754 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAllowedContacts()[I
5756 + move-result-object v10
5758 + if-eqz v10, :cond_3f2
5760 + new-instance v12, Landroid/content/ContentValues;
5762 + invoke-direct {v12}, Landroid/content/ContentValues;-><init>()V
5764 + const/4 v14, 0x0
5766 + :goto_267
5767 + array-length v3, v10
5769 + if-ge v14, v3, :cond_3f2
5771 + const-string/jumbo v3, "settings_id"
5773 + invoke-virtual {v12, v3, v15}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
5775 + const-string v3, "contact_id"
5777 + aget v4, v10, v14
5779 + invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5781 + move-result-object v4
5783 + invoke-virtual {v12, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
5785 + const-string v3, "allowed_contacts"
5787 + const/4 v4, 0x0
5789 + invoke-virtual {v2, v3, v4, v12}, Landroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
5791 + move-result-wide v3
5793 + const-wide/16 v5, -0x1
5795 + cmp-long v3, v3, v5
5797 + if-nez v3, :cond_2c5
5799 + new-instance v3, Ljava/lang/Exception;
5801 + const-string/jumbo v4, "saveSettings - failed to update database entry (contacts)"
5803 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
5805 + throw v3
5806 + :try_end_291
5807 + .catchall {:try_start_249 .. :try_end_291} :catchall_291
5808 + .catch Ljava/lang/Exception; {:try_start_249 .. :try_end_291} :catch_213
5810 + :catchall_291
5811 + move-exception v3
5813 + :try_start_292
5814 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
5816 + if-eqz v11, :cond_29a
5818 + invoke-interface {v11}, Landroid/database/Cursor;->close()V
5820 + :cond_29a
5821 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5823 + monitor-enter v4
5824 + :try_end_29d
5825 + .catchall {:try_start_292 .. :try_end_29d} :catchall_2c2
5827 + :try_start_29d
5828 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5830 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5832 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
5834 + move-result v5
5836 + add-int/lit8 v5, v5, -0x1
5838 + invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5840 + move-result-object v5
5842 + sput-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5844 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5846 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
5848 + move-result v5
5850 + if-nez v5, :cond_2c0
5852 + if-eqz v2, :cond_2c0
5854 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
5856 + move-result v5
5858 + if-eqz v5, :cond_2c0
5860 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
5862 + :cond_2c0
5863 + monitor-exit v4
5864 + :try_end_2c1
5865 + .catchall {:try_start_29d .. :try_end_2c1} :catchall_4cd
5867 + :try_start_2c1
5868 + throw v3
5869 + :try_end_2c2
5870 + .catchall {:try_start_2c1 .. :try_end_2c2} :catchall_2c2
5872 + :catchall_2c2
5873 + move-exception v3
5875 + monitor-exit p0
5877 + throw v3
5879 + :cond_2c5
5880 + add-int/lit8 v14, v14, 0x1
5882 + goto :goto_267
5884 + :cond_2c8
5885 + :try_start_2c8
5886 + const-string/jumbo v3, "settings"
5888 + const/4 v4, 0x1
5890 + new-array v4, v4, [Ljava/lang/String;
5892 + const/4 v5, 0x0
5894 + const-string v6, "_id"
5896 + aput-object v6, v4, v5
5898 + const-string/jumbo v5, "packageName=?"
5900 + const/4 v6, 0x1
5902 + new-array v6, v6, [Ljava/lang/String;
5904 + const/4 v7, 0x0
5906 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getPackageName()Ljava/lang/String;
5908 + move-result-object v8
5910 + aput-object v8, v6, v7
5912 + const/4 v7, 0x0
5914 + const/4 v8, 0x0
5916 + const/4 v9, 0x0
5918 + invoke-virtual/range {v2 .. v9}, Landroid/database/sqlite/SQLiteDatabase;->query(Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;
5920 + move-result-object v11
5922 + if-eqz v11, :cond_3e7
5924 + invoke-interface {v11}, Landroid/database/Cursor;->getCount()I
5926 + move-result v3
5928 + const/4 v4, 0x1
5930 + if-ne v3, v4, :cond_36e
5932 + const-string/jumbo v3, "settings"
5934 + const-string/jumbo v4, "packageName=?"
5936 + const/4 v5, 0x1
5938 + new-array v5, v5, [Ljava/lang/String;
5940 + const/4 v6, 0x0
5942 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getPackageName()Ljava/lang/String;
5944 + move-result-object v7
5946 + aput-object v7, v5, v6
5948 + move-object/from16 v0, v23
5950 + invoke-virtual {v2, v3, v0, v4, v5}, Landroid/database/sqlite/SQLiteDatabase;->update(Ljava/lang/String;Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;)I
5952 + move-result v3
5954 + const/4 v4, 0x1
5956 + if-ge v3, v4, :cond_312
5958 + new-instance v3, Ljava/lang/Exception;
5960 + const-string/jumbo v4, "saveSettings - failed to update database entry"
5962 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
5964 + throw v3
5966 + :cond_312
5967 + invoke-interface {v11}, Landroid/database/Cursor;->moveToFirst()Z
5969 + move-result v3
5971 + if-eqz v3, :cond_3f2
5973 + const/4 v3, 0x0
5975 + invoke-interface {v11, v3}, Landroid/database/Cursor;->getInt(I)I
5977 + move-result v3
5979 + invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5981 + move-result-object v16
5983 + const-string v3, "allowed_contacts"
5985 + const-string/jumbo v4, "settings_id=?"
5987 + const/4 v5, 0x1
5989 + new-array v5, v5, [Ljava/lang/String;
5991 + const/4 v6, 0x0
5993 + invoke-virtual/range {v16 .. v16}, Ljava/lang/Integer;->toString()Ljava/lang/String;
5995 + move-result-object v7
5997 + aput-object v7, v5, v6
5999 + invoke-virtual {v2, v3, v4, v5}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
6001 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAllowedContacts()[I
6003 + move-result-object v10
6005 + if-eqz v10, :cond_3f2
6007 + new-instance v12, Landroid/content/ContentValues;
6009 + invoke-direct {v12}, Landroid/content/ContentValues;-><init>()V
6011 + const/4 v14, 0x0
6013 + :goto_33f
6014 + array-length v3, v10
6016 + if-ge v14, v3, :cond_3f2
6018 + const-string/jumbo v3, "settings_id"
6020 + move-object/from16 v0, v16
6022 + invoke-virtual {v12, v3, v0}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
6024 + const-string v3, "contact_id"
6026 + aget v4, v10, v14
6028 + invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
6030 + move-result-object v4
6032 + invoke-virtual {v12, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
6034 + const-string v3, "allowed_contacts"
6036 + const/4 v4, 0x0
6038 + invoke-virtual {v2, v3, v4, v12}, Landroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
6040 + move-result-wide v3
6042 + const-wide/16 v5, -0x1
6044 + cmp-long v3, v3, v5
6046 + if-nez v3, :cond_36b
6048 + new-instance v3, Ljava/lang/Exception;
6050 + const-string/jumbo v4, "saveSettings - failed to update database entry (contacts)"
6052 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
6054 + throw v3
6056 + :cond_36b
6057 + add-int/lit8 v14, v14, 0x1
6059 + goto :goto_33f
6061 + :cond_36e
6062 + invoke-interface {v11}, Landroid/database/Cursor;->getCount()I
6064 + move-result v3
6066 + if-nez v3, :cond_3dc
6068 + const-string/jumbo v3, "settings"
6070 + const/4 v4, 0x0
6072 + move-object/from16 v0, v23
6074 + invoke-virtual {v2, v3, v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
6076 + move-result-wide v19
6078 + const-wide/16 v3, -0x1
6080 + cmp-long v3, v19, v3
6082 + if-nez v3, :cond_38d
6084 + new-instance v3, Ljava/lang/Exception;
6086 + const-string/jumbo v4, "saveSettings - failed to insert new record into DB"
6088 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
6090 + throw v3
6092 + :cond_38d
6093 + const-string v3, "allowed_contacts"
6095 + const-string/jumbo v4, "settings_id=?"
6097 + const/4 v5, 0x1
6099 + new-array v5, v5, [Ljava/lang/String;
6101 + const/4 v6, 0x0
6103 + invoke-static/range {v19 .. v20}, Ljava/lang/Long;->toString(J)Ljava/lang/String;
6105 + move-result-object v7
6107 + aput-object v7, v5, v6
6109 + invoke-virtual {v2, v3, v4, v5}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
6111 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAllowedContacts()[I
6113 + move-result-object v10
6115 + if-eqz v10, :cond_3f2
6117 + new-instance v12, Landroid/content/ContentValues;
6119 + invoke-direct {v12}, Landroid/content/ContentValues;-><init>()V
6121 + const/4 v14, 0x0
6123 + :goto_3ab
6124 + array-length v3, v10
6126 + if-ge v14, v3, :cond_3f2
6128 + const-string/jumbo v3, "settings_id"
6130 + invoke-static/range {v19 .. v20}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
6132 + move-result-object v4
6134 + invoke-virtual {v12, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Long;)V
6136 + const-string v3, "contact_id"
6138 + aget v4, v10, v14
6140 + invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
6142 + move-result-object v4
6144 + invoke-virtual {v12, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
6146 + const-string v3, "allowed_contacts"
6148 + const/4 v4, 0x0
6150 + invoke-virtual {v2, v3, v4, v12}, Landroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
6152 + move-result-wide v3
6154 + const-wide/16 v5, -0x1
6156 + cmp-long v3, v3, v5
6158 + if-nez v3, :cond_3d9
6160 + new-instance v3, Ljava/lang/Exception;
6162 + const-string/jumbo v4, "saveSettings - failed to update database entry (contacts)"
6164 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
6166 + throw v3
6168 + :cond_3d9
6169 + add-int/lit8 v14, v14, 0x1
6171 + goto :goto_3ab
6173 + :cond_3dc
6174 + const/16 v18, 0x0
6176 + new-instance v3, Ljava/lang/Exception;
6178 + const-string/jumbo v4, "saveSettings - duplicate entries in the privacy.db"
6180 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
6182 + throw v3
6184 + :cond_3e7
6185 + const/16 v18, 0x0
6187 + new-instance v3, Ljava/lang/Exception;
6189 + const-string/jumbo v4, "saveSettings - cursor is null, database access failed"
6191 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
6193 + throw v3
6195 + :cond_3f2
6196 + new-instance v21, Ljava/io/File;
6198 + new-instance v3, Ljava/lang/StringBuilder;
6200 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
6202 + const-string v4, "/data/system/privacy/"
6204 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6206 + move-result-object v3
6208 + move-object/from16 v0, v17
6210 + invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6212 + move-result-object v3
6214 + const-string v4, "/"
6216 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6218 + move-result-object v3
6220 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6222 + move-result-object v3
6224 + move-object/from16 v0, v21
6226 + invoke-direct {v0, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
6228 + new-instance v22, Ljava/io/File;
6230 + new-instance v3, Ljava/lang/StringBuilder;
6232 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
6234 + const-string v4, "/data/system/privacy/"
6236 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6238 + move-result-object v3
6240 + move-object/from16 v0, v17
6242 + invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6244 + move-result-object v3
6246 + const-string v4, "/"
6248 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6250 + move-result-object v3
6252 + const-string v4, "/systemLogsSetting"
6254 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6256 + move-result-object v3
6258 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6260 + move-result-object v3
6262 + move-object/from16 v0, v22
6264 + invoke-direct {v0, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
6265 + :try_end_43c
6266 + .catchall {:try_start_2c8 .. :try_end_43c} :catchall_291
6267 + .catch Ljava/lang/Exception; {:try_start_2c8 .. :try_end_43c} :catch_213
6269 + :try_start_43c
6270 + invoke-virtual/range {v21 .. v21}, Ljava/io/File;->mkdirs()Z
6272 + const/4 v3, 0x1
6274 + const/4 v4, 0x0
6276 + move-object/from16 v0, v21
6278 + invoke-virtual {v0, v3, v4}, Ljava/io/File;->setReadable(ZZ)Z
6280 + const/4 v3, 0x1
6282 + const/4 v4, 0x0
6284 + move-object/from16 v0, v21
6286 + invoke-virtual {v0, v3, v4}, Ljava/io/File;->setExecutable(ZZ)Z
6288 + invoke-virtual/range {v22 .. v22}, Ljava/io/File;->createNewFile()Z
6290 + const/4 v3, 0x1
6292 + const/4 v4, 0x0
6294 + move-object/from16 v0, v22
6296 + invoke-virtual {v0, v3, v4}, Ljava/io/File;->setReadable(ZZ)Z
6298 + new-instance v24, Ljava/io/OutputStreamWriter;
6300 + new-instance v3, Ljava/io/FileOutputStream;
6302 + move-object/from16 v0, v22
6304 + invoke-direct {v3, v0}, Ljava/io/FileOutputStream;-><init>(Ljava/io/File;)V
6306 + move-object/from16 v0, v24
6308 + invoke-direct {v0, v3}, Ljava/io/OutputStreamWriter;-><init>(Ljava/io/OutputStream;)V
6310 + new-instance v3, Ljava/lang/StringBuilder;
6312 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
6314 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSystemLogsSetting()B
6316 + move-result v4
6318 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
6320 + move-result-object v3
6322 + const-string v4, ""
6324 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6326 + move-result-object v3
6328 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6330 + move-result-object v3
6332 + move-object/from16 v0, v24
6334 + invoke-virtual {v0, v3}, Ljava/io/OutputStreamWriter;->append(Ljava/lang/CharSequence;)Ljava/io/Writer;
6336 + invoke-virtual/range {v24 .. v24}, Ljava/io/OutputStreamWriter;->flush()V
6338 + invoke-virtual/range {v24 .. v24}, Ljava/io/OutputStreamWriter;->close()V
6339 + :try_end_487
6340 + .catchall {:try_start_43c .. :try_end_487} :catchall_291
6341 + .catch Ljava/io/IOException; {:try_start_43c .. :try_end_487} :catch_4be
6342 + .catch Ljava/lang/Exception; {:try_start_43c .. :try_end_487} :catch_213
6344 + :try_start_487
6345 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->setTransactionSuccessful()V
6346 + :try_end_48a
6347 + .catchall {:try_start_487 .. :try_end_48a} :catchall_291
6348 + .catch Ljava/lang/Exception; {:try_start_487 .. :try_end_48a} :catch_213
6350 + :try_start_48a
6351 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
6353 + if-eqz v11, :cond_492
6355 + invoke-interface {v11}, Landroid/database/Cursor;->close()V
6357 + :cond_492
6358 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6360 + monitor-enter v4
6361 + :try_end_495
6362 + .catchall {:try_start_48a .. :try_end_495} :catchall_2c2
6364 + :try_start_495
6365 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6367 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6369 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
6371 + move-result v3
6373 + add-int/lit8 v3, v3, -0x1
6375 + invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
6377 + move-result-object v3
6379 + sput-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6381 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6383 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
6385 + move-result v3
6387 + if-nez v3, :cond_4b8
6389 + if-eqz v2, :cond_4b8
6391 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
6393 + move-result v3
6395 + if-eqz v3, :cond_4b8
6397 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
6399 + :cond_4b8
6400 + monitor-exit v4
6402 + goto/16 :goto_245
6404 + :catchall_4bb
6405 + move-exception v3
6407 + monitor-exit v4
6408 + :try_end_4bd
6409 + .catchall {:try_start_495 .. :try_end_4bd} :catchall_4bb
6411 + :try_start_4bd
6412 + throw v3
6413 + :try_end_4be
6414 + .catchall {:try_start_4bd .. :try_end_4be} :catchall_2c2
6416 + :catch_4be
6417 + move-exception v13
6419 + const/16 v18, 0x0
6421 + :try_start_4c1
6422 + new-instance v3, Ljava/lang/Exception;
6424 + const-string/jumbo v4, "saveSettings - could not write settings to file"
6426 + invoke-direct {v3, v4, v13}, Ljava/lang/Exception;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
6428 + throw v3
6429 + :try_end_4ca
6430 + .catchall {:try_start_4c1 .. :try_end_4ca} :catchall_291
6431 + .catch Ljava/lang/Exception; {:try_start_4c1 .. :try_end_4ca} :catch_213
6433 + :catchall_4ca
6434 + move-exception v3
6436 + :try_start_4cb
6437 + monitor-exit v4
6438 + :try_end_4cc
6439 + .catchall {:try_start_4cb .. :try_end_4cc} :catchall_4ca
6441 + :try_start_4cc
6442 + throw v3
6443 + :try_end_4cd
6444 + .catchall {:try_start_4cc .. :try_end_4cd} :catchall_2c2
6446 + :catchall_4cd
6447 + move-exception v3
6449 + :try_start_4ce
6450 + monitor-exit v4
6451 + :try_end_4cf
6452 + .catchall {:try_start_4ce .. :try_end_4cf} :catchall_4cd
6454 + :try_start_4cf
6455 + throw v3
6456 + :try_end_4d0
6457 + .catchall {:try_start_4cf .. :try_end_4d0} :catchall_2c2
6458 +.end method
6460 +.method public declared-synchronized setValue(Ljava/lang/String;Ljava/lang/String;)Z
6461 + .registers 10
6463 + monitor-enter p0
6465 + :try_start_1
6466 + const-string v3, "PrivacyPersistenceAdapter"
6468 + new-instance v4, Ljava/lang/StringBuilder;
6470 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
6472 + const-string/jumbo v5, "setValue - name "
6474 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6476 + move-result-object v4
6478 + invoke-virtual {v4, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6480 + move-result-object v4
6482 + const-string v5, " value "
6484 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6486 + move-result-object v4
6488 + invoke-virtual {v4, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6490 + move-result-object v4
6492 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6494 + move-result-object v4
6496 + invoke-static {v3, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
6498 + new-instance v2, Landroid/content/ContentValues;
6500 + invoke-direct {v2}, Landroid/content/ContentValues;-><init>()V
6502 + const-string/jumbo v3, "name"
6504 + invoke-virtual {v2, v3, p1}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
6506 + const-string/jumbo v3, "value"
6508 + invoke-virtual {v2, v3, p2}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
6510 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
6512 + move-result-object v0
6514 + const-string/jumbo v3, "map"
6516 + const/4 v4, 0x0
6518 + invoke-virtual {v0, v3, v4, v2}, Landroid/database/sqlite/SQLiteDatabase;->replace(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
6520 + move-result-wide v3
6522 + const-wide/16 v5, -0x1
6524 + cmp-long v3, v3, v5
6526 + if-eqz v3, :cond_5d
6528 + const/4 v1, 0x1
6530 + :goto_48
6531 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6533 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
6535 + move-result v3
6537 + if-nez v3, :cond_5b
6539 + if-eqz v0, :cond_5b
6541 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
6543 + move-result v3
6545 + if-eqz v3, :cond_5b
6547 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
6548 + :try_end_5b
6549 + .catchall {:try_start_1 .. :try_end_5b} :catchall_5f
6551 + :cond_5b
6552 + monitor-exit p0
6554 + return v1
6556 + :cond_5d
6557 + const/4 v1, 0x0
6559 + goto :goto_48
6561 + :catchall_5f
6562 + move-exception v3
6564 + monitor-exit p0
6566 + throw v3
6567 +.end method
6568 diff -Npru stock-framework/smali/android/privacy/PrivacySettings$1.smali pdroid-framework/smali/android/privacy/PrivacySettings$1.smali
6569 --- stock-framework/smali/android/privacy/PrivacySettings$1.smali 1969-12-31 18:00:00.000000000 -0600
6570 +++ pdroid-framework/smali/android/privacy/PrivacySettings$1.smali 2012-10-05 10:15:48.433126881 -0500
6571 @@ -0,0 +1,77 @@
6572 +.class final Landroid/privacy/PrivacySettings$1;
6573 +.super Ljava/lang/Object;
6574 +.source "PrivacySettings.java"
6576 +# interfaces
6577 +.implements Landroid/os/Parcelable$Creator;
6580 +# annotations
6581 +.annotation system Ldalvik/annotation/EnclosingClass;
6582 + value = Landroid/privacy/PrivacySettings;
6583 +.end annotation
6585 +.annotation system Ldalvik/annotation/InnerClass;
6586 + accessFlags = 0x8
6587 + name = null
6588 +.end annotation
6590 +.annotation system Ldalvik/annotation/Signature;
6591 + value = {
6592 + "Ljava/lang/Object;",
6593 + "Landroid/os/Parcelable$Creator",
6594 + "<",
6595 + "Landroid/privacy/PrivacySettings;",
6596 + ">;"
6598 +.end annotation
6601 +# direct methods
6602 +.method constructor <init>()V
6603 + .registers 1
6605 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
6607 + return-void
6608 +.end method
6611 +# virtual methods
6612 +.method public createFromParcel(Landroid/os/Parcel;)Landroid/privacy/PrivacySettings;
6613 + .registers 3
6615 + new-instance v0, Landroid/privacy/PrivacySettings;
6617 + invoke-direct {v0, p1}, Landroid/privacy/PrivacySettings;-><init>(Landroid/os/Parcel;)V
6619 + return-object v0
6620 +.end method
6622 +.method public bridge synthetic createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
6623 + .registers 3
6625 + invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettings$1;->createFromParcel(Landroid/os/Parcel;)Landroid/privacy/PrivacySettings;
6627 + move-result-object v0
6629 + return-object v0
6630 +.end method
6632 +.method public newArray(I)[Landroid/privacy/PrivacySettings;
6633 + .registers 3
6635 + new-array v0, p1, [Landroid/privacy/PrivacySettings;
6637 + return-object v0
6638 +.end method
6640 +.method public bridge synthetic newArray(I)[Ljava/lang/Object;
6641 + .registers 3
6643 + invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettings$1;->newArray(I)[Landroid/privacy/PrivacySettings;
6645 + move-result-object v0
6647 + return-object v0
6648 +.end method
6649 diff -Npru stock-framework/smali/android/privacy/PrivacySettingsManagerService.smali pdroid-framework/smali/android/privacy/PrivacySettingsManagerService.smali
6650 --- stock-framework/smali/android/privacy/PrivacySettingsManagerService.smali 1969-12-31 18:00:00.000000000 -0600
6651 +++ pdroid-framework/smali/android/privacy/PrivacySettingsManagerService.smali 2012-10-05 10:15:48.437126896 -0500
6652 @@ -0,0 +1,535 @@
6653 +.class public Landroid/privacy/PrivacySettingsManagerService;
6654 +.super Landroid/privacy/IPrivacySettingsManager$Stub;
6655 +.source "PrivacySettingsManagerService.java"
6658 +# static fields
6659 +.field private static final TAG:Ljava/lang/String; = "PrivacySettingsManagerService"
6661 +.field private static final VERSION:D = 1.32
6663 +.field private static final WRITE_PRIVACY_SETTINGS:Ljava/lang/String; = "android.privacy.WRITE_PRIVACY_SETTINGS"
6665 +.field public static obs:Landroid/privacy/PrivacyFileObserver;
6668 +# instance fields
6669 +.field private bootCompleted:Z
6671 +.field private context:Landroid/content/Context;
6673 +.field private enabled:Z
6675 +.field private notificationsEnabled:Z
6677 +.field private persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
6680 +# direct methods
6681 +.method public constructor <init>(Landroid/content/Context;)V
6682 + .registers 5
6684 + invoke-direct {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;-><init>()V
6686 + const-string v0, "PrivacySettingsManagerService"
6688 + new-instance v1, Ljava/lang/StringBuilder;
6690 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
6692 + const-string v2, "PrivacySettingsManagerService - initializing for package: "
6694 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6696 + move-result-object v1
6698 + invoke-virtual {p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
6700 + move-result-object v2
6702 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6704 + move-result-object v1
6706 + const-string v2, " UID: "
6708 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6710 + move-result-object v1
6712 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
6714 + move-result v2
6716 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
6718 + move-result-object v1
6720 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6722 + move-result-object v1
6724 + invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
6726 + iput-object p1, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
6728 + new-instance v0, Landroid/privacy/PrivacyPersistenceAdapter;
6730 + invoke-direct {v0, p1}, Landroid/privacy/PrivacyPersistenceAdapter;-><init>(Landroid/content/Context;)V
6732 + iput-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
6734 + new-instance v0, Landroid/privacy/PrivacyFileObserver;
6736 + const-string v1, "/data/system/privacy"
6738 + invoke-direct {v0, v1, p0}, Landroid/privacy/PrivacyFileObserver;-><init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
6740 + sput-object v0, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
6742 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
6744 + const-string v1, "enabled"
6746 + invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->getValue(Ljava/lang/String;)Ljava/lang/String;
6748 + move-result-object v0
6750 + const-string v1, "1"
6752 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
6754 + move-result v0
6756 + iput-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->enabled:Z
6758 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
6760 + const-string/jumbo v1, "notifications_enabled"
6762 + invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->getValue(Ljava/lang/String;)Ljava/lang/String;
6764 + move-result-object v0
6766 + const-string v1, "1"
6768 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
6770 + move-result v0
6772 + iput-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->notificationsEnabled:Z
6774 + const/4 v0, 0x0
6776 + iput-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->bootCompleted:Z
6778 + return-void
6779 +.end method
6782 +# virtual methods
6783 +.method public addObserver(Ljava/lang/String;)V
6784 + .registers 5
6786 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
6788 + const-string v1, "android.privacy.WRITE_PRIVACY_SETTINGS"
6790 + const-string v2, "Requires WRITE_PRIVACY_SETTINGS"
6792 + invoke-virtual {v0, v1, v2}, Landroid/content/Context;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
6794 + sget-object v0, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
6796 + invoke-virtual {v0, p1}, Landroid/privacy/PrivacyFileObserver;->addObserver(Ljava/lang/String;)V
6798 + return-void
6799 +.end method
6801 +.method public deleteSettings(Ljava/lang/String;)Z
6802 + .registers 8
6804 + const/4 v5, 0x1
6806 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
6808 + move-result v2
6810 + const/16 v3, 0x3e8
6812 + if-eq v2, v3, :cond_12
6814 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
6816 + const-string v3, "android.privacy.WRITE_PRIVACY_SETTINGS"
6818 + const-string v4, "Requires WRITE_PRIVACY_SETTINGS"
6820 + invoke-virtual {v2, v3, v4}, Landroid/content/Context;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
6822 + :cond_12
6823 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
6825 + invoke-virtual {v2, p1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteSettings(Ljava/lang/String;)Z
6827 + move-result v1
6829 + new-instance v2, Ljava/lang/StringBuilder;
6831 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
6833 + const-string v3, "/data/system/privacy/"
6835 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6837 + move-result-object v2
6839 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6841 + move-result-object v2
6843 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6845 + move-result-object v0
6847 + new-instance v2, Ljava/io/File;
6849 + invoke-direct {v2, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
6851 + invoke-virtual {v2}, Ljava/io/File;->exists()Z
6853 + move-result v2
6855 + if-eqz v2, :cond_3e
6857 + if-ne v1, v5, :cond_3e
6859 + sget-object v2, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
6861 + invoke-virtual {v2, v0}, Landroid/privacy/PrivacyFileObserver;->addObserver(Ljava/lang/String;)V
6863 + :cond_3d
6864 + :goto_3d
6865 + return v1
6867 + :cond_3e
6868 + if-ne v1, v5, :cond_3d
6870 + sget-object v2, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
6872 + iget-object v2, v2, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap;
6874 + invoke-virtual {v2, v0}, Ljava/util/HashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
6876 + goto :goto_3d
6877 +.end method
6879 +.method public getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
6880 + .registers 4
6882 + iget-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->enabled:Z
6884 + if-nez v0, :cond_12
6886 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
6888 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
6890 + move-result-object v0
6892 + const-string v1, "com.privacy.pdroid"
6894 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
6896 + move-result v0
6898 + if-eqz v0, :cond_1a
6900 + :cond_12
6901 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
6903 + const/4 v1, 0x0
6905 + invoke-virtual {v0, p1, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->getSettings(Ljava/lang/String;Z)Landroid/privacy/PrivacySettings;
6907 + move-result-object v0
6909 + :goto_19
6910 + return-object v0
6912 + :cond_1a
6913 + const/4 v0, 0x0
6915 + goto :goto_19
6916 +.end method
6918 +.method public getVersion()D
6919 + .registers 3
6921 + const-wide v0, 0x3ff51eb851eb851fL
6923 + return-wide v0
6924 +.end method
6926 +.method public notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
6927 + .registers 8
6929 + iget-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->bootCompleted:Z
6931 + if-eqz v1, :cond_34
6933 + iget-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->notificationsEnabled:Z
6935 + if-eqz v1, :cond_34
6937 + new-instance v0, Landroid/content/Intent;
6939 + invoke-direct {v0}, Landroid/content/Intent;-><init>()V
6941 + const-string v1, "com.privacy.pdroid.PRIVACY_NOTIFICATION"
6943 + invoke-virtual {v0, v1}, Landroid/content/Intent;->setAction(Ljava/lang/String;)Landroid/content/Intent;
6945 + const-string/jumbo v1, "packageName"
6947 + invoke-virtual {v0, v1, p1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
6949 + const-string/jumbo v1, "uid"
6951 + const/4 v2, -0x1
6953 + invoke-virtual {v0, v1, v2}, Landroid/content/Intent;->putExtra(Ljava/lang/String;I)Landroid/content/Intent;
6955 + const-string v1, "accessMode"
6957 + invoke-virtual {v0, v1, p2}, Landroid/content/Intent;->putExtra(Ljava/lang/String;B)Landroid/content/Intent;
6959 + const-string v1, "dataType"
6961 + invoke-virtual {v0, v1, p3}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
6963 + const-string/jumbo v1, "output"
6965 + invoke-virtual {v0, v1, p4}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
6967 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
6969 + invoke-virtual {v1, v0}, Landroid/content/Context;->sendBroadcast(Landroid/content/Intent;)V
6971 + :cond_34
6972 + return-void
6973 +.end method
6975 +.method public purgeSettings()Z
6976 + .registers 2
6978 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
6980 + invoke-virtual {v0}, Landroid/privacy/PrivacyPersistenceAdapter;->purgeSettings()Z
6982 + move-result v0
6984 + return v0
6985 +.end method
6987 +.method public registerObservers()V
6988 + .registers 4
6990 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
6992 + const-string v1, "android.privacy.WRITE_PRIVACY_SETTINGS"
6994 + const-string v2, "Requires WRITE_PRIVACY_SETTINGS"
6996 + invoke-virtual {v0, v1, v2}, Landroid/content/Context;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
6998 + new-instance v0, Landroid/privacy/PrivacyFileObserver;
7000 + const-string v1, "/data/system/privacy"
7002 + invoke-direct {v0, v1, p0}, Landroid/privacy/PrivacyFileObserver;-><init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
7004 + sput-object v0, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
7006 + return-void
7007 +.end method
7009 +.method public saveSettings(Landroid/privacy/PrivacySettings;)Z
7010 + .registers 6
7012 + const-string v1, "PrivacySettingsManagerService"
7014 + new-instance v2, Ljava/lang/StringBuilder;
7016 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
7018 + const-string/jumbo v3, "saveSettings - checking if caller (UID: "
7020 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7022 + move-result-object v2
7024 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
7026 + move-result v3
7028 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
7030 + move-result-object v2
7032 + const-string v3, ") has sufficient permissions"
7034 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7036 + move-result-object v2
7038 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
7040 + move-result-object v2
7042 + invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
7044 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
7046 + move-result v1
7048 + const/16 v2, 0x3e8
7050 + if-eq v1, v2, :cond_34
7052 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
7054 + const-string v2, "android.privacy.WRITE_PRIVACY_SETTINGS"
7056 + const-string v3, "Requires WRITE_PRIVACY_SETTINGS"
7058 + invoke-virtual {v1, v2, v3}, Landroid/content/Context;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
7060 + :cond_34
7061 + const-string v1, "PrivacySettingsManagerService"
7063 + new-instance v2, Ljava/lang/StringBuilder;
7065 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
7067 + const-string/jumbo v3, "saveSettings - "
7069 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7071 + move-result-object v2
7073 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
7075 + move-result-object v2
7077 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
7079 + move-result-object v2
7081 + invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
7083 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
7085 + invoke-virtual {v1, p1}, Landroid/privacy/PrivacyPersistenceAdapter;->saveSettings(Landroid/privacy/PrivacySettings;)Z
7087 + move-result v0
7089 + const/4 v1, 0x1
7091 + if-ne v0, v1, :cond_5f
7093 + sget-object v1, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
7095 + invoke-virtual {p1}, Landroid/privacy/PrivacySettings;->getPackageName()Ljava/lang/String;
7097 + move-result-object v2
7099 + invoke-virtual {v1, v2}, Landroid/privacy/PrivacyFileObserver;->addObserver(Ljava/lang/String;)V
7101 + :cond_5f
7102 + return v0
7103 +.end method
7105 +.method public setBootCompleted()V
7106 + .registers 2
7108 + const/4 v0, 0x1
7110 + iput-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->bootCompleted:Z
7112 + return-void
7113 +.end method
7115 +.method public setEnabled(Z)Z
7116 + .registers 6
7118 + const/4 v1, 0x1
7120 + if-eqz p1, :cond_12
7122 + const-string v0, "1"
7124 + :goto_5
7125 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
7127 + const-string v3, "enabled"
7129 + invoke-virtual {v2, v3, v0}, Landroid/privacy/PrivacyPersistenceAdapter;->setValue(Ljava/lang/String;Ljava/lang/String;)Z
7131 + move-result v2
7133 + if-eqz v2, :cond_15
7135 + iput-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->enabled:Z
7137 + :goto_11
7138 + return v1
7140 + :cond_12
7141 + const-string v0, "0"
7143 + goto :goto_5
7145 + :cond_15
7146 + const/4 v1, 0x0
7148 + goto :goto_11
7149 +.end method
7151 +.method public setNotificationsEnabled(Z)Z
7152 + .registers 6
7154 + const/4 v1, 0x1
7156 + if-eqz p1, :cond_15
7158 + const-string v0, "1"
7160 + :goto_5
7161 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
7163 + const-string/jumbo v3, "notifications_enabled"
7165 + invoke-virtual {v2, v3, v0}, Landroid/privacy/PrivacyPersistenceAdapter;->setValue(Ljava/lang/String;Ljava/lang/String;)Z
7167 + move-result v2
7169 + if-eqz v2, :cond_18
7171 + iput-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->notificationsEnabled:Z
7173 + iput-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->bootCompleted:Z
7175 + :goto_14
7176 + return v1
7178 + :cond_15
7179 + const-string v0, "0"
7181 + goto :goto_5
7183 + :cond_18
7184 + const/4 v1, 0x0
7186 + goto :goto_14
7187 +.end method
7188 diff -Npru stock-framework/smali/android/privacy/PrivacySettingsManager.smali pdroid-framework/smali/android/privacy/PrivacySettingsManager.smali
7189 --- stock-framework/smali/android/privacy/PrivacySettingsManager.smali 1969-12-31 18:00:00.000000000 -0600
7190 +++ pdroid-framework/smali/android/privacy/PrivacySettingsManager.smali 2012-10-05 10:15:48.437126896 -0500
7191 @@ -0,0 +1,531 @@
7192 +.class public Landroid/privacy/PrivacySettingsManager;
7193 +.super Ljava/lang/Object;
7194 +.source "PrivacySettingsManager.java"
7197 +# static fields
7198 +.field public static final ACTION_PRIVACY_NOTIFICATION:Ljava/lang/String; = "com.privacy.pdroid.PRIVACY_NOTIFICATION"
7200 +.field private static final TAG:Ljava/lang/String; = "PrivacySettingsManager"
7203 +# instance fields
7204 +.field private service:Landroid/privacy/IPrivacySettingsManager;
7207 +# direct methods
7208 +.method public constructor <init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
7209 + .registers 3
7211 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
7213 + iput-object p2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7215 + return-void
7216 +.end method
7219 +# virtual methods
7220 +.method public addObserver(Ljava/lang/String;)V
7221 + .registers 5
7223 + :try_start_0
7224 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7226 + if-eqz v1, :cond_a
7228 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7230 + invoke-interface {v1, p1}, Landroid/privacy/IPrivacySettingsManager;->addObserver(Ljava/lang/String;)V
7232 + :goto_9
7233 + return-void
7235 + :cond_a
7236 + const-string v1, "PrivacySettingsManager"
7238 + const-string v2, "deleteSettings - PrivacySettingsManagerService is null"
7240 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7241 + :try_end_11
7242 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_11} :catch_12
7244 + goto :goto_9
7246 + :catch_12
7247 + move-exception v0
7249 + const-string v1, "PrivacySettingsManager"
7251 + const-string v2, "RemoteException in addObserver: "
7253 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7255 + goto :goto_9
7256 +.end method
7258 +.method public deleteSettings(Ljava/lang/String;)Z
7259 + .registers 3
7261 + invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettingsManager;->deleteSettings(Ljava/lang/String;)Z
7263 + move-result v0
7265 + return v0
7266 +.end method
7268 +.method public deleteSettings(Ljava/lang/String;I)Z
7269 + .registers 7
7271 + const/4 v1, 0x0
7273 + :try_start_1
7274 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7276 + if-eqz v2, :cond_c
7278 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7280 + invoke-interface {v2, p1}, Landroid/privacy/IPrivacySettingsManager;->deleteSettings(Ljava/lang/String;)Z
7282 + move-result v1
7284 + :goto_b
7285 + return v1
7287 + :cond_c
7288 + const-string v2, "PrivacySettingsManager"
7290 + const-string v3, "deleteSettings - PrivacySettingsManagerService is null"
7292 + invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7293 + :try_end_13
7294 + .catch Landroid/os/RemoteException; {:try_start_1 .. :try_end_13} :catch_14
7296 + goto :goto_b
7298 + :catch_14
7299 + move-exception v0
7301 + const-string v2, "PrivacySettingsManager"
7303 + const-string v3, "RemoteException in deleteSettings: "
7305 + invoke-static {v2, v3, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7307 + goto :goto_b
7308 +.end method
7310 +.method public getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
7311 + .registers 6
7313 + const/4 v1, 0x0
7315 + :try_start_1
7316 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7318 + if-eqz v2, :cond_c
7320 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7322 + invoke-interface {v2, p1}, Landroid/privacy/IPrivacySettingsManager;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
7324 + move-result-object v1
7326 + :goto_b
7327 + return-object v1
7329 + :cond_c
7330 + const-string v2, "PrivacySettingsManager"
7332 + const-string v3, "getSettings - PrivacySettingsManagerService is null"
7334 + invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7335 + :try_end_13
7336 + .catch Landroid/os/RemoteException; {:try_start_1 .. :try_end_13} :catch_14
7338 + goto :goto_b
7340 + :catch_14
7341 + move-exception v0
7343 + invoke-virtual {v0}, Landroid/os/RemoteException;->printStackTrace()V
7345 + goto :goto_b
7346 +.end method
7348 +.method public getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
7349 + .registers 4
7351 + invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
7353 + move-result-object v0
7355 + return-object v0
7356 +.end method
7358 +.method public getVersion()D
7359 + .registers 4
7361 + :try_start_0
7362 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7364 + if-eqz v1, :cond_b
7366 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7368 + invoke-interface {v1}, Landroid/privacy/IPrivacySettingsManager;->getVersion()D
7370 + move-result-wide v1
7372 + :goto_a
7373 + return-wide v1
7375 + :cond_b
7376 + const-string v1, "PrivacySettingsManager"
7378 + const-string v2, "getVersion - PrivacySettingsManagerService is null"
7380 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7381 + :try_end_12
7382 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_12} :catch_15
7384 + :goto_12
7385 + const-wide/16 v1, 0x0
7387 + goto :goto_a
7389 + :catch_15
7390 + move-exception v0
7392 + const-string v1, "PrivacySettingsManager"
7394 + const-string v2, "RemoteException in getVersion: "
7396 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7398 + goto :goto_12
7399 +.end method
7401 +.method public isServiceAvailable()Z
7402 + .registers 2
7404 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7406 + if-eqz v0, :cond_6
7408 + const/4 v0, 0x1
7410 + :goto_5
7411 + return v0
7413 + :cond_6
7414 + const/4 v0, 0x0
7416 + goto :goto_5
7417 +.end method
7419 +.method public notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
7420 + .registers 9
7422 + :try_start_0
7423 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7425 + if-eqz v1, :cond_a
7427 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7429 + invoke-interface {v1, p1, p2, p3, p4}, Landroid/privacy/IPrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
7431 + :goto_9
7432 + return-void
7434 + :cond_a
7435 + const-string v1, "PrivacySettingsManager"
7437 + const-string v2, "deleteSettings - PrivacySettingsManagerService is null"
7439 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7440 + :try_end_11
7441 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_11} :catch_12
7443 + goto :goto_9
7445 + :catch_12
7446 + move-exception v0
7448 + const-string v1, "PrivacySettingsManager"
7450 + const-string v2, "RemoteException in notification: "
7452 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7454 + goto :goto_9
7455 +.end method
7457 +.method public notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
7458 + .registers 13
7460 + move-object v0, p0
7462 + move-object v1, p1
7464 + move v2, p3
7466 + move-object v3, p4
7468 + move-object v4, p5
7470 + move-object v5, p6
7472 + invoke-virtual/range {v0 .. v5}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
7474 + return-void
7475 +.end method
7477 +.method public purgeSettings()Z
7478 + .registers 4
7480 + :try_start_0
7481 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7483 + if-eqz v1, :cond_b
7485 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7487 + invoke-interface {v1}, Landroid/privacy/IPrivacySettingsManager;->purgeSettings()Z
7489 + move-result v1
7491 + :goto_a
7492 + return v1
7494 + :cond_b
7495 + const-string v1, "PrivacySettingsManager"
7497 + const-string v2, "deleteSettings - PrivacySettingsManagerService is null"
7499 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7500 + :try_end_12
7501 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_12} :catch_14
7503 + :goto_12
7504 + const/4 v1, 0x0
7506 + goto :goto_a
7508 + :catch_14
7509 + move-exception v0
7511 + const-string v1, "PrivacySettingsManager"
7513 + const-string v2, "RemoteException in purgeSettings: "
7515 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7517 + goto :goto_12
7518 +.end method
7520 +.method public registerObservers()V
7521 + .registers 4
7523 + :try_start_0
7524 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7526 + if-eqz v1, :cond_a
7528 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7530 + invoke-interface {v1}, Landroid/privacy/IPrivacySettingsManager;->registerObservers()V
7532 + :goto_9
7533 + return-void
7535 + :cond_a
7536 + const-string v1, "PrivacySettingsManager"
7538 + const-string v2, "deleteSettings - PrivacySettingsManagerService is null"
7540 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7541 + :try_end_11
7542 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_11} :catch_12
7544 + goto :goto_9
7546 + :catch_12
7547 + move-exception v0
7549 + const-string v1, "PrivacySettingsManager"
7551 + const-string v2, "RemoteException in registerObservers: "
7553 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7555 + goto :goto_9
7556 +.end method
7558 +.method public saveSettings(Landroid/privacy/PrivacySettings;)Z
7559 + .registers 6
7561 + const/4 v1, 0x0
7563 + :try_start_1
7564 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7566 + if-eqz v2, :cond_c
7568 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7570 + invoke-interface {v2, p1}, Landroid/privacy/IPrivacySettingsManager;->saveSettings(Landroid/privacy/PrivacySettings;)Z
7572 + move-result v1
7574 + :goto_b
7575 + return v1
7577 + :cond_c
7578 + const-string v2, "PrivacySettingsManager"
7580 + const-string/jumbo v3, "saveSettings - PrivacySettingsManagerService is null"
7582 + invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7583 + :try_end_14
7584 + .catch Landroid/os/RemoteException; {:try_start_1 .. :try_end_14} :catch_15
7586 + goto :goto_b
7588 + :catch_15
7589 + move-exception v0
7591 + const-string v2, "PrivacySettingsManager"
7593 + const-string v3, "RemoteException in saveSettings: "
7595 + invoke-static {v2, v3, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7597 + goto :goto_b
7598 +.end method
7600 +.method public setBootCompleted()V
7601 + .registers 4
7603 + :try_start_0
7604 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7606 + if-eqz v1, :cond_a
7608 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7610 + invoke-interface {v1}, Landroid/privacy/IPrivacySettingsManager;->setBootCompleted()V
7612 + :goto_9
7613 + return-void
7615 + :cond_a
7616 + const-string v1, "PrivacySettingsManager"
7618 + const-string/jumbo v2, "setBootCompleted - PrivacySettingsManagerService is null"
7620 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7621 + :try_end_12
7622 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_12} :catch_13
7624 + goto :goto_9
7626 + :catch_13
7627 + move-exception v0
7629 + const-string v1, "PrivacySettingsManager"
7631 + const-string v2, "RemoteException in setBootCompleted: "
7633 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7635 + goto :goto_9
7636 +.end method
7638 +.method public setEnabled(Z)Z
7639 + .registers 5
7641 + :try_start_0
7642 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7644 + if-eqz v1, :cond_b
7646 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7648 + invoke-interface {v1, p1}, Landroid/privacy/IPrivacySettingsManager;->setEnabled(Z)Z
7650 + move-result v1
7652 + :goto_a
7653 + return v1
7655 + :cond_b
7656 + const-string v1, "PrivacySettingsManager"
7658 + const-string/jumbo v2, "setEnabled - PrivacySettingsManagerService is null"
7660 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7661 + :try_end_13
7662 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_13} :catch_15
7664 + :goto_13
7665 + const/4 v1, 0x0
7667 + goto :goto_a
7669 + :catch_15
7670 + move-exception v0
7672 + const-string v1, "PrivacySettingsManager"
7674 + const-string v2, "RemoteException in setEnabled: "
7676 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7678 + goto :goto_13
7679 +.end method
7681 +.method public setNotificationsEnabled(Z)Z
7682 + .registers 5
7684 + :try_start_0
7685 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7687 + if-eqz v1, :cond_b
7689 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7691 + invoke-interface {v1, p1}, Landroid/privacy/IPrivacySettingsManager;->setNotificationsEnabled(Z)Z
7693 + move-result v1
7695 + :goto_a
7696 + return v1
7698 + :cond_b
7699 + const-string v1, "PrivacySettingsManager"
7701 + const-string/jumbo v2, "setNotificationsEnabled - PrivacySettingsManagerService is null"
7703 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7704 + :try_end_13
7705 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_13} :catch_15
7707 + :goto_13
7708 + const/4 v1, 0x0
7710 + goto :goto_a
7712 + :catch_15
7713 + move-exception v0
7715 + const-string v1, "PrivacySettingsManager"
7717 + const-string v2, "RemoteException in setNotificationsEnabled: "
7719 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7721 + goto :goto_13
7722 +.end method
7723 diff -Npru stock-framework/smali/android/privacy/PrivacySettings.smali pdroid-framework/smali/android/privacy/PrivacySettings.smali
7724 --- stock-framework/smali/android/privacy/PrivacySettings.smali 1969-12-31 18:00:00.000000000 -0600
7725 +++ pdroid-framework/smali/android/privacy/PrivacySettings.smali 2012-10-05 10:15:48.433126881 -0500
7726 @@ -0,0 +1,2109 @@
7727 +.class public final Landroid/privacy/PrivacySettings;
7728 +.super Ljava/lang/Object;
7729 +.source "PrivacySettings.java"
7731 +# interfaces
7732 +.implements Landroid/os/Parcelable;
7735 +# static fields
7736 +.field public static final CREATOR:Landroid/os/Parcelable$Creator; = null
7737 + .annotation system Ldalvik/annotation/Signature;
7738 + value = {
7739 + "Landroid/os/Parcelable$Creator",
7740 + "<",
7741 + "Landroid/privacy/PrivacySettings;",
7742 + ">;"
7744 + .end annotation
7745 +.end field
7747 +.field public static final CUSTOM:B = 0x2t
7749 +.field public static final DATA_ACCOUNTS_LIST:Ljava/lang/String; = "accountsList"
7751 +.field public static final DATA_AUTH_TOKENS:Ljava/lang/String; = "authTokens"
7753 +.field public static final DATA_BOOKMARKS:Ljava/lang/String; = "bookmarks"
7755 +.field public static final DATA_CALENDAR:Ljava/lang/String; = "calendar"
7757 +.field public static final DATA_CALL_LOG:Ljava/lang/String; = "callLog"
7759 +.field public static final DATA_CONTACTS:Ljava/lang/String; = "contacts"
7761 +.field public static final DATA_DEVICE_ID:Ljava/lang/String; = "deviceID"
7763 +.field public static final DATA_INCOMING_CALL:Ljava/lang/String; = "incomingCall"
7765 +.field public static final DATA_INTENT_BOOT_COMPLETED:Ljava/lang/String; = "intentBootCompleted"
7767 +.field public static final DATA_LINE_1_NUMBER:Ljava/lang/String; = "line1Number"
7769 +.field public static final DATA_LOCATION_GPS:Ljava/lang/String; = "locationGPS"
7771 +.field public static final DATA_LOCATION_NETWORK:Ljava/lang/String; = "locationNetwork"
7773 +.field public static final DATA_MMS:Ljava/lang/String; = "mms"
7775 +.field public static final DATA_MMS_SMS:Ljava/lang/String; = "mmsSms"
7777 +.field public static final DATA_NETWORK_INFO_CURRENT:Ljava/lang/String; = "networkInfoCurrent"
7779 +.field public static final DATA_NETWORK_INFO_SIM:Ljava/lang/String; = "networkInfoSIM"
7781 +.field public static final DATA_OUTGOING_CALL:Ljava/lang/String; = "outgoingCall"
7783 +.field public static final DATA_SIM_SERIAL:Ljava/lang/String; = "simSerial"
7785 +.field public static final DATA_SMS:Ljava/lang/String; = "sms"
7787 +.field public static final DATA_SUBSCRIBER_ID:Ljava/lang/String; = "subscriberID"
7789 +.field public static final DATA_SYSTEM_LOGS:Ljava/lang/String; = "systemLogs"
7791 +.field public static final EMPTY:B = 0x1t
7793 +.field public static final RANDOM:B = 0x3t
7795 +.field public static final REAL:B = 0x0t
7797 +.field public static final SETTING_NOTIFY_OFF:B = 0x0t
7799 +.field public static final SETTING_NOTIFY_ON:B = 0x1t
7802 +# instance fields
7803 +.field private final _id:Ljava/lang/Integer;
7805 +.field private accountsAuthTokensSetting:B
7807 +.field private accountsSetting:B
7809 +.field private allowedContacts:[I
7811 +.field private bookmarksSetting:B
7813 +.field private calendarSetting:B
7815 +.field private callLogSetting:B
7817 +.field private contactsSetting:B
7819 +.field private deviceId:Ljava/lang/String;
7821 +.field private deviceIdSetting:B
7823 +.field private incomingCallsSetting:B
7825 +.field private intentBootCompletedSetting:B
7827 +.field private line1Number:Ljava/lang/String;
7829 +.field private line1NumberSetting:B
7831 +.field private locationGpsLat:Ljava/lang/String;
7833 +.field private locationGpsLon:Ljava/lang/String;
7835 +.field private locationGpsSetting:B
7837 +.field private locationNetworkLat:Ljava/lang/String;
7839 +.field private locationNetworkLon:Ljava/lang/String;
7841 +.field private locationNetworkSetting:B
7843 +.field private mmsSetting:B
7845 +.field private networkInfoSetting:B
7847 +.field private notificationSetting:B
7849 +.field private outgoingCallsSetting:B
7851 +.field private packageName:Ljava/lang/String;
7853 +.field private simInfoSetting:B
7855 +.field private simSerialNumber:Ljava/lang/String;
7857 +.field private simSerialNumberSetting:B
7859 +.field private smsSetting:B
7861 +.field private subscriberId:Ljava/lang/String;
7863 +.field private subscriberIdSetting:B
7865 +.field private systemLogsSetting:B
7867 +.field private uid:I
7870 +# direct methods
7871 +.method static constructor <clinit>()V
7872 + .registers 1
7874 + new-instance v0, Landroid/privacy/PrivacySettings$1;
7876 + invoke-direct {v0}, Landroid/privacy/PrivacySettings$1;-><init>()V
7878 + sput-object v0, Landroid/privacy/PrivacySettings;->CREATOR:Landroid/os/Parcelable$Creator;
7880 + return-void
7881 +.end method
7883 +.method public constructor <init>(Landroid/os/Parcel;)V
7884 + .registers 4
7886 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
7888 + invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I
7890 + move-result v0
7892 + const/4 v1, -0x1
7894 + if-ne v0, v1, :cond_ce
7896 + const/4 v1, 0x0
7898 + :goto_b
7899 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
7901 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
7903 + move-result-object v1
7905 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
7907 + invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I
7909 + move-result v1
7911 + iput v1, p0, Landroid/privacy/PrivacySettings;->uid:I
7913 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
7915 + move-result v1
7917 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
7919 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
7921 + move-result-object v1
7923 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
7925 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
7927 + move-result v1
7929 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
7931 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
7933 + move-result-object v1
7935 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
7937 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
7939 + move-result v1
7941 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
7943 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
7945 + move-result-object v1
7947 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
7949 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
7951 + move-result-object v1
7953 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
7955 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
7957 + move-result v1
7959 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
7961 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
7963 + move-result-object v1
7965 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
7967 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
7969 + move-result-object v1
7971 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
7973 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
7975 + move-result v1
7977 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
7979 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
7981 + move-result v1
7983 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
7985 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
7987 + move-result v1
7989 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
7991 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
7993 + move-result-object v1
7995 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
7997 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
7999 + move-result v1
8001 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
8003 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
8005 + move-result-object v1
8007 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
8009 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8011 + move-result v1
8013 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
8015 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8017 + move-result v1
8019 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
8021 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8023 + move-result v1
8025 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
8027 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8029 + move-result v1
8031 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
8033 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8035 + move-result v1
8037 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
8039 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8041 + move-result v1
8043 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
8045 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8047 + move-result v1
8049 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
8051 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8053 + move-result v1
8055 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
8057 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8059 + move-result v1
8061 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
8063 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8065 + move-result v1
8067 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
8069 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8071 + move-result v1
8073 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
8075 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8077 + move-result v1
8079 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
8081 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8083 + move-result v1
8085 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
8087 + invoke-virtual {p1}, Landroid/os/Parcel;->createIntArray()[I
8089 + move-result-object v1
8091 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
8093 + return-void
8095 + :cond_ce
8096 + invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
8098 + move-result-object v1
8100 + goto/16 :goto_b
8101 +.end method
8103 +.method public constructor <init>(Ljava/lang/Integer;Ljava/lang/String;I)V
8104 + .registers 6
8106 + const/4 v1, 0x0
8108 + const/4 v0, 0x0
8110 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
8112 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
8114 + iput-object p2, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
8116 + iput p3, p0, Landroid/privacy/PrivacySettings;->uid:I
8118 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
8120 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
8122 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
8124 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
8126 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8128 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
8130 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
8132 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8134 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
8136 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
8138 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
8140 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
8142 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
8144 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
8146 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
8148 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
8150 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
8152 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
8154 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
8156 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
8158 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
8160 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
8162 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
8164 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
8166 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
8168 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
8170 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
8172 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
8174 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
8176 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
8178 + return-void
8179 +.end method
8181 +.method public constructor <init>(Ljava/lang/Integer;Ljava/lang/String;IBLjava/lang/String;BLjava/lang/String;BLjava/lang/String;Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;BBBLjava/lang/String;BLjava/lang/String;BBBBBBBBBBBBBBBB[I)V
8182 + .registers 38
8184 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
8186 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
8188 + iput-object p2, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
8190 + iput p3, p0, Landroid/privacy/PrivacySettings;->uid:I
8192 + iput-byte p4, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
8194 + iput-object p5, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
8196 + iput-byte p6, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
8198 + iput-object p7, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
8200 + iput-byte p8, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8202 + iput-object p9, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
8204 + iput-object p10, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
8206 + iput-byte p11, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8208 + iput-object p12, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
8210 + iput-object p13, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
8212 + iput-byte p14, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
8214 + move/from16 v0, p15
8216 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
8218 + move/from16 v0, p16
8220 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
8222 + move-object/from16 v0, p17
8224 + iput-object v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
8226 + move/from16 v0, p18
8228 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
8230 + move-object/from16 v0, p19
8232 + iput-object v0, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
8234 + move/from16 v0, p20
8236 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
8238 + move/from16 v0, p21
8240 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
8242 + move/from16 v0, p22
8244 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
8246 + move/from16 v0, p23
8248 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
8250 + move/from16 v0, p24
8252 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
8254 + move/from16 v0, p25
8256 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
8258 + move/from16 v0, p26
8260 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
8262 + move/from16 v0, p27
8264 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
8266 + move/from16 v0, p28
8268 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
8270 + move/from16 v0, p29
8272 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
8274 + move/from16 v0, p30
8276 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
8278 + move/from16 v0, p34
8280 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
8282 + move/from16 v0, p35
8284 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
8286 + move-object/from16 v0, p36
8288 + iput-object v0, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
8290 + return-void
8291 +.end method
8293 +.method private getRandomLat()Ljava/lang/String;
8294 + .registers 10
8296 + const-wide v7, 0x4056800000000000L
8298 + invoke-static {}, Ljava/lang/Math;->random()D
8300 + move-result-wide v3
8302 + const-wide v5, 0x4066800000000000L
8304 + mul-double v0, v3, v5
8306 + cmpl-double v3, v0, v7
8308 + if-lez v3, :cond_35
8310 + new-instance v2, Ljava/math/BigDecimal;
8312 + sub-double v3, v0, v7
8314 + invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;-><init>(D)V
8316 + :goto_1b
8317 + new-instance v3, Ljava/lang/StringBuilder;
8319 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
8321 + const/4 v4, 0x6
8323 + const/4 v5, 0x4
8325 + invoke-virtual {v2, v4, v5}, Ljava/math/BigDecimal;->setScale(II)Ljava/math/BigDecimal;
8327 + move-result-object v4
8329 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
8331 + move-result-object v3
8333 + const-string v4, ""
8335 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8337 + move-result-object v3
8339 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8341 + move-result-object v3
8343 + return-object v3
8345 + :cond_35
8346 + new-instance v2, Ljava/math/BigDecimal;
8348 + neg-double v3, v0
8350 + invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;-><init>(D)V
8352 + goto :goto_1b
8353 +.end method
8355 +.method private getRandomLon()Ljava/lang/String;
8356 + .registers 10
8358 + const-wide v7, 0x4066800000000000L
8360 + invoke-static {}, Ljava/lang/Math;->random()D
8362 + move-result-wide v3
8364 + const-wide v5, 0x4076800000000000L
8366 + mul-double v0, v3, v5
8368 + cmpl-double v3, v0, v7
8370 + if-lez v3, :cond_35
8372 + new-instance v2, Ljava/math/BigDecimal;
8374 + sub-double v3, v0, v7
8376 + invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;-><init>(D)V
8378 + :goto_1b
8379 + new-instance v3, Ljava/lang/StringBuilder;
8381 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
8383 + const/4 v4, 0x6
8385 + const/4 v5, 0x4
8387 + invoke-virtual {v2, v4, v5}, Ljava/math/BigDecimal;->setScale(II)Ljava/math/BigDecimal;
8389 + move-result-object v4
8391 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
8393 + move-result-object v3
8395 + const-string v4, ""
8397 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8399 + move-result-object v3
8401 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8403 + move-result-object v3
8405 + return-object v3
8407 + :cond_35
8408 + new-instance v2, Ljava/math/BigDecimal;
8410 + neg-double v3, v0
8412 + invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;-><init>(D)V
8414 + goto :goto_1b
8415 +.end method
8418 +# virtual methods
8419 +.method public describeContents()I
8420 + .registers 2
8422 + const/4 v0, 0x0
8424 + return v0
8425 +.end method
8427 +.method public getAccountsAuthTokensSetting()B
8428 + .registers 2
8430 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
8432 + return v0
8433 +.end method
8435 +.method public getAccountsSetting()B
8436 + .registers 2
8438 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
8440 + return v0
8441 +.end method
8443 +.method public getAllowedContacts()[I
8444 + .registers 2
8446 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
8448 + return-object v0
8449 +.end method
8451 +.method public getBookmarksSetting()B
8452 + .registers 2
8454 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
8456 + return v0
8457 +.end method
8459 +.method public getCalendarSetting()B
8460 + .registers 2
8462 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
8464 + return v0
8465 +.end method
8467 +.method public getCallLogSetting()B
8468 + .registers 2
8470 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
8472 + return v0
8473 +.end method
8475 +.method public getContactsSetting()B
8476 + .registers 2
8478 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
8480 + return v0
8481 +.end method
8483 +.method public getDeviceId()Ljava/lang/String;
8484 + .registers 6
8486 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
8488 + const/4 v3, 0x1
8490 + if-ne v2, v3, :cond_8
8492 + const-string v2, ""
8494 + :goto_7
8495 + return-object v2
8497 + :cond_8
8498 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
8500 + const/4 v3, 0x3
8502 + if-ne v2, v3, :cond_35
8504 + new-instance v0, Ljava/util/Random;
8506 + invoke-direct {v0}, Ljava/util/Random;-><init>()V
8508 + new-instance v2, Ljava/lang/StringBuilder;
8510 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
8512 + invoke-virtual {v0}, Ljava/util/Random;->nextLong()J
8514 + move-result-wide v3
8516 + invoke-static {v3, v4}, Ljava/lang/Math;->abs(J)J
8518 + move-result-wide v3
8520 + invoke-virtual {v2, v3, v4}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
8522 + move-result-object v2
8524 + const-string v3, ""
8526 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8528 + move-result-object v2
8530 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8532 + move-result-object v1
8534 + const/4 v2, 0x0
8536 + const/16 v3, 0xf
8538 + invoke-virtual {v1, v2, v3}, Ljava/lang/String;->substring(II)Ljava/lang/String;
8540 + move-result-object v2
8542 + goto :goto_7
8544 + :cond_35
8545 + iget-object v2, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
8547 + goto :goto_7
8548 +.end method
8550 +.method public getDeviceIdSetting()B
8551 + .registers 2
8553 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
8555 + return v0
8556 +.end method
8558 +.method public getIncomingCallsSetting()B
8559 + .registers 2
8561 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
8563 + return v0
8564 +.end method
8566 +.method public getIntentBootCompletedSetting()B
8567 + .registers 2
8569 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
8571 + return v0
8572 +.end method
8574 +.method public getLine1Number()Ljava/lang/String;
8575 + .registers 6
8577 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
8579 + const/4 v3, 0x1
8581 + if-ne v2, v3, :cond_8
8583 + const-string v2, ""
8585 + :goto_7
8586 + return-object v2
8588 + :cond_8
8589 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
8591 + const/4 v3, 0x3
8593 + if-ne v2, v3, :cond_3b
8595 + new-instance v0, Ljava/util/Random;
8597 + invoke-direct {v0}, Ljava/util/Random;-><init>()V
8599 + new-instance v2, Ljava/lang/StringBuilder;
8601 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
8603 + const-string v3, "+"
8605 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8607 + move-result-object v2
8609 + invoke-virtual {v0}, Ljava/util/Random;->nextLong()J
8611 + move-result-wide v3
8613 + invoke-static {v3, v4}, Ljava/lang/Math;->abs(J)J
8615 + move-result-wide v3
8617 + invoke-virtual {v2, v3, v4}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
8619 + move-result-object v2
8621 + const-string v3, ""
8623 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8625 + move-result-object v2
8627 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8629 + move-result-object v1
8631 + const/4 v2, 0x0
8633 + const/16 v3, 0xd
8635 + invoke-virtual {v1, v2, v3}, Ljava/lang/String;->substring(II)Ljava/lang/String;
8637 + move-result-object v2
8639 + goto :goto_7
8641 + :cond_3b
8642 + iget-object v2, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
8644 + goto :goto_7
8645 +.end method
8647 +.method public getLine1NumberSetting()B
8648 + .registers 2
8650 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
8652 + return v0
8653 +.end method
8655 +.method public getLocationGpsLat()Ljava/lang/String;
8656 + .registers 3
8658 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8660 + const/4 v1, 0x1
8662 + if-ne v0, v1, :cond_8
8664 + const-string v0, ""
8666 + :goto_7
8667 + return-object v0
8669 + :cond_8
8670 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8672 + const/4 v1, 0x3
8674 + if-ne v0, v1, :cond_12
8676 + invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLat()Ljava/lang/String;
8678 + move-result-object v0
8680 + goto :goto_7
8682 + :cond_12
8683 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
8685 + goto :goto_7
8686 +.end method
8688 +.method public getLocationGpsLon()Ljava/lang/String;
8689 + .registers 3
8691 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8693 + const/4 v1, 0x1
8695 + if-ne v0, v1, :cond_8
8697 + const-string v0, ""
8699 + :goto_7
8700 + return-object v0
8702 + :cond_8
8703 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8705 + const/4 v1, 0x3
8707 + if-ne v0, v1, :cond_12
8709 + invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLon()Ljava/lang/String;
8711 + move-result-object v0
8713 + goto :goto_7
8715 + :cond_12
8716 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
8718 + goto :goto_7
8719 +.end method
8721 +.method public getLocationGpsSetting()B
8722 + .registers 2
8724 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8726 + return v0
8727 +.end method
8729 +.method public getLocationNetworkLat()Ljava/lang/String;
8730 + .registers 3
8732 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8734 + const/4 v1, 0x1
8736 + if-ne v0, v1, :cond_8
8738 + const-string v0, ""
8740 + :goto_7
8741 + return-object v0
8743 + :cond_8
8744 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8746 + const/4 v1, 0x3
8748 + if-ne v0, v1, :cond_12
8750 + invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLat()Ljava/lang/String;
8752 + move-result-object v0
8754 + goto :goto_7
8756 + :cond_12
8757 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
8759 + goto :goto_7
8760 +.end method
8762 +.method public getLocationNetworkLon()Ljava/lang/String;
8763 + .registers 3
8765 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8767 + const/4 v1, 0x1
8769 + if-ne v0, v1, :cond_8
8771 + const-string v0, ""
8773 + :goto_7
8774 + return-object v0
8776 + :cond_8
8777 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8779 + const/4 v1, 0x3
8781 + if-ne v0, v1, :cond_12
8783 + invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLon()Ljava/lang/String;
8785 + move-result-object v0
8787 + goto :goto_7
8789 + :cond_12
8790 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
8792 + goto :goto_7
8793 +.end method
8795 +.method public getLocationNetworkSetting()B
8796 + .registers 2
8798 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8800 + return v0
8801 +.end method
8803 +.method public getMmsSetting()B
8804 + .registers 2
8806 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
8808 + return v0
8809 +.end method
8811 +.method public getNetworkInfoSetting()B
8812 + .registers 2
8814 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
8816 + return v0
8817 +.end method
8819 +.method public getNotificationSetting()B
8820 + .registers 2
8822 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
8824 + return v0
8825 +.end method
8827 +.method public getOutgoingCallsSetting()B
8828 + .registers 2
8830 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
8832 + return v0
8833 +.end method
8835 +.method public getPackageName()Ljava/lang/String;
8836 + .registers 2
8838 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
8840 + return-object v0
8841 +.end method
8843 +.method public getSimInfoSetting()B
8844 + .registers 2
8846 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
8848 + return v0
8849 +.end method
8851 +.method public getSimSerialNumber()Ljava/lang/String;
8852 + .registers 5
8854 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
8856 + const/4 v2, 0x1
8858 + if-ne v1, v2, :cond_8
8860 + const-string v1, ""
8862 + :goto_7
8863 + return-object v1
8865 + :cond_8
8866 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
8868 + const/4 v2, 0x3
8870 + if-ne v1, v2, :cond_2e
8872 + new-instance v0, Ljava/util/Random;
8874 + invoke-direct {v0}, Ljava/util/Random;-><init>()V
8876 + new-instance v1, Ljava/lang/StringBuilder;
8878 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
8880 + invoke-virtual {v0}, Ljava/util/Random;->nextLong()J
8882 + move-result-wide v2
8884 + invoke-static {v2, v3}, Ljava/lang/Math;->abs(J)J
8886 + move-result-wide v2
8888 + invoke-virtual {v1, v2, v3}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
8890 + move-result-object v1
8892 + const-string v2, ""
8894 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8896 + move-result-object v1
8898 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8900 + move-result-object v1
8902 + goto :goto_7
8904 + :cond_2e
8905 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
8907 + goto :goto_7
8908 +.end method
8910 +.method public getSimSerialNumberSetting()B
8911 + .registers 2
8913 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
8915 + return v0
8916 +.end method
8918 +.method public getSmsSetting()B
8919 + .registers 2
8921 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
8923 + return v0
8924 +.end method
8926 +.method public getSubscriberId()Ljava/lang/String;
8927 + .registers 6
8929 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
8931 + const/4 v3, 0x1
8933 + if-ne v2, v3, :cond_8
8935 + const-string v2, ""
8937 + :goto_7
8938 + return-object v2
8940 + :cond_8
8941 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
8943 + const/4 v3, 0x3
8945 + if-ne v2, v3, :cond_35
8947 + new-instance v0, Ljava/util/Random;
8949 + invoke-direct {v0}, Ljava/util/Random;-><init>()V
8951 + new-instance v2, Ljava/lang/StringBuilder;
8953 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
8955 + invoke-virtual {v0}, Ljava/util/Random;->nextLong()J
8957 + move-result-wide v3
8959 + invoke-static {v3, v4}, Ljava/lang/Math;->abs(J)J
8961 + move-result-wide v3
8963 + invoke-virtual {v2, v3, v4}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
8965 + move-result-object v2
8967 + const-string v3, ""
8969 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8971 + move-result-object v2
8973 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8975 + move-result-object v1
8977 + const/4 v2, 0x0
8979 + const/16 v3, 0xf
8981 + invoke-virtual {v1, v2, v3}, Ljava/lang/String;->substring(II)Ljava/lang/String;
8983 + move-result-object v2
8985 + goto :goto_7
8987 + :cond_35
8988 + iget-object v2, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
8990 + goto :goto_7
8991 +.end method
8993 +.method public getSubscriberIdSetting()B
8994 + .registers 2
8996 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
8998 + return v0
8999 +.end method
9001 +.method public getSystemLogsSetting()B
9002 + .registers 2
9004 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
9006 + return v0
9007 +.end method
9009 +.method public getUid()I
9010 + .registers 2
9012 + iget v0, p0, Landroid/privacy/PrivacySettings;->uid:I
9014 + return v0
9015 +.end method
9017 +.method public get_id()Ljava/lang/Integer;
9018 + .registers 2
9020 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
9022 + return-object v0
9023 +.end method
9025 +.method public setAccountsAuthTokensSetting(B)V
9026 + .registers 2
9028 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
9030 + return-void
9031 +.end method
9033 +.method public setAccountsSetting(B)V
9034 + .registers 2
9036 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
9038 + return-void
9039 +.end method
9041 +.method public setAllowedContacts([I)V
9042 + .registers 2
9044 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
9046 + return-void
9047 +.end method
9049 +.method public setBookmarksSetting(B)V
9050 + .registers 2
9052 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
9054 + return-void
9055 +.end method
9057 +.method public setCalendarSetting(B)V
9058 + .registers 2
9060 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
9062 + return-void
9063 +.end method
9065 +.method public setCallLogSetting(B)V
9066 + .registers 2
9068 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
9070 + return-void
9071 +.end method
9073 +.method public setContactsSetting(B)V
9074 + .registers 2
9076 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
9078 + return-void
9079 +.end method
9081 +.method public setDeviceId(Ljava/lang/String;)V
9082 + .registers 2
9084 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
9086 + return-void
9087 +.end method
9089 +.method public setDeviceIdSetting(B)V
9090 + .registers 2
9092 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
9094 + return-void
9095 +.end method
9097 +.method public setIncomingCallsSetting(B)V
9098 + .registers 2
9100 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
9102 + return-void
9103 +.end method
9105 +.method public setIntentBootCompletedSetting(B)V
9106 + .registers 2
9108 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
9110 + return-void
9111 +.end method
9113 +.method public setLine1Number(Ljava/lang/String;)V
9114 + .registers 2
9116 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
9118 + return-void
9119 +.end method
9121 +.method public setLine1NumberSetting(B)V
9122 + .registers 2
9124 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
9126 + return-void
9127 +.end method
9129 +.method public setLocationGpsLat(Ljava/lang/String;)V
9130 + .registers 2
9132 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
9134 + return-void
9135 +.end method
9137 +.method public setLocationGpsLon(Ljava/lang/String;)V
9138 + .registers 2
9140 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
9142 + return-void
9143 +.end method
9145 +.method public setLocationGpsSetting(B)V
9146 + .registers 2
9148 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
9150 + return-void
9151 +.end method
9153 +.method public setLocationNetworkLat(Ljava/lang/String;)V
9154 + .registers 2
9156 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
9158 + return-void
9159 +.end method
9161 +.method public setLocationNetworkLon(Ljava/lang/String;)V
9162 + .registers 2
9164 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
9166 + return-void
9167 +.end method
9169 +.method public setLocationNetworkSetting(B)V
9170 + .registers 2
9172 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
9174 + return-void
9175 +.end method
9177 +.method public setMmsSetting(B)V
9178 + .registers 2
9180 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
9182 + return-void
9183 +.end method
9185 +.method public setNetworkInfoSetting(B)V
9186 + .registers 2
9188 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
9190 + return-void
9191 +.end method
9193 +.method public setNotificationSetting(B)V
9194 + .registers 2
9196 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
9198 + return-void
9199 +.end method
9201 +.method public setOutgoingCallsSetting(B)V
9202 + .registers 2
9204 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
9206 + return-void
9207 +.end method
9209 +.method public setPackageName(Ljava/lang/String;)V
9210 + .registers 2
9212 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
9214 + return-void
9215 +.end method
9217 +.method public setSimInfoSetting(B)V
9218 + .registers 2
9220 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
9222 + return-void
9223 +.end method
9225 +.method public setSimSerialNumber(Ljava/lang/String;)V
9226 + .registers 2
9228 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
9230 + return-void
9231 +.end method
9233 +.method public setSimSerialNumberSetting(B)V
9234 + .registers 2
9236 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
9238 + return-void
9239 +.end method
9241 +.method public setSmsSetting(B)V
9242 + .registers 2
9244 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
9246 + return-void
9247 +.end method
9249 +.method public setSubscriberId(Ljava/lang/String;)V
9250 + .registers 2
9252 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
9254 + return-void
9255 +.end method
9257 +.method public setSubscriberIdSetting(B)V
9258 + .registers 2
9260 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
9262 + return-void
9263 +.end method
9265 +.method public setSystemLogsSetting(B)V
9266 + .registers 2
9268 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
9270 + return-void
9271 +.end method
9273 +.method public setUid(I)V
9274 + .registers 2
9276 + iput p1, p0, Landroid/privacy/PrivacySettings;->uid:I
9278 + return-void
9279 +.end method
9281 +.method public toString()Ljava/lang/String;
9282 + .registers 3
9284 + new-instance v0, Ljava/lang/StringBuilder;
9286 + invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
9288 + const-string v1, "PrivacySettings [_id="
9290 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9292 + move-result-object v0
9294 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
9296 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
9298 + move-result-object v0
9300 + const-string v1, ", accountsAuthTokensSetting="
9302 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9304 + move-result-object v0
9306 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
9308 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9310 + move-result-object v0
9312 + const-string v1, ", accountsSetting="
9314 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9316 + move-result-object v0
9318 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
9320 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9322 + move-result-object v0
9324 + const-string v1, ", bookmarksSetting="
9326 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9328 + move-result-object v0
9330 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
9332 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9334 + move-result-object v0
9336 + const-string v1, ", calendarSetting="
9338 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9340 + move-result-object v0
9342 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
9344 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9346 + move-result-object v0
9348 + const-string v1, ", callLogSetting="
9350 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9352 + move-result-object v0
9354 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
9356 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9358 + move-result-object v0
9360 + const-string v1, ", contactsSetting="
9362 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9364 + move-result-object v0
9366 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
9368 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9370 + move-result-object v0
9372 + const-string v1, ", deviceId="
9374 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9376 + move-result-object v0
9378 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
9380 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9382 + move-result-object v0
9384 + const-string v1, ", deviceIdSetting="
9386 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9388 + move-result-object v0
9390 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
9392 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9394 + move-result-object v0
9396 + const-string v1, ", incomingCallsSetting="
9398 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9400 + move-result-object v0
9402 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
9404 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9406 + move-result-object v0
9408 + const-string v1, ", intentBootCompletedSetting="
9410 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9412 + move-result-object v0
9414 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
9416 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9418 + move-result-object v0
9420 + const-string v1, ", line1Number="
9422 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9424 + move-result-object v0
9426 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
9428 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9430 + move-result-object v0
9432 + const-string v1, ", line1NumberSetting="
9434 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9436 + move-result-object v0
9438 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
9440 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9442 + move-result-object v0
9444 + const-string v1, ", locationGpsLat="
9446 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9448 + move-result-object v0
9450 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
9452 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9454 + move-result-object v0
9456 + const-string v1, ", locationGpsLon="
9458 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9460 + move-result-object v0
9462 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
9464 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9466 + move-result-object v0
9468 + const-string v1, ", locationGpsSetting="
9470 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9472 + move-result-object v0
9474 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
9476 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9478 + move-result-object v0
9480 + const-string v1, ", locationNetworkLat="
9482 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9484 + move-result-object v0
9486 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
9488 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9490 + move-result-object v0
9492 + const-string v1, ", locationNetworkLon="
9494 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9496 + move-result-object v0
9498 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
9500 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9502 + move-result-object v0
9504 + const-string v1, ", locationNetworkSetting="
9506 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9508 + move-result-object v0
9510 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
9512 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9514 + move-result-object v0
9516 + const-string v1, ", mmsSetting="
9518 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9520 + move-result-object v0
9522 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
9524 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9526 + move-result-object v0
9528 + const-string v1, ", networkInfoSetting="
9530 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9532 + move-result-object v0
9534 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
9536 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9538 + move-result-object v0
9540 + const-string v1, ", notificationSetting="
9542 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9544 + move-result-object v0
9546 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
9548 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9550 + move-result-object v0
9552 + const-string v1, ", outgoingCallsSetting="
9554 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9556 + move-result-object v0
9558 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
9560 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9562 + move-result-object v0
9564 + const-string v1, ", packageName="
9566 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9568 + move-result-object v0
9570 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
9572 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9574 + move-result-object v0
9576 + const-string v1, ", simInfoSetting="
9578 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9580 + move-result-object v0
9582 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
9584 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9586 + move-result-object v0
9588 + const-string v1, ", simSerialNumber="
9590 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9592 + move-result-object v0
9594 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
9596 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9598 + move-result-object v0
9600 + const-string v1, ", simSerialNumberSetting="
9602 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9604 + move-result-object v0
9606 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
9608 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9610 + move-result-object v0
9612 + const-string v1, ", smsSetting="
9614 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9616 + move-result-object v0
9618 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
9620 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9622 + move-result-object v0
9624 + const-string v1, ", subscriberId="
9626 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9628 + move-result-object v0
9630 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
9632 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9634 + move-result-object v0
9636 + const-string v1, ", subscriberIdSetting="
9638 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9640 + move-result-object v0
9642 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
9644 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9646 + move-result-object v0
9648 + const-string v1, ", systemLogsSetting="
9650 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9652 + move-result-object v0
9654 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
9656 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9658 + move-result-object v0
9660 + const-string v1, ", uid="
9662 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9664 + move-result-object v0
9666 + iget v1, p0, Landroid/privacy/PrivacySettings;->uid:I
9668 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9670 + move-result-object v0
9672 + const-string v1, "]"
9674 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9676 + move-result-object v0
9678 + invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
9680 + move-result-object v0
9682 + return-object v0
9683 +.end method
9685 +.method public writeToParcel(Landroid/os/Parcel;I)V
9686 + .registers 4
9688 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
9690 + if-nez v0, :cond_a9
9692 + const/4 v0, -0x1
9694 + :goto_5
9695 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeInt(I)V
9697 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
9699 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9701 + iget v0, p0, Landroid/privacy/PrivacySettings;->uid:I
9703 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeInt(I)V
9705 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
9707 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9709 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
9711 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9713 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
9715 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9717 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
9719 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9721 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
9723 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9725 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
9727 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9729 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
9731 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9733 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
9735 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9737 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
9739 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9741 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
9743 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9745 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
9747 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9749 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
9751 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9753 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
9755 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9757 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
9759 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9761 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
9763 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9765 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
9767 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9769 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
9771 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9773 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
9775 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9777 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
9779 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9781 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
9783 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9785 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
9787 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9789 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
9791 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9793 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
9795 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9797 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
9799 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9801 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
9803 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9805 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
9807 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9809 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
9811 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9813 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
9815 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9817 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
9819 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9821 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
9823 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeIntArray([I)V
9825 + return-void
9827 + :cond_a9
9828 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
9830 + invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
9832 + move-result v0
9834 + goto/16 :goto_5
9835 +.end method
9836 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali
9837 --- stock-framework/smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali 1969-12-31 18:00:00.000000000 -0600
9838 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali 2012-10-05 10:15:48.437126896 -0500
9839 @@ -0,0 +1,129 @@
9840 +.class Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
9841 +.super Ljava/lang/Object;
9842 +.source "PrivacyAccountManager.java"
9844 +# interfaces
9845 +.implements Landroid/accounts/AccountManagerFuture;
9848 +# annotations
9849 +.annotation system Ldalvik/annotation/EnclosingClass;
9850 + value = Landroid/privacy/surrogate/PrivacyAccountManager;
9851 +.end annotation
9853 +.annotation system Ldalvik/annotation/InnerClass;
9854 + accessFlags = 0x2
9855 + name = "PrivacyAccountManagerFuture"
9856 +.end annotation
9858 +.annotation system Ldalvik/annotation/Signature;
9859 + value = {
9860 + "<V:",
9861 + "Ljava/lang/Object;",
9862 + ">",
9863 + "Ljava/lang/Object;",
9864 + "Landroid/accounts/AccountManagerFuture",
9865 + "<TV;>;"
9867 +.end annotation
9870 +# instance fields
9871 +.field private result:Ljava/lang/Object;
9872 + .annotation system Ldalvik/annotation/Signature;
9873 + value = {
9874 + "TV;"
9876 + .end annotation
9877 +.end field
9879 +.field final synthetic this$0:Landroid/privacy/surrogate/PrivacyAccountManager;
9882 +# direct methods
9883 +.method public constructor <init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
9884 + .registers 3
9885 + .annotation system Ldalvik/annotation/Signature;
9886 + value = {
9887 + "(TV;)V"
9889 + .end annotation
9891 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->this$0:Landroid/privacy/surrogate/PrivacyAccountManager;
9893 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
9895 + iput-object p2, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->result:Ljava/lang/Object;
9897 + return-void
9898 +.end method
9901 +# virtual methods
9902 +.method public cancel(Z)Z
9903 + .registers 3
9905 + const/4 v0, 0x0
9907 + return v0
9908 +.end method
9910 +.method public getResult()Ljava/lang/Object;
9911 + .registers 2
9912 + .annotation system Ldalvik/annotation/Signature;
9913 + value = {
9914 + "()TV;"
9916 + .end annotation
9918 + .annotation system Ldalvik/annotation/Throws;
9919 + value = {
9920 + Landroid/accounts/OperationCanceledException;,
9921 + Ljava/io/IOException;,
9922 + Landroid/accounts/AuthenticatorException;
9924 + .end annotation
9926 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->result:Ljava/lang/Object;
9928 + return-object v0
9929 +.end method
9931 +.method public getResult(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;
9932 + .registers 5
9933 + .annotation system Ldalvik/annotation/Signature;
9934 + value = {
9935 + "(J",
9936 + "Ljava/util/concurrent/TimeUnit;",
9937 + ")TV;"
9939 + .end annotation
9941 + .annotation system Ldalvik/annotation/Throws;
9942 + value = {
9943 + Landroid/accounts/OperationCanceledException;,
9944 + Ljava/io/IOException;,
9945 + Landroid/accounts/AuthenticatorException;
9947 + .end annotation
9949 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->result:Ljava/lang/Object;
9951 + return-object v0
9952 +.end method
9954 +.method public isCancelled()Z
9955 + .registers 2
9957 + const/4 v0, 0x0
9959 + return v0
9960 +.end method
9962 +.method public isDone()Z
9963 + .registers 2
9965 + const/4 v0, 0x1
9967 + return v0
9968 +.end method
9969 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyAccountManager.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyAccountManager.smali
9970 --- stock-framework/smali/android/privacy/surrogate/PrivacyAccountManager.smali 1969-12-31 18:00:00.000000000 -0600
9971 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyAccountManager.smali 2012-10-05 10:15:48.437126896 -0500
9972 @@ -0,0 +1,701 @@
9973 +.class public final Landroid/privacy/surrogate/PrivacyAccountManager;
9974 +.super Landroid/accounts/AccountManager;
9975 +.source "PrivacyAccountManager.java"
9978 +# annotations
9979 +.annotation system Ldalvik/annotation/MemberClasses;
9980 + value = {
9981 + Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
9983 +.end annotation
9986 +# static fields
9987 +.field private static final TAG:Ljava/lang/String; = "PrivacyAccountManager"
9990 +# instance fields
9991 +.field private context:Landroid/content/Context;
9993 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
9996 +# direct methods
9997 +.method public constructor <init>(Landroid/content/Context;Landroid/accounts/IAccountManager;)V
9998 + .registers 5
10000 + invoke-direct {p0, p1, p2}, Landroid/accounts/AccountManager;-><init>(Landroid/content/Context;Landroid/accounts/IAccountManager;)V
10002 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10004 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
10006 + const-string/jumbo v1, "privacy"
10008 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
10010 + move-result-object v1
10012 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
10014 + move-result-object v1
10016 + invoke-direct {v0, p1, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
10018 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10020 + return-void
10021 +.end method
10023 +.method public constructor <init>(Landroid/content/Context;Landroid/accounts/IAccountManager;Landroid/os/Handler;)V
10024 + .registers 6
10026 + invoke-direct {p0, p1, p2, p3}, Landroid/accounts/AccountManager;-><init>(Landroid/content/Context;Landroid/accounts/IAccountManager;Landroid/os/Handler;)V
10028 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10030 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
10032 + const-string/jumbo v1, "privacy"
10034 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
10036 + move-result-object v1
10038 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
10040 + move-result-object v1
10042 + invoke-direct {v0, p1, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
10044 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10046 + return-void
10047 +.end method
10050 +# virtual methods
10051 +.method public blockingGetAuthToken(Landroid/accounts/Account;Ljava/lang/String;Z)Ljava/lang/String;
10052 + .registers 12
10053 + .annotation system Ldalvik/annotation/Throws;
10054 + value = {
10055 + Landroid/accounts/OperationCanceledException;,
10056 + Ljava/io/IOException;,
10057 + Landroid/accounts/AuthenticatorException;
10059 + .end annotation
10061 + const/4 v5, 0x0
10063 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10065 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10067 + move-result-object v1
10069 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10071 + move-result v2
10073 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10075 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10077 + move-result-object v6
10079 + if-eqz v6, :cond_23
10081 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
10083 + move-result v0
10085 + if-eqz v0, :cond_23
10087 + const/4 v7, 0x0
10089 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10091 + const/4 v3, 0x1
10093 + const-string v4, "authTokens"
10095 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10097 + :goto_22
10098 + return-object v7
10100 + :cond_23
10101 + invoke-super {p0, p1, p2, p3}, Landroid/accounts/AccountManager;->blockingGetAuthToken(Landroid/accounts/Account;Ljava/lang/String;Z)Ljava/lang/String;
10103 + move-result-object v7
10105 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10107 + const/4 v3, 0x0
10109 + const-string v4, "authTokens"
10111 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10113 + goto :goto_22
10114 +.end method
10116 +.method public getAccounts()[Landroid/accounts/Account;
10117 + .registers 10
10119 + const/4 v5, 0x0
10121 + const/4 v3, 0x0
10123 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10125 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10127 + move-result-object v1
10129 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10131 + move-result v2
10133 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10135 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10137 + move-result-object v6
10139 + if-eqz v6, :cond_27
10141 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
10143 + move-result v0
10145 + if-eqz v0, :cond_27
10147 + const-string v8, "[empty accounts list]"
10149 + new-array v7, v3, [Landroid/accounts/Account;
10151 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10153 + const/4 v3, 0x1
10155 + const-string v4, "accountsList"
10157 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10159 + :goto_26
10160 + return-object v7
10162 + :cond_27
10163 + const-string v8, "[real value]"
10165 + invoke-super {p0}, Landroid/accounts/AccountManager;->getAccounts()[Landroid/accounts/Account;
10167 + move-result-object v7
10169 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10171 + const-string v4, "accountsList"
10173 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10175 + goto :goto_26
10176 +.end method
10178 +.method public getAccountsByType(Ljava/lang/String;)[Landroid/accounts/Account;
10179 + .registers 11
10181 + const/4 v5, 0x0
10183 + const/4 v3, 0x0
10185 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10187 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10189 + move-result-object v1
10191 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10193 + move-result v2
10195 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10197 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10199 + move-result-object v6
10201 + if-eqz v6, :cond_27
10203 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
10205 + move-result v0
10207 + if-eqz v0, :cond_27
10209 + const-string v8, "[empty accounts list]"
10211 + new-array v7, v3, [Landroid/accounts/Account;
10213 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10215 + const/4 v3, 0x1
10217 + const-string v4, "accountsList"
10219 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10221 + :goto_26
10222 + return-object v7
10224 + :cond_27
10225 + const-string v8, "[real value]"
10227 + invoke-super {p0, p1}, Landroid/accounts/AccountManager;->getAccountsByType(Ljava/lang/String;)[Landroid/accounts/Account;
10229 + move-result-object v7
10231 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10233 + const-string v4, "accountsList"
10235 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10237 + goto :goto_26
10238 +.end method
10240 +.method public getAccountsByTypeAndFeatures(Ljava/lang/String;[Ljava/lang/String;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
10241 + .registers 14
10242 + .annotation system Ldalvik/annotation/Signature;
10243 + value = {
10244 + "(",
10245 + "Ljava/lang/String;",
10246 + "[",
10247 + "Ljava/lang/String;",
10248 + "Landroid/accounts/AccountManagerCallback",
10249 + "<[",
10250 + "Landroid/accounts/Account;",
10251 + ">;",
10252 + "Landroid/os/Handler;",
10253 + ")",
10254 + "Landroid/accounts/AccountManagerFuture",
10255 + "<[",
10256 + "Landroid/accounts/Account;",
10257 + ">;"
10259 + .end annotation
10261 + const/4 v5, 0x0
10263 + const/4 v3, 0x0
10265 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10267 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10269 + move-result-object v1
10271 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10273 + move-result v2
10275 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10277 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10279 + move-result-object v6
10281 + if-eqz v6, :cond_2c
10283 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
10285 + move-result v0
10287 + if-eqz v0, :cond_2c
10289 + const-string v8, "[false]"
10291 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10293 + new-array v0, v3, [Landroid/accounts/Account;
10295 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
10297 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10299 + const/4 v3, 0x1
10301 + const-string v4, "accountsList"
10303 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10305 + :goto_2b
10306 + return-object v7
10308 + :cond_2c
10309 + const-string v8, "[real value]"
10311 + invoke-super {p0, p1, p2, p3, p4}, Landroid/accounts/AccountManager;->getAccountsByTypeAndFeatures(Ljava/lang/String;[Ljava/lang/String;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
10313 + move-result-object v7
10315 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10317 + const-string v4, "accountsList"
10319 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10321 + goto :goto_2b
10322 +.end method
10324 +.method public getAuthToken(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;Landroid/app/Activity;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
10325 + .registers 16
10326 + .annotation system Ldalvik/annotation/Signature;
10327 + value = {
10328 + "(",
10329 + "Landroid/accounts/Account;",
10330 + "Ljava/lang/String;",
10331 + "Landroid/os/Bundle;",
10332 + "Landroid/app/Activity;",
10333 + "Landroid/accounts/AccountManagerCallback",
10334 + "<",
10335 + "Landroid/os/Bundle;",
10336 + ">;",
10337 + "Landroid/os/Handler;",
10338 + ")",
10339 + "Landroid/accounts/AccountManagerFuture",
10340 + "<",
10341 + "Landroid/os/Bundle;",
10342 + ">;"
10344 + .end annotation
10346 + const/4 v5, 0x0
10348 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10350 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10352 + move-result-object v1
10354 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10356 + move-result v2
10358 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10360 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10362 + move-result-object v6
10364 + if-eqz v6, :cond_2e
10366 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
10368 + move-result v0
10370 + if-eqz v0, :cond_2e
10372 + const-string v8, "[empty]"
10374 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10376 + new-instance v0, Landroid/os/Bundle;
10378 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
10380 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
10382 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10384 + const/4 v3, 0x1
10386 + const-string v4, "authTokens"
10388 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10390 + :goto_2d
10391 + return-object v7
10393 + :cond_2e
10394 + const-string v8, "[real value]"
10396 + invoke-super/range {p0 .. p6}, Landroid/accounts/AccountManager;->getAuthToken(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;Landroid/app/Activity;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
10398 + move-result-object v7
10400 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10402 + const/4 v3, 0x0
10404 + const-string v4, "authTokens"
10406 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10408 + goto :goto_2d
10409 +.end method
10411 +.method public getAuthToken(Landroid/accounts/Account;Ljava/lang/String;ZLandroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
10412 + .registers 15
10413 + .annotation system Ldalvik/annotation/Signature;
10414 + value = {
10415 + "(",
10416 + "Landroid/accounts/Account;",
10417 + "Ljava/lang/String;",
10418 + "Z",
10419 + "Landroid/accounts/AccountManagerCallback",
10420 + "<",
10421 + "Landroid/os/Bundle;",
10422 + ">;",
10423 + "Landroid/os/Handler;",
10424 + ")",
10425 + "Landroid/accounts/AccountManagerFuture",
10426 + "<",
10427 + "Landroid/os/Bundle;",
10428 + ">;"
10430 + .end annotation
10432 + const/4 v5, 0x0
10434 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10436 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10438 + move-result-object v1
10440 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10442 + move-result v2
10444 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10446 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10448 + move-result-object v6
10450 + if-eqz v6, :cond_2e
10452 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
10454 + move-result v0
10456 + if-eqz v0, :cond_2e
10458 + const-string v8, "[empty]"
10460 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10462 + new-instance v0, Landroid/os/Bundle;
10464 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
10466 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
10468 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10470 + const/4 v3, 0x1
10472 + const-string v4, "authTokens"
10474 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10476 + :goto_2d
10477 + return-object v7
10479 + :cond_2e
10480 + const-string v8, "[real value]"
10482 + invoke-super/range {p0 .. p5}, Landroid/accounts/AccountManager;->getAuthToken(Landroid/accounts/Account;Ljava/lang/String;ZLandroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
10484 + move-result-object v7
10486 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10488 + const/4 v3, 0x0
10490 + const-string v4, "authTokens"
10492 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10494 + goto :goto_2d
10495 +.end method
10497 +.method public getAuthTokenByFeatures(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Landroid/app/Activity;Landroid/os/Bundle;Landroid/os/Bundle;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
10498 + .registers 18
10499 + .annotation system Ldalvik/annotation/Signature;
10500 + value = {
10501 + "(",
10502 + "Ljava/lang/String;",
10503 + "Ljava/lang/String;",
10504 + "[",
10505 + "Ljava/lang/String;",
10506 + "Landroid/app/Activity;",
10507 + "Landroid/os/Bundle;",
10508 + "Landroid/os/Bundle;",
10509 + "Landroid/accounts/AccountManagerCallback",
10510 + "<",
10511 + "Landroid/os/Bundle;",
10512 + ">;",
10513 + "Landroid/os/Handler;",
10514 + ")",
10515 + "Landroid/accounts/AccountManagerFuture",
10516 + "<",
10517 + "Landroid/os/Bundle;",
10518 + ">;"
10520 + .end annotation
10522 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10524 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10526 + move-result-object v1
10528 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10530 + move-result v2
10532 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10534 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10536 + move-result-object v6
10538 + if-eqz v6, :cond_2e
10540 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
10542 + move-result v0
10544 + if-eqz v0, :cond_2e
10546 + const-string v8, "[empty]"
10548 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10550 + new-instance v0, Landroid/os/Bundle;
10552 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
10554 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
10556 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10558 + const/4 v3, 0x1
10560 + const-string v4, "authTokens"
10562 + const/4 v5, 0x0
10564 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10566 + :goto_2d
10567 + return-object v7
10569 + :cond_2e
10570 + const-string v8, "[real value]"
10572 + invoke-super/range {p0 .. p8}, Landroid/accounts/AccountManager;->getAuthTokenByFeatures(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Landroid/app/Activity;Landroid/os/Bundle;Landroid/os/Bundle;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
10574 + move-result-object v7
10576 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10578 + const/4 v3, 0x0
10580 + const-string v4, "authTokens"
10582 + const/4 v5, 0x0
10584 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10586 + goto :goto_2d
10587 +.end method
10589 +.method public hasFeatures(Landroid/accounts/Account;[Ljava/lang/String;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
10590 + .registers 14
10591 + .annotation system Ldalvik/annotation/Signature;
10592 + value = {
10593 + "(",
10594 + "Landroid/accounts/Account;",
10595 + "[",
10596 + "Ljava/lang/String;",
10597 + "Landroid/accounts/AccountManagerCallback",
10598 + "<",
10599 + "Ljava/lang/Boolean;",
10600 + ">;",
10601 + "Landroid/os/Handler;",
10602 + ")",
10603 + "Landroid/accounts/AccountManagerFuture",
10604 + "<",
10605 + "Ljava/lang/Boolean;",
10606 + ">;"
10608 + .end annotation
10610 + const/4 v5, 0x0
10612 + const/4 v3, 0x0
10614 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10616 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10618 + move-result-object v1
10620 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10622 + move-result v2
10624 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10626 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10628 + move-result-object v6
10630 + if-eqz v6, :cond_2e
10632 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
10634 + move-result v0
10636 + if-eqz v0, :cond_2e
10638 + const-string v8, "[false]"
10640 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10642 + invoke-static {v3}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
10644 + move-result-object v0
10646 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
10648 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10650 + const/4 v3, 0x1
10652 + const-string v4, "accountsList"
10654 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10656 + :goto_2d
10657 + return-object v7
10659 + :cond_2e
10660 + const-string v8, "[real value]"
10662 + invoke-super {p0, p1, p2, p3, p4}, Landroid/accounts/AccountManager;->hasFeatures(Landroid/accounts/Account;[Ljava/lang/String;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
10664 + move-result-object v7
10666 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10668 + const-string v4, "accountsList"
10670 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10672 + goto :goto_2d
10673 +.end method
10674 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyActivityManagerService.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyActivityManagerService.smali
10675 --- stock-framework/smali/android/privacy/surrogate/PrivacyActivityManagerService.smali 1969-12-31 18:00:00.000000000 -0600
10676 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyActivityManagerService.smali 2012-10-05 10:15:48.437126896 -0500
10677 @@ -0,0 +1,1087 @@
10678 +.class public final Landroid/privacy/surrogate/PrivacyActivityManagerService;
10679 +.super Ljava/lang/Object;
10680 +.source "PrivacyActivityManagerService.java"
10683 +# static fields
10684 +.field private static final TAG:Ljava/lang/String; = "PrivacyActivityManagerService"
10686 +.field private static pSetMan:Landroid/privacy/PrivacySettingsManager;
10688 +.field private static tmpIn:Landroid/content/Intent;
10690 +.field private static tmpInHash:J
10692 +.field private static tmpInReceivers:I
10694 +.field private static tmpMms:Landroid/content/Intent;
10696 +.field private static tmpMmsHash:J
10698 +.field private static tmpMmsReceivers:I
10700 +.field private static tmpOut:Landroid/content/Intent;
10702 +.field private static tmpOutHash:J
10704 +.field private static tmpOutReceivers:I
10706 +.field private static tmpPackageAddedHash:J
10708 +.field private static tmpSms:Landroid/content/Intent;
10710 +.field private static tmpSmsHash:J
10712 +.field private static tmpSmsReceivers:I
10715 +# direct methods
10716 +.method static constructor <clinit>()V
10717 + .registers 3
10719 + const/4 v2, 0x0
10721 + const-wide/16 v0, 0x0
10723 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInHash:J
10725 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
10727 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutHash:J
10729 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
10731 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsHash:J
10733 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
10735 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsHash:J
10737 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
10739 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpPackageAddedHash:J
10741 + return-void
10742 +.end method
10744 +.method public constructor <init>()V
10745 + .registers 1
10747 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
10749 + return-void
10750 +.end method
10752 +.method public static enforcePrivacyPermission(Ljava/lang/String;ILandroid/content/Intent;Landroid/content/Context;I)V
10753 + .registers 22
10755 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10757 + if-nez v2, :cond_11
10759 + const-string/jumbo v2, "privacy"
10761 + move-object/from16 v0, p3
10763 + invoke-virtual {v0, v2}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
10765 + move-result-object v2
10767 + check-cast v2, Landroid/privacy/PrivacySettingsManager;
10769 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10771 + :cond_11
10772 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->getAction()Ljava/lang/String;
10774 + move-result-object v9
10776 + const-string v2, "android.intent.action.NEW_OUTGOING_CALL"
10778 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
10780 + move-result v2
10782 + if-eqz v2, :cond_ad
10784 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10786 + move-object/from16 v0, p0
10788 + move/from16 v1, p1
10790 + invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10792 + move-result-object v8
10794 + const-string v2, "android.intent.extra.PHONE_NUMBER"
10796 + move-object/from16 v0, p2
10798 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
10800 + move-result-object v16
10802 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutHash:J
10804 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
10806 + move-result-wide v4
10808 + cmp-long v2, v2, v4
10810 + if-eqz v2, :cond_49
10812 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->clone()Ljava/lang/Object;
10814 + move-result-object v2
10816 + check-cast v2, Landroid/content/Intent;
10818 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOut:Landroid/content/Intent;
10820 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
10822 + move-result-wide v2
10824 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutHash:J
10826 + sput p4, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
10828 + :cond_49
10829 + if-eqz v8, :cond_76
10831 + :try_start_4b
10832 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getOutgoingCallsSetting()B
10834 + move-result v2
10836 + if-eqz v2, :cond_76
10838 + const-string v16, ""
10840 + const-string v2, "android.intent.extra.PHONE_NUMBER"
10842 + move-object/from16 v0, p2
10844 + move-object/from16 v1, v16
10846 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
10848 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10850 + const/4 v5, 0x1
10852 + const-string/jumbo v6, "outgoingCall"
10854 + const/4 v7, 0x0
10856 + move-object/from16 v3, p0
10858 + move/from16 v4, p1
10860 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10861 + :try_end_6a
10862 + .catch Ljava/lang/Exception; {:try_start_4b .. :try_end_6a} :catch_a0
10864 + :cond_6a
10865 + :goto_6a
10866 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
10868 + const/4 v3, 0x1
10870 + if-le v2, v3, :cond_a9
10872 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
10874 + add-int/lit8 v2, v2, -0x1
10876 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
10878 + :cond_75
10879 + :goto_75
10880 + return-void
10882 + :cond_76
10883 + :try_start_76
10884 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutHash:J
10886 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
10888 + move-result-wide v4
10890 + cmp-long v2, v2, v4
10892 + if-nez v2, :cond_6a
10894 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOut:Landroid/content/Intent;
10896 + const-string v3, "android.intent.extra.PHONE_NUMBER"
10898 + invoke-virtual {v2, v3}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
10900 + move-result-object v16
10902 + const-string v2, "android.intent.extra.PHONE_NUMBER"
10904 + move-object/from16 v0, p2
10906 + move-object/from16 v1, v16
10908 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
10910 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10912 + const/4 v5, 0x0
10914 + const-string/jumbo v6, "outgoingCall"
10916 + const/4 v7, 0x0
10918 + move-object/from16 v3, p0
10920 + move/from16 v4, p1
10922 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10923 + :try_end_9f
10924 + .catch Ljava/lang/Exception; {:try_start_76 .. :try_end_9f} :catch_a0
10926 + goto :goto_6a
10928 + :catch_a0
10929 + move-exception v13
10931 + const-string v2, "PrivacyActivityManagerService"
10933 + const-string v3, "failed to enforce intent broadcast permission"
10935 + invoke-static {v2, v3, v13}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
10937 + goto :goto_6a
10939 + :cond_a9
10940 + const/4 v2, 0x0
10942 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOut:Landroid/content/Intent;
10944 + goto :goto_75
10946 + :cond_ad
10947 + const-string v2, "android.intent.action.PHONE_STATE"
10949 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
10951 + move-result v2
10953 + if-eqz v2, :cond_14d
10955 + const-string v2, "incoming_number"
10957 + move-object/from16 v0, p2
10959 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
10961 + move-result-object v16
10963 + if-eqz v16, :cond_75
10965 + invoke-virtual/range {v16 .. v16}, Ljava/lang/String;->isEmpty()Z
10967 + move-result v2
10969 + if-nez v2, :cond_75
10971 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10973 + move-object/from16 v0, p0
10975 + move/from16 v1, p1
10977 + invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10979 + move-result-object v8
10981 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInHash:J
10983 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
10985 + move-result-wide v4
10987 + cmp-long v2, v2, v4
10989 + if-eqz v2, :cond_e9
10991 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->clone()Ljava/lang/Object;
10993 + move-result-object v2
10995 + check-cast v2, Landroid/content/Intent;
10997 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpIn:Landroid/content/Intent;
10999 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11001 + move-result-wide v2
11003 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInHash:J
11005 + sput p4, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
11007 + :cond_e9
11008 + if-eqz v8, :cond_116
11010 + :try_start_eb
11011 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getIncomingCallsSetting()B
11013 + move-result v2
11015 + if-eqz v2, :cond_116
11017 + const-string v16, ""
11019 + const-string v2, "incoming_number"
11021 + move-object/from16 v0, p2
11023 + move-object/from16 v1, v16
11025 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
11027 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11029 + const/4 v5, 0x1
11031 + const-string v6, "incomingCall"
11033 + const/4 v7, 0x0
11035 + move-object/from16 v3, p0
11037 + move/from16 v4, p1
11039 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11040 + :try_end_109
11041 + .catch Ljava/lang/Exception; {:try_start_eb .. :try_end_109} :catch_13f
11043 + :cond_109
11044 + :goto_109
11045 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
11047 + const/4 v3, 0x1
11049 + if-le v2, v3, :cond_148
11051 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
11053 + add-int/lit8 v2, v2, -0x1
11055 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
11057 + goto/16 :goto_75
11059 + :cond_116
11060 + :try_start_116
11061 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInHash:J
11063 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11065 + move-result-wide v4
11067 + cmp-long v2, v2, v4
11069 + if-nez v2, :cond_109
11071 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpIn:Landroid/content/Intent;
11073 + const-string v3, "incoming_number"
11075 + invoke-virtual {v2, v3}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
11077 + move-result-object v16
11079 + const-string v2, "incoming_number"
11081 + move-object/from16 v0, p2
11083 + move-object/from16 v1, v16
11085 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
11087 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11089 + const/4 v5, 0x0
11091 + const-string v6, "incomingCall"
11093 + const/4 v7, 0x0
11095 + move-object/from16 v3, p0
11097 + move/from16 v4, p1
11099 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11100 + :try_end_13e
11101 + .catch Ljava/lang/Exception; {:try_start_116 .. :try_end_13e} :catch_13f
11103 + goto :goto_109
11105 + :catch_13f
11106 + move-exception v13
11108 + const-string v2, "PrivacyActivityManagerService"
11110 + const-string v3, "failed to enforce intent broadcast permission"
11112 + invoke-static {v2, v3, v13}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
11114 + goto :goto_109
11116 + :cond_148
11117 + const/4 v2, 0x0
11119 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpIn:Landroid/content/Intent;
11121 + goto/16 :goto_75
11123 + :cond_14d
11124 + const-string v2, "android.provider.Telephony.SMS_RECEIVED"
11126 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11128 + move-result v2
11130 + if-eqz v2, :cond_222
11132 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11134 + move-object/from16 v0, p0
11136 + move/from16 v1, p1
11138 + invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
11140 + move-result-object v8
11142 + const-string v16, "[real]"
11144 + const-string/jumbo v2, "pdus"
11146 + move-object/from16 v0, p2
11148 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
11150 + move-result-object v2
11152 + check-cast v2, [Ljava/lang/Object;
11154 + move-object v15, v2
11156 + check-cast v15, [Ljava/lang/Object;
11158 + if-eqz v15, :cond_1cd
11160 + const/4 v2, 0x0
11162 + aget-object v2, v15, v2
11164 + check-cast v2, [B
11166 + check-cast v2, [B
11168 + move-object v12, v2
11170 + :goto_179
11171 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsHash:J
11173 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11175 + move-result-wide v4
11177 + cmp-long v2, v2, v4
11179 + if-eqz v2, :cond_193
11181 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->clone()Ljava/lang/Object;
11183 + move-result-object v2
11185 + check-cast v2, Landroid/content/Intent;
11187 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSms:Landroid/content/Intent;
11189 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11191 + move-result-wide v2
11193 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsHash:J
11195 + sput p4, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
11197 + :cond_193
11198 + if-eqz v8, :cond_1cf
11200 + :try_start_195
11201 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getSmsSetting()B
11203 + move-result v2
11205 + if-eqz v2, :cond_1cf
11207 + const-string v16, "[empty]"
11209 + const/4 v2, 0x1
11211 + new-array v14, v2, [Ljava/lang/Object;
11213 + const/4 v2, 0x0
11215 + const/16 v3, 0x10
11217 + new-array v3, v3, [B
11219 + fill-array-data v3, :array_350
11221 + aput-object v3, v14, v2
11223 + const-string/jumbo v2, "pdus"
11225 + move-object/from16 v0, p2
11227 + invoke-virtual {v0, v2, v14}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent;
11229 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11231 + const/4 v5, 0x1
11233 + const-string/jumbo v6, "sms"
11235 + const/4 v7, 0x0
11237 + move-object/from16 v3, p0
11239 + move/from16 v4, p1
11241 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11242 + :try_end_1c0
11243 + .catch Ljava/lang/Exception; {:try_start_195 .. :try_end_1c0} :catch_212
11245 + :cond_1c0
11246 + :goto_1c0
11247 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
11249 + const/4 v3, 0x1
11251 + if-le v2, v3, :cond_21d
11253 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
11255 + add-int/lit8 v2, v2, -0x1
11257 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
11259 + goto/16 :goto_75
11261 + :cond_1cd
11262 + const/4 v12, 0x0
11264 + goto :goto_179
11266 + :cond_1cf
11267 + :try_start_1cf
11268 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsHash:J
11270 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11272 + move-result-wide v4
11274 + cmp-long v2, v2, v4
11276 + if-nez v2, :cond_1c0
11278 + const-string/jumbo v2, "pdus"
11280 + sget-object v3, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSms:Landroid/content/Intent;
11282 + const-string/jumbo v4, "pdus"
11284 + invoke-virtual {v3, v4}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
11286 + move-result-object v3
11288 + move-object/from16 v0, p2
11290 + invoke-virtual {v0, v2, v3}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent;
11292 + const-string/jumbo v2, "pdus"
11294 + move-object/from16 v0, p2
11296 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
11298 + move-result-object v2
11300 + check-cast v2, [Ljava/lang/Object;
11302 + move-object v0, v2
11304 + check-cast v0, [Ljava/lang/Object;
11306 + move-object v15, v0
11308 + if-eqz v15, :cond_21b
11310 + const/4 v2, 0x0
11312 + aget-object v2, v15, v2
11314 + check-cast v2, [B
11316 + check-cast v2, [B
11318 + move-object v12, v2
11320 + :goto_203
11321 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11323 + const/4 v5, 0x0
11325 + const-string/jumbo v6, "sms"
11327 + const/4 v7, 0x0
11329 + move-object/from16 v3, p0
11331 + move/from16 v4, p1
11333 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11334 + :try_end_211
11335 + .catch Ljava/lang/Exception; {:try_start_1cf .. :try_end_211} :catch_212
11337 + goto :goto_1c0
11339 + :catch_212
11340 + move-exception v13
11342 + const-string v2, "PrivacyActivityManagerService"
11344 + const-string v3, "failed to enforce intent broadcast permission"
11346 + invoke-static {v2, v3, v13}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
11348 + goto :goto_1c0
11350 + :cond_21b
11351 + const/4 v12, 0x0
11353 + goto :goto_203
11355 + :cond_21d
11356 + const/4 v2, 0x0
11358 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSms:Landroid/content/Intent;
11360 + goto/16 :goto_75
11362 + :cond_222
11363 + const-string v2, "android.provider.Telephony.WAP_PUSH_RECEIVED"
11365 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11367 + move-result v2
11369 + if-nez v2, :cond_232
11371 + const-string v2, "android.intent.action.DATA_SMS_RECEIVED"
11373 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11375 + move-result v2
11377 + if-eqz v2, :cond_2ff
11379 + :cond_232
11380 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11382 + move-object/from16 v0, p0
11384 + move/from16 v1, p1
11386 + invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
11388 + move-result-object v8
11390 + const-string v16, "[real]"
11392 + const-string/jumbo v2, "pdus"
11394 + move-object/from16 v0, p2
11396 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
11398 + move-result-object v2
11400 + check-cast v2, [Ljava/lang/Object;
11402 + move-object v15, v2
11404 + check-cast v15, [Ljava/lang/Object;
11406 + if-eqz v15, :cond_2aa
11408 + const/4 v2, 0x0
11410 + aget-object v2, v15, v2
11412 + check-cast v2, [B
11414 + check-cast v2, [B
11416 + move-object v12, v2
11418 + :goto_256
11419 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsHash:J
11421 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11423 + move-result-wide v4
11425 + cmp-long v2, v2, v4
11427 + if-eqz v2, :cond_270
11429 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->clone()Ljava/lang/Object;
11431 + move-result-object v2
11433 + check-cast v2, Landroid/content/Intent;
11435 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMms:Landroid/content/Intent;
11437 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11439 + move-result-wide v2
11441 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsHash:J
11443 + sput p4, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
11445 + :cond_270
11446 + if-eqz v8, :cond_2ac
11448 + :try_start_272
11449 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getMmsSetting()B
11451 + move-result v2
11453 + if-eqz v2, :cond_2ac
11455 + const-string v16, "[empty]"
11457 + const/4 v2, 0x1
11459 + new-array v14, v2, [Ljava/lang/Object;
11461 + const/4 v2, 0x0
11463 + const/16 v3, 0x10
11465 + new-array v3, v3, [B
11467 + fill-array-data v3, :array_35c
11469 + aput-object v3, v14, v2
11471 + const-string/jumbo v2, "pdus"
11473 + move-object/from16 v0, p2
11475 + invoke-virtual {v0, v2, v14}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent;
11477 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11479 + const/4 v5, 0x1
11481 + const-string/jumbo v6, "mms"
11483 + const/4 v7, 0x0
11485 + move-object/from16 v3, p0
11487 + move/from16 v4, p1
11489 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11490 + :try_end_29d
11491 + .catch Ljava/lang/Exception; {:try_start_272 .. :try_end_29d} :catch_2ef
11493 + :cond_29d
11494 + :goto_29d
11495 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
11497 + const/4 v3, 0x1
11499 + if-le v2, v3, :cond_2fa
11501 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
11503 + add-int/lit8 v2, v2, -0x1
11505 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
11507 + goto/16 :goto_75
11509 + :cond_2aa
11510 + const/4 v12, 0x0
11512 + goto :goto_256
11514 + :cond_2ac
11515 + :try_start_2ac
11516 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsHash:J
11518 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11520 + move-result-wide v4
11522 + cmp-long v2, v2, v4
11524 + if-nez v2, :cond_29d
11526 + const-string/jumbo v2, "pdus"
11528 + sget-object v3, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMms:Landroid/content/Intent;
11530 + const-string/jumbo v4, "pdus"
11532 + invoke-virtual {v3, v4}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
11534 + move-result-object v3
11536 + move-object/from16 v0, p2
11538 + invoke-virtual {v0, v2, v3}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent;
11540 + const-string/jumbo v2, "pdus"
11542 + move-object/from16 v0, p2
11544 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
11546 + move-result-object v2
11548 + check-cast v2, [Ljava/lang/Object;
11550 + move-object v0, v2
11552 + check-cast v0, [Ljava/lang/Object;
11554 + move-object v15, v0
11556 + if-eqz v15, :cond_2f8
11558 + const/4 v2, 0x0
11560 + aget-object v2, v15, v2
11562 + check-cast v2, [B
11564 + check-cast v2, [B
11566 + move-object v12, v2
11568 + :goto_2e0
11569 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11571 + const/4 v5, 0x0
11573 + const-string/jumbo v6, "mms"
11575 + const/4 v7, 0x0
11577 + move-object/from16 v3, p0
11579 + move/from16 v4, p1
11581 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11582 + :try_end_2ee
11583 + .catch Ljava/lang/Exception; {:try_start_2ac .. :try_end_2ee} :catch_2ef
11585 + goto :goto_29d
11587 + :catch_2ef
11588 + move-exception v13
11590 + const-string v2, "PrivacyActivityManagerService"
11592 + const-string v3, "failed to enforce intent broadcast permission"
11594 + invoke-static {v2, v3, v13}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
11596 + goto :goto_29d
11598 + :cond_2f8
11599 + const/4 v12, 0x0
11601 + goto :goto_2e0
11603 + :cond_2fa
11604 + const/4 v2, 0x0
11606 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMms:Landroid/content/Intent;
11608 + goto/16 :goto_75
11610 + :cond_2ff
11611 + const-string v2, "android.intent.action.BOOT_COMPLETED"
11613 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11615 + move-result v2
11617 + if-eqz v2, :cond_30e
11619 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11621 + invoke-virtual {v2}, Landroid/privacy/PrivacySettingsManager;->setBootCompleted()V
11623 + goto/16 :goto_75
11625 + :cond_30e
11626 + const-string v2, "android.intent.action.PACKAGE_ADDED"
11628 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11630 + move-result v2
11632 + if-eqz v2, :cond_75
11634 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpPackageAddedHash:J
11636 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11638 + move-result-wide v4
11640 + cmp-long v2, v2, v4
11642 + if-eqz v2, :cond_75
11644 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11646 + move-result-wide v2
11648 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpPackageAddedHash:J
11650 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->getData()Landroid/net/Uri;
11652 + move-result-object v2
11654 + invoke-virtual {v2}, Landroid/net/Uri;->getSchemeSpecificPart()Ljava/lang/String;
11656 + move-result-object v10
11658 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->getExtras()Landroid/os/Bundle;
11660 + move-result-object v2
11662 + const-string v3, "android.intent.extra.UID"
11664 + invoke-virtual {v2, v3}, Landroid/os/Bundle;->getInt(Ljava/lang/String;)I
11666 + move-result v11
11668 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11670 + invoke-virtual {v2, v10, v11}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
11672 + move-result-object v8
11674 + if-eqz v8, :cond_75
11676 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getUid()I
11678 + move-result v2
11680 + if-eq v2, v11, :cond_75
11682 + invoke-virtual {v8, v11}, Landroid/privacy/PrivacySettings;->setUid(I)V
11684 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11686 + invoke-virtual {v2, v8}, Landroid/privacy/PrivacySettingsManager;->saveSettings(Landroid/privacy/PrivacySettings;)Z
11688 + goto/16 :goto_75
11690 + :array_350
11691 + .array-data 0x1
11692 + 0x0t
11693 + 0x20t
11694 + 0x1t
11695 + 0x81t
11696 + 0xf0t
11697 + 0x0t
11698 + 0x0t
11699 + 0x11t
11700 + 0x90t
11701 + 0x1t
11702 + 0x30t
11703 + 0x22t
11704 + 0x22t
11705 + 0x80t
11706 + 0x1t
11707 + 0x20t
11708 + .end array-data
11710 + :array_35c
11711 + .array-data 0x1
11712 + 0x0t
11713 + 0x20t
11714 + 0x1t
11715 + 0x81t
11716 + 0xf0t
11717 + 0x0t
11718 + 0x0t
11719 + 0x11t
11720 + 0x90t
11721 + 0x1t
11722 + 0x30t
11723 + 0x22t
11724 + 0x22t
11725 + 0x80t
11726 + 0x1t
11727 + 0x20t
11728 + .end array-data
11729 +.end method
11731 +.method private static hashCode(Landroid/content/Intent;)J
11732 + .registers 7
11734 + const-wide/16 v3, 0x0
11736 + const-string/jumbo v2, "privacy_hash"
11738 + invoke-virtual {p0, v2, v3, v4}, Landroid/content/Intent;->getLongExtra(Ljava/lang/String;J)J
11740 + move-result-wide v0
11742 + cmp-long v2, v0, v3
11744 + if-nez v2, :cond_1e
11746 + invoke-virtual {p0}, Landroid/content/Intent;->filterHashCode()I
11748 + move-result v2
11750 + int-to-long v2, v2
11752 + invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
11754 + move-result-wide v4
11756 + add-long v0, v2, v4
11758 + const-string/jumbo v2, "privacy_hash"
11760 + invoke-virtual {p0, v2, v0, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;J)Landroid/content/Intent;
11762 + :cond_1e
11763 + return-wide v0
11764 +.end method
11765 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyContentResolver.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyContentResolver.smali
11766 --- stock-framework/smali/android/privacy/surrogate/PrivacyContentResolver.smali 1969-12-31 18:00:00.000000000 -0600
11767 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyContentResolver.smali 2012-10-05 10:15:48.441126915 -0500
11768 @@ -0,0 +1,624 @@
11769 +.class public final Landroid/privacy/surrogate/PrivacyContentResolver;
11770 +.super Ljava/lang/Object;
11771 +.source "PrivacyContentResolver.java"
11774 +# static fields
11775 +.field private static final TAG:Ljava/lang/String; = "PrivacyContentResolver"
11777 +.field private static pSetMan:Landroid/privacy/PrivacySettingsManager;
11780 +# direct methods
11781 +.method public constructor <init>()V
11782 + .registers 1
11784 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
11786 + return-void
11787 +.end method
11789 +.method private static arrayToString([Ljava/lang/String;)Ljava/lang/String;
11790 + .registers 8
11792 + new-instance v4, Ljava/lang/StringBuffer;
11794 + invoke-direct {v4}, Ljava/lang/StringBuffer;-><init>()V
11796 + if-eqz p0, :cond_2d
11798 + move-object v0, p0
11800 + array-length v3, v0
11802 + const/4 v2, 0x0
11804 + :goto_a
11805 + if-ge v2, v3, :cond_30
11807 + aget-object v1, v0, v2
11809 + new-instance v5, Ljava/lang/StringBuilder;
11811 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
11813 + const-string v6, "["
11815 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
11817 + move-result-object v5
11819 + invoke-virtual {v5, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
11821 + move-result-object v5
11823 + const-string v6, "]"
11825 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
11827 + move-result-object v5
11829 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
11831 + move-result-object v5
11833 + invoke-virtual {v4, v5}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
11835 + add-int/lit8 v2, v2, 0x1
11837 + goto :goto_a
11839 + :cond_2d
11840 + const-string v5, ""
11842 + :goto_2f
11843 + return-object v5
11845 + :cond_30
11846 + invoke-virtual {v4}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String;
11848 + move-result-object v5
11850 + goto :goto_2f
11851 +.end method
11853 +.method public static enforcePrivacyPermission(Landroid/net/Uri;[Ljava/lang/String;Landroid/content/Context;Landroid/database/Cursor;)Landroid/database/Cursor;
11854 + .registers 21
11855 + .annotation system Ldalvik/annotation/Throws;
11856 + value = {
11857 + Landroid/os/RemoteException;
11859 + .end annotation
11861 + if-eqz p0, :cond_1e4
11863 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11865 + if-nez v1, :cond_13
11867 + const-string/jumbo v1, "privacy"
11869 + move-object/from16 v0, p2
11871 + invoke-virtual {v0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
11873 + move-result-object v1
11875 + check-cast v1, Landroid/privacy/PrivacySettingsManager;
11877 + sput-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11879 + :cond_13
11880 + invoke-virtual/range {p2 .. p2}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
11882 + move-result-object v2
11884 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
11886 + move-result v3
11888 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11890 + invoke-virtual {v1, v2, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
11892 + move-result-object v7
11894 + invoke-virtual/range {p0 .. p0}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
11896 + move-result-object v9
11898 + const-string v15, "[real]"
11900 + move-object/from16 v13, p3
11902 + if-eqz v9, :cond_54
11904 + const-string v1, "contacts"
11906 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11908 + move-result v1
11910 + if-nez v1, :cond_3b
11912 + const-string v1, "com.android.contacts"
11914 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11916 + move-result v1
11918 + if-eqz v1, :cond_ab
11920 + :cond_3b
11921 + if-eqz v7, :cond_54
11923 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getContactsSetting()B
11925 + move-result v1
11927 + const/4 v4, 0x1
11929 + if-ne v1, v4, :cond_55
11931 + const-string v15, "[empty]"
11933 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
11935 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
11937 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11939 + const/4 v4, 0x1
11941 + const-string v5, "contacts"
11943 + const/4 v6, 0x0
11945 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11947 + :cond_54
11948 + :goto_54
11949 + return-object v13
11951 + :cond_55
11952 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getContactsSetting()B
11954 + move-result v1
11956 + const/4 v4, 0x2
11958 + if-ne v1, v4, :cond_a1
11960 + invoke-virtual/range {p0 .. p0}, Landroid/net/Uri;->toString()Ljava/lang/String;
11962 + move-result-object v1
11964 + sget-object v4, Landroid/provider/ContactsContract$Contacts;->CONTENT_URI:Landroid/net/Uri;
11966 + invoke-virtual {v4}, Landroid/net/Uri;->toString()Ljava/lang/String;
11968 + move-result-object v4
11970 + invoke-virtual {v1, v4}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
11972 + move-result v1
11974 + if-eqz v1, :cond_a1
11976 + const/4 v11, 0x0
11978 + if-eqz p1, :cond_82
11980 + move-object/from16 v8, p1
11982 + array-length v12, v8
11984 + const/4 v10, 0x0
11986 + :goto_73
11987 + if-ge v10, v12, :cond_82
11989 + aget-object v16, v8, v10
11991 + const-string v1, "_id"
11993 + move-object/from16 v0, v16
11995 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11997 + move-result v1
11999 + if-eqz v1, :cond_93
12001 + const/4 v11, 0x1
12003 + :cond_82
12004 + if-nez v11, :cond_96
12006 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12008 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12010 + :goto_89
12011 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12013 + const/4 v4, 0x2
12015 + const-string v5, "contacts"
12017 + const/4 v6, 0x0
12019 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12021 + goto :goto_54
12023 + :cond_93
12024 + add-int/lit8 v10, v10, 0x1
12026 + goto :goto_73
12028 + :cond_96
12029 + new-instance v14, Landroid/privacy/surrogate/PrivacyCursor;
12031 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getAllowedContacts()[I
12033 + move-result-object v1
12035 + invoke-direct {v14, v13, v1}, Landroid/privacy/surrogate/PrivacyCursor;-><init>(Landroid/database/Cursor;[I)V
12037 + move-object v13, v14
12039 + goto :goto_89
12041 + :cond_a1
12042 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12044 + const/4 v4, 0x0
12046 + const-string v5, "contacts"
12048 + const/4 v6, 0x0
12050 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12052 + goto :goto_54
12054 + :cond_ab
12055 + const-string v1, "com.android.calendar"
12057 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12059 + move-result v1
12061 + if-eqz v1, :cond_d8
12063 + if-eqz v7, :cond_cd
12065 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getCalendarSetting()B
12067 + move-result v1
12069 + const/4 v4, 0x1
12071 + if-ne v1, v4, :cond_cd
12073 + const-string v15, "[empty]"
12075 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12077 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12079 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12081 + const/4 v4, 0x1
12083 + const-string v5, "calendar"
12085 + const/4 v6, 0x0
12087 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12089 + goto :goto_54
12091 + :cond_cd
12092 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12094 + const/4 v4, 0x0
12096 + const-string v5, "calendar"
12098 + const/4 v6, 0x0
12100 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12102 + goto/16 :goto_54
12104 + :cond_d8
12105 + sget-object v1, Landroid/provider/Telephony$Mms;->CONTENT_URI:Landroid/net/Uri;
12107 + invoke-virtual {v1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
12109 + move-result-object v1
12111 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12113 + move-result v1
12115 + if-eqz v1, :cond_10c
12117 + if-eqz v7, :cond_100
12119 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getMmsSetting()B
12121 + move-result v1
12123 + const/4 v4, 0x1
12125 + if-ne v1, v4, :cond_100
12127 + const-string v15, "[empty]"
12129 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12131 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12133 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12135 + const/4 v4, 0x1
12137 + const-string/jumbo v5, "mms"
12139 + const/4 v6, 0x0
12141 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12143 + goto/16 :goto_54
12145 + :cond_100
12146 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12148 + const/4 v4, 0x0
12150 + const-string/jumbo v5, "mms"
12152 + const/4 v6, 0x0
12154 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12156 + goto/16 :goto_54
12158 + :cond_10c
12159 + sget-object v1, Landroid/provider/Telephony$Sms;->CONTENT_URI:Landroid/net/Uri;
12161 + invoke-virtual {v1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
12163 + move-result-object v1
12165 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12167 + move-result v1
12169 + if-eqz v1, :cond_140
12171 + if-eqz v7, :cond_134
12173 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getSmsSetting()B
12175 + move-result v1
12177 + const/4 v4, 0x1
12179 + if-ne v1, v4, :cond_134
12181 + const-string v15, "[empty]"
12183 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12185 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12187 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12189 + const/4 v4, 0x1
12191 + const-string/jumbo v5, "sms"
12193 + const/4 v6, 0x0
12195 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12197 + goto/16 :goto_54
12199 + :cond_134
12200 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12202 + const/4 v4, 0x0
12204 + const-string/jumbo v5, "sms"
12206 + const/4 v6, 0x0
12208 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12210 + goto/16 :goto_54
12212 + :cond_140
12213 + sget-object v1, Landroid/provider/Telephony$MmsSms;->CONTENT_URI:Landroid/net/Uri;
12215 + invoke-virtual {v1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
12217 + move-result-object v1
12219 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12221 + move-result v1
12223 + if-nez v1, :cond_155
12225 + const-string/jumbo v1, "mms-sms-v2"
12227 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12229 + move-result v1
12231 + if-eqz v1, :cond_184
12233 + :cond_155
12234 + if-eqz v7, :cond_178
12236 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getMmsSetting()B
12238 + move-result v1
12240 + const/4 v4, 0x1
12242 + if-eq v1, v4, :cond_165
12244 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getSmsSetting()B
12246 + move-result v1
12248 + const/4 v4, 0x1
12250 + if-ne v1, v4, :cond_178
12252 + :cond_165
12253 + const-string v15, "[empty]"
12255 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12257 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12259 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12261 + const/4 v4, 0x1
12263 + const-string/jumbo v5, "mmsSms"
12265 + const/4 v6, 0x0
12267 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12269 + goto/16 :goto_54
12271 + :cond_178
12272 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12274 + const/4 v4, 0x0
12276 + const-string/jumbo v5, "mmsSms"
12278 + const/4 v6, 0x0
12280 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12282 + goto/16 :goto_54
12284 + :cond_184
12285 + const-string v1, "call_log"
12287 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12289 + move-result v1
12291 + if-eqz v1, :cond_1b2
12293 + if-eqz v7, :cond_1a7
12295 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getCallLogSetting()B
12297 + move-result v1
12299 + const/4 v4, 0x1
12301 + if-ne v1, v4, :cond_1a7
12303 + const-string v15, "[empty]"
12305 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12307 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12309 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12311 + const/4 v4, 0x1
12313 + const-string v5, "callLog"
12315 + const/4 v6, 0x0
12317 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12319 + goto/16 :goto_54
12321 + :cond_1a7
12322 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12324 + const/4 v4, 0x0
12326 + const-string v5, "callLog"
12328 + const/4 v6, 0x0
12330 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12332 + goto/16 :goto_54
12334 + :cond_1b2
12335 + sget-object v1, Landroid/provider/Browser;->BOOKMARKS_URI:Landroid/net/Uri;
12337 + invoke-virtual {v1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
12339 + move-result-object v1
12341 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12343 + move-result v1
12345 + if-eqz v1, :cond_54
12347 + if-eqz v7, :cond_1d9
12349 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getBookmarksSetting()B
12351 + move-result v1
12353 + const/4 v4, 0x1
12355 + if-ne v1, v4, :cond_1d9
12357 + const-string v15, "[empty]"
12359 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12361 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12363 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12365 + const/4 v4, 0x1
12367 + const-string v5, "bookmarks"
12369 + const/4 v6, 0x0
12371 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12373 + goto/16 :goto_54
12375 + :cond_1d9
12376 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12378 + const/4 v4, 0x0
12380 + const-string v5, "bookmarks"
12382 + const/4 v6, 0x0
12384 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12386 + goto/16 :goto_54
12388 + :cond_1e4
12389 + move-object/from16 v13, p3
12391 + goto/16 :goto_54
12392 +.end method
12393 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyCursor.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyCursor.smali
12394 --- stock-framework/smali/android/privacy/surrogate/PrivacyCursor.smali 1969-12-31 18:00:00.000000000 -0600
12395 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyCursor.smali 2012-10-05 10:15:48.441126915 -0500
12396 @@ -0,0 +1,1225 @@
12397 +.class public Landroid/privacy/surrogate/PrivacyCursor;
12398 +.super Ljava/lang/Object;
12399 +.source "PrivacyCursor.java"
12401 +# interfaces
12402 +.implements Landroid/database/Cursor;
12405 +# static fields
12406 +.field private static final TAG:Ljava/lang/String; = "PrivacyCursor"
12409 +# instance fields
12410 +.field private allowedIdMapping:[I
12412 +.field private allowedIds:[I
12414 +.field private realCursor:Landroid/database/Cursor;
12417 +# direct methods
12418 +.method public constructor <init>()V
12419 + .registers 1
12421 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
12423 + return-void
12424 +.end method
12426 +.method public constructor <init>(Landroid/database/Cursor;[I)V
12427 + .registers 7
12429 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
12431 + if-eqz p2, :cond_8
12433 + array-length v2, p2
12435 + if-nez v2, :cond_9
12437 + :cond_8
12438 + const/4 p1, 0x0
12440 + :cond_9
12441 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12443 + iput-object p2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIds:[I
12445 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12447 + if-eqz v2, :cond_3f
12449 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12451 + invoke-interface {v2}, Landroid/database/Cursor;->getPosition()I
12453 + move-result v0
12455 + array-length v2, p2
12457 + new-array v2, v2, [I
12459 + iput-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
12461 + const/4 v1, 0x0
12463 + :cond_1d
12464 + :goto_1d
12465 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12467 + invoke-interface {v2}, Landroid/database/Cursor;->moveToNext()Z
12469 + move-result v2
12471 + if-eqz v2, :cond_3a
12473 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12475 + invoke-direct {p0, v2}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(Landroid/database/Cursor;)Z
12477 + move-result v2
12479 + if-eqz v2, :cond_1d
12481 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
12483 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12485 + invoke-interface {v3}, Landroid/database/Cursor;->getPosition()I
12487 + move-result v3
12489 + aput v3, v2, v1
12491 + add-int/lit8 v1, v1, 0x1
12493 + goto :goto_1d
12495 + :cond_3a
12496 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12498 + invoke-interface {v2, v0}, Landroid/database/Cursor;->moveToPosition(I)Z
12500 + :cond_3f
12501 + return-void
12502 +.end method
12504 +.method private getContactId(Landroid/database/Cursor;)I
12505 + .registers 5
12507 + const-string v2, "_id"
12509 + invoke-interface {p1, v2}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
12511 + move-result v0
12513 + const/4 v1, -0x1
12515 + const/4 v2, -0x1
12517 + if-eq v0, v2, :cond_e
12519 + invoke-interface {p1, v0}, Landroid/database/Cursor;->getInt(I)I
12521 + move-result v1
12523 + :cond_e
12524 + return v1
12525 +.end method
12527 +.method private getMappedPos(I)I
12528 + .registers 4
12530 + const/4 v0, 0x0
12532 + :goto_1
12533 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
12535 + array-length v1, v1
12537 + if-ge v0, v1, :cond_10
12539 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
12541 + aget v1, v1, v0
12543 + if-ne v1, p1, :cond_d
12545 + :goto_c
12546 + return v0
12548 + :cond_d
12549 + add-int/lit8 v0, v0, 0x1
12551 + goto :goto_1
12553 + :cond_10
12554 + const/4 v0, -0x1
12556 + goto :goto_c
12557 +.end method
12559 +.method private isAllowed(I)Z
12560 + .registers 7
12562 + const/4 v4, 0x0
12564 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIds:[I
12566 + array-length v3, v0
12568 + const/4 v2, 0x0
12570 + :goto_5
12571 + if-ge v2, v3, :cond_c
12573 + aget v1, v0, v2
12575 + if-ne p1, v1, :cond_d
12577 + const/4 v4, 0x1
12579 + :cond_c
12580 + return v4
12582 + :cond_d
12583 + add-int/lit8 v2, v2, 0x1
12585 + goto :goto_5
12586 +.end method
12588 +.method private isAllowed(Landroid/database/Cursor;)Z
12589 + .registers 3
12591 + invoke-direct {p0, p1}, Landroid/privacy/surrogate/PrivacyCursor;->getContactId(Landroid/database/Cursor;)I
12593 + move-result v0
12595 + invoke-direct {p0, v0}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(I)Z
12597 + move-result v0
12599 + return v0
12600 +.end method
12603 +# virtual methods
12604 +.method public close()V
12605 + .registers 2
12607 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12609 + if-eqz v0, :cond_9
12611 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12613 + invoke-interface {v0}, Landroid/database/Cursor;->close()V
12615 + :cond_9
12616 + return-void
12617 +.end method
12619 +.method public copyStringToBuffer(ILandroid/database/CharArrayBuffer;)V
12620 + .registers 4
12622 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12624 + if-eqz v0, :cond_9
12626 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12628 + invoke-interface {v0, p1, p2}, Landroid/database/Cursor;->copyStringToBuffer(ILandroid/database/CharArrayBuffer;)V
12630 + :cond_9
12631 + return-void
12632 +.end method
12634 +.method public deactivate()V
12635 + .registers 2
12637 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12639 + if-eqz v0, :cond_9
12641 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12643 + invoke-interface {v0}, Landroid/database/Cursor;->deactivate()V
12645 + :cond_9
12646 + return-void
12647 +.end method
12649 +.method public getBlob(I)[B
12650 + .registers 3
12652 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12654 + if-eqz v0, :cond_b
12656 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12658 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getBlob(I)[B
12660 + move-result-object v0
12662 + :goto_a
12663 + return-object v0
12665 + :cond_b
12666 + const/4 v0, 0x0
12668 + new-array v0, v0, [B
12670 + goto :goto_a
12671 +.end method
12673 +.method public getColumnCount()I
12674 + .registers 2
12676 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12678 + if-eqz v0, :cond_b
12680 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12682 + invoke-interface {v0}, Landroid/database/Cursor;->getColumnCount()I
12684 + move-result v0
12686 + :goto_a
12687 + return v0
12689 + :cond_b
12690 + const/4 v0, 0x0
12692 + goto :goto_a
12693 +.end method
12695 +.method public getColumnIndex(Ljava/lang/String;)I
12696 + .registers 3
12698 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12700 + if-eqz v0, :cond_b
12702 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12704 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
12706 + move-result v0
12708 + :goto_a
12709 + return v0
12711 + :cond_b
12712 + const/4 v0, -0x1
12714 + goto :goto_a
12715 +.end method
12717 +.method public getColumnIndexOrThrow(Ljava/lang/String;)I
12718 + .registers 3
12719 + .annotation system Ldalvik/annotation/Throws;
12720 + value = {
12721 + Ljava/lang/IllegalArgumentException;
12723 + .end annotation
12725 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12727 + if-eqz v0, :cond_b
12729 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12731 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getColumnIndexOrThrow(Ljava/lang/String;)I
12733 + move-result v0
12735 + :goto_a
12736 + return v0
12738 + :cond_b
12739 + const/4 v0, -0x1
12741 + goto :goto_a
12742 +.end method
12744 +.method public getColumnName(I)Ljava/lang/String;
12745 + .registers 3
12747 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12749 + if-eqz v0, :cond_b
12751 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12753 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getColumnName(I)Ljava/lang/String;
12755 + move-result-object v0
12757 + :goto_a
12758 + return-object v0
12760 + :cond_b
12761 + const-string v0, ""
12763 + goto :goto_a
12764 +.end method
12766 +.method public getColumnNames()[Ljava/lang/String;
12767 + .registers 4
12769 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12771 + if-eqz v0, :cond_b
12773 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12775 + invoke-interface {v0}, Landroid/database/Cursor;->getColumnNames()[Ljava/lang/String;
12777 + move-result-object v0
12779 + :goto_a
12780 + return-object v0
12782 + :cond_b
12783 + const/4 v0, 0x1
12785 + new-array v0, v0, [Ljava/lang/String;
12787 + const/4 v1, 0x0
12789 + const-string v2, ""
12791 + aput-object v2, v0, v1
12793 + goto :goto_a
12794 +.end method
12796 +.method public getCount()I
12797 + .registers 4
12799 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12801 + if-eqz v0, :cond_23
12803 + const-string v0, "PrivacyCursor"
12805 + new-instance v1, Ljava/lang/StringBuilder;
12807 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
12809 + const-string v2, "getCount: "
12811 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
12813 + move-result-object v1
12815 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
12817 + array-length v2, v2
12819 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
12821 + move-result-object v1
12823 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
12825 + move-result-object v1
12827 + invoke-static {v0, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
12829 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
12831 + array-length v0, v0
12833 + :goto_22
12834 + return v0
12836 + :cond_23
12837 + const/4 v0, 0x0
12839 + goto :goto_22
12840 +.end method
12842 +.method public getDouble(I)D
12843 + .registers 4
12845 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12847 + if-eqz v0, :cond_b
12849 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12851 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getDouble(I)D
12853 + move-result-wide v0
12855 + :goto_a
12856 + return-wide v0
12858 + :cond_b
12859 + const-wide/16 v0, 0x0
12861 + goto :goto_a
12862 +.end method
12864 +.method public getExtras()Landroid/os/Bundle;
12865 + .registers 2
12867 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12869 + if-eqz v0, :cond_b
12871 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12873 + invoke-interface {v0}, Landroid/database/Cursor;->getExtras()Landroid/os/Bundle;
12875 + move-result-object v0
12877 + :goto_a
12878 + return-object v0
12880 + :cond_b
12881 + new-instance v0, Landroid/os/Bundle;
12883 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
12885 + goto :goto_a
12886 +.end method
12888 +.method public getFloat(I)F
12889 + .registers 3
12891 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12893 + if-eqz v0, :cond_b
12895 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12897 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getFloat(I)F
12899 + move-result v0
12901 + :goto_a
12902 + return v0
12904 + :cond_b
12905 + const/4 v0, 0x0
12907 + goto :goto_a
12908 +.end method
12910 +.method public getInt(I)I
12911 + .registers 4
12913 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12915 + if-eqz v1, :cond_b
12917 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12919 + invoke-interface {v1, p1}, Landroid/database/Cursor;->getInt(I)I
12921 + move-result v0
12923 + :goto_a
12924 + return v0
12926 + :cond_b
12927 + const/4 v0, 0x0
12929 + goto :goto_a
12930 +.end method
12932 +.method public getLong(I)J
12933 + .registers 4
12935 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12937 + if-eqz v0, :cond_b
12939 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12941 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getLong(I)J
12943 + move-result-wide v0
12945 + :goto_a
12946 + return-wide v0
12948 + :cond_b
12949 + const-wide/16 v0, 0x0
12951 + goto :goto_a
12952 +.end method
12954 +.method public getPosition()I
12955 + .registers 5
12957 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12959 + if-eqz v1, :cond_37
12961 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12963 + invoke-interface {v1}, Landroid/database/Cursor;->getPosition()I
12965 + move-result v1
12967 + invoke-direct {p0, v1}, Landroid/privacy/surrogate/PrivacyCursor;->getMappedPos(I)I
12969 + move-result v0
12971 + const-string v1, "PrivacyCursor"
12973 + new-instance v2, Ljava/lang/StringBuilder;
12975 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
12977 + const-string v3, "getPosition - mapped position: "
12979 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
12981 + move-result-object v2
12983 + invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
12985 + move-result-object v2
12987 + const-string v3, " real position: "
12989 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
12991 + move-result-object v2
12993 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12995 + invoke-interface {v3}, Landroid/database/Cursor;->getPosition()I
12997 + move-result v3
12999 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
13001 + move-result-object v2
13003 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
13005 + move-result-object v2
13007 + invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
13009 + :goto_36
13010 + return v0
13012 + :cond_37
13013 + const/4 v0, -0x1
13015 + goto :goto_36
13016 +.end method
13018 +.method public getShort(I)S
13019 + .registers 3
13021 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13023 + if-eqz v0, :cond_b
13025 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13027 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getShort(I)S
13029 + move-result v0
13031 + :goto_a
13032 + return v0
13034 + :cond_b
13035 + const/4 v0, 0x0
13037 + goto :goto_a
13038 +.end method
13040 +.method public getString(I)Ljava/lang/String;
13041 + .registers 3
13043 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13045 + if-eqz v0, :cond_b
13047 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13049 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
13051 + move-result-object v0
13053 + :goto_a
13054 + return-object v0
13056 + :cond_b
13057 + const-string v0, ""
13059 + goto :goto_a
13060 +.end method
13062 +.method public getType(I)I
13063 + .registers 3
13065 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13067 + if-eqz v0, :cond_b
13069 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13071 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getType(I)I
13073 + move-result v0
13075 + :goto_a
13076 + return v0
13078 + :cond_b
13079 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13081 + const/4 v0, 0x0
13083 + goto :goto_a
13084 +.end method
13086 +.method public getWantsAllOnMoveCalls()Z
13087 + .registers 2
13089 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13091 + if-eqz v0, :cond_b
13093 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13095 + invoke-interface {v0}, Landroid/database/Cursor;->getWantsAllOnMoveCalls()Z
13097 + move-result v0
13099 + :goto_a
13100 + return v0
13102 + :cond_b
13103 + const/4 v0, 0x0
13105 + goto :goto_a
13106 +.end method
13108 +.method public isAfterLast()Z
13109 + .registers 2
13111 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13113 + if-eqz v0, :cond_b
13115 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13117 + invoke-interface {v0}, Landroid/database/Cursor;->isAfterLast()Z
13119 + move-result v0
13121 + :goto_a
13122 + return v0
13124 + :cond_b
13125 + const/4 v0, 0x0
13127 + goto :goto_a
13128 +.end method
13130 +.method public isBeforeFirst()Z
13131 + .registers 2
13133 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13135 + if-eqz v0, :cond_b
13137 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13139 + invoke-interface {v0}, Landroid/database/Cursor;->isBeforeFirst()Z
13141 + move-result v0
13143 + :goto_a
13144 + return v0
13146 + :cond_b
13147 + const/4 v0, 0x0
13149 + goto :goto_a
13150 +.end method
13152 +.method public isClosed()Z
13153 + .registers 2
13155 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13157 + if-eqz v0, :cond_b
13159 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13161 + invoke-interface {v0}, Landroid/database/Cursor;->isClosed()Z
13163 + move-result v0
13165 + :goto_a
13166 + return v0
13168 + :cond_b
13169 + const/4 v0, 0x0
13171 + goto :goto_a
13172 +.end method
13174 +.method public isFirst()Z
13175 + .registers 4
13177 + const/4 v0, 0x0
13179 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13181 + if-eqz v1, :cond_12
13183 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13185 + invoke-interface {v1}, Landroid/database/Cursor;->getPosition()I
13187 + move-result v1
13189 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13191 + aget v2, v2, v0
13193 + if-ne v1, v2, :cond_12
13195 + const/4 v0, 0x1
13197 + :cond_12
13198 + return v0
13199 +.end method
13201 +.method public isLast()Z
13202 + .registers 4
13204 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13206 + if-eqz v0, :cond_17
13208 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13210 + invoke-interface {v0}, Landroid/database/Cursor;->getPosition()I
13212 + move-result v0
13214 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13216 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13218 + array-length v2, v2
13220 + add-int/lit8 v2, v2, -0x1
13222 + aget v1, v1, v2
13224 + if-ne v0, v1, :cond_17
13226 + const/4 v0, 0x1
13228 + :goto_16
13229 + return v0
13231 + :cond_17
13232 + const/4 v0, 0x0
13234 + goto :goto_16
13235 +.end method
13237 +.method public isNull(I)Z
13238 + .registers 3
13240 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13242 + if-eqz v0, :cond_b
13244 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13246 + invoke-interface {v0, p1}, Landroid/database/Cursor;->isNull(I)Z
13248 + move-result v0
13250 + :goto_a
13251 + return v0
13253 + :cond_b
13254 + const/4 v0, 0x0
13256 + goto :goto_a
13257 +.end method
13259 +.method public move(I)Z
13260 + .registers 8
13262 + const/4 v2, 0x0
13264 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13266 + if-eqz v3, :cond_33
13268 + const-string v3, "PrivacyCursor"
13270 + new-instance v4, Ljava/lang/StringBuilder;
13272 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
13274 + const-string/jumbo v5, "move - offset: "
13276 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13278 + move-result-object v4
13280 + invoke-virtual {v4, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
13282 + move-result-object v4
13284 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
13286 + move-result-object v4
13288 + invoke-static {v3, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
13290 + :try_start_1e
13291 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13293 + iget-object v4, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13295 + invoke-interface {v4}, Landroid/database/Cursor;->getPosition()I
13297 + move-result v4
13299 + invoke-direct {p0, v4}, Landroid/privacy/surrogate/PrivacyCursor;->getMappedPos(I)I
13301 + move-result v4
13303 + add-int/2addr v4, p1
13305 + aget v1, v3, v4
13307 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13309 + invoke-interface {v3, v1}, Landroid/database/Cursor;->moveToPosition(I)Z
13310 + :try_end_32
13311 + .catch Ljava/lang/ArrayIndexOutOfBoundsException; {:try_start_1e .. :try_end_32} :catch_34
13313 + move-result v2
13315 + :cond_33
13316 + :goto_33
13317 + return v2
13319 + :catch_34
13320 + move-exception v0
13322 + goto :goto_33
13323 +.end method
13325 +.method public moveToFirst()Z
13326 + .registers 4
13328 + const/4 v0, 0x0
13330 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13332 + if-eqz v1, :cond_f
13334 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13336 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13338 + aget v2, v2, v0
13340 + invoke-interface {v1, v2}, Landroid/database/Cursor;->moveToPosition(I)Z
13342 + move-result v0
13344 + :cond_f
13345 + return v0
13346 +.end method
13348 +.method public moveToLast()Z
13349 + .registers 5
13351 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13353 + if-eqz v1, :cond_14
13355 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13357 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13359 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13361 + array-length v3, v3
13363 + add-int/lit8 v3, v3, -0x1
13365 + aget v2, v2, v3
13367 + invoke-interface {v1, v2}, Landroid/database/Cursor;->moveToPosition(I)Z
13369 + move-result v0
13371 + :goto_13
13372 + return v0
13374 + :cond_14
13375 + const/4 v0, 0x0
13377 + goto :goto_13
13378 +.end method
13380 +.method public moveToNext()Z
13381 + .registers 3
13383 + const/4 v0, 0x0
13385 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13387 + if-eqz v1, :cond_d
13389 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13391 + invoke-interface {v1}, Landroid/database/Cursor;->moveToNext()Z
13393 + move-result v1
13395 + if-nez v1, :cond_e
13397 + :cond_d
13398 + return v0
13400 + :cond_e
13401 + const/4 v0, 0x1
13403 + :goto_f
13404 + const/4 v1, 0x1
13406 + if-ne v0, v1, :cond_d
13408 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13410 + invoke-direct {p0, v1}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(Landroid/database/Cursor;)Z
13412 + move-result v1
13414 + if-nez v1, :cond_d
13416 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13418 + invoke-interface {v1}, Landroid/database/Cursor;->moveToNext()Z
13420 + move-result v0
13422 + goto :goto_f
13423 +.end method
13425 +.method public moveToPosition(I)Z
13426 + .registers 6
13428 + const/4 v1, 0x0
13430 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13432 + if-eqz v2, :cond_f
13434 + :try_start_5
13435 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13437 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13439 + aget v3, v3, p1
13441 + invoke-interface {v2, v3}, Landroid/database/Cursor;->moveToPosition(I)Z
13442 + :try_end_e
13443 + .catch Ljava/lang/ArrayIndexOutOfBoundsException; {:try_start_5 .. :try_end_e} :catch_10
13445 + move-result v1
13447 + :cond_f
13448 + :goto_f
13449 + return v1
13451 + :catch_10
13452 + move-exception v0
13454 + goto :goto_f
13455 +.end method
13457 +.method public moveToPrevious()Z
13458 + .registers 3
13460 + const/4 v0, 0x0
13462 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13464 + if-eqz v1, :cond_d
13466 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13468 + invoke-interface {v1}, Landroid/database/Cursor;->moveToPrevious()Z
13470 + move-result v1
13472 + if-nez v1, :cond_e
13474 + :cond_d
13475 + return v0
13477 + :cond_e
13478 + const/4 v0, 0x1
13480 + :goto_f
13481 + const/4 v1, 0x1
13483 + if-ne v0, v1, :cond_d
13485 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13487 + invoke-direct {p0, v1}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(Landroid/database/Cursor;)Z
13489 + move-result v1
13491 + if-nez v1, :cond_d
13493 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13495 + invoke-interface {v1}, Landroid/database/Cursor;->moveToPrevious()Z
13497 + move-result v0
13499 + goto :goto_f
13500 +.end method
13502 +.method public registerContentObserver(Landroid/database/ContentObserver;)V
13503 + .registers 3
13505 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13507 + if-eqz v0, :cond_9
13509 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13511 + invoke-interface {v0, p1}, Landroid/database/Cursor;->registerContentObserver(Landroid/database/ContentObserver;)V
13513 + :cond_9
13514 + return-void
13515 +.end method
13517 +.method public registerDataSetObserver(Landroid/database/DataSetObserver;)V
13518 + .registers 3
13520 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13522 + if-eqz v0, :cond_9
13524 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13526 + invoke-interface {v0, p1}, Landroid/database/Cursor;->registerDataSetObserver(Landroid/database/DataSetObserver;)V
13528 + :cond_9
13529 + return-void
13530 +.end method
13532 +.method public requery()Z
13533 + .registers 2
13535 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13537 + if-eqz v0, :cond_b
13539 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13541 + invoke-interface {v0}, Landroid/database/Cursor;->requery()Z
13543 + move-result v0
13545 + :goto_a
13546 + return v0
13548 + :cond_b
13549 + const/4 v0, 0x0
13551 + goto :goto_a
13552 +.end method
13554 +.method public respond(Landroid/os/Bundle;)Landroid/os/Bundle;
13555 + .registers 3
13557 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13559 + if-eqz v0, :cond_b
13561 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13563 + invoke-interface {v0, p1}, Landroid/database/Cursor;->respond(Landroid/os/Bundle;)Landroid/os/Bundle;
13565 + move-result-object v0
13567 + :goto_a
13568 + return-object v0
13570 + :cond_b
13571 + new-instance v0, Landroid/os/Bundle;
13573 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
13575 + goto :goto_a
13576 +.end method
13578 +.method public setNotificationUri(Landroid/content/ContentResolver;Landroid/net/Uri;)V
13579 + .registers 4
13581 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13583 + if-eqz v0, :cond_9
13585 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13587 + invoke-interface {v0, p1, p2}, Landroid/database/Cursor;->setNotificationUri(Landroid/content/ContentResolver;Landroid/net/Uri;)V
13589 + :cond_9
13590 + return-void
13591 +.end method
13593 +.method public unregisterContentObserver(Landroid/database/ContentObserver;)V
13594 + .registers 3
13596 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13598 + if-eqz v0, :cond_9
13600 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13602 + invoke-interface {v0, p1}, Landroid/database/Cursor;->unregisterContentObserver(Landroid/database/ContentObserver;)V
13604 + :cond_9
13605 + return-void
13606 +.end method
13608 +.method public unregisterDataSetObserver(Landroid/database/DataSetObserver;)V
13609 + .registers 3
13611 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13613 + if-eqz v0, :cond_9
13615 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13617 + invoke-interface {v0, p1}, Landroid/database/Cursor;->unregisterDataSetObserver(Landroid/database/DataSetObserver;)V
13619 + :cond_9
13620 + return-void
13621 +.end method
13622 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali
13623 --- stock-framework/smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali 1969-12-31 18:00:00.000000000 -0600
13624 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali 2012-10-05 10:15:48.441126915 -0500
13625 @@ -0,0 +1,134 @@
13626 +.class Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
13627 +.super Ljava/lang/Thread;
13628 +.source "PrivacyLocationManager.java"
13631 +# annotations
13632 +.annotation system Ldalvik/annotation/EnclosingClass;
13633 + value = Landroid/privacy/surrogate/PrivacyLocationManager;
13634 +.end annotation
13636 +.annotation system Ldalvik/annotation/InnerClass;
13637 + accessFlags = 0x2
13638 + name = "PrivacyLocationUpdater"
13639 +.end annotation
13642 +# instance fields
13643 +.field private intent:Landroid/app/PendingIntent;
13645 +.field private latitude:D
13647 +.field private listener:Landroid/location/LocationListener;
13649 +.field private longitude:D
13651 +.field private provider:Ljava/lang/String;
13653 +.field final synthetic this$0:Landroid/privacy/surrogate/PrivacyLocationManager;
13656 +# direct methods
13657 +.method public constructor <init>(Landroid/privacy/surrogate/PrivacyLocationManager;Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;DD)V
13658 + .registers 9
13660 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->this$0:Landroid/privacy/surrogate/PrivacyLocationManager;
13662 + invoke-direct {p0}, Ljava/lang/Thread;-><init>()V
13664 + iput-object p2, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->provider:Ljava/lang/String;
13666 + iput-object p3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->listener:Landroid/location/LocationListener;
13668 + iput-object p4, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->intent:Landroid/app/PendingIntent;
13670 + iput-wide p5, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->latitude:D
13672 + iput-wide p7, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->longitude:D
13674 + return-void
13675 +.end method
13678 +# virtual methods
13679 +.method public run()V
13680 + .registers 8
13682 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->provider:Ljava/lang/String;
13684 + if-eqz v3, :cond_43
13686 + new-instance v2, Landroid/location/Location;
13688 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->provider:Ljava/lang/String;
13690 + invoke-direct {v2, v3}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
13692 + iget-wide v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->latitude:D
13694 + invoke-virtual {v2, v3, v4}, Landroid/location/Location;->setLatitude(D)V
13696 + iget-wide v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->longitude:D
13698 + invoke-virtual {v2, v3, v4}, Landroid/location/Location;->setLongitude(D)V
13700 + const/4 v1, 0x0
13702 + :goto_16
13703 + const/4 v3, 0x5
13705 + if-ge v1, v3, :cond_43
13707 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->listener:Landroid/location/LocationListener;
13709 + if-eqz v3, :cond_34
13711 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->listener:Landroid/location/LocationListener;
13713 + invoke-interface {v3, v2}, Landroid/location/LocationListener;->onLocationChanged(Landroid/location/Location;)V
13715 + :cond_22
13716 + :goto_22
13717 + :try_start_22
13718 + invoke-static {}, Ljava/lang/Math;->random()D
13720 + move-result-wide v3
13722 + const-wide v5, 0x408f400000000000L
13724 + mul-double/2addr v3, v5
13726 + double-to-int v3, v3
13728 + int-to-long v3, v3
13730 + invoke-static {v3, v4}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->sleep(J)V
13731 + :try_end_31
13732 + .catch Ljava/lang/InterruptedException; {:try_start_22 .. :try_end_31} :catch_3e
13734 + :goto_31
13735 + add-int/lit8 v1, v1, 0x1
13737 + goto :goto_16
13739 + :cond_34
13740 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->intent:Landroid/app/PendingIntent;
13742 + if-eqz v3, :cond_22
13744 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->intent:Landroid/app/PendingIntent;
13746 + invoke-virtual {v3}, Landroid/app/PendingIntent;->cancel()V
13748 + goto :goto_22
13750 + :catch_3e
13751 + move-exception v0
13753 + invoke-virtual {v0}, Ljava/lang/InterruptedException;->printStackTrace()V
13755 + goto :goto_31
13757 + :cond_43
13758 + return-void
13759 +.end method
13760 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyLocationManager.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyLocationManager.smali
13761 --- stock-framework/smali/android/privacy/surrogate/PrivacyLocationManager.smali 1969-12-31 18:00:00.000000000 -0600
13762 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyLocationManager.smali 2012-10-05 10:15:48.445126940 -0500
13763 @@ -0,0 +1,2091 @@
13764 +.class public final Landroid/privacy/surrogate/PrivacyLocationManager;
13765 +.super Landroid/location/LocationManager;
13766 +.source "PrivacyLocationManager.java"
13769 +# annotations
13770 +.annotation system Ldalvik/annotation/MemberClasses;
13771 + value = {
13772 + Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
13774 +.end annotation
13777 +# static fields
13778 +.field private static final CUSTOM_LOCATION_UPDATE_COUNT:I = 0x5
13780 +.field private static final TAG:Ljava/lang/String; = "PrivacyLocationManager"
13783 +# instance fields
13784 +.field private context:Landroid/content/Context;
13786 +.field private lock:Ljava/lang/Object;
13788 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
13791 +# direct methods
13792 +.method public constructor <init>(Landroid/location/ILocationManager;Landroid/content/Context;)V
13793 + .registers 5
13795 + invoke-direct {p0, p1}, Landroid/location/LocationManager;-><init>(Landroid/location/ILocationManager;)V
13797 + new-instance v0, Ljava/lang/Object;
13799 + invoke-direct {v0}, Ljava/lang/Object;-><init>()V
13801 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->lock:Ljava/lang/Object;
13803 + iput-object p2, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
13805 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
13807 + const-string/jumbo v1, "privacy"
13809 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
13811 + move-result-object v1
13813 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
13815 + move-result-object v1
13817 + invoke-direct {v0, p2, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
13819 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
13821 + return-void
13822 +.end method
13824 +.method private requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
13825 + .registers 7
13827 + const/4 v2, 0x3
13829 + if-nez p1, :cond_5
13831 + const/4 v0, 0x0
13833 + :goto_4
13834 + return v0
13836 + :cond_5
13837 + invoke-virtual {p1}, Landroid/location/Criteria;->getAccuracy()I
13839 + move-result v0
13841 + const/4 v1, 0x1
13843 + if-eq v0, v1, :cond_24
13845 + invoke-virtual {p1}, Landroid/location/Criteria;->getBearingAccuracy()I
13847 + move-result v0
13849 + if-eq v0, v2, :cond_24
13851 + invoke-virtual {p1}, Landroid/location/Criteria;->getHorizontalAccuracy()I
13853 + move-result v0
13855 + if-eq v0, v2, :cond_24
13857 + invoke-virtual {p1}, Landroid/location/Criteria;->getVerticalAccuracy()I
13859 + move-result v0
13861 + if-eq v0, v2, :cond_24
13863 + invoke-virtual {p1}, Landroid/location/Criteria;->getSpeedAccuracy()I
13865 + move-result v0
13867 + if-ne v0, v2, :cond_2b
13869 + :cond_24
13870 + const-string v0, "gps"
13872 + invoke-direct {p0, v0, p2, p3}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
13874 + move-result v0
13876 + goto :goto_4
13878 + :cond_2b
13879 + const-string/jumbo v0, "network"
13881 + invoke-direct {p0, v0, p2, p3}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
13883 + move-result v0
13885 + goto :goto_4
13886 +.end method
13888 +.method private requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
13889 + .registers 24
13891 + move-object/from16 v0, p0
13893 + iget-object v0, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->lock:Ljava/lang/Object;
13895 + move-object/from16 v19, v0
13897 + monitor-enter v19
13899 + :try_start_7
13900 + move-object/from16 v0, p0
13902 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
13904 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
13906 + move-result-object v2
13908 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
13910 + move-result v3
13912 + move-object/from16 v0, p0
13914 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
13916 + invoke-virtual {v1, v2, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
13918 + move-result-object v7
13920 + const/16 v18, 0x0
13922 + if-eqz v7, :cond_239
13924 + const-string v1, "gps"
13926 + move-object/from16 v0, p1
13928 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
13930 + move-result v1
13932 + if-eqz v1, :cond_111
13934 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
13936 + move-result v1
13938 + packed-switch v1, :pswitch_data_25e
13940 + :cond_30
13941 + :goto_30
13942 + monitor-exit v19
13944 + return v18
13946 + :pswitch_32
13947 + move-object/from16 v0, p0
13949 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
13951 + const/4 v4, 0x0
13953 + const-string v5, "locationGPS"
13955 + const/4 v6, 0x0
13957 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
13959 + goto :goto_30
13961 + :catchall_3e
13962 + move-exception v1
13964 + monitor-exit v19
13965 + :try_end_40
13966 + .catchall {:try_start_7 .. :try_end_40} :catchall_3e
13968 + throw v1
13970 + :pswitch_41
13971 + if-eqz p3, :cond_46
13973 + :try_start_43
13974 + invoke-virtual/range {p3 .. p3}, Landroid/app/PendingIntent;->cancel()V
13976 + :cond_46
13977 + const/16 v18, 0x1
13979 + move-object/from16 v0, p0
13981 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
13983 + const/4 v4, 0x1
13985 + const-string v5, "locationGPS"
13987 + const/4 v6, 0x0
13989 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
13990 + :try_end_53
13991 + .catchall {:try_start_43 .. :try_end_53} :catchall_3e
13993 + goto :goto_30
13995 + :pswitch_54
13996 + :try_start_54
13997 + new-instance v8, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
13999 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
14001 + move-result-object v1
14003 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14005 + move-result-wide v13
14007 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
14009 + move-result-object v1
14011 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14013 + move-result-wide v15
14015 + move-object/from16 v9, p0
14017 + move-object/from16 v10, p1
14019 + move-object/from16 v11, p2
14021 + move-object/from16 v12, p3
14023 + invoke-direct/range {v8 .. v16}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;-><init>(Landroid/privacy/surrogate/PrivacyLocationManager;Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;DD)V
14025 + invoke-virtual {v8}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->start()V
14026 + :try_end_74
14027 + .catchall {:try_start_54 .. :try_end_74} :catchall_3e
14028 + .catch Ljava/lang/NumberFormatException; {:try_start_54 .. :try_end_74} :catch_a6
14030 + const/16 v18, 0x1
14032 + :goto_76
14033 + :try_start_76
14034 + move-object/from16 v0, p0
14036 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14038 + const/4 v4, 0x2
14040 + const-string v5, "locationGPS"
14042 + new-instance v6, Ljava/lang/StringBuilder;
14044 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
14046 + const-string v8, "Lat: "
14048 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14050 + move-result-object v6
14052 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
14054 + move-result-object v8
14056 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14058 + move-result-object v6
14060 + const-string v8, " Lon: "
14062 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14064 + move-result-object v6
14066 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
14068 + move-result-object v8
14070 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14072 + move-result-object v6
14074 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14076 + move-result-object v6
14078 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14080 + goto :goto_30
14082 + :catch_a6
14083 + move-exception v17
14085 + const-string v1, "PrivacyLocationManager"
14087 + const-string/jumbo v4, "requestLocationUpdates: invalid coordinates"
14089 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
14090 + :try_end_af
14091 + .catchall {:try_start_76 .. :try_end_af} :catchall_3e
14093 + const/16 v18, 0x1
14095 + goto :goto_76
14097 + :pswitch_b2
14098 + :try_start_b2
14099 + new-instance v8, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
14101 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
14103 + move-result-object v1
14105 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14107 + move-result-wide v13
14109 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
14111 + move-result-object v1
14113 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14115 + move-result-wide v15
14117 + move-object/from16 v9, p0
14119 + move-object/from16 v10, p1
14121 + move-object/from16 v11, p2
14123 + move-object/from16 v12, p3
14125 + invoke-direct/range {v8 .. v16}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;-><init>(Landroid/privacy/surrogate/PrivacyLocationManager;Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;DD)V
14127 + invoke-virtual {v8}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->start()V
14128 + :try_end_d2
14129 + .catchall {:try_start_b2 .. :try_end_d2} :catchall_3e
14130 + .catch Ljava/lang/NumberFormatException; {:try_start_b2 .. :try_end_d2} :catch_105
14132 + const/16 v18, 0x1
14134 + :goto_d4
14135 + :try_start_d4
14136 + move-object/from16 v0, p0
14138 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14140 + const/4 v4, 0x3
14142 + const-string v5, "locationGPS"
14144 + new-instance v6, Ljava/lang/StringBuilder;
14146 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
14148 + const-string v8, "Lat: "
14150 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14152 + move-result-object v6
14154 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
14156 + move-result-object v8
14158 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14160 + move-result-object v6
14162 + const-string v8, " Lon: "
14164 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14166 + move-result-object v6
14168 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
14170 + move-result-object v8
14172 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14174 + move-result-object v6
14176 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14178 + move-result-object v6
14180 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14182 + goto/16 :goto_30
14184 + :catch_105
14185 + move-exception v17
14187 + const-string v1, "PrivacyLocationManager"
14189 + const-string/jumbo v4, "requestLocationUpdates: invalid coordinates"
14191 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
14193 + const/16 v18, 0x1
14195 + goto :goto_d4
14197 + :cond_111
14198 + const-string/jumbo v1, "network"
14200 + move-object/from16 v0, p1
14202 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
14204 + move-result v1
14206 + if-eqz v1, :cond_204
14208 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
14210 + move-result v1
14212 + packed-switch v1, :pswitch_data_26a
14214 + goto/16 :goto_30
14216 + :pswitch_125
14217 + move-object/from16 v0, p0
14219 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14221 + const/4 v4, 0x0
14223 + const-string v5, "locationNetwork"
14225 + const/4 v6, 0x0
14227 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14229 + goto/16 :goto_30
14231 + :pswitch_132
14232 + if-eqz p3, :cond_137
14234 + invoke-virtual/range {p3 .. p3}, Landroid/app/PendingIntent;->cancel()V
14236 + :cond_137
14237 + const/16 v18, 0x1
14239 + move-object/from16 v0, p0
14241 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14243 + const/4 v4, 0x1
14245 + const-string v5, "locationNetwork"
14247 + const/4 v6, 0x0
14249 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14250 + :try_end_144
14251 + .catchall {:try_start_d4 .. :try_end_144} :catchall_3e
14253 + goto/16 :goto_30
14255 + :pswitch_146
14256 + :try_start_146
14257 + new-instance v8, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
14259 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
14261 + move-result-object v1
14263 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14265 + move-result-wide v13
14267 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
14269 + move-result-object v1
14271 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14273 + move-result-wide v15
14275 + move-object/from16 v9, p0
14277 + move-object/from16 v10, p1
14279 + move-object/from16 v11, p2
14281 + move-object/from16 v12, p3
14283 + invoke-direct/range {v8 .. v16}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;-><init>(Landroid/privacy/surrogate/PrivacyLocationManager;Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;DD)V
14285 + invoke-virtual {v8}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->start()V
14286 + :try_end_166
14287 + .catchall {:try_start_146 .. :try_end_166} :catchall_3e
14288 + .catch Ljava/lang/NumberFormatException; {:try_start_146 .. :try_end_166} :catch_199
14290 + const/16 v18, 0x1
14292 + :goto_168
14293 + :try_start_168
14294 + move-object/from16 v0, p0
14296 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14298 + const/4 v4, 0x2
14300 + const-string v5, "locationNetwork"
14302 + new-instance v6, Ljava/lang/StringBuilder;
14304 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
14306 + const-string v8, "Lat: "
14308 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14310 + move-result-object v6
14312 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
14314 + move-result-object v8
14316 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14318 + move-result-object v6
14320 + const-string v8, " Lon: "
14322 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14324 + move-result-object v6
14326 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
14328 + move-result-object v8
14330 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14332 + move-result-object v6
14334 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14336 + move-result-object v6
14338 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14340 + goto/16 :goto_30
14342 + :catch_199
14343 + move-exception v17
14345 + const-string v1, "PrivacyLocationManager"
14347 + const-string/jumbo v4, "requestLocationUpdates: invalid coordinates"
14349 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
14350 + :try_end_1a2
14351 + .catchall {:try_start_168 .. :try_end_1a2} :catchall_3e
14353 + const/16 v18, 0x1
14355 + goto :goto_168
14357 + :pswitch_1a5
14358 + :try_start_1a5
14359 + new-instance v8, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
14361 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
14363 + move-result-object v1
14365 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14367 + move-result-wide v13
14369 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
14371 + move-result-object v1
14373 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14375 + move-result-wide v15
14377 + move-object/from16 v9, p0
14379 + move-object/from16 v10, p1
14381 + move-object/from16 v11, p2
14383 + move-object/from16 v12, p3
14385 + invoke-direct/range {v8 .. v16}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;-><init>(Landroid/privacy/surrogate/PrivacyLocationManager;Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;DD)V
14387 + invoke-virtual {v8}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->start()V
14388 + :try_end_1c5
14389 + .catchall {:try_start_1a5 .. :try_end_1c5} :catchall_3e
14390 + .catch Ljava/lang/NumberFormatException; {:try_start_1a5 .. :try_end_1c5} :catch_1f8
14392 + const/16 v18, 0x1
14394 + :goto_1c7
14395 + :try_start_1c7
14396 + move-object/from16 v0, p0
14398 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14400 + const/4 v4, 0x3
14402 + const-string v5, "locationNetwork"
14404 + new-instance v6, Ljava/lang/StringBuilder;
14406 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
14408 + const-string v8, "Lat: "
14410 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14412 + move-result-object v6
14414 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
14416 + move-result-object v8
14418 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14420 + move-result-object v6
14422 + const-string v8, " Lon: "
14424 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14426 + move-result-object v6
14428 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
14430 + move-result-object v8
14432 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14434 + move-result-object v6
14436 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14438 + move-result-object v6
14440 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14442 + goto/16 :goto_30
14444 + :catch_1f8
14445 + move-exception v17
14447 + const-string v1, "PrivacyLocationManager"
14449 + const-string/jumbo v4, "requestLocationUpdates: invalid coordinates"
14451 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
14453 + const/16 v18, 0x1
14455 + goto :goto_1c7
14457 + :cond_204
14458 + const-string/jumbo v1, "passive"
14460 + move-object/from16 v0, p1
14462 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
14464 + move-result v1
14466 + if-eqz v1, :cond_30
14468 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
14470 + move-result v1
14472 + if-nez v1, :cond_22a
14474 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
14476 + move-result v1
14478 + if-nez v1, :cond_22a
14480 + const/16 v18, 0x0
14482 + move-object/from16 v0, p0
14484 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14486 + const/4 v4, 0x0
14488 + const-string v5, "locationGPS"
14490 + const/4 v6, 0x0
14492 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14494 + goto/16 :goto_30
14496 + :cond_22a
14497 + const/16 v18, 0x1
14499 + move-object/from16 v0, p0
14501 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14503 + const/4 v4, 0x1
14505 + const-string v5, "locationGPS"
14507 + const/4 v6, 0x0
14509 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14511 + goto/16 :goto_30
14513 + :cond_239
14514 + const-string/jumbo v1, "network"
14516 + move-object/from16 v0, p1
14518 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
14520 + move-result v1
14522 + if-eqz v1, :cond_251
14524 + move-object/from16 v0, p0
14526 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14528 + const/4 v4, 0x0
14530 + const-string v5, "locationNetwork"
14532 + const/4 v6, 0x0
14534 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14536 + goto/16 :goto_30
14538 + :cond_251
14539 + move-object/from16 v0, p0
14541 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14543 + const/4 v4, 0x0
14545 + const-string v5, "locationGPS"
14547 + const/4 v6, 0x0
14549 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14550 + :try_end_25c
14551 + .catchall {:try_start_1c7 .. :try_end_25c} :catchall_3e
14553 + goto/16 :goto_30
14555 + :pswitch_data_25e
14556 + .packed-switch 0x0
14557 + :pswitch_32
14558 + :pswitch_41
14559 + :pswitch_54
14560 + :pswitch_b2
14561 + .end packed-switch
14563 + :pswitch_data_26a
14564 + .packed-switch 0x0
14565 + :pswitch_125
14566 + :pswitch_132
14567 + :pswitch_146
14568 + :pswitch_1a5
14569 + .end packed-switch
14570 +.end method
14573 +# virtual methods
14574 +.method public addNmeaListener(Landroid/location/GpsStatus$NmeaListener;)Z
14575 + .registers 10
14577 + const/4 v5, 0x0
14579 + const/4 v7, 0x0
14581 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
14583 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
14585 + move-result-object v1
14587 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
14589 + move-result v2
14591 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14593 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
14595 + move-result-object v6
14597 + if-eqz v6, :cond_24
14599 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
14601 + move-result v0
14603 + if-eqz v0, :cond_24
14605 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14607 + const/4 v3, 0x1
14609 + const-string v4, "locationGPS"
14611 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14613 + move v0, v7
14615 + :goto_23
14616 + return v0
14618 + :cond_24
14619 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14621 + const-string v4, "locationGPS"
14623 + move v3, v7
14625 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14627 + invoke-super {p0, p1}, Landroid/location/LocationManager;->addNmeaListener(Landroid/location/GpsStatus$NmeaListener;)Z
14629 + move-result v0
14631 + goto :goto_23
14632 +.end method
14634 +.method public getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
14635 + .registers 14
14637 + const/4 v11, 0x3
14639 + const/4 v10, 0x2
14641 + const/4 v8, 0x1
14643 + const/4 v3, 0x0
14645 + const/4 v5, 0x0
14647 + if-nez p1, :cond_c
14649 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
14651 + move-result-object v7
14653 + :cond_b
14654 + :goto_b
14655 + return-object v7
14657 + :cond_c
14658 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
14660 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
14662 + move-result-object v1
14664 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
14666 + move-result v2
14668 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14670 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
14672 + move-result-object v6
14674 + const/4 v7, 0x0
14676 + if-eqz v6, :cond_22c
14678 + const-string v0, "gps"
14680 + invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
14682 + move-result v0
14684 + if-eqz v0, :cond_ff
14686 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
14688 + move-result v0
14690 + packed-switch v0, :pswitch_data_29a
14692 + goto :goto_b
14694 + :pswitch_2f
14695 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
14697 + move-result-object v7
14699 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14701 + const-string v4, "locationGPS"
14703 + if-eqz v7, :cond_5e
14705 + new-instance v5, Ljava/lang/StringBuilder;
14707 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
14709 + const-string v8, "Lat: "
14711 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14713 + move-result-object v5
14715 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
14717 + move-result-wide v8
14719 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
14721 + move-result-object v5
14723 + const-string v8, " Lon: "
14725 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14727 + move-result-object v5
14729 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
14731 + move-result-wide v8
14733 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
14735 + move-result-object v5
14737 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14739 + move-result-object v5
14741 + :cond_5e
14742 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14744 + goto :goto_b
14746 + :pswitch_62
14747 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14749 + const-string v4, "locationGPS"
14751 + move v3, v8
14753 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14755 + goto :goto_b
14757 + :pswitch_6b
14758 + new-instance v7, Landroid/location/Location;
14760 + invoke-direct {v7, p1}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
14762 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
14764 + move-result-object v0
14766 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14768 + move-result-wide v3
14770 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLatitude(D)V
14772 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
14774 + move-result-object v0
14776 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14778 + move-result-wide v3
14780 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLongitude(D)V
14782 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14784 + const-string v4, "locationGPS"
14786 + new-instance v3, Ljava/lang/StringBuilder;
14788 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
14790 + const-string v5, "Lat: "
14792 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14794 + move-result-object v3
14796 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
14798 + move-result-wide v8
14800 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
14802 + move-result-object v3
14804 + const-string v5, " Lon: "
14806 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14808 + move-result-object v3
14810 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
14812 + move-result-wide v8
14814 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
14816 + move-result-object v3
14818 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14820 + move-result-object v5
14822 + move v3, v10
14824 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14826 + goto/16 :goto_b
14828 + :pswitch_b5
14829 + new-instance v7, Landroid/location/Location;
14831 + invoke-direct {v7, p1}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
14833 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
14835 + move-result-object v0
14837 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14839 + move-result-wide v3
14841 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLatitude(D)V
14843 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
14845 + move-result-object v0
14847 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14849 + move-result-wide v3
14851 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLongitude(D)V
14853 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14855 + const-string v4, "locationGPS"
14857 + new-instance v3, Ljava/lang/StringBuilder;
14859 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
14861 + const-string v5, "Lat: "
14863 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14865 + move-result-object v3
14867 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
14869 + move-result-wide v8
14871 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
14873 + move-result-object v3
14875 + const-string v5, " Lon: "
14877 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14879 + move-result-object v3
14881 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
14883 + move-result-wide v8
14885 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
14887 + move-result-object v3
14889 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14891 + move-result-object v5
14893 + move v3, v11
14895 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14897 + goto/16 :goto_b
14899 + :cond_ff
14900 + const-string/jumbo v0, "network"
14902 + invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
14904 + move-result v0
14906 + if-eqz v0, :cond_1e3
14908 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
14910 + move-result v0
14912 + packed-switch v0, :pswitch_data_2a6
14914 + goto/16 :goto_b
14916 + :pswitch_111
14917 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
14919 + move-result-object v7
14921 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14923 + const-string v4, "locationNetwork"
14925 + if-eqz v7, :cond_140
14927 + new-instance v5, Ljava/lang/StringBuilder;
14929 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
14931 + const-string v8, "Lat: "
14933 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14935 + move-result-object v5
14937 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
14939 + move-result-wide v8
14941 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
14943 + move-result-object v5
14945 + const-string v8, " Lon: "
14947 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14949 + move-result-object v5
14951 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
14953 + move-result-wide v8
14955 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
14957 + move-result-object v5
14959 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14961 + move-result-object v5
14963 + :cond_140
14964 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14966 + goto/16 :goto_b
14968 + :pswitch_145
14969 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14971 + const-string v4, "locationNetwork"
14973 + move v3, v8
14975 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14977 + goto/16 :goto_b
14979 + :pswitch_14f
14980 + new-instance v7, Landroid/location/Location;
14982 + invoke-direct {v7, p1}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
14984 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
14986 + move-result-object v0
14988 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14990 + move-result-wide v3
14992 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLatitude(D)V
14994 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
14996 + move-result-object v0
14998 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
15000 + move-result-wide v3
15002 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLongitude(D)V
15004 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15006 + const-string v4, "locationNetwork"
15008 + new-instance v3, Ljava/lang/StringBuilder;
15010 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
15012 + const-string v5, "Lat: "
15014 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15016 + move-result-object v3
15018 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15020 + move-result-wide v8
15022 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15024 + move-result-object v3
15026 + const-string v5, " Lon: "
15028 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15030 + move-result-object v3
15032 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15034 + move-result-wide v8
15036 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15038 + move-result-object v3
15040 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15042 + move-result-object v5
15044 + move v3, v10
15046 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15048 + goto/16 :goto_b
15050 + :pswitch_199
15051 + new-instance v7, Landroid/location/Location;
15053 + invoke-direct {v7, p1}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
15055 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
15057 + move-result-object v0
15059 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
15061 + move-result-wide v3
15063 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLatitude(D)V
15065 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
15067 + move-result-object v0
15069 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
15071 + move-result-wide v3
15073 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLongitude(D)V
15075 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15077 + const-string v4, "locationNetwork"
15079 + new-instance v3, Ljava/lang/StringBuilder;
15081 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
15083 + const-string v5, "Lat: "
15085 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15087 + move-result-object v3
15089 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15091 + move-result-wide v8
15093 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15095 + move-result-object v3
15097 + const-string v5, " Lon: "
15099 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15101 + move-result-object v3
15103 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15105 + move-result-wide v8
15107 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15109 + move-result-object v3
15111 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15113 + move-result-object v5
15115 + move v3, v11
15117 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15119 + goto/16 :goto_b
15121 + :cond_1e3
15122 + const-string/jumbo v0, "passive"
15124 + invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15126 + move-result v0
15128 + if-eqz v0, :cond_b
15130 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
15132 + move-result v0
15134 + if-nez v0, :cond_b
15136 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15138 + move-result v0
15140 + if-nez v0, :cond_b
15142 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
15144 + move-result-object v7
15146 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15148 + const-string v4, "locationGPS"
15150 + if-eqz v7, :cond_227
15152 + new-instance v5, Ljava/lang/StringBuilder;
15154 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
15156 + const-string v8, "Lat: "
15158 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15160 + move-result-object v5
15162 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15164 + move-result-wide v8
15166 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15168 + move-result-object v5
15170 + const-string v8, " Lon: "
15172 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15174 + move-result-object v5
15176 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15178 + move-result-wide v8
15180 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15182 + move-result-object v5
15184 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15186 + move-result-object v5
15188 + :cond_227
15189 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15191 + goto/16 :goto_b
15193 + :cond_22c
15194 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
15196 + move-result-object v7
15198 + const-string/jumbo v0, "network"
15200 + invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15202 + move-result v0
15204 + if-eqz v0, :cond_269
15206 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15208 + const-string v4, "locationNetwork"
15210 + if-eqz v7, :cond_264
15212 + new-instance v5, Ljava/lang/StringBuilder;
15214 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
15216 + const-string v8, "Lat: "
15218 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15220 + move-result-object v5
15222 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15224 + move-result-wide v8
15226 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15228 + move-result-object v5
15230 + const-string v8, " Lon: "
15232 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15234 + move-result-object v5
15236 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15238 + move-result-wide v8
15240 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15242 + move-result-object v5
15244 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15246 + move-result-object v5
15248 + :cond_264
15249 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15251 + goto/16 :goto_b
15253 + :cond_269
15254 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15256 + const-string v4, "locationGPS"
15258 + if-eqz v7, :cond_294
15260 + new-instance v5, Ljava/lang/StringBuilder;
15262 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
15264 + const-string v8, "Lat: "
15266 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15268 + move-result-object v5
15270 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15272 + move-result-wide v8
15274 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15276 + move-result-object v5
15278 + const-string v8, " Lon: "
15280 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15282 + move-result-object v5
15284 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15286 + move-result-wide v8
15288 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15290 + move-result-object v5
15292 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15294 + move-result-object v5
15296 + :cond_294
15297 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15299 + goto/16 :goto_b
15301 + nop
15303 + :pswitch_data_29a
15304 + .packed-switch 0x0
15305 + :pswitch_2f
15306 + :pswitch_62
15307 + :pswitch_6b
15308 + :pswitch_b5
15309 + .end packed-switch
15311 + :pswitch_data_2a6
15312 + .packed-switch 0x0
15313 + :pswitch_111
15314 + :pswitch_145
15315 + :pswitch_14f
15316 + :pswitch_199
15317 + .end packed-switch
15318 +.end method
15320 +.method public getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15321 + .registers 7
15323 + if-nez p1, :cond_7
15325 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15327 + move-result-object v0
15329 + :cond_6
15330 + :goto_6
15331 + return-object v0
15333 + :cond_7
15334 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15336 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
15338 + invoke-virtual {v3}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
15340 + move-result-object v3
15342 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
15344 + move-result v4
15346 + invoke-virtual {v2, v3, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
15348 + move-result-object v1
15350 + const/4 v0, 0x0
15352 + if-eqz v1, :cond_5f
15354 + const-string v2, "gps"
15356 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15358 + move-result v2
15360 + if-eqz v2, :cond_2f
15362 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
15364 + move-result v2
15366 + packed-switch v2, :pswitch_data_64
15368 + :pswitch_29
15369 + goto :goto_6
15371 + :pswitch_2a
15372 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15374 + move-result-object v0
15376 + goto :goto_6
15378 + :cond_2f
15379 + const-string/jumbo v2, "network"
15381 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15383 + move-result v2
15385 + if-eqz v2, :cond_45
15387 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15389 + move-result v2
15391 + packed-switch v2, :pswitch_data_70
15393 + :pswitch_3f
15394 + goto :goto_6
15396 + :pswitch_40
15397 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15399 + move-result-object v0
15401 + goto :goto_6
15403 + :cond_45
15404 + const-string/jumbo v2, "passive"
15406 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15408 + move-result v2
15410 + if-eqz v2, :cond_6
15412 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
15414 + move-result v2
15416 + if-eqz v2, :cond_5a
15418 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15420 + move-result v2
15422 + if-nez v2, :cond_6
15424 + :cond_5a
15425 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15427 + move-result-object v0
15429 + goto :goto_6
15431 + :cond_5f
15432 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15434 + move-result-object v0
15436 + goto :goto_6
15438 + :pswitch_data_64
15439 + .packed-switch 0x0
15440 + :pswitch_2a
15441 + :pswitch_29
15442 + :pswitch_2a
15443 + :pswitch_2a
15444 + .end packed-switch
15446 + :pswitch_data_70
15447 + .packed-switch 0x0
15448 + :pswitch_40
15449 + :pswitch_3f
15450 + :pswitch_40
15451 + :pswitch_40
15452 + .end packed-switch
15453 +.end method
15455 +.method public isProviderEnabled(Ljava/lang/String;)Z
15456 + .registers 7
15458 + if-nez p1, :cond_7
15460 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
15462 + move-result v0
15464 + :cond_6
15465 + :goto_6
15466 + :pswitch_6
15467 + return v0
15469 + :cond_7
15470 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15472 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
15474 + invoke-virtual {v3}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
15476 + move-result-object v3
15478 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
15480 + move-result v4
15482 + invoke-virtual {v2, v3, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
15484 + move-result-object v1
15486 + const/4 v0, 0x0
15488 + if-eqz v1, :cond_65
15490 + const-string v2, "gps"
15492 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15494 + move-result v2
15496 + if-eqz v2, :cond_31
15498 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
15500 + move-result v2
15502 + packed-switch v2, :pswitch_data_6a
15504 + goto :goto_6
15506 + :pswitch_2a
15507 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
15509 + move-result v0
15511 + goto :goto_6
15513 + :pswitch_2f
15514 + const/4 v0, 0x1
15516 + goto :goto_6
15518 + :cond_31
15519 + const-string/jumbo v2, "network"
15521 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15523 + move-result v2
15525 + if-eqz v2, :cond_49
15527 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15529 + move-result v2
15531 + packed-switch v2, :pswitch_data_76
15533 + goto :goto_6
15535 + :pswitch_42
15536 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
15538 + move-result v0
15540 + goto :goto_6
15542 + :pswitch_47
15543 + const/4 v0, 0x1
15545 + goto :goto_6
15547 + :cond_49
15548 + const-string/jumbo v2, "passive"
15550 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15552 + move-result v2
15554 + if-eqz v2, :cond_6
15556 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
15558 + move-result v2
15560 + if-eqz v2, :cond_5e
15562 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15564 + move-result v2
15566 + if-nez v2, :cond_63
15568 + :cond_5e
15569 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
15571 + move-result v0
15573 + goto :goto_6
15575 + :cond_63
15576 + const/4 v0, 0x0
15578 + goto :goto_6
15580 + :cond_65
15581 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
15583 + move-result v0
15585 + goto :goto_6
15587 + :pswitch_data_6a
15588 + .packed-switch 0x0
15589 + :pswitch_2a
15590 + :pswitch_6
15591 + :pswitch_2f
15592 + :pswitch_2f
15593 + .end packed-switch
15595 + :pswitch_data_76
15596 + .packed-switch 0x0
15597 + :pswitch_42
15598 + :pswitch_6
15599 + :pswitch_47
15600 + :pswitch_47
15601 + .end packed-switch
15602 +.end method
15604 +.method public requestLocationUpdates(JFLandroid/location/Criteria;Landroid/app/PendingIntent;)V
15605 + .registers 7
15607 + if-eqz p4, :cond_4
15609 + if-nez p5, :cond_8
15611 + :cond_4
15612 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/app/PendingIntent;)V
15614 + :cond_7
15615 + :goto_7
15616 + return-void
15618 + :cond_8
15619 + const/4 v0, 0x0
15621 + invoke-direct {p0, p4, v0, p5}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15623 + move-result v0
15625 + if-nez v0, :cond_7
15627 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/app/PendingIntent;)V
15629 + goto :goto_7
15630 +.end method
15632 +.method public requestLocationUpdates(JFLandroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
15633 + .registers 8
15635 + if-eqz p4, :cond_4
15637 + if-nez p5, :cond_8
15639 + :cond_4
15640 + invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
15642 + :cond_7
15643 + :goto_7
15644 + return-void
15646 + :cond_8
15647 + const/4 v0, 0x0
15649 + invoke-direct {p0, p4, p5, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15651 + move-result v0
15653 + if-nez v0, :cond_7
15655 + invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
15657 + goto :goto_7
15658 +.end method
15660 +.method public requestLocationUpdates(Ljava/lang/String;JFLandroid/app/PendingIntent;)V
15661 + .registers 7
15663 + if-eqz p1, :cond_4
15665 + if-nez p5, :cond_8
15667 + :cond_4
15668 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/app/PendingIntent;)V
15670 + :cond_7
15671 + :goto_7
15672 + return-void
15674 + :cond_8
15675 + const/4 v0, 0x0
15677 + invoke-direct {p0, p1, v0, p5}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15679 + move-result v0
15681 + if-nez v0, :cond_7
15683 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/app/PendingIntent;)V
15685 + goto :goto_7
15686 +.end method
15688 +.method public requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;)V
15689 + .registers 7
15691 + if-eqz p1, :cond_4
15693 + if-nez p5, :cond_8
15695 + :cond_4
15696 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;)V
15698 + :cond_7
15699 + :goto_7
15700 + return-void
15702 + :cond_8
15703 + const/4 v0, 0x0
15705 + invoke-direct {p0, p1, p5, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15707 + move-result v0
15709 + if-nez v0, :cond_7
15711 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;)V
15713 + goto :goto_7
15714 +.end method
15716 +.method public requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;Landroid/os/Looper;)V
15717 + .registers 8
15719 + if-eqz p1, :cond_4
15721 + if-nez p5, :cond_8
15723 + :cond_4
15724 + invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;Landroid/os/Looper;)V
15726 + :cond_7
15727 + :goto_7
15728 + return-void
15730 + :cond_8
15731 + const/4 v0, 0x0
15733 + invoke-direct {p0, p1, p5, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15735 + move-result v0
15737 + if-nez v0, :cond_7
15739 + invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;Landroid/os/Looper;)V
15741 + goto :goto_7
15742 +.end method
15744 +.method public requestSingleUpdate(Landroid/location/Criteria;Landroid/app/PendingIntent;)V
15745 + .registers 4
15747 + if-eqz p1, :cond_4
15749 + if-nez p2, :cond_8
15751 + :cond_4
15752 + invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/app/PendingIntent;)V
15754 + :cond_7
15755 + :goto_7
15756 + return-void
15758 + :cond_8
15759 + const/4 v0, 0x0
15761 + invoke-direct {p0, p1, v0, p2}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15763 + move-result v0
15765 + if-nez v0, :cond_7
15767 + invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/app/PendingIntent;)V
15769 + goto :goto_7
15770 +.end method
15772 +.method public requestSingleUpdate(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
15773 + .registers 5
15775 + if-eqz p1, :cond_4
15777 + if-nez p2, :cond_8
15779 + :cond_4
15780 + invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
15782 + :cond_7
15783 + :goto_7
15784 + return-void
15786 + :cond_8
15787 + const/4 v0, 0x0
15789 + invoke-direct {p0, p1, p2, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15791 + move-result v0
15793 + if-nez v0, :cond_7
15795 + invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
15797 + goto :goto_7
15798 +.end method
15800 +.method public requestSingleUpdate(Ljava/lang/String;Landroid/app/PendingIntent;)V
15801 + .registers 4
15803 + if-eqz p1, :cond_4
15805 + if-nez p2, :cond_8
15807 + :cond_4
15808 + invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/app/PendingIntent;)V
15810 + :cond_7
15811 + :goto_7
15812 + return-void
15814 + :cond_8
15815 + const/4 v0, 0x0
15817 + invoke-direct {p0, p1, v0, p2}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15819 + move-result v0
15821 + if-nez v0, :cond_7
15823 + invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/app/PendingIntent;)V
15825 + goto :goto_7
15826 +.end method
15828 +.method public requestSingleUpdate(Ljava/lang/String;Landroid/location/LocationListener;Landroid/os/Looper;)V
15829 + .registers 5
15831 + if-eqz p1, :cond_4
15833 + if-nez p2, :cond_8
15835 + :cond_4
15836 + invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/location/LocationListener;Landroid/os/Looper;)V
15838 + :cond_7
15839 + :goto_7
15840 + return-void
15842 + :cond_8
15843 + const/4 v0, 0x0
15845 + invoke-direct {p0, p1, p2, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15847 + move-result v0
15849 + if-nez v0, :cond_7
15851 + invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/location/LocationListener;Landroid/os/Looper;)V
15853 + goto :goto_7
15854 +.end method
15855 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyTelephonyManager.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyTelephonyManager.smali
15856 --- stock-framework/smali/android/privacy/surrogate/PrivacyTelephonyManager.smali 1969-12-31 18:00:00.000000000 -0600
15857 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyTelephonyManager.smali 2012-10-05 10:15:48.445126940 -0500
15858 @@ -0,0 +1,731 @@
15859 +.class public final Landroid/privacy/surrogate/PrivacyTelephonyManager;
15860 +.super Landroid/telephony/TelephonyManager;
15861 +.source "PrivacyTelephonyManager.java"
15864 +# static fields
15865 +.field private static final TAG:Ljava/lang/String; = "PrivacyTelephonyManager"
15868 +# instance fields
15869 +.field private context:Landroid/content/Context;
15871 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
15874 +# direct methods
15875 +.method public constructor <init>(Landroid/content/Context;)V
15876 + .registers 4
15878 + invoke-direct {p0, p1}, Landroid/telephony/TelephonyManager;-><init>(Landroid/content/Context;)V
15880 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
15882 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
15884 + const-string/jumbo v1, "privacy"
15886 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
15888 + move-result-object v1
15890 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
15892 + move-result-object v1
15894 + invoke-direct {v0, p1, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
15896 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15898 + return-void
15899 +.end method
15901 +.method private getNetworkInfo()Ljava/lang/String;
15902 + .registers 8
15904 + const/4 v5, 0x0
15906 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
15908 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
15910 + move-result-object v1
15912 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
15914 + move-result v2
15916 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15918 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
15920 + move-result-object v6
15922 + if-eqz v6, :cond_25
15924 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
15926 + move-result v0
15928 + if-eqz v0, :cond_25
15930 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15932 + const/4 v3, 0x1
15934 + const-string/jumbo v4, "networkInfoCurrent"
15936 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15938 + const-string v5, ""
15940 + :goto_24
15941 + return-object v5
15943 + :cond_25
15944 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15946 + const/4 v3, 0x0
15948 + const-string/jumbo v4, "networkInfoCurrent"
15950 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15952 + goto :goto_24
15953 +.end method
15955 +.method private getSimInfo()Ljava/lang/String;
15956 + .registers 8
15958 + const/4 v5, 0x0
15960 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
15962 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
15964 + move-result-object v1
15966 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
15968 + move-result v2
15970 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15972 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
15974 + move-result-object v6
15976 + if-eqz v6, :cond_25
15978 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSimInfoSetting()B
15980 + move-result v0
15982 + if-eqz v0, :cond_25
15984 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15986 + const/4 v3, 0x1
15988 + const-string/jumbo v4, "networkInfoSIM"
15990 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15992 + const-string v5, ""
15994 + :goto_24
15995 + return-object v5
15997 + :cond_25
15998 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16000 + const/4 v3, 0x0
16002 + const-string/jumbo v4, "networkInfoSIM"
16004 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16006 + goto :goto_24
16007 +.end method
16010 +# virtual methods
16011 +.method public getDeviceId()Ljava/lang/String;
16012 + .registers 8
16014 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16016 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16018 + move-result-object v1
16020 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16022 + move-result v2
16024 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16026 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16028 + move-result-object v6
16030 + if-eqz v6, :cond_28
16032 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
16034 + move-result v0
16036 + if-eqz v0, :cond_28
16038 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceId()Ljava/lang/String;
16040 + move-result-object v5
16042 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16044 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
16046 + move-result v3
16048 + const-string v4, "deviceID"
16050 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16052 + :goto_27
16053 + return-object v5
16055 + :cond_28
16056 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getDeviceId()Ljava/lang/String;
16058 + move-result-object v5
16060 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16062 + const/4 v3, 0x0
16064 + const-string v4, "deviceID"
16066 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16068 + goto :goto_27
16069 +.end method
16071 +.method public getLine1Number()Ljava/lang/String;
16072 + .registers 8
16074 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16076 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16078 + move-result-object v1
16080 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16082 + move-result v2
16084 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16086 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16088 + move-result-object v6
16090 + if-eqz v6, :cond_28
16092 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
16094 + move-result v0
16096 + if-eqz v0, :cond_28
16098 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1Number()Ljava/lang/String;
16100 + move-result-object v5
16102 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16104 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
16106 + move-result v3
16108 + const-string v4, "line1Number"
16110 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16112 + :goto_27
16113 + return-object v5
16115 + :cond_28
16116 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getLine1Number()Ljava/lang/String;
16118 + move-result-object v5
16120 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16122 + const/4 v3, 0x0
16124 + const-string v4, "line1Number"
16126 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16128 + goto :goto_27
16129 +.end method
16131 +.method public getNeighboringCellInfo()Ljava/util/List;
16132 + .registers 10
16133 + .annotation system Ldalvik/annotation/Signature;
16134 + value = {
16135 + "()",
16136 + "Ljava/util/List",
16137 + "<",
16138 + "Landroid/telephony/NeighboringCellInfo;",
16139 + ">;"
16141 + .end annotation
16143 + iget-object v6, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16145 + iget-object v7, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16147 + invoke-virtual {v7}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16149 + move-result-object v7
16151 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16153 + move-result v8
16155 + invoke-virtual {v6, v7, v8}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16157 + move-result-object v5
16159 + const/4 v3, 0x0
16161 + const-string v4, "[null]"
16163 + if-eqz v5, :cond_1c
16165 + invoke-virtual {v5}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
16167 + move-result v6
16169 + const/4 v7, 0x1
16171 + if-ne v6, v7, :cond_1d
16173 + :cond_1c
16174 + :goto_1c
16175 + return-object v3
16177 + :cond_1d
16178 + invoke-virtual {v5}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
16180 + move-result v6
16182 + if-eqz v6, :cond_2b
16184 + new-instance v3, Ljava/util/ArrayList;
16186 + invoke-direct {v3}, Ljava/util/ArrayList;-><init>()V
16188 + const-string v4, "[empty list of cells]"
16190 + goto :goto_1c
16192 + :cond_2b
16193 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNeighboringCellInfo()Ljava/util/List;
16195 + move-result-object v3
16197 + const-string v0, ""
16199 + invoke-interface {v3}, Ljava/util/List;->iterator()Ljava/util/Iterator;
16201 + move-result-object v2
16203 + :goto_35
16204 + invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z
16206 + move-result v6
16208 + if-eqz v6, :cond_5f
16210 + invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
16212 + move-result-object v1
16214 + check-cast v1, Landroid/telephony/NeighboringCellInfo;
16216 + new-instance v6, Ljava/lang/StringBuilder;
16218 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
16220 + invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16222 + move-result-object v6
16224 + const-string v7, "\t"
16226 + invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16228 + move-result-object v6
16230 + invoke-virtual {v6, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
16232 + move-result-object v6
16234 + const-string v7, "\n"
16236 + invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16238 + move-result-object v6
16240 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
16242 + move-result-object v0
16244 + goto :goto_35
16246 + :cond_5f
16247 + new-instance v6, Ljava/lang/StringBuilder;
16249 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
16251 + const-string v7, "[real value]:\n"
16253 + invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16255 + move-result-object v6
16257 + invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16259 + move-result-object v6
16261 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
16263 + move-result-object v4
16265 + goto :goto_1c
16266 +.end method
16268 +.method public getNetworkCountryIso()Ljava/lang/String;
16269 + .registers 2
16271 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getNetworkInfo()Ljava/lang/String;
16273 + move-result-object v0
16275 + if-nez v0, :cond_a
16277 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNetworkCountryIso()Ljava/lang/String;
16279 + move-result-object v0
16281 + :cond_a
16282 + return-object v0
16283 +.end method
16285 +.method public getNetworkOperator()Ljava/lang/String;
16286 + .registers 2
16288 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getNetworkInfo()Ljava/lang/String;
16290 + move-result-object v0
16292 + if-nez v0, :cond_a
16294 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNetworkOperator()Ljava/lang/String;
16296 + move-result-object v0
16298 + :cond_a
16299 + return-object v0
16300 +.end method
16302 +.method public getNetworkOperatorName()Ljava/lang/String;
16303 + .registers 2
16305 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getNetworkInfo()Ljava/lang/String;
16307 + move-result-object v0
16309 + if-nez v0, :cond_a
16311 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNetworkOperatorName()Ljava/lang/String;
16313 + move-result-object v0
16315 + :cond_a
16316 + return-object v0
16317 +.end method
16319 +.method public getSimCountryIso()Ljava/lang/String;
16320 + .registers 2
16322 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getSimInfo()Ljava/lang/String;
16324 + move-result-object v0
16326 + if-nez v0, :cond_a
16328 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSimCountryIso()Ljava/lang/String;
16330 + move-result-object v0
16332 + :cond_a
16333 + return-object v0
16334 +.end method
16336 +.method public getSimOperator()Ljava/lang/String;
16337 + .registers 2
16339 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getSimInfo()Ljava/lang/String;
16341 + move-result-object v0
16343 + if-nez v0, :cond_a
16345 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSimOperator()Ljava/lang/String;
16347 + move-result-object v0
16349 + :cond_a
16350 + return-object v0
16351 +.end method
16353 +.method public getSimOperatorName()Ljava/lang/String;
16354 + .registers 2
16356 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getSimInfo()Ljava/lang/String;
16358 + move-result-object v0
16360 + if-nez v0, :cond_a
16362 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSimOperatorName()Ljava/lang/String;
16364 + move-result-object v0
16366 + :cond_a
16367 + return-object v0
16368 +.end method
16370 +.method public getSimSerialNumber()Ljava/lang/String;
16371 + .registers 8
16373 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16375 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16377 + move-result-object v1
16379 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16381 + move-result v2
16383 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16385 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16387 + move-result-object v6
16389 + if-eqz v6, :cond_29
16391 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSimSerialNumberSetting()B
16393 + move-result v0
16395 + if-eqz v0, :cond_29
16397 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSimSerialNumber()Ljava/lang/String;
16399 + move-result-object v5
16401 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16403 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSimSerialNumberSetting()B
16405 + move-result v3
16407 + const-string/jumbo v4, "simSerial"
16409 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16411 + :goto_28
16412 + return-object v5
16414 + :cond_29
16415 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSimSerialNumber()Ljava/lang/String;
16417 + move-result-object v5
16419 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16421 + const/4 v3, 0x0
16423 + const-string/jumbo v4, "simSerial"
16425 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16427 + goto :goto_28
16428 +.end method
16430 +.method public getSubscriberId()Ljava/lang/String;
16431 + .registers 8
16433 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16435 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16437 + move-result-object v1
16439 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16441 + move-result v2
16443 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16445 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16447 + move-result-object v6
16449 + if-eqz v6, :cond_29
16451 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberIdSetting()B
16453 + move-result v0
16455 + if-eqz v0, :cond_29
16457 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberId()Ljava/lang/String;
16459 + move-result-object v5
16461 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16463 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberIdSetting()B
16465 + move-result v3
16467 + const-string/jumbo v4, "subscriberID"
16469 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16471 + :goto_28
16472 + return-object v5
16474 + :cond_29
16475 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSubscriberId()Ljava/lang/String;
16477 + move-result-object v5
16479 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16481 + const/4 v3, 0x0
16483 + const-string/jumbo v4, "subscriberID"
16485 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16487 + goto :goto_28
16488 +.end method
16490 +.method public getVoiceMailNumber()Ljava/lang/String;
16491 + .registers 8
16493 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16495 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16497 + move-result-object v1
16499 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16501 + move-result v2
16503 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16505 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16507 + move-result-object v6
16509 + if-eqz v6, :cond_28
16511 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
16513 + move-result v0
16515 + if-eqz v0, :cond_28
16517 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1Number()Ljava/lang/String;
16519 + move-result-object v5
16521 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16523 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
16525 + move-result v3
16527 + const-string v4, "line1Number"
16529 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16531 + :goto_27
16532 + return-object v5
16534 + :cond_28
16535 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getVoiceMailNumber()Ljava/lang/String;
16537 + move-result-object v5
16539 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16541 + const/4 v3, 0x0
16543 + const-string v4, "line1Number"
16545 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16547 + goto :goto_27
16548 +.end method
16550 +.method public listen(Landroid/telephony/PhoneStateListener;I)V
16551 + .registers 4
16553 + and-int/lit8 v0, p2, 0x10
16555 + if-nez v0, :cond_8
16557 + and-int/lit8 v0, p2, 0x20
16559 + if-eqz v0, :cond_21
16561 + :cond_8
16562 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16564 + invoke-virtual {p1, v0}, Landroid/telephony/PhoneStateListener;->setContext(Landroid/content/Context;)V
16566 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16568 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16570 + move-result-object v0
16572 + invoke-virtual {p1, v0}, Landroid/telephony/PhoneStateListener;->setPackageName(Ljava/lang/String;)V
16574 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16576 + move-result v0
16578 + invoke-virtual {p1, v0}, Landroid/telephony/PhoneStateListener;->setUid(I)V
16580 + invoke-super {p0, p1, p2}, Landroid/telephony/TelephonyManager;->listen(Landroid/telephony/PhoneStateListener;I)V
16582 + :goto_20
16583 + return-void
16585 + :cond_21
16586 + invoke-super {p0, p1, p2}, Landroid/telephony/TelephonyManager;->listen(Landroid/telephony/PhoneStateListener;I)V
16588 + goto :goto_20
16589 +.end method
16590 diff -Npru stock-framework/smali/android/server/BluetoothService.smali pdroid-framework/smali/android/server/BluetoothService.smali
16591 --- stock-framework/smali/android/server/BluetoothService.smali 2012-10-05 10:16:10.957238572 -0500
16592 +++ pdroid-framework/smali/android/server/BluetoothService.smali 2012-10-05 10:15:48.689128145 -0500
16593 @@ -5759,7 +5759,7 @@
16595 invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
16597 - const-string v1, "mIsAirplaneSensitive = "
16598 + const-string/jumbo v1, "mIsAirplaneSensitive = "
16600 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16602 @@ -5781,7 +5781,7 @@
16604 invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
16606 - const-string v1, "mIsAirplaneToggleable = "
16607 + const-string/jumbo v1, "mIsAirplaneToggleable = "
16609 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16611 diff -Npru stock-framework/smali/android/service/wallpaper/WallpaperService$Engine.smali pdroid-framework/smali/android/service/wallpaper/WallpaperService$Engine.smali
16612 --- stock-framework/smali/android/service/wallpaper/WallpaperService$Engine.smali 2012-10-05 10:16:10.981238686 -0500
16613 +++ pdroid-framework/smali/android/service/wallpaper/WallpaperService$Engine.smali 2012-10-05 10:15:48.709128244 -0500
16614 @@ -730,7 +730,7 @@
16616 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
16618 - const-string v0, "mInitializing="
16619 + const-string/jumbo v0, "mInitializing="
16621 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
16623 @@ -944,7 +944,7 @@
16625 monitor-enter v1
16627 - :try_start_112
16628 + :try_start_113
16629 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
16631 const-string/jumbo v0, "mPendingXOffset="
16632 @@ -1001,7 +1001,7 @@
16634 iget-object v0, p0, Landroid/service/wallpaper/WallpaperService$Engine;->mPendingMove:Landroid/view/MotionEvent;
16636 - if-eqz v0, :cond_16c
16637 + if-eqz v0, :cond_16d
16639 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
16641 @@ -1013,17 +1013,17 @@
16643 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
16645 - :cond_16c
16646 + :cond_16d
16647 monitor-exit v1
16649 return-void
16651 - :catchall_16e
16652 + :catchall_16f
16653 move-exception v0
16655 monitor-exit v1
16656 - :try_end_170
16657 - .catchall {:try_start_112 .. :try_end_170} :catchall_16e
16658 + :try_end_171
16659 + .catchall {:try_start_113 .. :try_end_171} :catchall_16f
16661 throw v0
16662 .end method
16663 diff -Npru stock-framework/smali/android/telephony/PhoneStateListener$1.smali pdroid-framework/smali/android/telephony/PhoneStateListener$1.smali
16664 --- stock-framework/smali/android/telephony/PhoneStateListener$1.smali 2012-10-05 10:16:11.029238924 -0500
16665 +++ pdroid-framework/smali/android/telephony/PhoneStateListener$1.smali 2012-10-05 10:15:48.757128482 -0500
16666 @@ -64,23 +64,196 @@
16667 .end method
16669 .method public onCallStateChanged(ILjava/lang/String;)V
16670 - .registers 6
16671 + .registers 19
16673 - iget-object v0, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16674 + move-object/from16 v0, p0
16676 - iget-object v0, v0, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
16677 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16679 - const/16 v1, 0x20
16680 + #getter for: Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
16681 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
16683 - const/4 v2, 0x0
16684 + move-result-object v3
16686 - invoke-static {v0, v1, p1, v2, p2}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
16687 + if-eqz v3, :cond_99
16689 - move-result-object v0
16690 + if-eqz p2, :cond_99
16692 - invoke-virtual {v0}, Landroid/os/Message;->sendToTarget()V
16693 + invoke-virtual/range {p2 .. p2}, Ljava/lang/String;->isEmpty()Z
16695 + move-result v3
16697 + if-nez v3, :cond_99
16699 + move-object/from16 v0, p0
16701 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16703 + #getter for: Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
16704 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
16706 + move-result-object v3
16708 + const-string/jumbo v4, "privacy"
16710 + invoke-virtual {v3, v4}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
16712 + move-result-object v2
16714 + check-cast v2, Landroid/privacy/PrivacySettingsManager;
16716 + move-object/from16 v0, p0
16718 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16720 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
16721 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
16723 + move-result-object v3
16725 + move-object/from16 v0, p0
16727 + iget-object v4, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16729 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
16730 + invoke-static {v4}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
16732 + move-result v4
16734 + invoke-virtual {v2, v3, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16736 + move-result-object v8
16738 + if-eqz v8, :cond_6a
16740 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getIncomingCallsSetting()B
16742 + move-result v3
16744 + if-eqz v3, :cond_6a
16746 + const-string v7, ""
16748 + move-object/from16 v0, p0
16750 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16752 + iget-object v3, v3, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
16754 + const/16 v4, 0x20
16756 + const/4 v5, 0x0
16758 + move/from16 v0, p1
16760 + invoke-static {v3, v4, v0, v5, v7}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
16762 + move-result-object v3
16764 + invoke-virtual {v3}, Landroid/os/Message;->sendToTarget()V
16766 + move-object/from16 v0, p0
16768 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16770 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
16771 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
16773 + move-result-object v3
16775 + move-object/from16 v0, p0
16777 + iget-object v4, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16779 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
16780 + invoke-static {v4}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
16782 + move-result v4
16784 + const/4 v5, 0x1
16786 + const-string v6, "incomingCall"
16788 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16790 + :goto_69
16791 return-void
16793 + :cond_6a
16794 + move-object/from16 v0, p0
16796 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16798 + iget-object v3, v3, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
16800 + const/16 v4, 0x20
16802 + const/4 v5, 0x0
16804 + move/from16 v0, p1
16806 + move-object/from16 v1, p2
16808 + invoke-static {v3, v4, v0, v5, v1}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
16810 + move-result-object v3
16812 + invoke-virtual {v3}, Landroid/os/Message;->sendToTarget()V
16814 + move-object/from16 v0, p0
16816 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16818 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
16819 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
16821 + move-result-object v10
16823 + move-object/from16 v0, p0
16825 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16827 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
16828 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
16830 + move-result v11
16832 + const/4 v12, 0x0
16834 + const-string v13, "incomingCall"
16836 + move-object v9, v2
16838 + move-object/from16 v14, p2
16840 + move-object v15, v8
16842 + invoke-virtual/range {v9 .. v15}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16844 + goto :goto_69
16846 + :cond_99
16847 + move-object/from16 v0, p0
16849 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16851 + iget-object v3, v3, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
16853 + const/16 v4, 0x20
16855 + const/4 v5, 0x0
16857 + move/from16 v0, p1
16859 + move-object/from16 v1, p2
16861 + invoke-static {v3, v4, v0, v5, v1}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
16863 + move-result-object v3
16865 + invoke-virtual {v3}, Landroid/os/Message;->sendToTarget()V
16867 + goto :goto_69
16868 .end method
16870 .method public onCellInfoChanged(Landroid/telephony/CellInfo;)V
16871 @@ -104,27 +277,124 @@
16872 .end method
16874 .method public onCellLocationChanged(Landroid/os/Bundle;)V
16875 - .registers 6
16876 + .registers 10
16878 + const/4 v5, 0x0
16880 const/4 v3, 0x0
16882 invoke-static {p1}, Landroid/telephony/CellLocation;->newFromBundle(Landroid/os/Bundle;)Landroid/telephony/CellLocation;
16884 + move-result-object v7
16886 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16888 + #getter for: Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
16889 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
16891 + move-result-object v1
16893 + if-eqz v1, :cond_4a
16895 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16897 + #getter for: Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
16898 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
16900 + move-result-object v1
16902 + const-string/jumbo v2, "privacy"
16904 + invoke-virtual {v1, v2}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
16906 move-result-object v0
16908 + check-cast v0, Landroid/privacy/PrivacySettingsManager;
16910 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16912 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
16913 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
16915 + move-result-object v1
16917 + iget-object v2, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16919 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
16920 + invoke-static {v2}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
16922 + move-result v2
16924 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16926 + move-result-object v6
16928 + if-eqz v6, :cond_4b
16930 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
16932 + move-result v1
16934 + if-eqz v1, :cond_4b
16936 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16938 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
16939 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
16941 + move-result-object v1
16943 + iget-object v2, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16945 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
16946 + invoke-static {v2}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
16948 + move-result v2
16950 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
16952 + move-result v3
16954 + const-string v4, "locationNetwork"
16956 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16958 + :cond_4a
16959 + :goto_4a
16960 + return-void
16962 + :cond_4b
16963 iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16965 iget-object v1, v1, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
16967 const/16 v2, 0x10
16969 - invoke-static {v1, v2, v3, v3, v0}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
16970 + invoke-static {v1, v2, v3, v3, v7}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
16972 move-result-object v1
16974 invoke-virtual {v1}, Landroid/os/Message;->sendToTarget()V
16976 - return-void
16977 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16979 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
16980 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
16982 + move-result-object v1
16984 + iget-object v2, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16986 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
16987 + invoke-static {v2}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
16989 + move-result v2
16991 + const-string v4, "locationNetwork"
16993 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16995 + goto :goto_4a
16996 .end method
16998 .method public onDataActivity(I)V
16999 diff -Npru stock-framework/smali/android/telephony/PhoneStateListener.smali pdroid-framework/smali/android/telephony/PhoneStateListener.smali
17000 --- stock-framework/smali/android/telephony/PhoneStateListener.smali 2012-10-05 10:16:10.033233985 -0500
17001 +++ pdroid-framework/smali/android/telephony/PhoneStateListener.smali 2012-10-05 10:15:47.669123092 -0500
17002 @@ -31,12 +31,20 @@
17004 .field public static final LISTEN_SIGNAL_STRENGTHS:I = 0x100
17006 +.field private static final TAG:Ljava/lang/String; = "PhoneStateListener"
17009 # instance fields
17010 .field callback:Lcom/android/internal/telephony/IPhoneStateListener;
17012 +.field private context:Landroid/content/Context;
17014 .field mHandler:Landroid/os/Handler;
17016 +.field private packageName:Ljava/lang/String;
17018 +.field private uid:I
17021 # direct methods
17022 .method public constructor <init>()V
17023 @@ -59,6 +67,30 @@
17024 return-void
17025 .end method
17027 +.method static synthetic access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
17028 + .registers 2
17030 + iget-object v0, p0, Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
17032 + return-object v0
17033 +.end method
17035 +.method static synthetic access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
17036 + .registers 2
17038 + iget-object v0, p0, Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
17040 + return-object v0
17041 +.end method
17043 +.method static synthetic access$200(Landroid/telephony/PhoneStateListener;)I
17044 + .registers 2
17046 + iget v0, p0, Landroid/telephony/PhoneStateListener;->uid:I
17048 + return v0
17049 +.end method
17052 # virtual methods
17053 .method public onCallForwardingIndicatorChanged(Z)V
17054 @@ -134,3 +166,27 @@
17056 return-void
17057 .end method
17059 +.method public setContext(Landroid/content/Context;)V
17060 + .registers 2
17062 + iput-object p1, p0, Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
17064 + return-void
17065 +.end method
17067 +.method public setPackageName(Ljava/lang/String;)V
17068 + .registers 2
17070 + iput-object p1, p0, Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
17072 + return-void
17073 +.end method
17075 +.method public setUid(I)V
17076 + .registers 2
17078 + iput p1, p0, Landroid/telephony/PhoneStateListener;->uid:I
17080 + return-void
17081 +.end method
17082 diff -Npru stock-framework/smali/android/view/inputmethod/InputMethodInfo.smali pdroid-framework/smali/android/view/inputmethod/InputMethodInfo.smali
17083 --- stock-framework/smali/android/view/inputmethod/InputMethodInfo.smali 2012-10-05 10:16:11.345240491 -0500
17084 +++ pdroid-framework/smali/android/view/inputmethod/InputMethodInfo.smali 2012-10-05 10:15:49.073130049 -0500
17085 @@ -752,7 +752,7 @@
17087 move-result-object v0
17089 - const-string v1, "mIsDefaultResId=0x"
17090 + const-string/jumbo v1, "mIsDefaultResId=0x"
17092 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17094 diff -Npru stock-framework/smali/android/webkit/WebViewClassic.smali pdroid-framework/smali/android/webkit/WebViewClassic.smali
17095 --- stock-framework/smali/android/webkit/WebViewClassic.smali 2012-10-05 10:16:11.485241190 -0500
17096 +++ pdroid-framework/smali/android/webkit/WebViewClassic.smali 2012-10-05 10:15:49.217130763 -0500
17097 @@ -17030,7 +17030,7 @@
17098 :cond_59
17099 const-string/jumbo v1, "webview"
17101 - const-string v2, "mInputDispatcher rejected the event!"
17102 + const-string/jumbo v2, "mInputDispatcher rejected the event!"
17104 invoke-static {v1, v2}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I