Add SlimRom OpenPdroid; Hide folders+rearrange for ApG
[auto-patcher.git] / patches / pdroid / 4.1 / .aosp-mod / 20121003 / framework.patch
blob4c76337472a167113828679fabb82066ead2fea7
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 final 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 + return v1
7142 + const-string v0, "0"
7144 + goto :goto_5
7146 + :cond_15
7147 + const/4 v1, 0x0
7149 + goto :goto_11
7150 +.end method
7152 +.method public setNotificationsEnabled(Z)Z
7153 + .registers 6
7155 + const/4 v1, 0x1
7157 + if-eqz p1, :cond_15
7159 + const-string v0, "1"
7161 + :goto_5
7162 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
7164 + const-string/jumbo v3, "notifications_enabled"
7166 + invoke-virtual {v2, v3, v0}, Landroid/privacy/PrivacyPersistenceAdapter;->setValue(Ljava/lang/String;Ljava/lang/String;)Z
7168 + move-result v2
7170 + if-eqz v2, :cond_18
7172 + iput-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->notificationsEnabled:Z
7174 + iput-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->bootCompleted:Z
7176 + :goto_14
7177 + return v1
7179 + :cond_15
7180 + const-string v0, "0"
7182 + goto :goto_5
7184 + :cond_18
7185 + const/4 v1, 0x0
7187 + goto :goto_14
7188 +.end method
7189 diff -Npru stock-framework/smali/android/privacy/PrivacySettingsManager.smali pdroid-framework/smali/android/privacy/PrivacySettingsManager.smali
7190 --- stock-framework/smali/android/privacy/PrivacySettingsManager.smali 1969-12-31 18:00:00.000000000 -0600
7191 +++ pdroid-framework/smali/android/privacy/PrivacySettingsManager.smali 2012-10-05 10:15:48.437126896 -0500
7192 @@ -0,0 +1,531 @@
7193 +.class public final Landroid/privacy/PrivacySettingsManager;
7194 +.super Ljava/lang/Object;
7195 +.source "PrivacySettingsManager.java"
7198 +# static fields
7199 +.field public static final ACTION_PRIVACY_NOTIFICATION:Ljava/lang/String; = "com.privacy.pdroid.PRIVACY_NOTIFICATION"
7201 +.field private static final TAG:Ljava/lang/String; = "PrivacySettingsManager"
7204 +# instance fields
7205 +.field private service:Landroid/privacy/IPrivacySettingsManager;
7208 +# direct methods
7209 +.method public constructor <init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
7210 + .registers 3
7212 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
7214 + iput-object p2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7216 + return-void
7217 +.end method
7220 +# virtual methods
7221 +.method public addObserver(Ljava/lang/String;)V
7222 + .registers 5
7224 + :try_start_0
7225 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7227 + if-eqz v1, :cond_a
7229 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7231 + invoke-interface {v1, p1}, Landroid/privacy/IPrivacySettingsManager;->addObserver(Ljava/lang/String;)V
7233 + :goto_9
7234 + return-void
7236 + :cond_a
7237 + const-string v1, "PrivacySettingsManager"
7239 + const-string v2, "deleteSettings - PrivacySettingsManagerService is null"
7241 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7242 + :try_end_11
7243 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_11} :catch_12
7245 + goto :goto_9
7247 + :catch_12
7248 + move-exception v0
7250 + const-string v1, "PrivacySettingsManager"
7252 + const-string v2, "RemoteException in addObserver: "
7254 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7256 + goto :goto_9
7257 +.end method
7259 +.method public deleteSettings(Ljava/lang/String;)Z
7260 + .registers 3
7262 + invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettingsManager;->deleteSettings(Ljava/lang/String;)Z
7264 + move-result v0
7266 + return v0
7267 +.end method
7269 +.method public deleteSettings(Ljava/lang/String;I)Z
7270 + .registers 7
7272 + const/4 v1, 0x0
7274 + :try_start_1
7275 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7277 + if-eqz v2, :cond_c
7279 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7281 + invoke-interface {v2, p1}, Landroid/privacy/IPrivacySettingsManager;->deleteSettings(Ljava/lang/String;)Z
7283 + move-result v1
7285 + :goto_b
7286 + return v1
7288 + :cond_c
7289 + const-string v2, "PrivacySettingsManager"
7291 + const-string v3, "deleteSettings - PrivacySettingsManagerService is null"
7293 + invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7294 + :try_end_13
7295 + .catch Landroid/os/RemoteException; {:try_start_1 .. :try_end_13} :catch_14
7297 + goto :goto_b
7299 + :catch_14
7300 + move-exception v0
7302 + const-string v2, "PrivacySettingsManager"
7304 + const-string v3, "RemoteException in deleteSettings: "
7306 + invoke-static {v2, v3, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7308 + goto :goto_b
7309 +.end method
7311 +.method public getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
7312 + .registers 6
7314 + const/4 v1, 0x0
7316 + :try_start_1
7317 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7319 + if-eqz v2, :cond_c
7321 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7323 + invoke-interface {v2, p1}, Landroid/privacy/IPrivacySettingsManager;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
7325 + move-result-object v1
7327 + :goto_b
7328 + return-object v1
7330 + :cond_c
7331 + const-string v2, "PrivacySettingsManager"
7333 + const-string v3, "getSettings - PrivacySettingsManagerService is null"
7335 + invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7336 + :try_end_13
7337 + .catch Landroid/os/RemoteException; {:try_start_1 .. :try_end_13} :catch_14
7339 + goto :goto_b
7341 + :catch_14
7342 + move-exception v0
7344 + invoke-virtual {v0}, Landroid/os/RemoteException;->printStackTrace()V
7346 + goto :goto_b
7347 +.end method
7349 +.method public getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
7350 + .registers 4
7352 + invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
7354 + move-result-object v0
7356 + return-object v0
7357 +.end method
7359 +.method public getVersion()D
7360 + .registers 4
7362 + :try_start_0
7363 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7365 + if-eqz v1, :cond_b
7367 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7369 + invoke-interface {v1}, Landroid/privacy/IPrivacySettingsManager;->getVersion()D
7371 + move-result-wide v1
7373 + :goto_a
7374 + return-wide v1
7376 + :cond_b
7377 + const-string v1, "PrivacySettingsManager"
7379 + const-string v2, "getVersion - PrivacySettingsManagerService is null"
7381 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7382 + :try_end_12
7383 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_12} :catch_15
7385 + :goto_12
7386 + const-wide/16 v1, 0x0
7388 + goto :goto_a
7390 + :catch_15
7391 + move-exception v0
7393 + const-string v1, "PrivacySettingsManager"
7395 + const-string v2, "RemoteException in getVersion: "
7397 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7399 + goto :goto_12
7400 +.end method
7402 +.method public isServiceAvailable()Z
7403 + .registers 2
7405 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7407 + if-eqz v0, :cond_6
7409 + const/4 v0, 0x1
7411 + :goto_5
7412 + return v0
7414 + :cond_6
7415 + const/4 v0, 0x0
7417 + goto :goto_5
7418 +.end method
7420 +.method public notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
7421 + .registers 9
7423 + :try_start_0
7424 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7426 + if-eqz v1, :cond_a
7428 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7430 + invoke-interface {v1, p1, p2, p3, p4}, Landroid/privacy/IPrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
7432 + :goto_9
7433 + return-void
7435 + :cond_a
7436 + const-string v1, "PrivacySettingsManager"
7438 + const-string v2, "deleteSettings - PrivacySettingsManagerService is null"
7440 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7441 + :try_end_11
7442 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_11} :catch_12
7444 + goto :goto_9
7446 + :catch_12
7447 + move-exception v0
7449 + const-string v1, "PrivacySettingsManager"
7451 + const-string v2, "RemoteException in notification: "
7453 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7455 + goto :goto_9
7456 +.end method
7458 +.method public notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
7459 + .registers 13
7461 + move-object v0, p0
7463 + move-object v1, p1
7465 + move v2, p3
7467 + move-object v3, p4
7469 + move-object v4, p5
7471 + move-object v5, p6
7473 + invoke-virtual/range {v0 .. v5}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
7475 + return-void
7476 +.end method
7478 +.method public purgeSettings()Z
7479 + .registers 4
7481 + :try_start_0
7482 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7484 + if-eqz v1, :cond_b
7486 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7488 + invoke-interface {v1}, Landroid/privacy/IPrivacySettingsManager;->purgeSettings()Z
7490 + move-result v1
7492 + :goto_a
7493 + return v1
7495 + :cond_b
7496 + const-string v1, "PrivacySettingsManager"
7498 + const-string v2, "deleteSettings - PrivacySettingsManagerService is null"
7500 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7501 + :try_end_12
7502 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_12} :catch_14
7504 + :goto_12
7505 + const/4 v1, 0x0
7507 + goto :goto_a
7509 + :catch_14
7510 + move-exception v0
7512 + const-string v1, "PrivacySettingsManager"
7514 + const-string v2, "RemoteException in purgeSettings: "
7516 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7518 + goto :goto_12
7519 +.end method
7521 +.method public registerObservers()V
7522 + .registers 4
7524 + :try_start_0
7525 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7527 + if-eqz v1, :cond_a
7529 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7531 + invoke-interface {v1}, Landroid/privacy/IPrivacySettingsManager;->registerObservers()V
7533 + :goto_9
7534 + return-void
7536 + :cond_a
7537 + const-string v1, "PrivacySettingsManager"
7539 + const-string v2, "deleteSettings - PrivacySettingsManagerService is null"
7541 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7542 + :try_end_11
7543 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_11} :catch_12
7545 + goto :goto_9
7547 + :catch_12
7548 + move-exception v0
7550 + const-string v1, "PrivacySettingsManager"
7552 + const-string v2, "RemoteException in registerObservers: "
7554 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7556 + goto :goto_9
7557 +.end method
7559 +.method public saveSettings(Landroid/privacy/PrivacySettings;)Z
7560 + .registers 6
7562 + const/4 v1, 0x0
7564 + :try_start_1
7565 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7567 + if-eqz v2, :cond_c
7569 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7571 + invoke-interface {v2, p1}, Landroid/privacy/IPrivacySettingsManager;->saveSettings(Landroid/privacy/PrivacySettings;)Z
7573 + move-result v1
7575 + :goto_b
7576 + return v1
7578 + :cond_c
7579 + const-string v2, "PrivacySettingsManager"
7581 + const-string/jumbo v3, "saveSettings - PrivacySettingsManagerService is null"
7583 + invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7584 + :try_end_14
7585 + .catch Landroid/os/RemoteException; {:try_start_1 .. :try_end_14} :catch_15
7587 + goto :goto_b
7589 + :catch_15
7590 + move-exception v0
7592 + const-string v2, "PrivacySettingsManager"
7594 + const-string v3, "RemoteException in saveSettings: "
7596 + invoke-static {v2, v3, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7598 + goto :goto_b
7599 +.end method
7601 +.method public setBootCompleted()V
7602 + .registers 4
7604 + :try_start_0
7605 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7607 + if-eqz v1, :cond_a
7609 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7611 + invoke-interface {v1}, Landroid/privacy/IPrivacySettingsManager;->setBootCompleted()V
7613 + :goto_9
7614 + return-void
7616 + :cond_a
7617 + const-string v1, "PrivacySettingsManager"
7619 + const-string/jumbo v2, "setBootCompleted - PrivacySettingsManagerService is null"
7621 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7622 + :try_end_12
7623 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_12} :catch_13
7625 + goto :goto_9
7627 + :catch_13
7628 + move-exception v0
7630 + const-string v1, "PrivacySettingsManager"
7632 + const-string v2, "RemoteException in setBootCompleted: "
7634 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7636 + goto :goto_9
7637 +.end method
7639 +.method public setEnabled(Z)Z
7640 + .registers 5
7642 + :try_start_0
7643 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7645 + if-eqz v1, :cond_b
7647 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7649 + invoke-interface {v1, p1}, Landroid/privacy/IPrivacySettingsManager;->setEnabled(Z)Z
7651 + move-result v1
7653 + :goto_a
7654 + return v1
7656 + :cond_b
7657 + const-string v1, "PrivacySettingsManager"
7659 + const-string/jumbo v2, "setEnabled - PrivacySettingsManagerService is null"
7661 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7662 + :try_end_13
7663 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_13} :catch_15
7665 + :goto_13
7666 + const/4 v1, 0x0
7668 + goto :goto_a
7670 + :catch_15
7671 + move-exception v0
7673 + const-string v1, "PrivacySettingsManager"
7675 + const-string v2, "RemoteException in setEnabled: "
7677 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7679 + goto :goto_13
7680 +.end method
7682 +.method public setNotificationsEnabled(Z)Z
7683 + .registers 5
7685 + :try_start_0
7686 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7688 + if-eqz v1, :cond_b
7690 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7692 + invoke-interface {v1, p1}, Landroid/privacy/IPrivacySettingsManager;->setNotificationsEnabled(Z)Z
7694 + move-result v1
7696 + :goto_a
7697 + return v1
7699 + :cond_b
7700 + const-string v1, "PrivacySettingsManager"
7702 + const-string/jumbo v2, "setNotificationsEnabled - PrivacySettingsManagerService is null"
7704 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7705 + :try_end_13
7706 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_13} :catch_15
7708 + :goto_13
7709 + const/4 v1, 0x0
7711 + goto :goto_a
7713 + :catch_15
7714 + move-exception v0
7716 + const-string v1, "PrivacySettingsManager"
7718 + const-string v2, "RemoteException in setNotificationsEnabled: "
7720 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7722 + goto :goto_13
7723 +.end method
7724 diff -Npru stock-framework/smali/android/privacy/PrivacySettings.smali pdroid-framework/smali/android/privacy/PrivacySettings.smali
7725 --- stock-framework/smali/android/privacy/PrivacySettings.smali 1969-12-31 18:00:00.000000000 -0600
7726 +++ pdroid-framework/smali/android/privacy/PrivacySettings.smali 2012-10-05 10:15:48.433126881 -0500
7727 @@ -0,0 +1,2109 @@
7728 +.class public final Landroid/privacy/PrivacySettings;
7729 +.super Ljava/lang/Object;
7730 +.source "PrivacySettings.java"
7732 +# interfaces
7733 +.implements Landroid/os/Parcelable;
7736 +# static fields
7737 +.field public static final CREATOR:Landroid/os/Parcelable$Creator; = null
7738 + .annotation system Ldalvik/annotation/Signature;
7739 + value = {
7740 + "Landroid/os/Parcelable$Creator",
7741 + "<",
7742 + "Landroid/privacy/PrivacySettings;",
7743 + ">;"
7745 + .end annotation
7746 +.end field
7748 +.field public static final CUSTOM:B = 0x2t
7750 +.field public static final DATA_ACCOUNTS_LIST:Ljava/lang/String; = "accountsList"
7752 +.field public static final DATA_AUTH_TOKENS:Ljava/lang/String; = "authTokens"
7754 +.field public static final DATA_BOOKMARKS:Ljava/lang/String; = "bookmarks"
7756 +.field public static final DATA_CALENDAR:Ljava/lang/String; = "calendar"
7758 +.field public static final DATA_CALL_LOG:Ljava/lang/String; = "callLog"
7760 +.field public static final DATA_CONTACTS:Ljava/lang/String; = "contacts"
7762 +.field public static final DATA_DEVICE_ID:Ljava/lang/String; = "deviceID"
7764 +.field public static final DATA_INCOMING_CALL:Ljava/lang/String; = "incomingCall"
7766 +.field public static final DATA_INTENT_BOOT_COMPLETED:Ljava/lang/String; = "intentBootCompleted"
7768 +.field public static final DATA_LINE_1_NUMBER:Ljava/lang/String; = "line1Number"
7770 +.field public static final DATA_LOCATION_GPS:Ljava/lang/String; = "locationGPS"
7772 +.field public static final DATA_LOCATION_NETWORK:Ljava/lang/String; = "locationNetwork"
7774 +.field public static final DATA_MMS:Ljava/lang/String; = "mms"
7776 +.field public static final DATA_MMS_SMS:Ljava/lang/String; = "mmsSms"
7778 +.field public static final DATA_NETWORK_INFO_CURRENT:Ljava/lang/String; = "networkInfoCurrent"
7780 +.field public static final DATA_NETWORK_INFO_SIM:Ljava/lang/String; = "networkInfoSIM"
7782 +.field public static final DATA_OUTGOING_CALL:Ljava/lang/String; = "outgoingCall"
7784 +.field public static final DATA_SIM_SERIAL:Ljava/lang/String; = "simSerial"
7786 +.field public static final DATA_SMS:Ljava/lang/String; = "sms"
7788 +.field public static final DATA_SUBSCRIBER_ID:Ljava/lang/String; = "subscriberID"
7790 +.field public static final DATA_SYSTEM_LOGS:Ljava/lang/String; = "systemLogs"
7792 +.field public static final EMPTY:B = 0x1t
7794 +.field public static final RANDOM:B = 0x3t
7796 +.field public static final REAL:B = 0x0t
7798 +.field public static final SETTING_NOTIFY_OFF:B = 0x0t
7800 +.field public static final SETTING_NOTIFY_ON:B = 0x1t
7803 +# instance fields
7804 +.field private final _id:Ljava/lang/Integer;
7806 +.field private accountsAuthTokensSetting:B
7808 +.field private accountsSetting:B
7810 +.field private allowedContacts:[I
7812 +.field private bookmarksSetting:B
7814 +.field private calendarSetting:B
7816 +.field private callLogSetting:B
7818 +.field private contactsSetting:B
7820 +.field private deviceId:Ljava/lang/String;
7822 +.field private deviceIdSetting:B
7824 +.field private incomingCallsSetting:B
7826 +.field private intentBootCompletedSetting:B
7828 +.field private line1Number:Ljava/lang/String;
7830 +.field private line1NumberSetting:B
7832 +.field private locationGpsLat:Ljava/lang/String;
7834 +.field private locationGpsLon:Ljava/lang/String;
7836 +.field private locationGpsSetting:B
7838 +.field private locationNetworkLat:Ljava/lang/String;
7840 +.field private locationNetworkLon:Ljava/lang/String;
7842 +.field private locationNetworkSetting:B
7844 +.field private mmsSetting:B
7846 +.field private networkInfoSetting:B
7848 +.field private notificationSetting:B
7850 +.field private outgoingCallsSetting:B
7852 +.field private packageName:Ljava/lang/String;
7854 +.field private simInfoSetting:B
7856 +.field private simSerialNumber:Ljava/lang/String;
7858 +.field private simSerialNumberSetting:B
7860 +.field private smsSetting:B
7862 +.field private subscriberId:Ljava/lang/String;
7864 +.field private subscriberIdSetting:B
7866 +.field private systemLogsSetting:B
7868 +.field private uid:I
7871 +# direct methods
7872 +.method static constructor <clinit>()V
7873 + .registers 1
7875 + new-instance v0, Landroid/privacy/PrivacySettings$1;
7877 + invoke-direct {v0}, Landroid/privacy/PrivacySettings$1;-><init>()V
7879 + sput-object v0, Landroid/privacy/PrivacySettings;->CREATOR:Landroid/os/Parcelable$Creator;
7881 + return-void
7882 +.end method
7884 +.method public constructor <init>(Landroid/os/Parcel;)V
7885 + .registers 4
7887 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
7889 + invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I
7891 + move-result v0
7893 + const/4 v1, -0x1
7895 + if-ne v0, v1, :cond_ce
7897 + const/4 v1, 0x0
7899 + :goto_b
7900 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
7902 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
7904 + move-result-object v1
7906 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
7908 + invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I
7910 + move-result v1
7912 + iput v1, p0, Landroid/privacy/PrivacySettings;->uid:I
7914 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
7916 + move-result v1
7918 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
7920 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
7922 + move-result-object v1
7924 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
7926 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
7928 + move-result v1
7930 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
7932 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
7934 + move-result-object v1
7936 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
7938 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
7940 + move-result v1
7942 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
7944 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
7946 + move-result-object v1
7948 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
7950 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
7952 + move-result-object v1
7954 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
7956 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
7958 + move-result v1
7960 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
7962 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
7964 + move-result-object v1
7966 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
7968 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
7970 + move-result-object v1
7972 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
7974 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
7976 + move-result v1
7978 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
7980 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
7982 + move-result v1
7984 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
7986 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
7988 + move-result v1
7990 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
7992 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
7994 + move-result-object v1
7996 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
7998 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8000 + move-result v1
8002 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
8004 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
8006 + move-result-object v1
8008 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
8010 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8012 + move-result v1
8014 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
8016 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8018 + move-result v1
8020 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
8022 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8024 + move-result v1
8026 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
8028 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8030 + move-result v1
8032 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
8034 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8036 + move-result v1
8038 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
8040 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8042 + move-result v1
8044 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
8046 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8048 + move-result v1
8050 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
8052 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8054 + move-result v1
8056 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
8058 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8060 + move-result v1
8062 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
8064 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8066 + move-result v1
8068 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
8070 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8072 + move-result v1
8074 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
8076 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8078 + move-result v1
8080 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
8082 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8084 + move-result v1
8086 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
8088 + invoke-virtual {p1}, Landroid/os/Parcel;->createIntArray()[I
8090 + move-result-object v1
8092 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
8094 + return-void
8096 + :cond_ce
8097 + invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
8099 + move-result-object v1
8101 + goto/16 :goto_b
8102 +.end method
8104 +.method public constructor <init>(Ljava/lang/Integer;Ljava/lang/String;I)V
8105 + .registers 6
8107 + const/4 v1, 0x0
8109 + const/4 v0, 0x0
8111 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
8113 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
8115 + iput-object p2, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
8117 + iput p3, p0, Landroid/privacy/PrivacySettings;->uid:I
8119 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
8121 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
8123 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
8125 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
8127 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8129 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
8131 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
8133 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8135 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
8137 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
8139 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
8141 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
8143 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
8145 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
8147 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
8149 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
8151 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
8153 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
8155 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
8157 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
8159 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
8161 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
8163 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
8165 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
8167 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
8169 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
8171 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
8173 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
8175 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
8177 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
8179 + return-void
8180 +.end method
8182 +.method public constructor <init>(Ljava/lang/Integer;Ljava/lang/String;IBLjava/lang/String;BLjava/lang/String;BLjava/lang/String;Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;BBBLjava/lang/String;BLjava/lang/String;BBBBBBBBBBBBBBBB[I)V
8183 + .registers 38
8185 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
8187 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
8189 + iput-object p2, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
8191 + iput p3, p0, Landroid/privacy/PrivacySettings;->uid:I
8193 + iput-byte p4, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
8195 + iput-object p5, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
8197 + iput-byte p6, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
8199 + iput-object p7, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
8201 + iput-byte p8, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8203 + iput-object p9, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
8205 + iput-object p10, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
8207 + iput-byte p11, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8209 + iput-object p12, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
8211 + iput-object p13, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
8213 + iput-byte p14, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
8215 + move/from16 v0, p15
8217 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
8219 + move/from16 v0, p16
8221 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
8223 + move-object/from16 v0, p17
8225 + iput-object v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
8227 + move/from16 v0, p18
8229 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
8231 + move-object/from16 v0, p19
8233 + iput-object v0, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
8235 + move/from16 v0, p20
8237 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
8239 + move/from16 v0, p21
8241 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
8243 + move/from16 v0, p22
8245 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
8247 + move/from16 v0, p23
8249 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
8251 + move/from16 v0, p24
8253 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
8255 + move/from16 v0, p25
8257 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
8259 + move/from16 v0, p26
8261 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
8263 + move/from16 v0, p27
8265 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
8267 + move/from16 v0, p28
8269 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
8271 + move/from16 v0, p29
8273 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
8275 + move/from16 v0, p30
8277 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
8279 + move/from16 v0, p34
8281 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
8283 + move/from16 v0, p35
8285 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
8287 + move-object/from16 v0, p36
8289 + iput-object v0, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
8291 + return-void
8292 +.end method
8294 +.method private getRandomLat()Ljava/lang/String;
8295 + .registers 10
8297 + const-wide v7, 0x4056800000000000L
8299 + invoke-static {}, Ljava/lang/Math;->random()D
8301 + move-result-wide v3
8303 + const-wide v5, 0x4066800000000000L
8305 + mul-double v0, v3, v5
8307 + cmpl-double v3, v0, v7
8309 + if-lez v3, :cond_35
8311 + new-instance v2, Ljava/math/BigDecimal;
8313 + sub-double v3, v0, v7
8315 + invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;-><init>(D)V
8317 + :goto_1b
8318 + new-instance v3, Ljava/lang/StringBuilder;
8320 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
8322 + const/4 v4, 0x6
8324 + const/4 v5, 0x4
8326 + invoke-virtual {v2, v4, v5}, Ljava/math/BigDecimal;->setScale(II)Ljava/math/BigDecimal;
8328 + move-result-object v4
8330 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
8332 + move-result-object v3
8334 + const-string v4, ""
8336 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8338 + move-result-object v3
8340 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8342 + move-result-object v3
8344 + return-object v3
8346 + :cond_35
8347 + new-instance v2, Ljava/math/BigDecimal;
8349 + neg-double v3, v0
8351 + invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;-><init>(D)V
8353 + goto :goto_1b
8354 +.end method
8356 +.method private getRandomLon()Ljava/lang/String;
8357 + .registers 10
8359 + const-wide v7, 0x4066800000000000L
8361 + invoke-static {}, Ljava/lang/Math;->random()D
8363 + move-result-wide v3
8365 + const-wide v5, 0x4076800000000000L
8367 + mul-double v0, v3, v5
8369 + cmpl-double v3, v0, v7
8371 + if-lez v3, :cond_35
8373 + new-instance v2, Ljava/math/BigDecimal;
8375 + sub-double v3, v0, v7
8377 + invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;-><init>(D)V
8379 + :goto_1b
8380 + new-instance v3, Ljava/lang/StringBuilder;
8382 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
8384 + const/4 v4, 0x6
8386 + const/4 v5, 0x4
8388 + invoke-virtual {v2, v4, v5}, Ljava/math/BigDecimal;->setScale(II)Ljava/math/BigDecimal;
8390 + move-result-object v4
8392 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
8394 + move-result-object v3
8396 + const-string v4, ""
8398 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8400 + move-result-object v3
8402 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8404 + move-result-object v3
8406 + return-object v3
8408 + :cond_35
8409 + new-instance v2, Ljava/math/BigDecimal;
8411 + neg-double v3, v0
8413 + invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;-><init>(D)V
8415 + goto :goto_1b
8416 +.end method
8419 +# virtual methods
8420 +.method public describeContents()I
8421 + .registers 2
8423 + const/4 v0, 0x0
8425 + return v0
8426 +.end method
8428 +.method public getAccountsAuthTokensSetting()B
8429 + .registers 2
8431 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
8433 + return v0
8434 +.end method
8436 +.method public getAccountsSetting()B
8437 + .registers 2
8439 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
8441 + return v0
8442 +.end method
8444 +.method public getAllowedContacts()[I
8445 + .registers 2
8447 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
8449 + return-object v0
8450 +.end method
8452 +.method public getBookmarksSetting()B
8453 + .registers 2
8455 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
8457 + return v0
8458 +.end method
8460 +.method public getCalendarSetting()B
8461 + .registers 2
8463 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
8465 + return v0
8466 +.end method
8468 +.method public getCallLogSetting()B
8469 + .registers 2
8471 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
8473 + return v0
8474 +.end method
8476 +.method public getContactsSetting()B
8477 + .registers 2
8479 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
8481 + return v0
8482 +.end method
8484 +.method public getDeviceId()Ljava/lang/String;
8485 + .registers 6
8487 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
8489 + const/4 v3, 0x1
8491 + if-ne v2, v3, :cond_8
8493 + const-string v2, ""
8495 + :goto_7
8496 + return-object v2
8498 + :cond_8
8499 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
8501 + const/4 v3, 0x3
8503 + if-ne v2, v3, :cond_35
8505 + new-instance v0, Ljava/util/Random;
8507 + invoke-direct {v0}, Ljava/util/Random;-><init>()V
8509 + new-instance v2, Ljava/lang/StringBuilder;
8511 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
8513 + invoke-virtual {v0}, Ljava/util/Random;->nextLong()J
8515 + move-result-wide v3
8517 + invoke-static {v3, v4}, Ljava/lang/Math;->abs(J)J
8519 + move-result-wide v3
8521 + invoke-virtual {v2, v3, v4}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
8523 + move-result-object v2
8525 + const-string v3, ""
8527 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8529 + move-result-object v2
8531 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8533 + move-result-object v1
8535 + const/4 v2, 0x0
8537 + const/16 v3, 0xf
8539 + invoke-virtual {v1, v2, v3}, Ljava/lang/String;->substring(II)Ljava/lang/String;
8541 + move-result-object v2
8543 + goto :goto_7
8545 + :cond_35
8546 + iget-object v2, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
8548 + goto :goto_7
8549 +.end method
8551 +.method public getDeviceIdSetting()B
8552 + .registers 2
8554 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
8556 + return v0
8557 +.end method
8559 +.method public getIncomingCallsSetting()B
8560 + .registers 2
8562 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
8564 + return v0
8565 +.end method
8567 +.method public getIntentBootCompletedSetting()B
8568 + .registers 2
8570 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
8572 + return v0
8573 +.end method
8575 +.method public getLine1Number()Ljava/lang/String;
8576 + .registers 6
8578 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
8580 + const/4 v3, 0x1
8582 + if-ne v2, v3, :cond_8
8584 + const-string v2, ""
8586 + :goto_7
8587 + return-object v2
8589 + :cond_8
8590 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
8592 + const/4 v3, 0x3
8594 + if-ne v2, v3, :cond_3b
8596 + new-instance v0, Ljava/util/Random;
8598 + invoke-direct {v0}, Ljava/util/Random;-><init>()V
8600 + new-instance v2, Ljava/lang/StringBuilder;
8602 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
8604 + const-string v3, "+"
8606 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8608 + move-result-object v2
8610 + invoke-virtual {v0}, Ljava/util/Random;->nextLong()J
8612 + move-result-wide v3
8614 + invoke-static {v3, v4}, Ljava/lang/Math;->abs(J)J
8616 + move-result-wide v3
8618 + invoke-virtual {v2, v3, v4}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
8620 + move-result-object v2
8622 + const-string v3, ""
8624 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8626 + move-result-object v2
8628 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8630 + move-result-object v1
8632 + const/4 v2, 0x0
8634 + const/16 v3, 0xd
8636 + invoke-virtual {v1, v2, v3}, Ljava/lang/String;->substring(II)Ljava/lang/String;
8638 + move-result-object v2
8640 + goto :goto_7
8642 + :cond_3b
8643 + iget-object v2, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
8645 + goto :goto_7
8646 +.end method
8648 +.method public getLine1NumberSetting()B
8649 + .registers 2
8651 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
8653 + return v0
8654 +.end method
8656 +.method public getLocationGpsLat()Ljava/lang/String;
8657 + .registers 3
8659 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8661 + const/4 v1, 0x1
8663 + if-ne v0, v1, :cond_8
8665 + const-string v0, ""
8667 + :goto_7
8668 + return-object v0
8670 + :cond_8
8671 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8673 + const/4 v1, 0x3
8675 + if-ne v0, v1, :cond_12
8677 + invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLat()Ljava/lang/String;
8679 + move-result-object v0
8681 + goto :goto_7
8683 + :cond_12
8684 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
8686 + goto :goto_7
8687 +.end method
8689 +.method public getLocationGpsLon()Ljava/lang/String;
8690 + .registers 3
8692 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8694 + const/4 v1, 0x1
8696 + if-ne v0, v1, :cond_8
8698 + const-string v0, ""
8700 + :goto_7
8701 + return-object v0
8703 + :cond_8
8704 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8706 + const/4 v1, 0x3
8708 + if-ne v0, v1, :cond_12
8710 + invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLon()Ljava/lang/String;
8712 + move-result-object v0
8714 + goto :goto_7
8716 + :cond_12
8717 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
8719 + goto :goto_7
8720 +.end method
8722 +.method public getLocationGpsSetting()B
8723 + .registers 2
8725 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8727 + return v0
8728 +.end method
8730 +.method public getLocationNetworkLat()Ljava/lang/String;
8731 + .registers 3
8733 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8735 + const/4 v1, 0x1
8737 + if-ne v0, v1, :cond_8
8739 + const-string v0, ""
8741 + :goto_7
8742 + return-object v0
8744 + :cond_8
8745 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8747 + const/4 v1, 0x3
8749 + if-ne v0, v1, :cond_12
8751 + invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLat()Ljava/lang/String;
8753 + move-result-object v0
8755 + goto :goto_7
8757 + :cond_12
8758 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
8760 + goto :goto_7
8761 +.end method
8763 +.method public getLocationNetworkLon()Ljava/lang/String;
8764 + .registers 3
8766 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8768 + const/4 v1, 0x1
8770 + if-ne v0, v1, :cond_8
8772 + const-string v0, ""
8774 + :goto_7
8775 + return-object v0
8777 + :cond_8
8778 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8780 + const/4 v1, 0x3
8782 + if-ne v0, v1, :cond_12
8784 + invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLon()Ljava/lang/String;
8786 + move-result-object v0
8788 + goto :goto_7
8790 + :cond_12
8791 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
8793 + goto :goto_7
8794 +.end method
8796 +.method public getLocationNetworkSetting()B
8797 + .registers 2
8799 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8801 + return v0
8802 +.end method
8804 +.method public getMmsSetting()B
8805 + .registers 2
8807 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
8809 + return v0
8810 +.end method
8812 +.method public getNetworkInfoSetting()B
8813 + .registers 2
8815 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
8817 + return v0
8818 +.end method
8820 +.method public getNotificationSetting()B
8821 + .registers 2
8823 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
8825 + return v0
8826 +.end method
8828 +.method public getOutgoingCallsSetting()B
8829 + .registers 2
8831 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
8833 + return v0
8834 +.end method
8836 +.method public getPackageName()Ljava/lang/String;
8837 + .registers 2
8839 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
8841 + return-object v0
8842 +.end method
8844 +.method public getSimInfoSetting()B
8845 + .registers 2
8847 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
8849 + return v0
8850 +.end method
8852 +.method public getSimSerialNumber()Ljava/lang/String;
8853 + .registers 5
8855 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
8857 + const/4 v2, 0x1
8859 + if-ne v1, v2, :cond_8
8861 + const-string v1, ""
8863 + :goto_7
8864 + return-object v1
8866 + :cond_8
8867 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
8869 + const/4 v2, 0x3
8871 + if-ne v1, v2, :cond_2e
8873 + new-instance v0, Ljava/util/Random;
8875 + invoke-direct {v0}, Ljava/util/Random;-><init>()V
8877 + new-instance v1, Ljava/lang/StringBuilder;
8879 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
8881 + invoke-virtual {v0}, Ljava/util/Random;->nextLong()J
8883 + move-result-wide v2
8885 + invoke-static {v2, v3}, Ljava/lang/Math;->abs(J)J
8887 + move-result-wide v2
8889 + invoke-virtual {v1, v2, v3}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
8891 + move-result-object v1
8893 + const-string v2, ""
8895 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8897 + move-result-object v1
8899 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8901 + move-result-object v1
8903 + goto :goto_7
8905 + :cond_2e
8906 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
8908 + goto :goto_7
8909 +.end method
8911 +.method public getSimSerialNumberSetting()B
8912 + .registers 2
8914 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
8916 + return v0
8917 +.end method
8919 +.method public getSmsSetting()B
8920 + .registers 2
8922 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
8924 + return v0
8925 +.end method
8927 +.method public getSubscriberId()Ljava/lang/String;
8928 + .registers 6
8930 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
8932 + const/4 v3, 0x1
8934 + if-ne v2, v3, :cond_8
8936 + const-string v2, ""
8938 + :goto_7
8939 + return-object v2
8941 + :cond_8
8942 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
8944 + const/4 v3, 0x3
8946 + if-ne v2, v3, :cond_35
8948 + new-instance v0, Ljava/util/Random;
8950 + invoke-direct {v0}, Ljava/util/Random;-><init>()V
8952 + new-instance v2, Ljava/lang/StringBuilder;
8954 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
8956 + invoke-virtual {v0}, Ljava/util/Random;->nextLong()J
8958 + move-result-wide v3
8960 + invoke-static {v3, v4}, Ljava/lang/Math;->abs(J)J
8962 + move-result-wide v3
8964 + invoke-virtual {v2, v3, v4}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
8966 + move-result-object v2
8968 + const-string v3, ""
8970 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8972 + move-result-object v2
8974 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8976 + move-result-object v1
8978 + const/4 v2, 0x0
8980 + const/16 v3, 0xf
8982 + invoke-virtual {v1, v2, v3}, Ljava/lang/String;->substring(II)Ljava/lang/String;
8984 + move-result-object v2
8986 + goto :goto_7
8988 + :cond_35
8989 + iget-object v2, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
8991 + goto :goto_7
8992 +.end method
8994 +.method public getSubscriberIdSetting()B
8995 + .registers 2
8997 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
8999 + return v0
9000 +.end method
9002 +.method public getSystemLogsSetting()B
9003 + .registers 2
9005 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
9007 + return v0
9008 +.end method
9010 +.method public getUid()I
9011 + .registers 2
9013 + iget v0, p0, Landroid/privacy/PrivacySettings;->uid:I
9015 + return v0
9016 +.end method
9018 +.method public get_id()Ljava/lang/Integer;
9019 + .registers 2
9021 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
9023 + return-object v0
9024 +.end method
9026 +.method public setAccountsAuthTokensSetting(B)V
9027 + .registers 2
9029 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
9031 + return-void
9032 +.end method
9034 +.method public setAccountsSetting(B)V
9035 + .registers 2
9037 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
9039 + return-void
9040 +.end method
9042 +.method public setAllowedContacts([I)V
9043 + .registers 2
9045 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
9047 + return-void
9048 +.end method
9050 +.method public setBookmarksSetting(B)V
9051 + .registers 2
9053 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
9055 + return-void
9056 +.end method
9058 +.method public setCalendarSetting(B)V
9059 + .registers 2
9061 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
9063 + return-void
9064 +.end method
9066 +.method public setCallLogSetting(B)V
9067 + .registers 2
9069 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
9071 + return-void
9072 +.end method
9074 +.method public setContactsSetting(B)V
9075 + .registers 2
9077 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
9079 + return-void
9080 +.end method
9082 +.method public setDeviceId(Ljava/lang/String;)V
9083 + .registers 2
9085 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
9087 + return-void
9088 +.end method
9090 +.method public setDeviceIdSetting(B)V
9091 + .registers 2
9093 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
9095 + return-void
9096 +.end method
9098 +.method public setIncomingCallsSetting(B)V
9099 + .registers 2
9101 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
9103 + return-void
9104 +.end method
9106 +.method public setIntentBootCompletedSetting(B)V
9107 + .registers 2
9109 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
9111 + return-void
9112 +.end method
9114 +.method public setLine1Number(Ljava/lang/String;)V
9115 + .registers 2
9117 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
9119 + return-void
9120 +.end method
9122 +.method public setLine1NumberSetting(B)V
9123 + .registers 2
9125 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
9127 + return-void
9128 +.end method
9130 +.method public setLocationGpsLat(Ljava/lang/String;)V
9131 + .registers 2
9133 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
9135 + return-void
9136 +.end method
9138 +.method public setLocationGpsLon(Ljava/lang/String;)V
9139 + .registers 2
9141 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
9143 + return-void
9144 +.end method
9146 +.method public setLocationGpsSetting(B)V
9147 + .registers 2
9149 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
9151 + return-void
9152 +.end method
9154 +.method public setLocationNetworkLat(Ljava/lang/String;)V
9155 + .registers 2
9157 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
9159 + return-void
9160 +.end method
9162 +.method public setLocationNetworkLon(Ljava/lang/String;)V
9163 + .registers 2
9165 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
9167 + return-void
9168 +.end method
9170 +.method public setLocationNetworkSetting(B)V
9171 + .registers 2
9173 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
9175 + return-void
9176 +.end method
9178 +.method public setMmsSetting(B)V
9179 + .registers 2
9181 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
9183 + return-void
9184 +.end method
9186 +.method public setNetworkInfoSetting(B)V
9187 + .registers 2
9189 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
9191 + return-void
9192 +.end method
9194 +.method public setNotificationSetting(B)V
9195 + .registers 2
9197 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
9199 + return-void
9200 +.end method
9202 +.method public setOutgoingCallsSetting(B)V
9203 + .registers 2
9205 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
9207 + return-void
9208 +.end method
9210 +.method public setPackageName(Ljava/lang/String;)V
9211 + .registers 2
9213 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
9215 + return-void
9216 +.end method
9218 +.method public setSimInfoSetting(B)V
9219 + .registers 2
9221 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
9223 + return-void
9224 +.end method
9226 +.method public setSimSerialNumber(Ljava/lang/String;)V
9227 + .registers 2
9229 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
9231 + return-void
9232 +.end method
9234 +.method public setSimSerialNumberSetting(B)V
9235 + .registers 2
9237 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
9239 + return-void
9240 +.end method
9242 +.method public setSmsSetting(B)V
9243 + .registers 2
9245 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
9247 + return-void
9248 +.end method
9250 +.method public setSubscriberId(Ljava/lang/String;)V
9251 + .registers 2
9253 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
9255 + return-void
9256 +.end method
9258 +.method public setSubscriberIdSetting(B)V
9259 + .registers 2
9261 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
9263 + return-void
9264 +.end method
9266 +.method public setSystemLogsSetting(B)V
9267 + .registers 2
9269 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
9271 + return-void
9272 +.end method
9274 +.method public setUid(I)V
9275 + .registers 2
9277 + iput p1, p0, Landroid/privacy/PrivacySettings;->uid:I
9279 + return-void
9280 +.end method
9282 +.method public toString()Ljava/lang/String;
9283 + .registers 3
9285 + new-instance v0, Ljava/lang/StringBuilder;
9287 + invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
9289 + const-string v1, "PrivacySettings [_id="
9291 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9293 + move-result-object v0
9295 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
9297 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
9299 + move-result-object v0
9301 + const-string v1, ", accountsAuthTokensSetting="
9303 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9305 + move-result-object v0
9307 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
9309 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9311 + move-result-object v0
9313 + const-string v1, ", accountsSetting="
9315 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9317 + move-result-object v0
9319 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
9321 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9323 + move-result-object v0
9325 + const-string v1, ", bookmarksSetting="
9327 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9329 + move-result-object v0
9331 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
9333 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9335 + move-result-object v0
9337 + const-string v1, ", calendarSetting="
9339 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9341 + move-result-object v0
9343 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
9345 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9347 + move-result-object v0
9349 + const-string v1, ", callLogSetting="
9351 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9353 + move-result-object v0
9355 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
9357 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9359 + move-result-object v0
9361 + const-string v1, ", contactsSetting="
9363 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9365 + move-result-object v0
9367 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
9369 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9371 + move-result-object v0
9373 + const-string v1, ", deviceId="
9375 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9377 + move-result-object v0
9379 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
9381 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9383 + move-result-object v0
9385 + const-string v1, ", deviceIdSetting="
9387 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9389 + move-result-object v0
9391 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
9393 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9395 + move-result-object v0
9397 + const-string v1, ", incomingCallsSetting="
9399 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9401 + move-result-object v0
9403 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
9405 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9407 + move-result-object v0
9409 + const-string v1, ", intentBootCompletedSetting="
9411 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9413 + move-result-object v0
9415 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
9417 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9419 + move-result-object v0
9421 + const-string v1, ", line1Number="
9423 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9425 + move-result-object v0
9427 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
9429 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9431 + move-result-object v0
9433 + const-string v1, ", line1NumberSetting="
9435 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9437 + move-result-object v0
9439 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
9441 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9443 + move-result-object v0
9445 + const-string v1, ", locationGpsLat="
9447 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9449 + move-result-object v0
9451 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
9453 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9455 + move-result-object v0
9457 + const-string v1, ", locationGpsLon="
9459 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9461 + move-result-object v0
9463 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
9465 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9467 + move-result-object v0
9469 + const-string v1, ", locationGpsSetting="
9471 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9473 + move-result-object v0
9475 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
9477 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9479 + move-result-object v0
9481 + const-string v1, ", locationNetworkLat="
9483 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9485 + move-result-object v0
9487 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
9489 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9491 + move-result-object v0
9493 + const-string v1, ", locationNetworkLon="
9495 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9497 + move-result-object v0
9499 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
9501 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9503 + move-result-object v0
9505 + const-string v1, ", locationNetworkSetting="
9507 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9509 + move-result-object v0
9511 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
9513 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9515 + move-result-object v0
9517 + const-string v1, ", mmsSetting="
9519 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9521 + move-result-object v0
9523 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
9525 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9527 + move-result-object v0
9529 + const-string v1, ", networkInfoSetting="
9531 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9533 + move-result-object v0
9535 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
9537 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9539 + move-result-object v0
9541 + const-string v1, ", notificationSetting="
9543 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9545 + move-result-object v0
9547 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
9549 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9551 + move-result-object v0
9553 + const-string v1, ", outgoingCallsSetting="
9555 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9557 + move-result-object v0
9559 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
9561 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9563 + move-result-object v0
9565 + const-string v1, ", packageName="
9567 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9569 + move-result-object v0
9571 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
9573 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9575 + move-result-object v0
9577 + const-string v1, ", simInfoSetting="
9579 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9581 + move-result-object v0
9583 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
9585 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9587 + move-result-object v0
9589 + const-string v1, ", simSerialNumber="
9591 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9593 + move-result-object v0
9595 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
9597 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9599 + move-result-object v0
9601 + const-string v1, ", simSerialNumberSetting="
9603 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9605 + move-result-object v0
9607 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
9609 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9611 + move-result-object v0
9613 + const-string v1, ", smsSetting="
9615 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9617 + move-result-object v0
9619 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
9621 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9623 + move-result-object v0
9625 + const-string v1, ", subscriberId="
9627 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9629 + move-result-object v0
9631 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
9633 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9635 + move-result-object v0
9637 + const-string v1, ", subscriberIdSetting="
9639 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9641 + move-result-object v0
9643 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
9645 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9647 + move-result-object v0
9649 + const-string v1, ", systemLogsSetting="
9651 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9653 + move-result-object v0
9655 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
9657 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9659 + move-result-object v0
9661 + const-string v1, ", uid="
9663 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9665 + move-result-object v0
9667 + iget v1, p0, Landroid/privacy/PrivacySettings;->uid:I
9669 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9671 + move-result-object v0
9673 + const-string v1, "]"
9675 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9677 + move-result-object v0
9679 + invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
9681 + move-result-object v0
9683 + return-object v0
9684 +.end method
9686 +.method public writeToParcel(Landroid/os/Parcel;I)V
9687 + .registers 4
9689 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
9691 + if-nez v0, :cond_a9
9693 + const/4 v0, -0x1
9695 + :goto_5
9696 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeInt(I)V
9698 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
9700 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9702 + iget v0, p0, Landroid/privacy/PrivacySettings;->uid:I
9704 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeInt(I)V
9706 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
9708 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9710 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
9712 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9714 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
9716 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9718 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
9720 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9722 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
9724 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9726 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
9728 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9730 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
9732 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9734 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
9736 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9738 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
9740 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9742 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
9744 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9746 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
9748 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9750 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
9752 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9754 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
9756 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9758 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
9760 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9762 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
9764 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9766 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
9768 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9770 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
9772 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9774 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
9776 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9778 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
9780 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9782 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
9784 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9786 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
9788 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9790 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
9792 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9794 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
9796 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9798 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
9800 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9802 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
9804 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9806 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
9808 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9810 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
9812 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9814 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
9816 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9818 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
9820 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9822 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
9824 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeIntArray([I)V
9826 + return-void
9828 + :cond_a9
9829 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
9831 + invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
9833 + move-result v0
9835 + goto/16 :goto_5
9836 +.end method
9837 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali
9838 --- stock-framework/smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali 1969-12-31 18:00:00.000000000 -0600
9839 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali 2012-10-05 10:15:48.437126896 -0500
9840 @@ -0,0 +1,129 @@
9841 +.class Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
9842 +.super Ljava/lang/Object;
9843 +.source "PrivacyAccountManager.java"
9845 +# interfaces
9846 +.implements Landroid/accounts/AccountManagerFuture;
9849 +# annotations
9850 +.annotation system Ldalvik/annotation/EnclosingClass;
9851 + value = Landroid/privacy/surrogate/PrivacyAccountManager;
9852 +.end annotation
9854 +.annotation system Ldalvik/annotation/InnerClass;
9855 + accessFlags = 0x2
9856 + name = "PrivacyAccountManagerFuture"
9857 +.end annotation
9859 +.annotation system Ldalvik/annotation/Signature;
9860 + value = {
9861 + "<V:",
9862 + "Ljava/lang/Object;",
9863 + ">",
9864 + "Ljava/lang/Object;",
9865 + "Landroid/accounts/AccountManagerFuture",
9866 + "<TV;>;"
9868 +.end annotation
9871 +# instance fields
9872 +.field private result:Ljava/lang/Object;
9873 + .annotation system Ldalvik/annotation/Signature;
9874 + value = {
9875 + "TV;"
9877 + .end annotation
9878 +.end field
9880 +.field final synthetic this$0:Landroid/privacy/surrogate/PrivacyAccountManager;
9883 +# direct methods
9884 +.method public constructor <init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
9885 + .registers 3
9886 + .annotation system Ldalvik/annotation/Signature;
9887 + value = {
9888 + "(TV;)V"
9890 + .end annotation
9892 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->this$0:Landroid/privacy/surrogate/PrivacyAccountManager;
9894 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
9896 + iput-object p2, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->result:Ljava/lang/Object;
9898 + return-void
9899 +.end method
9902 +# virtual methods
9903 +.method public cancel(Z)Z
9904 + .registers 3
9906 + const/4 v0, 0x0
9908 + return v0
9909 +.end method
9911 +.method public getResult()Ljava/lang/Object;
9912 + .registers 2
9913 + .annotation system Ldalvik/annotation/Signature;
9914 + value = {
9915 + "()TV;"
9917 + .end annotation
9919 + .annotation system Ldalvik/annotation/Throws;
9920 + value = {
9921 + Landroid/accounts/OperationCanceledException;,
9922 + Ljava/io/IOException;,
9923 + Landroid/accounts/AuthenticatorException;
9925 + .end annotation
9927 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->result:Ljava/lang/Object;
9929 + return-object v0
9930 +.end method
9932 +.method public getResult(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;
9933 + .registers 5
9934 + .annotation system Ldalvik/annotation/Signature;
9935 + value = {
9936 + "(J",
9937 + "Ljava/util/concurrent/TimeUnit;",
9938 + ")TV;"
9940 + .end annotation
9942 + .annotation system Ldalvik/annotation/Throws;
9943 + value = {
9944 + Landroid/accounts/OperationCanceledException;,
9945 + Ljava/io/IOException;,
9946 + Landroid/accounts/AuthenticatorException;
9948 + .end annotation
9950 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->result:Ljava/lang/Object;
9952 + return-object v0
9953 +.end method
9955 +.method public isCancelled()Z
9956 + .registers 2
9958 + const/4 v0, 0x0
9960 + return v0
9961 +.end method
9963 +.method public isDone()Z
9964 + .registers 2
9966 + const/4 v0, 0x1
9968 + return v0
9969 +.end method
9970 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyAccountManager.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyAccountManager.smali
9971 --- stock-framework/smali/android/privacy/surrogate/PrivacyAccountManager.smali 1969-12-31 18:00:00.000000000 -0600
9972 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyAccountManager.smali 2012-10-05 10:15:48.437126896 -0500
9973 @@ -0,0 +1,701 @@
9974 +.class public final Landroid/privacy/surrogate/PrivacyAccountManager;
9975 +.super Landroid/accounts/AccountManager;
9976 +.source "PrivacyAccountManager.java"
9979 +# annotations
9980 +.annotation system Ldalvik/annotation/MemberClasses;
9981 + value = {
9982 + Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
9984 +.end annotation
9987 +# static fields
9988 +.field private static final TAG:Ljava/lang/String; = "PrivacyAccountManager"
9991 +# instance fields
9992 +.field private context:Landroid/content/Context;
9994 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
9997 +# direct methods
9998 +.method public constructor <init>(Landroid/content/Context;Landroid/accounts/IAccountManager;)V
9999 + .registers 5
10001 + invoke-direct {p0, p1, p2}, Landroid/accounts/AccountManager;-><init>(Landroid/content/Context;Landroid/accounts/IAccountManager;)V
10003 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10005 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
10007 + const-string/jumbo v1, "privacy"
10009 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
10011 + move-result-object v1
10013 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
10015 + move-result-object v1
10017 + invoke-direct {v0, p1, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
10019 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10021 + return-void
10022 +.end method
10024 +.method public constructor <init>(Landroid/content/Context;Landroid/accounts/IAccountManager;Landroid/os/Handler;)V
10025 + .registers 6
10027 + invoke-direct {p0, p1, p2, p3}, Landroid/accounts/AccountManager;-><init>(Landroid/content/Context;Landroid/accounts/IAccountManager;Landroid/os/Handler;)V
10029 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10031 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
10033 + const-string/jumbo v1, "privacy"
10035 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
10037 + move-result-object v1
10039 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
10041 + move-result-object v1
10043 + invoke-direct {v0, p1, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
10045 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10047 + return-void
10048 +.end method
10051 +# virtual methods
10052 +.method public blockingGetAuthToken(Landroid/accounts/Account;Ljava/lang/String;Z)Ljava/lang/String;
10053 + .registers 12
10054 + .annotation system Ldalvik/annotation/Throws;
10055 + value = {
10056 + Landroid/accounts/OperationCanceledException;,
10057 + Ljava/io/IOException;,
10058 + Landroid/accounts/AuthenticatorException;
10060 + .end annotation
10062 + const/4 v5, 0x0
10064 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10066 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10068 + move-result-object v1
10070 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10072 + move-result v2
10074 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10076 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10078 + move-result-object v6
10080 + if-eqz v6, :cond_23
10082 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
10084 + move-result v0
10086 + if-eqz v0, :cond_23
10088 + const/4 v7, 0x0
10090 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10092 + const/4 v3, 0x1
10094 + const-string v4, "authTokens"
10096 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10098 + :goto_22
10099 + return-object v7
10101 + :cond_23
10102 + invoke-super {p0, p1, p2, p3}, Landroid/accounts/AccountManager;->blockingGetAuthToken(Landroid/accounts/Account;Ljava/lang/String;Z)Ljava/lang/String;
10104 + move-result-object v7
10106 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10108 + const/4 v3, 0x0
10110 + const-string v4, "authTokens"
10112 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10114 + goto :goto_22
10115 +.end method
10117 +.method public getAccounts()[Landroid/accounts/Account;
10118 + .registers 10
10120 + const/4 v5, 0x0
10122 + const/4 v3, 0x0
10124 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10126 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10128 + move-result-object v1
10130 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10132 + move-result v2
10134 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10136 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10138 + move-result-object v6
10140 + if-eqz v6, :cond_27
10142 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
10144 + move-result v0
10146 + if-eqz v0, :cond_27
10148 + const-string v8, "[empty accounts list]"
10150 + new-array v7, v3, [Landroid/accounts/Account;
10152 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10154 + const/4 v3, 0x1
10156 + const-string v4, "accountsList"
10158 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10160 + :goto_26
10161 + return-object v7
10163 + :cond_27
10164 + const-string v8, "[real value]"
10166 + invoke-super {p0}, Landroid/accounts/AccountManager;->getAccounts()[Landroid/accounts/Account;
10168 + move-result-object v7
10170 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10172 + const-string v4, "accountsList"
10174 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10176 + goto :goto_26
10177 +.end method
10179 +.method public getAccountsByType(Ljava/lang/String;)[Landroid/accounts/Account;
10180 + .registers 11
10182 + const/4 v5, 0x0
10184 + const/4 v3, 0x0
10186 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10188 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10190 + move-result-object v1
10192 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10194 + move-result v2
10196 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10198 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10200 + move-result-object v6
10202 + if-eqz v6, :cond_27
10204 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
10206 + move-result v0
10208 + if-eqz v0, :cond_27
10210 + const-string v8, "[empty accounts list]"
10212 + new-array v7, v3, [Landroid/accounts/Account;
10214 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10216 + const/4 v3, 0x1
10218 + const-string v4, "accountsList"
10220 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10222 + :goto_26
10223 + return-object v7
10225 + :cond_27
10226 + const-string v8, "[real value]"
10228 + invoke-super {p0, p1}, Landroid/accounts/AccountManager;->getAccountsByType(Ljava/lang/String;)[Landroid/accounts/Account;
10230 + move-result-object v7
10232 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10234 + const-string v4, "accountsList"
10236 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10238 + goto :goto_26
10239 +.end method
10241 +.method public getAccountsByTypeAndFeatures(Ljava/lang/String;[Ljava/lang/String;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
10242 + .registers 14
10243 + .annotation system Ldalvik/annotation/Signature;
10244 + value = {
10245 + "(",
10246 + "Ljava/lang/String;",
10247 + "[",
10248 + "Ljava/lang/String;",
10249 + "Landroid/accounts/AccountManagerCallback",
10250 + "<[",
10251 + "Landroid/accounts/Account;",
10252 + ">;",
10253 + "Landroid/os/Handler;",
10254 + ")",
10255 + "Landroid/accounts/AccountManagerFuture",
10256 + "<[",
10257 + "Landroid/accounts/Account;",
10258 + ">;"
10260 + .end annotation
10262 + const/4 v5, 0x0
10264 + const/4 v3, 0x0
10266 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10268 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10270 + move-result-object v1
10272 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10274 + move-result v2
10276 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10278 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10280 + move-result-object v6
10282 + if-eqz v6, :cond_2c
10284 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
10286 + move-result v0
10288 + if-eqz v0, :cond_2c
10290 + const-string v8, "[false]"
10292 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10294 + new-array v0, v3, [Landroid/accounts/Account;
10296 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
10298 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10300 + const/4 v3, 0x1
10302 + const-string v4, "accountsList"
10304 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10306 + :goto_2b
10307 + return-object v7
10309 + :cond_2c
10310 + const-string v8, "[real value]"
10312 + 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;
10314 + move-result-object v7
10316 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10318 + const-string v4, "accountsList"
10320 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10322 + goto :goto_2b
10323 +.end method
10325 +.method public getAuthToken(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;Landroid/app/Activity;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
10326 + .registers 16
10327 + .annotation system Ldalvik/annotation/Signature;
10328 + value = {
10329 + "(",
10330 + "Landroid/accounts/Account;",
10331 + "Ljava/lang/String;",
10332 + "Landroid/os/Bundle;",
10333 + "Landroid/app/Activity;",
10334 + "Landroid/accounts/AccountManagerCallback",
10335 + "<",
10336 + "Landroid/os/Bundle;",
10337 + ">;",
10338 + "Landroid/os/Handler;",
10339 + ")",
10340 + "Landroid/accounts/AccountManagerFuture",
10341 + "<",
10342 + "Landroid/os/Bundle;",
10343 + ">;"
10345 + .end annotation
10347 + const/4 v5, 0x0
10349 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10351 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10353 + move-result-object v1
10355 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10357 + move-result v2
10359 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10361 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10363 + move-result-object v6
10365 + if-eqz v6, :cond_2e
10367 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
10369 + move-result v0
10371 + if-eqz v0, :cond_2e
10373 + const-string v8, "[empty]"
10375 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10377 + new-instance v0, Landroid/os/Bundle;
10379 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
10381 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
10383 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10385 + const/4 v3, 0x1
10387 + const-string v4, "authTokens"
10389 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10391 + :goto_2d
10392 + return-object v7
10394 + :cond_2e
10395 + const-string v8, "[real value]"
10397 + 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;
10399 + move-result-object v7
10401 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10403 + const/4 v3, 0x0
10405 + const-string v4, "authTokens"
10407 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10409 + goto :goto_2d
10410 +.end method
10412 +.method public getAuthToken(Landroid/accounts/Account;Ljava/lang/String;ZLandroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
10413 + .registers 15
10414 + .annotation system Ldalvik/annotation/Signature;
10415 + value = {
10416 + "(",
10417 + "Landroid/accounts/Account;",
10418 + "Ljava/lang/String;",
10419 + "Z",
10420 + "Landroid/accounts/AccountManagerCallback",
10421 + "<",
10422 + "Landroid/os/Bundle;",
10423 + ">;",
10424 + "Landroid/os/Handler;",
10425 + ")",
10426 + "Landroid/accounts/AccountManagerFuture",
10427 + "<",
10428 + "Landroid/os/Bundle;",
10429 + ">;"
10431 + .end annotation
10433 + const/4 v5, 0x0
10435 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10437 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10439 + move-result-object v1
10441 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10443 + move-result v2
10445 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10447 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10449 + move-result-object v6
10451 + if-eqz v6, :cond_2e
10453 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
10455 + move-result v0
10457 + if-eqz v0, :cond_2e
10459 + const-string v8, "[empty]"
10461 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10463 + new-instance v0, Landroid/os/Bundle;
10465 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
10467 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
10469 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10471 + const/4 v3, 0x1
10473 + const-string v4, "authTokens"
10475 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10477 + :goto_2d
10478 + return-object v7
10480 + :cond_2e
10481 + const-string v8, "[real value]"
10483 + invoke-super/range {p0 .. p5}, Landroid/accounts/AccountManager;->getAuthToken(Landroid/accounts/Account;Ljava/lang/String;ZLandroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
10485 + move-result-object v7
10487 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10489 + const/4 v3, 0x0
10491 + const-string v4, "authTokens"
10493 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10495 + goto :goto_2d
10496 +.end method
10498 +.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;
10499 + .registers 18
10500 + .annotation system Ldalvik/annotation/Signature;
10501 + value = {
10502 + "(",
10503 + "Ljava/lang/String;",
10504 + "Ljava/lang/String;",
10505 + "[",
10506 + "Ljava/lang/String;",
10507 + "Landroid/app/Activity;",
10508 + "Landroid/os/Bundle;",
10509 + "Landroid/os/Bundle;",
10510 + "Landroid/accounts/AccountManagerCallback",
10511 + "<",
10512 + "Landroid/os/Bundle;",
10513 + ">;",
10514 + "Landroid/os/Handler;",
10515 + ")",
10516 + "Landroid/accounts/AccountManagerFuture",
10517 + "<",
10518 + "Landroid/os/Bundle;",
10519 + ">;"
10521 + .end annotation
10523 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10525 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10527 + move-result-object v1
10529 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10531 + move-result v2
10533 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10535 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10537 + move-result-object v6
10539 + if-eqz v6, :cond_2e
10541 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
10543 + move-result v0
10545 + if-eqz v0, :cond_2e
10547 + const-string v8, "[empty]"
10549 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10551 + new-instance v0, Landroid/os/Bundle;
10553 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
10555 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
10557 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10559 + const/4 v3, 0x1
10561 + const-string v4, "authTokens"
10563 + const/4 v5, 0x0
10565 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10567 + :goto_2d
10568 + return-object v7
10570 + :cond_2e
10571 + const-string v8, "[real value]"
10573 + 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;
10575 + move-result-object v7
10577 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10579 + const/4 v3, 0x0
10581 + const-string v4, "authTokens"
10583 + const/4 v5, 0x0
10585 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10587 + goto :goto_2d
10588 +.end method
10590 +.method public hasFeatures(Landroid/accounts/Account;[Ljava/lang/String;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
10591 + .registers 14
10592 + .annotation system Ldalvik/annotation/Signature;
10593 + value = {
10594 + "(",
10595 + "Landroid/accounts/Account;",
10596 + "[",
10597 + "Ljava/lang/String;",
10598 + "Landroid/accounts/AccountManagerCallback",
10599 + "<",
10600 + "Ljava/lang/Boolean;",
10601 + ">;",
10602 + "Landroid/os/Handler;",
10603 + ")",
10604 + "Landroid/accounts/AccountManagerFuture",
10605 + "<",
10606 + "Ljava/lang/Boolean;",
10607 + ">;"
10609 + .end annotation
10611 + const/4 v5, 0x0
10613 + const/4 v3, 0x0
10615 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10617 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10619 + move-result-object v1
10621 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10623 + move-result v2
10625 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10627 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10629 + move-result-object v6
10631 + if-eqz v6, :cond_2e
10633 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
10635 + move-result v0
10637 + if-eqz v0, :cond_2e
10639 + const-string v8, "[false]"
10641 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10643 + invoke-static {v3}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
10645 + move-result-object v0
10647 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
10649 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10651 + const/4 v3, 0x1
10653 + const-string v4, "accountsList"
10655 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10657 + :goto_2d
10658 + return-object v7
10660 + :cond_2e
10661 + const-string v8, "[real value]"
10663 + 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;
10665 + move-result-object v7
10667 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10669 + const-string v4, "accountsList"
10671 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10673 + goto :goto_2d
10674 +.end method
10675 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyActivityManagerService.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyActivityManagerService.smali
10676 --- stock-framework/smali/android/privacy/surrogate/PrivacyActivityManagerService.smali 1969-12-31 18:00:00.000000000 -0600
10677 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyActivityManagerService.smali 2012-10-05 10:15:48.437126896 -0500
10678 @@ -0,0 +1,1087 @@
10679 +.class public final Landroid/privacy/surrogate/PrivacyActivityManagerService;
10680 +.super Ljava/lang/Object;
10681 +.source "PrivacyActivityManagerService.java"
10684 +# static fields
10685 +.field private static final TAG:Ljava/lang/String; = "PrivacyActivityManagerService"
10687 +.field private static pSetMan:Landroid/privacy/PrivacySettingsManager;
10689 +.field private static tmpIn:Landroid/content/Intent;
10691 +.field private static tmpInHash:J
10693 +.field private static tmpInReceivers:I
10695 +.field private static tmpMms:Landroid/content/Intent;
10697 +.field private static tmpMmsHash:J
10699 +.field private static tmpMmsReceivers:I
10701 +.field private static tmpOut:Landroid/content/Intent;
10703 +.field private static tmpOutHash:J
10705 +.field private static tmpOutReceivers:I
10707 +.field private static tmpPackageAddedHash:J
10709 +.field private static tmpSms:Landroid/content/Intent;
10711 +.field private static tmpSmsHash:J
10713 +.field private static tmpSmsReceivers:I
10716 +# direct methods
10717 +.method static constructor <clinit>()V
10718 + .registers 3
10720 + const/4 v2, 0x0
10722 + const-wide/16 v0, 0x0
10724 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInHash:J
10726 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
10728 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutHash:J
10730 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
10732 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsHash:J
10734 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
10736 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsHash:J
10738 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
10740 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpPackageAddedHash:J
10742 + return-void
10743 +.end method
10745 +.method public constructor <init>()V
10746 + .registers 1
10748 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
10750 + return-void
10751 +.end method
10753 +.method public static enforcePrivacyPermission(Ljava/lang/String;ILandroid/content/Intent;Landroid/content/Context;I)V
10754 + .registers 22
10756 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10758 + if-nez v2, :cond_11
10760 + const-string/jumbo v2, "privacy"
10762 + move-object/from16 v0, p3
10764 + invoke-virtual {v0, v2}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
10766 + move-result-object v2
10768 + check-cast v2, Landroid/privacy/PrivacySettingsManager;
10770 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10772 + :cond_11
10773 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->getAction()Ljava/lang/String;
10775 + move-result-object v9
10777 + const-string v2, "android.intent.action.NEW_OUTGOING_CALL"
10779 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
10781 + move-result v2
10783 + if-eqz v2, :cond_ad
10785 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10787 + move-object/from16 v0, p0
10789 + move/from16 v1, p1
10791 + invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10793 + move-result-object v8
10795 + const-string v2, "android.intent.extra.PHONE_NUMBER"
10797 + move-object/from16 v0, p2
10799 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
10801 + move-result-object v16
10803 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutHash:J
10805 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
10807 + move-result-wide v4
10809 + cmp-long v2, v2, v4
10811 + if-eqz v2, :cond_49
10813 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->clone()Ljava/lang/Object;
10815 + move-result-object v2
10817 + check-cast v2, Landroid/content/Intent;
10819 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOut:Landroid/content/Intent;
10821 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
10823 + move-result-wide v2
10825 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutHash:J
10827 + sput p4, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
10829 + :cond_49
10830 + if-eqz v8, :cond_76
10832 + :try_start_4b
10833 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getOutgoingCallsSetting()B
10835 + move-result v2
10837 + if-eqz v2, :cond_76
10839 + const-string v16, ""
10841 + const-string v2, "android.intent.extra.PHONE_NUMBER"
10843 + move-object/from16 v0, p2
10845 + move-object/from16 v1, v16
10847 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
10849 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10851 + const/4 v5, 0x1
10853 + const-string/jumbo v6, "outgoingCall"
10855 + const/4 v7, 0x0
10857 + move-object/from16 v3, p0
10859 + move/from16 v4, p1
10861 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10862 + :try_end_6a
10863 + .catch Ljava/lang/Exception; {:try_start_4b .. :try_end_6a} :catch_a0
10865 + :cond_6a
10866 + :goto_6a
10867 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
10869 + const/4 v3, 0x1
10871 + if-le v2, v3, :cond_a9
10873 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
10875 + add-int/lit8 v2, v2, -0x1
10877 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
10879 + :cond_75
10880 + :goto_75
10881 + return-void
10883 + :cond_76
10884 + :try_start_76
10885 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutHash:J
10887 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
10889 + move-result-wide v4
10891 + cmp-long v2, v2, v4
10893 + if-nez v2, :cond_6a
10895 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOut:Landroid/content/Intent;
10897 + const-string v3, "android.intent.extra.PHONE_NUMBER"
10899 + invoke-virtual {v2, v3}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
10901 + move-result-object v16
10903 + const-string v2, "android.intent.extra.PHONE_NUMBER"
10905 + move-object/from16 v0, p2
10907 + move-object/from16 v1, v16
10909 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
10911 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10913 + const/4 v5, 0x0
10915 + const-string/jumbo v6, "outgoingCall"
10917 + const/4 v7, 0x0
10919 + move-object/from16 v3, p0
10921 + move/from16 v4, p1
10923 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10924 + :try_end_9f
10925 + .catch Ljava/lang/Exception; {:try_start_76 .. :try_end_9f} :catch_a0
10927 + goto :goto_6a
10929 + :catch_a0
10930 + move-exception v13
10932 + const-string v2, "PrivacyActivityManagerService"
10934 + const-string v3, "failed to enforce intent broadcast permission"
10936 + invoke-static {v2, v3, v13}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
10938 + goto :goto_6a
10940 + :cond_a9
10941 + const/4 v2, 0x0
10943 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOut:Landroid/content/Intent;
10945 + goto :goto_75
10947 + :cond_ad
10948 + const-string v2, "android.intent.action.PHONE_STATE"
10950 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
10952 + move-result v2
10954 + if-eqz v2, :cond_14d
10956 + const-string v2, "incoming_number"
10958 + move-object/from16 v0, p2
10960 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
10962 + move-result-object v16
10964 + if-eqz v16, :cond_75
10966 + invoke-virtual/range {v16 .. v16}, Ljava/lang/String;->isEmpty()Z
10968 + move-result v2
10970 + if-nez v2, :cond_75
10972 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10974 + move-object/from16 v0, p0
10976 + move/from16 v1, p1
10978 + invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10980 + move-result-object v8
10982 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInHash:J
10984 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
10986 + move-result-wide v4
10988 + cmp-long v2, v2, v4
10990 + if-eqz v2, :cond_e9
10992 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->clone()Ljava/lang/Object;
10994 + move-result-object v2
10996 + check-cast v2, Landroid/content/Intent;
10998 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpIn:Landroid/content/Intent;
11000 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11002 + move-result-wide v2
11004 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInHash:J
11006 + sput p4, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
11008 + :cond_e9
11009 + if-eqz v8, :cond_116
11011 + :try_start_eb
11012 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getIncomingCallsSetting()B
11014 + move-result v2
11016 + if-eqz v2, :cond_116
11018 + const-string v16, ""
11020 + const-string v2, "incoming_number"
11022 + move-object/from16 v0, p2
11024 + move-object/from16 v1, v16
11026 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
11028 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11030 + const/4 v5, 0x1
11032 + const-string v6, "incomingCall"
11034 + const/4 v7, 0x0
11036 + move-object/from16 v3, p0
11038 + move/from16 v4, p1
11040 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11041 + :try_end_109
11042 + .catch Ljava/lang/Exception; {:try_start_eb .. :try_end_109} :catch_13f
11044 + :cond_109
11045 + :goto_109
11046 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
11048 + const/4 v3, 0x1
11050 + if-le v2, v3, :cond_148
11052 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
11054 + add-int/lit8 v2, v2, -0x1
11056 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
11058 + goto/16 :goto_75
11060 + :cond_116
11061 + :try_start_116
11062 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInHash:J
11064 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11066 + move-result-wide v4
11068 + cmp-long v2, v2, v4
11070 + if-nez v2, :cond_109
11072 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpIn:Landroid/content/Intent;
11074 + const-string v3, "incoming_number"
11076 + invoke-virtual {v2, v3}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
11078 + move-result-object v16
11080 + const-string v2, "incoming_number"
11082 + move-object/from16 v0, p2
11084 + move-object/from16 v1, v16
11086 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
11088 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11090 + const/4 v5, 0x0
11092 + const-string v6, "incomingCall"
11094 + const/4 v7, 0x0
11096 + move-object/from16 v3, p0
11098 + move/from16 v4, p1
11100 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11101 + :try_end_13e
11102 + .catch Ljava/lang/Exception; {:try_start_116 .. :try_end_13e} :catch_13f
11104 + goto :goto_109
11106 + :catch_13f
11107 + move-exception v13
11109 + const-string v2, "PrivacyActivityManagerService"
11111 + const-string v3, "failed to enforce intent broadcast permission"
11113 + invoke-static {v2, v3, v13}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
11115 + goto :goto_109
11117 + :cond_148
11118 + const/4 v2, 0x0
11120 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpIn:Landroid/content/Intent;
11122 + goto/16 :goto_75
11124 + :cond_14d
11125 + const-string v2, "android.provider.Telephony.SMS_RECEIVED"
11127 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11129 + move-result v2
11131 + if-eqz v2, :cond_222
11133 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11135 + move-object/from16 v0, p0
11137 + move/from16 v1, p1
11139 + invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
11141 + move-result-object v8
11143 + const-string v16, "[real]"
11145 + const-string/jumbo v2, "pdus"
11147 + move-object/from16 v0, p2
11149 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
11151 + move-result-object v2
11153 + check-cast v2, [Ljava/lang/Object;
11155 + move-object v15, v2
11157 + check-cast v15, [Ljava/lang/Object;
11159 + if-eqz v15, :cond_1cd
11161 + const/4 v2, 0x0
11163 + aget-object v2, v15, v2
11165 + check-cast v2, [B
11167 + check-cast v2, [B
11169 + move-object v12, v2
11171 + :goto_179
11172 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsHash:J
11174 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11176 + move-result-wide v4
11178 + cmp-long v2, v2, v4
11180 + if-eqz v2, :cond_193
11182 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->clone()Ljava/lang/Object;
11184 + move-result-object v2
11186 + check-cast v2, Landroid/content/Intent;
11188 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSms:Landroid/content/Intent;
11190 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11192 + move-result-wide v2
11194 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsHash:J
11196 + sput p4, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
11198 + :cond_193
11199 + if-eqz v8, :cond_1cf
11201 + :try_start_195
11202 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getSmsSetting()B
11204 + move-result v2
11206 + if-eqz v2, :cond_1cf
11208 + const-string v16, "[empty]"
11210 + const/4 v2, 0x1
11212 + new-array v14, v2, [Ljava/lang/Object;
11214 + const/4 v2, 0x0
11216 + const/16 v3, 0x10
11218 + new-array v3, v3, [B
11220 + fill-array-data v3, :array_350
11222 + aput-object v3, v14, v2
11224 + const-string/jumbo v2, "pdus"
11226 + move-object/from16 v0, p2
11228 + invoke-virtual {v0, v2, v14}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent;
11230 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11232 + const/4 v5, 0x1
11234 + const-string/jumbo v6, "sms"
11236 + const/4 v7, 0x0
11238 + move-object/from16 v3, p0
11240 + move/from16 v4, p1
11242 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11243 + :try_end_1c0
11244 + .catch Ljava/lang/Exception; {:try_start_195 .. :try_end_1c0} :catch_212
11246 + :cond_1c0
11247 + :goto_1c0
11248 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
11250 + const/4 v3, 0x1
11252 + if-le v2, v3, :cond_21d
11254 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
11256 + add-int/lit8 v2, v2, -0x1
11258 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
11260 + goto/16 :goto_75
11262 + :cond_1cd
11263 + const/4 v12, 0x0
11265 + goto :goto_179
11267 + :cond_1cf
11268 + :try_start_1cf
11269 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsHash:J
11271 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11273 + move-result-wide v4
11275 + cmp-long v2, v2, v4
11277 + if-nez v2, :cond_1c0
11279 + const-string/jumbo v2, "pdus"
11281 + sget-object v3, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSms:Landroid/content/Intent;
11283 + const-string/jumbo v4, "pdus"
11285 + invoke-virtual {v3, v4}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
11287 + move-result-object v3
11289 + move-object/from16 v0, p2
11291 + invoke-virtual {v0, v2, v3}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent;
11293 + const-string/jumbo v2, "pdus"
11295 + move-object/from16 v0, p2
11297 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
11299 + move-result-object v2
11301 + check-cast v2, [Ljava/lang/Object;
11303 + move-object v0, v2
11305 + check-cast v0, [Ljava/lang/Object;
11307 + move-object v15, v0
11309 + if-eqz v15, :cond_21b
11311 + const/4 v2, 0x0
11313 + aget-object v2, v15, v2
11315 + check-cast v2, [B
11317 + check-cast v2, [B
11319 + move-object v12, v2
11321 + :goto_203
11322 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11324 + const/4 v5, 0x0
11326 + const-string/jumbo v6, "sms"
11328 + const/4 v7, 0x0
11330 + move-object/from16 v3, p0
11332 + move/from16 v4, p1
11334 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11335 + :try_end_211
11336 + .catch Ljava/lang/Exception; {:try_start_1cf .. :try_end_211} :catch_212
11338 + goto :goto_1c0
11340 + :catch_212
11341 + move-exception v13
11343 + const-string v2, "PrivacyActivityManagerService"
11345 + const-string v3, "failed to enforce intent broadcast permission"
11347 + invoke-static {v2, v3, v13}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
11349 + goto :goto_1c0
11351 + :cond_21b
11352 + const/4 v12, 0x0
11354 + goto :goto_203
11356 + :cond_21d
11357 + const/4 v2, 0x0
11359 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSms:Landroid/content/Intent;
11361 + goto/16 :goto_75
11363 + :cond_222
11364 + const-string v2, "android.provider.Telephony.WAP_PUSH_RECEIVED"
11366 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11368 + move-result v2
11370 + if-nez v2, :cond_232
11372 + const-string v2, "android.intent.action.DATA_SMS_RECEIVED"
11374 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11376 + move-result v2
11378 + if-eqz v2, :cond_2ff
11380 + :cond_232
11381 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11383 + move-object/from16 v0, p0
11385 + move/from16 v1, p1
11387 + invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
11389 + move-result-object v8
11391 + const-string v16, "[real]"
11393 + const-string/jumbo v2, "pdus"
11395 + move-object/from16 v0, p2
11397 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
11399 + move-result-object v2
11401 + check-cast v2, [Ljava/lang/Object;
11403 + move-object v15, v2
11405 + check-cast v15, [Ljava/lang/Object;
11407 + if-eqz v15, :cond_2aa
11409 + const/4 v2, 0x0
11411 + aget-object v2, v15, v2
11413 + check-cast v2, [B
11415 + check-cast v2, [B
11417 + move-object v12, v2
11419 + :goto_256
11420 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsHash:J
11422 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11424 + move-result-wide v4
11426 + cmp-long v2, v2, v4
11428 + if-eqz v2, :cond_270
11430 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->clone()Ljava/lang/Object;
11432 + move-result-object v2
11434 + check-cast v2, Landroid/content/Intent;
11436 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMms:Landroid/content/Intent;
11438 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11440 + move-result-wide v2
11442 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsHash:J
11444 + sput p4, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
11446 + :cond_270
11447 + if-eqz v8, :cond_2ac
11449 + :try_start_272
11450 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getMmsSetting()B
11452 + move-result v2
11454 + if-eqz v2, :cond_2ac
11456 + const-string v16, "[empty]"
11458 + const/4 v2, 0x1
11460 + new-array v14, v2, [Ljava/lang/Object;
11462 + const/4 v2, 0x0
11464 + const/16 v3, 0x10
11466 + new-array v3, v3, [B
11468 + fill-array-data v3, :array_35c
11470 + aput-object v3, v14, v2
11472 + const-string/jumbo v2, "pdus"
11474 + move-object/from16 v0, p2
11476 + invoke-virtual {v0, v2, v14}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent;
11478 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11480 + const/4 v5, 0x1
11482 + const-string/jumbo v6, "mms"
11484 + const/4 v7, 0x0
11486 + move-object/from16 v3, p0
11488 + move/from16 v4, p1
11490 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11491 + :try_end_29d
11492 + .catch Ljava/lang/Exception; {:try_start_272 .. :try_end_29d} :catch_2ef
11494 + :cond_29d
11495 + :goto_29d
11496 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
11498 + const/4 v3, 0x1
11500 + if-le v2, v3, :cond_2fa
11502 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
11504 + add-int/lit8 v2, v2, -0x1
11506 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
11508 + goto/16 :goto_75
11510 + :cond_2aa
11511 + const/4 v12, 0x0
11513 + goto :goto_256
11515 + :cond_2ac
11516 + :try_start_2ac
11517 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsHash:J
11519 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11521 + move-result-wide v4
11523 + cmp-long v2, v2, v4
11525 + if-nez v2, :cond_29d
11527 + const-string/jumbo v2, "pdus"
11529 + sget-object v3, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMms:Landroid/content/Intent;
11531 + const-string/jumbo v4, "pdus"
11533 + invoke-virtual {v3, v4}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
11535 + move-result-object v3
11537 + move-object/from16 v0, p2
11539 + invoke-virtual {v0, v2, v3}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent;
11541 + const-string/jumbo v2, "pdus"
11543 + move-object/from16 v0, p2
11545 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
11547 + move-result-object v2
11549 + check-cast v2, [Ljava/lang/Object;
11551 + move-object v0, v2
11553 + check-cast v0, [Ljava/lang/Object;
11555 + move-object v15, v0
11557 + if-eqz v15, :cond_2f8
11559 + const/4 v2, 0x0
11561 + aget-object v2, v15, v2
11563 + check-cast v2, [B
11565 + check-cast v2, [B
11567 + move-object v12, v2
11569 + :goto_2e0
11570 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11572 + const/4 v5, 0x0
11574 + const-string/jumbo v6, "mms"
11576 + const/4 v7, 0x0
11578 + move-object/from16 v3, p0
11580 + move/from16 v4, p1
11582 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11583 + :try_end_2ee
11584 + .catch Ljava/lang/Exception; {:try_start_2ac .. :try_end_2ee} :catch_2ef
11586 + goto :goto_29d
11588 + :catch_2ef
11589 + move-exception v13
11591 + const-string v2, "PrivacyActivityManagerService"
11593 + const-string v3, "failed to enforce intent broadcast permission"
11595 + invoke-static {v2, v3, v13}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
11597 + goto :goto_29d
11599 + :cond_2f8
11600 + const/4 v12, 0x0
11602 + goto :goto_2e0
11604 + :cond_2fa
11605 + const/4 v2, 0x0
11607 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMms:Landroid/content/Intent;
11609 + goto/16 :goto_75
11611 + :cond_2ff
11612 + const-string v2, "android.intent.action.BOOT_COMPLETED"
11614 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11616 + move-result v2
11618 + if-eqz v2, :cond_30e
11620 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11622 + invoke-virtual {v2}, Landroid/privacy/PrivacySettingsManager;->setBootCompleted()V
11624 + goto/16 :goto_75
11626 + :cond_30e
11627 + const-string v2, "android.intent.action.PACKAGE_ADDED"
11629 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11631 + move-result v2
11633 + if-eqz v2, :cond_75
11635 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpPackageAddedHash:J
11637 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11639 + move-result-wide v4
11641 + cmp-long v2, v2, v4
11643 + if-eqz v2, :cond_75
11645 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11647 + move-result-wide v2
11649 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpPackageAddedHash:J
11651 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->getData()Landroid/net/Uri;
11653 + move-result-object v2
11655 + invoke-virtual {v2}, Landroid/net/Uri;->getSchemeSpecificPart()Ljava/lang/String;
11657 + move-result-object v10
11659 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->getExtras()Landroid/os/Bundle;
11661 + move-result-object v2
11663 + const-string v3, "android.intent.extra.UID"
11665 + invoke-virtual {v2, v3}, Landroid/os/Bundle;->getInt(Ljava/lang/String;)I
11667 + move-result v11
11669 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11671 + invoke-virtual {v2, v10, v11}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
11673 + move-result-object v8
11675 + if-eqz v8, :cond_75
11677 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getUid()I
11679 + move-result v2
11681 + if-eq v2, v11, :cond_75
11683 + invoke-virtual {v8, v11}, Landroid/privacy/PrivacySettings;->setUid(I)V
11685 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11687 + invoke-virtual {v2, v8}, Landroid/privacy/PrivacySettingsManager;->saveSettings(Landroid/privacy/PrivacySettings;)Z
11689 + goto/16 :goto_75
11691 + :array_350
11692 + .array-data 0x1
11693 + 0x0t
11694 + 0x20t
11695 + 0x1t
11696 + 0x81t
11697 + 0xf0t
11698 + 0x0t
11699 + 0x0t
11700 + 0x11t
11701 + 0x90t
11702 + 0x1t
11703 + 0x30t
11704 + 0x22t
11705 + 0x22t
11706 + 0x80t
11707 + 0x1t
11708 + 0x20t
11709 + .end array-data
11711 + :array_35c
11712 + .array-data 0x1
11713 + 0x0t
11714 + 0x20t
11715 + 0x1t
11716 + 0x81t
11717 + 0xf0t
11718 + 0x0t
11719 + 0x0t
11720 + 0x11t
11721 + 0x90t
11722 + 0x1t
11723 + 0x30t
11724 + 0x22t
11725 + 0x22t
11726 + 0x80t
11727 + 0x1t
11728 + 0x20t
11729 + .end array-data
11730 +.end method
11732 +.method private static hashCode(Landroid/content/Intent;)J
11733 + .registers 7
11735 + const-wide/16 v3, 0x0
11737 + const-string/jumbo v2, "privacy_hash"
11739 + invoke-virtual {p0, v2, v3, v4}, Landroid/content/Intent;->getLongExtra(Ljava/lang/String;J)J
11741 + move-result-wide v0
11743 + cmp-long v2, v0, v3
11745 + if-nez v2, :cond_1e
11747 + invoke-virtual {p0}, Landroid/content/Intent;->filterHashCode()I
11749 + move-result v2
11751 + int-to-long v2, v2
11753 + invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
11755 + move-result-wide v4
11757 + add-long v0, v2, v4
11759 + const-string/jumbo v2, "privacy_hash"
11761 + invoke-virtual {p0, v2, v0, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;J)Landroid/content/Intent;
11763 + :cond_1e
11764 + return-wide v0
11765 +.end method
11766 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyContentResolver.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyContentResolver.smali
11767 --- stock-framework/smali/android/privacy/surrogate/PrivacyContentResolver.smali 1969-12-31 18:00:00.000000000 -0600
11768 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyContentResolver.smali 2012-10-05 10:15:48.441126915 -0500
11769 @@ -0,0 +1,624 @@
11770 +.class public final Landroid/privacy/surrogate/PrivacyContentResolver;
11771 +.super Ljava/lang/Object;
11772 +.source "PrivacyContentResolver.java"
11775 +# static fields
11776 +.field private static final TAG:Ljava/lang/String; = "PrivacyContentResolver"
11778 +.field private static pSetMan:Landroid/privacy/PrivacySettingsManager;
11781 +# direct methods
11782 +.method public constructor <init>()V
11783 + .registers 1
11785 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
11787 + return-void
11788 +.end method
11790 +.method private static arrayToString([Ljava/lang/String;)Ljava/lang/String;
11791 + .registers 8
11793 + new-instance v4, Ljava/lang/StringBuffer;
11795 + invoke-direct {v4}, Ljava/lang/StringBuffer;-><init>()V
11797 + if-eqz p0, :cond_2d
11799 + move-object v0, p0
11801 + array-length v3, v0
11803 + const/4 v2, 0x0
11805 + :goto_a
11806 + if-ge v2, v3, :cond_30
11808 + aget-object v1, v0, v2
11810 + new-instance v5, Ljava/lang/StringBuilder;
11812 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
11814 + const-string v6, "["
11816 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
11818 + move-result-object v5
11820 + invoke-virtual {v5, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
11822 + move-result-object v5
11824 + const-string v6, "]"
11826 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
11828 + move-result-object v5
11830 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
11832 + move-result-object v5
11834 + invoke-virtual {v4, v5}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
11836 + add-int/lit8 v2, v2, 0x1
11838 + goto :goto_a
11840 + :cond_2d
11841 + const-string v5, ""
11843 + :goto_2f
11844 + return-object v5
11846 + :cond_30
11847 + invoke-virtual {v4}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String;
11849 + move-result-object v5
11851 + goto :goto_2f
11852 +.end method
11854 +.method public static enforcePrivacyPermission(Landroid/net/Uri;[Ljava/lang/String;Landroid/content/Context;Landroid/database/Cursor;)Landroid/database/Cursor;
11855 + .registers 21
11856 + .annotation system Ldalvik/annotation/Throws;
11857 + value = {
11858 + Landroid/os/RemoteException;
11860 + .end annotation
11862 + if-eqz p0, :cond_1e4
11864 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11866 + if-nez v1, :cond_13
11868 + const-string/jumbo v1, "privacy"
11870 + move-object/from16 v0, p2
11872 + invoke-virtual {v0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
11874 + move-result-object v1
11876 + check-cast v1, Landroid/privacy/PrivacySettingsManager;
11878 + sput-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11880 + :cond_13
11881 + invoke-virtual/range {p2 .. p2}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
11883 + move-result-object v2
11885 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
11887 + move-result v3
11889 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11891 + invoke-virtual {v1, v2, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
11893 + move-result-object v7
11895 + invoke-virtual/range {p0 .. p0}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
11897 + move-result-object v9
11899 + const-string v15, "[real]"
11901 + move-object/from16 v13, p3
11903 + if-eqz v9, :cond_54
11905 + const-string v1, "contacts"
11907 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11909 + move-result v1
11911 + if-nez v1, :cond_3b
11913 + const-string v1, "com.android.contacts"
11915 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11917 + move-result v1
11919 + if-eqz v1, :cond_ab
11921 + :cond_3b
11922 + if-eqz v7, :cond_54
11924 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getContactsSetting()B
11926 + move-result v1
11928 + const/4 v4, 0x1
11930 + if-ne v1, v4, :cond_55
11932 + const-string v15, "[empty]"
11934 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
11936 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
11938 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11940 + const/4 v4, 0x1
11942 + const-string v5, "contacts"
11944 + const/4 v6, 0x0
11946 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11948 + :cond_54
11949 + :goto_54
11950 + return-object v13
11952 + :cond_55
11953 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getContactsSetting()B
11955 + move-result v1
11957 + const/4 v4, 0x2
11959 + if-ne v1, v4, :cond_a1
11961 + invoke-virtual/range {p0 .. p0}, Landroid/net/Uri;->toString()Ljava/lang/String;
11963 + move-result-object v1
11965 + sget-object v4, Landroid/provider/ContactsContract$Contacts;->CONTENT_URI:Landroid/net/Uri;
11967 + invoke-virtual {v4}, Landroid/net/Uri;->toString()Ljava/lang/String;
11969 + move-result-object v4
11971 + invoke-virtual {v1, v4}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
11973 + move-result v1
11975 + if-eqz v1, :cond_a1
11977 + const/4 v11, 0x0
11979 + if-eqz p1, :cond_82
11981 + move-object/from16 v8, p1
11983 + array-length v12, v8
11985 + const/4 v10, 0x0
11987 + :goto_73
11988 + if-ge v10, v12, :cond_82
11990 + aget-object v16, v8, v10
11992 + const-string v1, "_id"
11994 + move-object/from16 v0, v16
11996 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11998 + move-result v1
12000 + if-eqz v1, :cond_93
12002 + const/4 v11, 0x1
12004 + :cond_82
12005 + if-nez v11, :cond_96
12007 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12009 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12011 + :goto_89
12012 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12014 + const/4 v4, 0x2
12016 + const-string v5, "contacts"
12018 + const/4 v6, 0x0
12020 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12022 + goto :goto_54
12024 + :cond_93
12025 + add-int/lit8 v10, v10, 0x1
12027 + goto :goto_73
12029 + :cond_96
12030 + new-instance v14, Landroid/privacy/surrogate/PrivacyCursor;
12032 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getAllowedContacts()[I
12034 + move-result-object v1
12036 + invoke-direct {v14, v13, v1}, Landroid/privacy/surrogate/PrivacyCursor;-><init>(Landroid/database/Cursor;[I)V
12038 + move-object v13, v14
12040 + goto :goto_89
12042 + :cond_a1
12043 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12045 + const/4 v4, 0x0
12047 + const-string v5, "contacts"
12049 + const/4 v6, 0x0
12051 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12053 + goto :goto_54
12055 + :cond_ab
12056 + const-string v1, "com.android.calendar"
12058 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12060 + move-result v1
12062 + if-eqz v1, :cond_d8
12064 + if-eqz v7, :cond_cd
12066 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getCalendarSetting()B
12068 + move-result v1
12070 + const/4 v4, 0x1
12072 + if-ne v1, v4, :cond_cd
12074 + const-string v15, "[empty]"
12076 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12078 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12080 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12082 + const/4 v4, 0x1
12084 + const-string v5, "calendar"
12086 + const/4 v6, 0x0
12088 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12090 + goto :goto_54
12092 + :cond_cd
12093 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12095 + const/4 v4, 0x0
12097 + const-string v5, "calendar"
12099 + const/4 v6, 0x0
12101 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12103 + goto/16 :goto_54
12105 + :cond_d8
12106 + sget-object v1, Landroid/provider/Telephony$Mms;->CONTENT_URI:Landroid/net/Uri;
12108 + invoke-virtual {v1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
12110 + move-result-object v1
12112 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12114 + move-result v1
12116 + if-eqz v1, :cond_10c
12118 + if-eqz v7, :cond_100
12120 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getMmsSetting()B
12122 + move-result v1
12124 + const/4 v4, 0x1
12126 + if-ne v1, v4, :cond_100
12128 + const-string v15, "[empty]"
12130 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12132 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12134 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12136 + const/4 v4, 0x1
12138 + const-string/jumbo v5, "mms"
12140 + const/4 v6, 0x0
12142 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12144 + goto/16 :goto_54
12146 + :cond_100
12147 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12149 + const/4 v4, 0x0
12151 + const-string/jumbo v5, "mms"
12153 + const/4 v6, 0x0
12155 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12157 + goto/16 :goto_54
12159 + :cond_10c
12160 + sget-object v1, Landroid/provider/Telephony$Sms;->CONTENT_URI:Landroid/net/Uri;
12162 + invoke-virtual {v1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
12164 + move-result-object v1
12166 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12168 + move-result v1
12170 + if-eqz v1, :cond_140
12172 + if-eqz v7, :cond_134
12174 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getSmsSetting()B
12176 + move-result v1
12178 + const/4 v4, 0x1
12180 + if-ne v1, v4, :cond_134
12182 + const-string v15, "[empty]"
12184 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12186 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12188 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12190 + const/4 v4, 0x1
12192 + const-string/jumbo v5, "sms"
12194 + const/4 v6, 0x0
12196 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12198 + goto/16 :goto_54
12200 + :cond_134
12201 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12203 + const/4 v4, 0x0
12205 + const-string/jumbo v5, "sms"
12207 + const/4 v6, 0x0
12209 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12211 + goto/16 :goto_54
12213 + :cond_140
12214 + sget-object v1, Landroid/provider/Telephony$MmsSms;->CONTENT_URI:Landroid/net/Uri;
12216 + invoke-virtual {v1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
12218 + move-result-object v1
12220 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12222 + move-result v1
12224 + if-nez v1, :cond_155
12226 + const-string/jumbo v1, "mms-sms-v2"
12228 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12230 + move-result v1
12232 + if-eqz v1, :cond_184
12234 + :cond_155
12235 + if-eqz v7, :cond_178
12237 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getMmsSetting()B
12239 + move-result v1
12241 + const/4 v4, 0x1
12243 + if-eq v1, v4, :cond_165
12245 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getSmsSetting()B
12247 + move-result v1
12249 + const/4 v4, 0x1
12251 + if-ne v1, v4, :cond_178
12253 + :cond_165
12254 + const-string v15, "[empty]"
12256 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12258 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12260 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12262 + const/4 v4, 0x1
12264 + const-string/jumbo v5, "mmsSms"
12266 + const/4 v6, 0x0
12268 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12270 + goto/16 :goto_54
12272 + :cond_178
12273 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12275 + const/4 v4, 0x0
12277 + const-string/jumbo v5, "mmsSms"
12279 + const/4 v6, 0x0
12281 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12283 + goto/16 :goto_54
12285 + :cond_184
12286 + const-string v1, "call_log"
12288 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12290 + move-result v1
12292 + if-eqz v1, :cond_1b2
12294 + if-eqz v7, :cond_1a7
12296 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getCallLogSetting()B
12298 + move-result v1
12300 + const/4 v4, 0x1
12302 + if-ne v1, v4, :cond_1a7
12304 + const-string v15, "[empty]"
12306 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12308 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12310 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12312 + const/4 v4, 0x1
12314 + const-string v5, "callLog"
12316 + const/4 v6, 0x0
12318 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12320 + goto/16 :goto_54
12322 + :cond_1a7
12323 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12325 + const/4 v4, 0x0
12327 + const-string v5, "callLog"
12329 + const/4 v6, 0x0
12331 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12333 + goto/16 :goto_54
12335 + :cond_1b2
12336 + sget-object v1, Landroid/provider/Browser;->BOOKMARKS_URI:Landroid/net/Uri;
12338 + invoke-virtual {v1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
12340 + move-result-object v1
12342 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12344 + move-result v1
12346 + if-eqz v1, :cond_54
12348 + if-eqz v7, :cond_1d9
12350 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getBookmarksSetting()B
12352 + move-result v1
12354 + const/4 v4, 0x1
12356 + if-ne v1, v4, :cond_1d9
12358 + const-string v15, "[empty]"
12360 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12362 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12364 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12366 + const/4 v4, 0x1
12368 + const-string v5, "bookmarks"
12370 + const/4 v6, 0x0
12372 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12374 + goto/16 :goto_54
12376 + :cond_1d9
12377 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12379 + const/4 v4, 0x0
12381 + const-string v5, "bookmarks"
12383 + const/4 v6, 0x0
12385 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12387 + goto/16 :goto_54
12389 + :cond_1e4
12390 + move-object/from16 v13, p3
12392 + goto/16 :goto_54
12393 +.end method
12394 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyCursor.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyCursor.smali
12395 --- stock-framework/smali/android/privacy/surrogate/PrivacyCursor.smali 1969-12-31 18:00:00.000000000 -0600
12396 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyCursor.smali 2012-10-05 10:15:48.441126915 -0500
12397 @@ -0,0 +1,1225 @@
12398 +.class public Landroid/privacy/surrogate/PrivacyCursor;
12399 +.super Ljava/lang/Object;
12400 +.source "PrivacyCursor.java"
12402 +# interfaces
12403 +.implements Landroid/database/Cursor;
12406 +# static fields
12407 +.field private static final TAG:Ljava/lang/String; = "PrivacyCursor"
12410 +# instance fields
12411 +.field private allowedIdMapping:[I
12413 +.field private allowedIds:[I
12415 +.field private realCursor:Landroid/database/Cursor;
12418 +# direct methods
12419 +.method public constructor <init>()V
12420 + .registers 1
12422 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
12424 + return-void
12425 +.end method
12427 +.method public constructor <init>(Landroid/database/Cursor;[I)V
12428 + .registers 7
12430 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
12432 + if-eqz p2, :cond_8
12434 + array-length v2, p2
12436 + if-nez v2, :cond_9
12438 + :cond_8
12439 + const/4 p1, 0x0
12441 + :cond_9
12442 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12444 + iput-object p2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIds:[I
12446 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12448 + if-eqz v2, :cond_3f
12450 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12452 + invoke-interface {v2}, Landroid/database/Cursor;->getPosition()I
12454 + move-result v0
12456 + array-length v2, p2
12458 + new-array v2, v2, [I
12460 + iput-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
12462 + const/4 v1, 0x0
12464 + :cond_1d
12465 + :goto_1d
12466 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12468 + invoke-interface {v2}, Landroid/database/Cursor;->moveToNext()Z
12470 + move-result v2
12472 + if-eqz v2, :cond_3a
12474 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12476 + invoke-direct {p0, v2}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(Landroid/database/Cursor;)Z
12478 + move-result v2
12480 + if-eqz v2, :cond_1d
12482 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
12484 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12486 + invoke-interface {v3}, Landroid/database/Cursor;->getPosition()I
12488 + move-result v3
12490 + aput v3, v2, v1
12492 + add-int/lit8 v1, v1, 0x1
12494 + goto :goto_1d
12496 + :cond_3a
12497 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12499 + invoke-interface {v2, v0}, Landroid/database/Cursor;->moveToPosition(I)Z
12501 + :cond_3f
12502 + return-void
12503 +.end method
12505 +.method private getContactId(Landroid/database/Cursor;)I
12506 + .registers 5
12508 + const-string v2, "_id"
12510 + invoke-interface {p1, v2}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
12512 + move-result v0
12514 + const/4 v1, -0x1
12516 + const/4 v2, -0x1
12518 + if-eq v0, v2, :cond_e
12520 + invoke-interface {p1, v0}, Landroid/database/Cursor;->getInt(I)I
12522 + move-result v1
12524 + :cond_e
12525 + return v1
12526 +.end method
12528 +.method private getMappedPos(I)I
12529 + .registers 4
12531 + const/4 v0, 0x0
12533 + :goto_1
12534 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
12536 + array-length v1, v1
12538 + if-ge v0, v1, :cond_10
12540 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
12542 + aget v1, v1, v0
12544 + if-ne v1, p1, :cond_d
12546 + :goto_c
12547 + return v0
12549 + :cond_d
12550 + add-int/lit8 v0, v0, 0x1
12552 + goto :goto_1
12554 + :cond_10
12555 + const/4 v0, -0x1
12557 + goto :goto_c
12558 +.end method
12560 +.method private isAllowed(I)Z
12561 + .registers 7
12563 + const/4 v4, 0x0
12565 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIds:[I
12567 + array-length v3, v0
12569 + const/4 v2, 0x0
12571 + :goto_5
12572 + if-ge v2, v3, :cond_c
12574 + aget v1, v0, v2
12576 + if-ne p1, v1, :cond_d
12578 + const/4 v4, 0x1
12580 + :cond_c
12581 + return v4
12583 + :cond_d
12584 + add-int/lit8 v2, v2, 0x1
12586 + goto :goto_5
12587 +.end method
12589 +.method private isAllowed(Landroid/database/Cursor;)Z
12590 + .registers 3
12592 + invoke-direct {p0, p1}, Landroid/privacy/surrogate/PrivacyCursor;->getContactId(Landroid/database/Cursor;)I
12594 + move-result v0
12596 + invoke-direct {p0, v0}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(I)Z
12598 + move-result v0
12600 + return v0
12601 +.end method
12604 +# virtual methods
12605 +.method public close()V
12606 + .registers 2
12608 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12610 + if-eqz v0, :cond_9
12612 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12614 + invoke-interface {v0}, Landroid/database/Cursor;->close()V
12616 + :cond_9
12617 + return-void
12618 +.end method
12620 +.method public copyStringToBuffer(ILandroid/database/CharArrayBuffer;)V
12621 + .registers 4
12623 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12625 + if-eqz v0, :cond_9
12627 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12629 + invoke-interface {v0, p1, p2}, Landroid/database/Cursor;->copyStringToBuffer(ILandroid/database/CharArrayBuffer;)V
12631 + :cond_9
12632 + return-void
12633 +.end method
12635 +.method public deactivate()V
12636 + .registers 2
12638 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12640 + if-eqz v0, :cond_9
12642 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12644 + invoke-interface {v0}, Landroid/database/Cursor;->deactivate()V
12646 + :cond_9
12647 + return-void
12648 +.end method
12650 +.method public getBlob(I)[B
12651 + .registers 3
12653 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12655 + if-eqz v0, :cond_b
12657 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12659 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getBlob(I)[B
12661 + move-result-object v0
12663 + :goto_a
12664 + return-object v0
12666 + :cond_b
12667 + const/4 v0, 0x0
12669 + new-array v0, v0, [B
12671 + goto :goto_a
12672 +.end method
12674 +.method public getColumnCount()I
12675 + .registers 2
12677 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12679 + if-eqz v0, :cond_b
12681 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12683 + invoke-interface {v0}, Landroid/database/Cursor;->getColumnCount()I
12685 + move-result v0
12687 + :goto_a
12688 + return v0
12690 + :cond_b
12691 + const/4 v0, 0x0
12693 + goto :goto_a
12694 +.end method
12696 +.method public getColumnIndex(Ljava/lang/String;)I
12697 + .registers 3
12699 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12701 + if-eqz v0, :cond_b
12703 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12705 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
12707 + move-result v0
12709 + :goto_a
12710 + return v0
12712 + :cond_b
12713 + const/4 v0, -0x1
12715 + goto :goto_a
12716 +.end method
12718 +.method public getColumnIndexOrThrow(Ljava/lang/String;)I
12719 + .registers 3
12720 + .annotation system Ldalvik/annotation/Throws;
12721 + value = {
12722 + Ljava/lang/IllegalArgumentException;
12724 + .end annotation
12726 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12728 + if-eqz v0, :cond_b
12730 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12732 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getColumnIndexOrThrow(Ljava/lang/String;)I
12734 + move-result v0
12736 + :goto_a
12737 + return v0
12739 + :cond_b
12740 + const/4 v0, -0x1
12742 + goto :goto_a
12743 +.end method
12745 +.method public getColumnName(I)Ljava/lang/String;
12746 + .registers 3
12748 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12750 + if-eqz v0, :cond_b
12752 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12754 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getColumnName(I)Ljava/lang/String;
12756 + move-result-object v0
12758 + :goto_a
12759 + return-object v0
12761 + :cond_b
12762 + const-string v0, ""
12764 + goto :goto_a
12765 +.end method
12767 +.method public getColumnNames()[Ljava/lang/String;
12768 + .registers 4
12770 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12772 + if-eqz v0, :cond_b
12774 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12776 + invoke-interface {v0}, Landroid/database/Cursor;->getColumnNames()[Ljava/lang/String;
12778 + move-result-object v0
12780 + :goto_a
12781 + return-object v0
12783 + :cond_b
12784 + const/4 v0, 0x1
12786 + new-array v0, v0, [Ljava/lang/String;
12788 + const/4 v1, 0x0
12790 + const-string v2, ""
12792 + aput-object v2, v0, v1
12794 + goto :goto_a
12795 +.end method
12797 +.method public getCount()I
12798 + .registers 4
12800 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12802 + if-eqz v0, :cond_23
12804 + const-string v0, "PrivacyCursor"
12806 + new-instance v1, Ljava/lang/StringBuilder;
12808 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
12810 + const-string v2, "getCount: "
12812 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
12814 + move-result-object v1
12816 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
12818 + array-length v2, v2
12820 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
12822 + move-result-object v1
12824 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
12826 + move-result-object v1
12828 + invoke-static {v0, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
12830 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
12832 + array-length v0, v0
12834 + :goto_22
12835 + return v0
12837 + :cond_23
12838 + const/4 v0, 0x0
12840 + goto :goto_22
12841 +.end method
12843 +.method public getDouble(I)D
12844 + .registers 4
12846 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12848 + if-eqz v0, :cond_b
12850 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12852 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getDouble(I)D
12854 + move-result-wide v0
12856 + :goto_a
12857 + return-wide v0
12859 + :cond_b
12860 + const-wide/16 v0, 0x0
12862 + goto :goto_a
12863 +.end method
12865 +.method public getExtras()Landroid/os/Bundle;
12866 + .registers 2
12868 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12870 + if-eqz v0, :cond_b
12872 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12874 + invoke-interface {v0}, Landroid/database/Cursor;->getExtras()Landroid/os/Bundle;
12876 + move-result-object v0
12878 + :goto_a
12879 + return-object v0
12881 + :cond_b
12882 + new-instance v0, Landroid/os/Bundle;
12884 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
12886 + goto :goto_a
12887 +.end method
12889 +.method public getFloat(I)F
12890 + .registers 3
12892 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12894 + if-eqz v0, :cond_b
12896 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12898 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getFloat(I)F
12900 + move-result v0
12902 + :goto_a
12903 + return v0
12905 + :cond_b
12906 + const/4 v0, 0x0
12908 + goto :goto_a
12909 +.end method
12911 +.method public getInt(I)I
12912 + .registers 4
12914 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12916 + if-eqz v1, :cond_b
12918 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12920 + invoke-interface {v1, p1}, Landroid/database/Cursor;->getInt(I)I
12922 + move-result v0
12924 + :goto_a
12925 + return v0
12927 + :cond_b
12928 + const/4 v0, 0x0
12930 + goto :goto_a
12931 +.end method
12933 +.method public getLong(I)J
12934 + .registers 4
12936 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12938 + if-eqz v0, :cond_b
12940 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12942 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getLong(I)J
12944 + move-result-wide v0
12946 + :goto_a
12947 + return-wide v0
12949 + :cond_b
12950 + const-wide/16 v0, 0x0
12952 + goto :goto_a
12953 +.end method
12955 +.method public getPosition()I
12956 + .registers 5
12958 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12960 + if-eqz v1, :cond_37
12962 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12964 + invoke-interface {v1}, Landroid/database/Cursor;->getPosition()I
12966 + move-result v1
12968 + invoke-direct {p0, v1}, Landroid/privacy/surrogate/PrivacyCursor;->getMappedPos(I)I
12970 + move-result v0
12972 + const-string v1, "PrivacyCursor"
12974 + new-instance v2, Ljava/lang/StringBuilder;
12976 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
12978 + const-string v3, "getPosition - mapped position: "
12980 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
12982 + move-result-object v2
12984 + invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
12986 + move-result-object v2
12988 + const-string v3, " real position: "
12990 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
12992 + move-result-object v2
12994 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12996 + invoke-interface {v3}, Landroid/database/Cursor;->getPosition()I
12998 + move-result v3
13000 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
13002 + move-result-object v2
13004 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
13006 + move-result-object v2
13008 + invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
13010 + :goto_36
13011 + return v0
13013 + :cond_37
13014 + const/4 v0, -0x1
13016 + goto :goto_36
13017 +.end method
13019 +.method public getShort(I)S
13020 + .registers 3
13022 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13024 + if-eqz v0, :cond_b
13026 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13028 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getShort(I)S
13030 + move-result v0
13032 + :goto_a
13033 + return v0
13035 + :cond_b
13036 + const/4 v0, 0x0
13038 + goto :goto_a
13039 +.end method
13041 +.method public getString(I)Ljava/lang/String;
13042 + .registers 3
13044 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13046 + if-eqz v0, :cond_b
13048 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13050 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
13052 + move-result-object v0
13054 + :goto_a
13055 + return-object v0
13057 + :cond_b
13058 + const-string v0, ""
13060 + goto :goto_a
13061 +.end method
13063 +.method public getType(I)I
13064 + .registers 3
13066 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13068 + if-eqz v0, :cond_b
13070 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13072 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getType(I)I
13074 + move-result v0
13076 + :goto_a
13077 + return v0
13079 + :cond_b
13080 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13082 + const/4 v0, 0x0
13084 + goto :goto_a
13085 +.end method
13087 +.method public getWantsAllOnMoveCalls()Z
13088 + .registers 2
13090 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13092 + if-eqz v0, :cond_b
13094 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13096 + invoke-interface {v0}, Landroid/database/Cursor;->getWantsAllOnMoveCalls()Z
13098 + move-result v0
13100 + :goto_a
13101 + return v0
13103 + :cond_b
13104 + const/4 v0, 0x0
13106 + goto :goto_a
13107 +.end method
13109 +.method public isAfterLast()Z
13110 + .registers 2
13112 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13114 + if-eqz v0, :cond_b
13116 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13118 + invoke-interface {v0}, Landroid/database/Cursor;->isAfterLast()Z
13120 + move-result v0
13122 + :goto_a
13123 + return v0
13125 + :cond_b
13126 + const/4 v0, 0x0
13128 + goto :goto_a
13129 +.end method
13131 +.method public isBeforeFirst()Z
13132 + .registers 2
13134 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13136 + if-eqz v0, :cond_b
13138 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13140 + invoke-interface {v0}, Landroid/database/Cursor;->isBeforeFirst()Z
13142 + move-result v0
13144 + :goto_a
13145 + return v0
13147 + :cond_b
13148 + const/4 v0, 0x0
13150 + goto :goto_a
13151 +.end method
13153 +.method public isClosed()Z
13154 + .registers 2
13156 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13158 + if-eqz v0, :cond_b
13160 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13162 + invoke-interface {v0}, Landroid/database/Cursor;->isClosed()Z
13164 + move-result v0
13166 + :goto_a
13167 + return v0
13169 + :cond_b
13170 + const/4 v0, 0x0
13172 + goto :goto_a
13173 +.end method
13175 +.method public isFirst()Z
13176 + .registers 4
13178 + const/4 v0, 0x0
13180 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13182 + if-eqz v1, :cond_12
13184 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13186 + invoke-interface {v1}, Landroid/database/Cursor;->getPosition()I
13188 + move-result v1
13190 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13192 + aget v2, v2, v0
13194 + if-ne v1, v2, :cond_12
13196 + const/4 v0, 0x1
13198 + :cond_12
13199 + return v0
13200 +.end method
13202 +.method public isLast()Z
13203 + .registers 4
13205 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13207 + if-eqz v0, :cond_17
13209 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13211 + invoke-interface {v0}, Landroid/database/Cursor;->getPosition()I
13213 + move-result v0
13215 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13217 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13219 + array-length v2, v2
13221 + add-int/lit8 v2, v2, -0x1
13223 + aget v1, v1, v2
13225 + if-ne v0, v1, :cond_17
13227 + const/4 v0, 0x1
13229 + :goto_16
13230 + return v0
13232 + :cond_17
13233 + const/4 v0, 0x0
13235 + goto :goto_16
13236 +.end method
13238 +.method public isNull(I)Z
13239 + .registers 3
13241 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13243 + if-eqz v0, :cond_b
13245 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13247 + invoke-interface {v0, p1}, Landroid/database/Cursor;->isNull(I)Z
13249 + move-result v0
13251 + :goto_a
13252 + return v0
13254 + :cond_b
13255 + const/4 v0, 0x0
13257 + goto :goto_a
13258 +.end method
13260 +.method public move(I)Z
13261 + .registers 8
13263 + const/4 v2, 0x0
13265 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13267 + if-eqz v3, :cond_33
13269 + const-string v3, "PrivacyCursor"
13271 + new-instance v4, Ljava/lang/StringBuilder;
13273 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
13275 + const-string/jumbo v5, "move - offset: "
13277 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13279 + move-result-object v4
13281 + invoke-virtual {v4, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
13283 + move-result-object v4
13285 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
13287 + move-result-object v4
13289 + invoke-static {v3, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
13291 + :try_start_1e
13292 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13294 + iget-object v4, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13296 + invoke-interface {v4}, Landroid/database/Cursor;->getPosition()I
13298 + move-result v4
13300 + invoke-direct {p0, v4}, Landroid/privacy/surrogate/PrivacyCursor;->getMappedPos(I)I
13302 + move-result v4
13304 + add-int/2addr v4, p1
13306 + aget v1, v3, v4
13308 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13310 + invoke-interface {v3, v1}, Landroid/database/Cursor;->moveToPosition(I)Z
13311 + :try_end_32
13312 + .catch Ljava/lang/ArrayIndexOutOfBoundsException; {:try_start_1e .. :try_end_32} :catch_34
13314 + move-result v2
13316 + :cond_33
13317 + :goto_33
13318 + return v2
13320 + :catch_34
13321 + move-exception v0
13323 + goto :goto_33
13324 +.end method
13326 +.method public moveToFirst()Z
13327 + .registers 4
13329 + const/4 v0, 0x0
13331 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13333 + if-eqz v1, :cond_f
13335 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13337 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13339 + aget v2, v2, v0
13341 + invoke-interface {v1, v2}, Landroid/database/Cursor;->moveToPosition(I)Z
13343 + move-result v0
13345 + :cond_f
13346 + return v0
13347 +.end method
13349 +.method public moveToLast()Z
13350 + .registers 5
13352 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13354 + if-eqz v1, :cond_14
13356 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13358 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13360 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13362 + array-length v3, v3
13364 + add-int/lit8 v3, v3, -0x1
13366 + aget v2, v2, v3
13368 + invoke-interface {v1, v2}, Landroid/database/Cursor;->moveToPosition(I)Z
13370 + move-result v0
13372 + :goto_13
13373 + return v0
13375 + :cond_14
13376 + const/4 v0, 0x0
13378 + goto :goto_13
13379 +.end method
13381 +.method public moveToNext()Z
13382 + .registers 3
13384 + const/4 v0, 0x0
13386 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13388 + if-eqz v1, :cond_d
13390 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13392 + invoke-interface {v1}, Landroid/database/Cursor;->moveToNext()Z
13394 + move-result v1
13396 + if-nez v1, :cond_e
13398 + :cond_d
13399 + return v0
13401 + :cond_e
13402 + const/4 v0, 0x1
13404 + :goto_f
13405 + const/4 v1, 0x1
13407 + if-ne v0, v1, :cond_d
13409 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13411 + invoke-direct {p0, v1}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(Landroid/database/Cursor;)Z
13413 + move-result v1
13415 + if-nez v1, :cond_d
13417 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13419 + invoke-interface {v1}, Landroid/database/Cursor;->moveToNext()Z
13421 + move-result v0
13423 + goto :goto_f
13424 +.end method
13426 +.method public moveToPosition(I)Z
13427 + .registers 6
13429 + const/4 v1, 0x0
13431 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13433 + if-eqz v2, :cond_f
13435 + :try_start_5
13436 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13438 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13440 + aget v3, v3, p1
13442 + invoke-interface {v2, v3}, Landroid/database/Cursor;->moveToPosition(I)Z
13443 + :try_end_e
13444 + .catch Ljava/lang/ArrayIndexOutOfBoundsException; {:try_start_5 .. :try_end_e} :catch_10
13446 + move-result v1
13448 + :cond_f
13449 + :goto_f
13450 + return v1
13452 + :catch_10
13453 + move-exception v0
13455 + goto :goto_f
13456 +.end method
13458 +.method public moveToPrevious()Z
13459 + .registers 3
13461 + const/4 v0, 0x0
13463 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13465 + if-eqz v1, :cond_d
13467 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13469 + invoke-interface {v1}, Landroid/database/Cursor;->moveToPrevious()Z
13471 + move-result v1
13473 + if-nez v1, :cond_e
13475 + :cond_d
13476 + return v0
13478 + :cond_e
13479 + const/4 v0, 0x1
13481 + :goto_f
13482 + const/4 v1, 0x1
13484 + if-ne v0, v1, :cond_d
13486 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13488 + invoke-direct {p0, v1}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(Landroid/database/Cursor;)Z
13490 + move-result v1
13492 + if-nez v1, :cond_d
13494 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13496 + invoke-interface {v1}, Landroid/database/Cursor;->moveToPrevious()Z
13498 + move-result v0
13500 + goto :goto_f
13501 +.end method
13503 +.method public registerContentObserver(Landroid/database/ContentObserver;)V
13504 + .registers 3
13506 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13508 + if-eqz v0, :cond_9
13510 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13512 + invoke-interface {v0, p1}, Landroid/database/Cursor;->registerContentObserver(Landroid/database/ContentObserver;)V
13514 + :cond_9
13515 + return-void
13516 +.end method
13518 +.method public registerDataSetObserver(Landroid/database/DataSetObserver;)V
13519 + .registers 3
13521 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13523 + if-eqz v0, :cond_9
13525 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13527 + invoke-interface {v0, p1}, Landroid/database/Cursor;->registerDataSetObserver(Landroid/database/DataSetObserver;)V
13529 + :cond_9
13530 + return-void
13531 +.end method
13533 +.method public requery()Z
13534 + .registers 2
13536 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13538 + if-eqz v0, :cond_b
13540 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13542 + invoke-interface {v0}, Landroid/database/Cursor;->requery()Z
13544 + move-result v0
13546 + :goto_a
13547 + return v0
13549 + :cond_b
13550 + const/4 v0, 0x0
13552 + goto :goto_a
13553 +.end method
13555 +.method public respond(Landroid/os/Bundle;)Landroid/os/Bundle;
13556 + .registers 3
13558 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13560 + if-eqz v0, :cond_b
13562 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13564 + invoke-interface {v0, p1}, Landroid/database/Cursor;->respond(Landroid/os/Bundle;)Landroid/os/Bundle;
13566 + move-result-object v0
13568 + :goto_a
13569 + return-object v0
13571 + :cond_b
13572 + new-instance v0, Landroid/os/Bundle;
13574 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
13576 + goto :goto_a
13577 +.end method
13579 +.method public setNotificationUri(Landroid/content/ContentResolver;Landroid/net/Uri;)V
13580 + .registers 4
13582 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13584 + if-eqz v0, :cond_9
13586 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13588 + invoke-interface {v0, p1, p2}, Landroid/database/Cursor;->setNotificationUri(Landroid/content/ContentResolver;Landroid/net/Uri;)V
13590 + :cond_9
13591 + return-void
13592 +.end method
13594 +.method public unregisterContentObserver(Landroid/database/ContentObserver;)V
13595 + .registers 3
13597 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13599 + if-eqz v0, :cond_9
13601 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13603 + invoke-interface {v0, p1}, Landroid/database/Cursor;->unregisterContentObserver(Landroid/database/ContentObserver;)V
13605 + :cond_9
13606 + return-void
13607 +.end method
13609 +.method public unregisterDataSetObserver(Landroid/database/DataSetObserver;)V
13610 + .registers 3
13612 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13614 + if-eqz v0, :cond_9
13616 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13618 + invoke-interface {v0, p1}, Landroid/database/Cursor;->unregisterDataSetObserver(Landroid/database/DataSetObserver;)V
13620 + :cond_9
13621 + return-void
13622 +.end method
13623 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali
13624 --- stock-framework/smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali 1969-12-31 18:00:00.000000000 -0600
13625 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali 2012-10-05 10:15:48.441126915 -0500
13626 @@ -0,0 +1,134 @@
13627 +.class Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
13628 +.super Ljava/lang/Thread;
13629 +.source "PrivacyLocationManager.java"
13632 +# annotations
13633 +.annotation system Ldalvik/annotation/EnclosingClass;
13634 + value = Landroid/privacy/surrogate/PrivacyLocationManager;
13635 +.end annotation
13637 +.annotation system Ldalvik/annotation/InnerClass;
13638 + accessFlags = 0x2
13639 + name = "PrivacyLocationUpdater"
13640 +.end annotation
13643 +# instance fields
13644 +.field private intent:Landroid/app/PendingIntent;
13646 +.field private latitude:D
13648 +.field private listener:Landroid/location/LocationListener;
13650 +.field private longitude:D
13652 +.field private provider:Ljava/lang/String;
13654 +.field final synthetic this$0:Landroid/privacy/surrogate/PrivacyLocationManager;
13657 +# direct methods
13658 +.method public constructor <init>(Landroid/privacy/surrogate/PrivacyLocationManager;Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;DD)V
13659 + .registers 9
13661 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->this$0:Landroid/privacy/surrogate/PrivacyLocationManager;
13663 + invoke-direct {p0}, Ljava/lang/Thread;-><init>()V
13665 + iput-object p2, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->provider:Ljava/lang/String;
13667 + iput-object p3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->listener:Landroid/location/LocationListener;
13669 + iput-object p4, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->intent:Landroid/app/PendingIntent;
13671 + iput-wide p5, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->latitude:D
13673 + iput-wide p7, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->longitude:D
13675 + return-void
13676 +.end method
13679 +# virtual methods
13680 +.method public run()V
13681 + .registers 8
13683 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->provider:Ljava/lang/String;
13685 + if-eqz v3, :cond_43
13687 + new-instance v2, Landroid/location/Location;
13689 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->provider:Ljava/lang/String;
13691 + invoke-direct {v2, v3}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
13693 + iget-wide v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->latitude:D
13695 + invoke-virtual {v2, v3, v4}, Landroid/location/Location;->setLatitude(D)V
13697 + iget-wide v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->longitude:D
13699 + invoke-virtual {v2, v3, v4}, Landroid/location/Location;->setLongitude(D)V
13701 + const/4 v1, 0x0
13703 + :goto_16
13704 + const/4 v3, 0x5
13706 + if-ge v1, v3, :cond_43
13708 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->listener:Landroid/location/LocationListener;
13710 + if-eqz v3, :cond_34
13712 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->listener:Landroid/location/LocationListener;
13714 + invoke-interface {v3, v2}, Landroid/location/LocationListener;->onLocationChanged(Landroid/location/Location;)V
13716 + :cond_22
13717 + :goto_22
13718 + :try_start_22
13719 + invoke-static {}, Ljava/lang/Math;->random()D
13721 + move-result-wide v3
13723 + const-wide v5, 0x408f400000000000L
13725 + mul-double/2addr v3, v5
13727 + double-to-int v3, v3
13729 + int-to-long v3, v3
13731 + invoke-static {v3, v4}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->sleep(J)V
13732 + :try_end_31
13733 + .catch Ljava/lang/InterruptedException; {:try_start_22 .. :try_end_31} :catch_3e
13735 + :goto_31
13736 + add-int/lit8 v1, v1, 0x1
13738 + goto :goto_16
13740 + :cond_34
13741 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->intent:Landroid/app/PendingIntent;
13743 + if-eqz v3, :cond_22
13745 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->intent:Landroid/app/PendingIntent;
13747 + invoke-virtual {v3}, Landroid/app/PendingIntent;->cancel()V
13749 + goto :goto_22
13751 + :catch_3e
13752 + move-exception v0
13754 + invoke-virtual {v0}, Ljava/lang/InterruptedException;->printStackTrace()V
13756 + goto :goto_31
13758 + :cond_43
13759 + return-void
13760 +.end method
13761 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyLocationManager.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyLocationManager.smali
13762 --- stock-framework/smali/android/privacy/surrogate/PrivacyLocationManager.smali 1969-12-31 18:00:00.000000000 -0600
13763 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyLocationManager.smali 2012-10-05 10:15:48.445126940 -0500
13764 @@ -0,0 +1,2091 @@
13765 +.class public final Landroid/privacy/surrogate/PrivacyLocationManager;
13766 +.super Landroid/location/LocationManager;
13767 +.source "PrivacyLocationManager.java"
13770 +# annotations
13771 +.annotation system Ldalvik/annotation/MemberClasses;
13772 + value = {
13773 + Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
13775 +.end annotation
13778 +# static fields
13779 +.field private static final CUSTOM_LOCATION_UPDATE_COUNT:I = 0x5
13781 +.field private static final TAG:Ljava/lang/String; = "PrivacyLocationManager"
13784 +# instance fields
13785 +.field private context:Landroid/content/Context;
13787 +.field private lock:Ljava/lang/Object;
13789 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
13792 +# direct methods
13793 +.method public constructor <init>(Landroid/location/ILocationManager;Landroid/content/Context;)V
13794 + .registers 5
13796 + invoke-direct {p0, p1}, Landroid/location/LocationManager;-><init>(Landroid/location/ILocationManager;)V
13798 + new-instance v0, Ljava/lang/Object;
13800 + invoke-direct {v0}, Ljava/lang/Object;-><init>()V
13802 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->lock:Ljava/lang/Object;
13804 + iput-object p2, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
13806 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
13808 + const-string/jumbo v1, "privacy"
13810 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
13812 + move-result-object v1
13814 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
13816 + move-result-object v1
13818 + invoke-direct {v0, p2, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
13820 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
13822 + return-void
13823 +.end method
13825 +.method private requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
13826 + .registers 7
13828 + const/4 v2, 0x3
13830 + if-nez p1, :cond_5
13832 + const/4 v0, 0x0
13834 + :goto_4
13835 + return v0
13837 + :cond_5
13838 + invoke-virtual {p1}, Landroid/location/Criteria;->getAccuracy()I
13840 + move-result v0
13842 + const/4 v1, 0x1
13844 + if-eq v0, v1, :cond_24
13846 + invoke-virtual {p1}, Landroid/location/Criteria;->getBearingAccuracy()I
13848 + move-result v0
13850 + if-eq v0, v2, :cond_24
13852 + invoke-virtual {p1}, Landroid/location/Criteria;->getHorizontalAccuracy()I
13854 + move-result v0
13856 + if-eq v0, v2, :cond_24
13858 + invoke-virtual {p1}, Landroid/location/Criteria;->getVerticalAccuracy()I
13860 + move-result v0
13862 + if-eq v0, v2, :cond_24
13864 + invoke-virtual {p1}, Landroid/location/Criteria;->getSpeedAccuracy()I
13866 + move-result v0
13868 + if-ne v0, v2, :cond_2b
13870 + :cond_24
13871 + const-string v0, "gps"
13873 + invoke-direct {p0, v0, p2, p3}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
13875 + move-result v0
13877 + goto :goto_4
13879 + :cond_2b
13880 + const-string/jumbo v0, "network"
13882 + invoke-direct {p0, v0, p2, p3}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
13884 + move-result v0
13886 + goto :goto_4
13887 +.end method
13889 +.method private requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
13890 + .registers 24
13892 + move-object/from16 v0, p0
13894 + iget-object v0, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->lock:Ljava/lang/Object;
13896 + move-object/from16 v19, v0
13898 + monitor-enter v19
13900 + :try_start_7
13901 + move-object/from16 v0, p0
13903 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
13905 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
13907 + move-result-object v2
13909 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
13911 + move-result v3
13913 + move-object/from16 v0, p0
13915 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
13917 + invoke-virtual {v1, v2, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
13919 + move-result-object v7
13921 + const/16 v18, 0x0
13923 + if-eqz v7, :cond_239
13925 + const-string v1, "gps"
13927 + move-object/from16 v0, p1
13929 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
13931 + move-result v1
13933 + if-eqz v1, :cond_111
13935 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
13937 + move-result v1
13939 + packed-switch v1, :pswitch_data_25e
13941 + :cond_30
13942 + :goto_30
13943 + monitor-exit v19
13945 + return v18
13947 + :pswitch_32
13948 + move-object/from16 v0, p0
13950 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
13952 + const/4 v4, 0x0
13954 + const-string v5, "locationGPS"
13956 + const/4 v6, 0x0
13958 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
13960 + goto :goto_30
13962 + :catchall_3e
13963 + move-exception v1
13965 + monitor-exit v19
13966 + :try_end_40
13967 + .catchall {:try_start_7 .. :try_end_40} :catchall_3e
13969 + throw v1
13971 + :pswitch_41
13972 + if-eqz p3, :cond_46
13974 + :try_start_43
13975 + invoke-virtual/range {p3 .. p3}, Landroid/app/PendingIntent;->cancel()V
13977 + :cond_46
13978 + const/16 v18, 0x1
13980 + move-object/from16 v0, p0
13982 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
13984 + const/4 v4, 0x1
13986 + const-string v5, "locationGPS"
13988 + const/4 v6, 0x0
13990 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
13991 + :try_end_53
13992 + .catchall {:try_start_43 .. :try_end_53} :catchall_3e
13994 + goto :goto_30
13996 + :pswitch_54
13997 + :try_start_54
13998 + new-instance v8, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
14000 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
14002 + move-result-object v1
14004 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14006 + move-result-wide v13
14008 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
14010 + move-result-object v1
14012 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14014 + move-result-wide v15
14016 + move-object/from16 v9, p0
14018 + move-object/from16 v10, p1
14020 + move-object/from16 v11, p2
14022 + move-object/from16 v12, p3
14024 + 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
14026 + invoke-virtual {v8}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->start()V
14027 + :try_end_74
14028 + .catchall {:try_start_54 .. :try_end_74} :catchall_3e
14029 + .catch Ljava/lang/NumberFormatException; {:try_start_54 .. :try_end_74} :catch_a6
14031 + const/16 v18, 0x1
14033 + :goto_76
14034 + :try_start_76
14035 + move-object/from16 v0, p0
14037 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14039 + const/4 v4, 0x2
14041 + const-string v5, "locationGPS"
14043 + new-instance v6, Ljava/lang/StringBuilder;
14045 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
14047 + const-string v8, "Lat: "
14049 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14051 + move-result-object v6
14053 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
14055 + move-result-object v8
14057 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14059 + move-result-object v6
14061 + const-string v8, " Lon: "
14063 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14065 + move-result-object v6
14067 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
14069 + move-result-object v8
14071 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14073 + move-result-object v6
14075 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14077 + move-result-object v6
14079 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14081 + goto :goto_30
14083 + :catch_a6
14084 + move-exception v17
14086 + const-string v1, "PrivacyLocationManager"
14088 + const-string/jumbo v4, "requestLocationUpdates: invalid coordinates"
14090 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
14091 + :try_end_af
14092 + .catchall {:try_start_76 .. :try_end_af} :catchall_3e
14094 + const/16 v18, 0x1
14096 + goto :goto_76
14098 + :pswitch_b2
14099 + :try_start_b2
14100 + new-instance v8, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
14102 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
14104 + move-result-object v1
14106 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14108 + move-result-wide v13
14110 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
14112 + move-result-object v1
14114 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14116 + move-result-wide v15
14118 + move-object/from16 v9, p0
14120 + move-object/from16 v10, p1
14122 + move-object/from16 v11, p2
14124 + move-object/from16 v12, p3
14126 + 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
14128 + invoke-virtual {v8}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->start()V
14129 + :try_end_d2
14130 + .catchall {:try_start_b2 .. :try_end_d2} :catchall_3e
14131 + .catch Ljava/lang/NumberFormatException; {:try_start_b2 .. :try_end_d2} :catch_105
14133 + const/16 v18, 0x1
14135 + :goto_d4
14136 + :try_start_d4
14137 + move-object/from16 v0, p0
14139 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14141 + const/4 v4, 0x3
14143 + const-string v5, "locationGPS"
14145 + new-instance v6, Ljava/lang/StringBuilder;
14147 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
14149 + const-string v8, "Lat: "
14151 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14153 + move-result-object v6
14155 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
14157 + move-result-object v8
14159 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14161 + move-result-object v6
14163 + const-string v8, " Lon: "
14165 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14167 + move-result-object v6
14169 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
14171 + move-result-object v8
14173 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14175 + move-result-object v6
14177 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14179 + move-result-object v6
14181 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14183 + goto/16 :goto_30
14185 + :catch_105
14186 + move-exception v17
14188 + const-string v1, "PrivacyLocationManager"
14190 + const-string/jumbo v4, "requestLocationUpdates: invalid coordinates"
14192 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
14194 + const/16 v18, 0x1
14196 + goto :goto_d4
14198 + :cond_111
14199 + const-string/jumbo v1, "network"
14201 + move-object/from16 v0, p1
14203 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
14205 + move-result v1
14207 + if-eqz v1, :cond_204
14209 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
14211 + move-result v1
14213 + packed-switch v1, :pswitch_data_26a
14215 + goto/16 :goto_30
14217 + :pswitch_125
14218 + move-object/from16 v0, p0
14220 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14222 + const/4 v4, 0x0
14224 + const-string v5, "locationNetwork"
14226 + const/4 v6, 0x0
14228 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14230 + goto/16 :goto_30
14232 + :pswitch_132
14233 + if-eqz p3, :cond_137
14235 + invoke-virtual/range {p3 .. p3}, Landroid/app/PendingIntent;->cancel()V
14237 + :cond_137
14238 + const/16 v18, 0x1
14240 + move-object/from16 v0, p0
14242 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14244 + const/4 v4, 0x1
14246 + const-string v5, "locationNetwork"
14248 + const/4 v6, 0x0
14250 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14251 + :try_end_144
14252 + .catchall {:try_start_d4 .. :try_end_144} :catchall_3e
14254 + goto/16 :goto_30
14256 + :pswitch_146
14257 + :try_start_146
14258 + new-instance v8, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
14260 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
14262 + move-result-object v1
14264 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14266 + move-result-wide v13
14268 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
14270 + move-result-object v1
14272 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14274 + move-result-wide v15
14276 + move-object/from16 v9, p0
14278 + move-object/from16 v10, p1
14280 + move-object/from16 v11, p2
14282 + move-object/from16 v12, p3
14284 + 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
14286 + invoke-virtual {v8}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->start()V
14287 + :try_end_166
14288 + .catchall {:try_start_146 .. :try_end_166} :catchall_3e
14289 + .catch Ljava/lang/NumberFormatException; {:try_start_146 .. :try_end_166} :catch_199
14291 + const/16 v18, 0x1
14293 + :goto_168
14294 + :try_start_168
14295 + move-object/from16 v0, p0
14297 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14299 + const/4 v4, 0x2
14301 + const-string v5, "locationNetwork"
14303 + new-instance v6, Ljava/lang/StringBuilder;
14305 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
14307 + const-string v8, "Lat: "
14309 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14311 + move-result-object v6
14313 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
14315 + move-result-object v8
14317 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14319 + move-result-object v6
14321 + const-string v8, " Lon: "
14323 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14325 + move-result-object v6
14327 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
14329 + move-result-object v8
14331 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14333 + move-result-object v6
14335 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14337 + move-result-object v6
14339 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14341 + goto/16 :goto_30
14343 + :catch_199
14344 + move-exception v17
14346 + const-string v1, "PrivacyLocationManager"
14348 + const-string/jumbo v4, "requestLocationUpdates: invalid coordinates"
14350 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
14351 + :try_end_1a2
14352 + .catchall {:try_start_168 .. :try_end_1a2} :catchall_3e
14354 + const/16 v18, 0x1
14356 + goto :goto_168
14358 + :pswitch_1a5
14359 + :try_start_1a5
14360 + new-instance v8, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
14362 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
14364 + move-result-object v1
14366 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14368 + move-result-wide v13
14370 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
14372 + move-result-object v1
14374 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14376 + move-result-wide v15
14378 + move-object/from16 v9, p0
14380 + move-object/from16 v10, p1
14382 + move-object/from16 v11, p2
14384 + move-object/from16 v12, p3
14386 + 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
14388 + invoke-virtual {v8}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->start()V
14389 + :try_end_1c5
14390 + .catchall {:try_start_1a5 .. :try_end_1c5} :catchall_3e
14391 + .catch Ljava/lang/NumberFormatException; {:try_start_1a5 .. :try_end_1c5} :catch_1f8
14393 + const/16 v18, 0x1
14395 + :goto_1c7
14396 + :try_start_1c7
14397 + move-object/from16 v0, p0
14399 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14401 + const/4 v4, 0x3
14403 + const-string v5, "locationNetwork"
14405 + new-instance v6, Ljava/lang/StringBuilder;
14407 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
14409 + const-string v8, "Lat: "
14411 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14413 + move-result-object v6
14415 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
14417 + move-result-object v8
14419 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14421 + move-result-object v6
14423 + const-string v8, " Lon: "
14425 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14427 + move-result-object v6
14429 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
14431 + move-result-object v8
14433 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14435 + move-result-object v6
14437 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14439 + move-result-object v6
14441 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14443 + goto/16 :goto_30
14445 + :catch_1f8
14446 + move-exception v17
14448 + const-string v1, "PrivacyLocationManager"
14450 + const-string/jumbo v4, "requestLocationUpdates: invalid coordinates"
14452 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
14454 + const/16 v18, 0x1
14456 + goto :goto_1c7
14458 + :cond_204
14459 + const-string/jumbo v1, "passive"
14461 + move-object/from16 v0, p1
14463 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
14465 + move-result v1
14467 + if-eqz v1, :cond_30
14469 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
14471 + move-result v1
14473 + if-nez v1, :cond_22a
14475 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
14477 + move-result v1
14479 + if-nez v1, :cond_22a
14481 + const/16 v18, 0x0
14483 + move-object/from16 v0, p0
14485 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14487 + const/4 v4, 0x0
14489 + const-string v5, "locationGPS"
14491 + const/4 v6, 0x0
14493 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14495 + goto/16 :goto_30
14497 + :cond_22a
14498 + const/16 v18, 0x1
14500 + move-object/from16 v0, p0
14502 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14504 + const/4 v4, 0x1
14506 + const-string v5, "locationGPS"
14508 + const/4 v6, 0x0
14510 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14512 + goto/16 :goto_30
14514 + :cond_239
14515 + const-string/jumbo v1, "network"
14517 + move-object/from16 v0, p1
14519 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
14521 + move-result v1
14523 + if-eqz v1, :cond_251
14525 + move-object/from16 v0, p0
14527 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14529 + const/4 v4, 0x0
14531 + const-string v5, "locationNetwork"
14533 + const/4 v6, 0x0
14535 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14537 + goto/16 :goto_30
14539 + :cond_251
14540 + move-object/from16 v0, p0
14542 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14544 + const/4 v4, 0x0
14546 + const-string v5, "locationGPS"
14548 + const/4 v6, 0x0
14550 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14551 + :try_end_25c
14552 + .catchall {:try_start_1c7 .. :try_end_25c} :catchall_3e
14554 + goto/16 :goto_30
14556 + :pswitch_data_25e
14557 + .packed-switch 0x0
14558 + :pswitch_32
14559 + :pswitch_41
14560 + :pswitch_54
14561 + :pswitch_b2
14562 + .end packed-switch
14564 + :pswitch_data_26a
14565 + .packed-switch 0x0
14566 + :pswitch_125
14567 + :pswitch_132
14568 + :pswitch_146
14569 + :pswitch_1a5
14570 + .end packed-switch
14571 +.end method
14574 +# virtual methods
14575 +.method public addNmeaListener(Landroid/location/GpsStatus$NmeaListener;)Z
14576 + .registers 10
14578 + const/4 v5, 0x0
14580 + const/4 v7, 0x0
14582 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
14584 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
14586 + move-result-object v1
14588 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
14590 + move-result v2
14592 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14594 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
14596 + move-result-object v6
14598 + if-eqz v6, :cond_24
14600 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
14602 + move-result v0
14604 + if-eqz v0, :cond_24
14606 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14608 + const/4 v3, 0x1
14610 + const-string v4, "locationGPS"
14612 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14614 + move v0, v7
14616 + :goto_23
14617 + return v0
14619 + :cond_24
14620 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14622 + const-string v4, "locationGPS"
14624 + move v3, v7
14626 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14628 + invoke-super {p0, p1}, Landroid/location/LocationManager;->addNmeaListener(Landroid/location/GpsStatus$NmeaListener;)Z
14630 + move-result v0
14632 + goto :goto_23
14633 +.end method
14635 +.method public getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
14636 + .registers 14
14638 + const/4 v11, 0x3
14640 + const/4 v10, 0x2
14642 + const/4 v8, 0x1
14644 + const/4 v3, 0x0
14646 + const/4 v5, 0x0
14648 + if-nez p1, :cond_c
14650 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
14652 + move-result-object v7
14654 + :cond_b
14655 + :goto_b
14656 + return-object v7
14658 + :cond_c
14659 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
14661 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
14663 + move-result-object v1
14665 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
14667 + move-result v2
14669 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14671 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
14673 + move-result-object v6
14675 + const/4 v7, 0x0
14677 + if-eqz v6, :cond_22c
14679 + const-string v0, "gps"
14681 + invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
14683 + move-result v0
14685 + if-eqz v0, :cond_ff
14687 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
14689 + move-result v0
14691 + packed-switch v0, :pswitch_data_29a
14693 + goto :goto_b
14695 + :pswitch_2f
14696 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
14698 + move-result-object v7
14700 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14702 + const-string v4, "locationGPS"
14704 + if-eqz v7, :cond_5e
14706 + new-instance v5, Ljava/lang/StringBuilder;
14708 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
14710 + const-string v8, "Lat: "
14712 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14714 + move-result-object v5
14716 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
14718 + move-result-wide v8
14720 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
14722 + move-result-object v5
14724 + const-string v8, " Lon: "
14726 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14728 + move-result-object v5
14730 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
14732 + move-result-wide v8
14734 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
14736 + move-result-object v5
14738 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14740 + move-result-object v5
14742 + :cond_5e
14743 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14745 + goto :goto_b
14747 + :pswitch_62
14748 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14750 + const-string v4, "locationGPS"
14752 + move v3, v8
14754 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14756 + goto :goto_b
14758 + :pswitch_6b
14759 + new-instance v7, Landroid/location/Location;
14761 + invoke-direct {v7, p1}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
14763 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
14765 + move-result-object v0
14767 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14769 + move-result-wide v3
14771 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLatitude(D)V
14773 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
14775 + move-result-object v0
14777 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14779 + move-result-wide v3
14781 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLongitude(D)V
14783 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14785 + const-string v4, "locationGPS"
14787 + new-instance v3, Ljava/lang/StringBuilder;
14789 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
14791 + const-string v5, "Lat: "
14793 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14795 + move-result-object v3
14797 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
14799 + move-result-wide v8
14801 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
14803 + move-result-object v3
14805 + const-string v5, " Lon: "
14807 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14809 + move-result-object v3
14811 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
14813 + move-result-wide v8
14815 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
14817 + move-result-object v3
14819 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14821 + move-result-object v5
14823 + move v3, v10
14825 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14827 + goto/16 :goto_b
14829 + :pswitch_b5
14830 + new-instance v7, Landroid/location/Location;
14832 + invoke-direct {v7, p1}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
14834 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
14836 + move-result-object v0
14838 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14840 + move-result-wide v3
14842 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLatitude(D)V
14844 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
14846 + move-result-object v0
14848 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14850 + move-result-wide v3
14852 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLongitude(D)V
14854 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14856 + const-string v4, "locationGPS"
14858 + new-instance v3, Ljava/lang/StringBuilder;
14860 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
14862 + const-string v5, "Lat: "
14864 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14866 + move-result-object v3
14868 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
14870 + move-result-wide v8
14872 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
14874 + move-result-object v3
14876 + const-string v5, " Lon: "
14878 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14880 + move-result-object v3
14882 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
14884 + move-result-wide v8
14886 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
14888 + move-result-object v3
14890 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14892 + move-result-object v5
14894 + move v3, v11
14896 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14898 + goto/16 :goto_b
14900 + :cond_ff
14901 + const-string/jumbo v0, "network"
14903 + invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
14905 + move-result v0
14907 + if-eqz v0, :cond_1e3
14909 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
14911 + move-result v0
14913 + packed-switch v0, :pswitch_data_2a6
14915 + goto/16 :goto_b
14917 + :pswitch_111
14918 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
14920 + move-result-object v7
14922 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14924 + const-string v4, "locationNetwork"
14926 + if-eqz v7, :cond_140
14928 + new-instance v5, Ljava/lang/StringBuilder;
14930 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
14932 + const-string v8, "Lat: "
14934 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14936 + move-result-object v5
14938 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
14940 + move-result-wide v8
14942 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
14944 + move-result-object v5
14946 + const-string v8, " Lon: "
14948 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14950 + move-result-object v5
14952 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
14954 + move-result-wide v8
14956 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
14958 + move-result-object v5
14960 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14962 + move-result-object v5
14964 + :cond_140
14965 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14967 + goto/16 :goto_b
14969 + :pswitch_145
14970 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14972 + const-string v4, "locationNetwork"
14974 + move v3, v8
14976 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14978 + goto/16 :goto_b
14980 + :pswitch_14f
14981 + new-instance v7, Landroid/location/Location;
14983 + invoke-direct {v7, p1}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
14985 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
14987 + move-result-object v0
14989 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14991 + move-result-wide v3
14993 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLatitude(D)V
14995 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
14997 + move-result-object v0
14999 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
15001 + move-result-wide v3
15003 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLongitude(D)V
15005 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15007 + const-string v4, "locationNetwork"
15009 + new-instance v3, Ljava/lang/StringBuilder;
15011 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
15013 + const-string v5, "Lat: "
15015 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15017 + move-result-object v3
15019 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15021 + move-result-wide v8
15023 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15025 + move-result-object v3
15027 + const-string v5, " Lon: "
15029 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15031 + move-result-object v3
15033 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15035 + move-result-wide v8
15037 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15039 + move-result-object v3
15041 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15043 + move-result-object v5
15045 + move v3, v10
15047 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15049 + goto/16 :goto_b
15051 + :pswitch_199
15052 + new-instance v7, Landroid/location/Location;
15054 + invoke-direct {v7, p1}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
15056 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
15058 + move-result-object v0
15060 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
15062 + move-result-wide v3
15064 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLatitude(D)V
15066 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
15068 + move-result-object v0
15070 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
15072 + move-result-wide v3
15074 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLongitude(D)V
15076 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15078 + const-string v4, "locationNetwork"
15080 + new-instance v3, Ljava/lang/StringBuilder;
15082 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
15084 + const-string v5, "Lat: "
15086 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15088 + move-result-object v3
15090 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15092 + move-result-wide v8
15094 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15096 + move-result-object v3
15098 + const-string v5, " Lon: "
15100 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15102 + move-result-object v3
15104 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15106 + move-result-wide v8
15108 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15110 + move-result-object v3
15112 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15114 + move-result-object v5
15116 + move v3, v11
15118 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15120 + goto/16 :goto_b
15122 + :cond_1e3
15123 + const-string/jumbo v0, "passive"
15125 + invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15127 + move-result v0
15129 + if-eqz v0, :cond_b
15131 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
15133 + move-result v0
15135 + if-nez v0, :cond_b
15137 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15139 + move-result v0
15141 + if-nez v0, :cond_b
15143 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
15145 + move-result-object v7
15147 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15149 + const-string v4, "locationGPS"
15151 + if-eqz v7, :cond_227
15153 + new-instance v5, Ljava/lang/StringBuilder;
15155 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
15157 + const-string v8, "Lat: "
15159 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15161 + move-result-object v5
15163 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15165 + move-result-wide v8
15167 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15169 + move-result-object v5
15171 + const-string v8, " Lon: "
15173 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15175 + move-result-object v5
15177 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15179 + move-result-wide v8
15181 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15183 + move-result-object v5
15185 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15187 + move-result-object v5
15189 + :cond_227
15190 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15192 + goto/16 :goto_b
15194 + :cond_22c
15195 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
15197 + move-result-object v7
15199 + const-string/jumbo v0, "network"
15201 + invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15203 + move-result v0
15205 + if-eqz v0, :cond_269
15207 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15209 + const-string v4, "locationNetwork"
15211 + if-eqz v7, :cond_264
15213 + new-instance v5, Ljava/lang/StringBuilder;
15215 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
15217 + const-string v8, "Lat: "
15219 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15221 + move-result-object v5
15223 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15225 + move-result-wide v8
15227 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15229 + move-result-object v5
15231 + const-string v8, " Lon: "
15233 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15235 + move-result-object v5
15237 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15239 + move-result-wide v8
15241 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15243 + move-result-object v5
15245 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15247 + move-result-object v5
15249 + :cond_264
15250 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15252 + goto/16 :goto_b
15254 + :cond_269
15255 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15257 + const-string v4, "locationGPS"
15259 + if-eqz v7, :cond_294
15261 + new-instance v5, Ljava/lang/StringBuilder;
15263 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
15265 + const-string v8, "Lat: "
15267 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15269 + move-result-object v5
15271 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15273 + move-result-wide v8
15275 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15277 + move-result-object v5
15279 + const-string v8, " Lon: "
15281 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15283 + move-result-object v5
15285 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15287 + move-result-wide v8
15289 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15291 + move-result-object v5
15293 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15295 + move-result-object v5
15297 + :cond_294
15298 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15300 + goto/16 :goto_b
15302 + nop
15304 + :pswitch_data_29a
15305 + .packed-switch 0x0
15306 + :pswitch_2f
15307 + :pswitch_62
15308 + :pswitch_6b
15309 + :pswitch_b5
15310 + .end packed-switch
15312 + :pswitch_data_2a6
15313 + .packed-switch 0x0
15314 + :pswitch_111
15315 + :pswitch_145
15316 + :pswitch_14f
15317 + :pswitch_199
15318 + .end packed-switch
15319 +.end method
15321 +.method public getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15322 + .registers 7
15324 + if-nez p1, :cond_7
15326 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15328 + move-result-object v0
15330 + :cond_6
15331 + :goto_6
15332 + return-object v0
15334 + :cond_7
15335 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15337 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
15339 + invoke-virtual {v3}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
15341 + move-result-object v3
15343 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
15345 + move-result v4
15347 + invoke-virtual {v2, v3, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
15349 + move-result-object v1
15351 + const/4 v0, 0x0
15353 + if-eqz v1, :cond_5f
15355 + const-string v2, "gps"
15357 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15359 + move-result v2
15361 + if-eqz v2, :cond_2f
15363 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
15365 + move-result v2
15367 + packed-switch v2, :pswitch_data_64
15369 + :pswitch_29
15370 + goto :goto_6
15372 + :pswitch_2a
15373 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15375 + move-result-object v0
15377 + goto :goto_6
15379 + :cond_2f
15380 + const-string/jumbo v2, "network"
15382 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15384 + move-result v2
15386 + if-eqz v2, :cond_45
15388 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15390 + move-result v2
15392 + packed-switch v2, :pswitch_data_70
15394 + :pswitch_3f
15395 + goto :goto_6
15397 + :pswitch_40
15398 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15400 + move-result-object v0
15402 + goto :goto_6
15404 + :cond_45
15405 + const-string/jumbo v2, "passive"
15407 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15409 + move-result v2
15411 + if-eqz v2, :cond_6
15413 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
15415 + move-result v2
15417 + if-eqz v2, :cond_5a
15419 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15421 + move-result v2
15423 + if-nez v2, :cond_6
15425 + :cond_5a
15426 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15428 + move-result-object v0
15430 + goto :goto_6
15432 + :cond_5f
15433 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15435 + move-result-object v0
15437 + goto :goto_6
15439 + :pswitch_data_64
15440 + .packed-switch 0x0
15441 + :pswitch_2a
15442 + :pswitch_29
15443 + :pswitch_2a
15444 + :pswitch_2a
15445 + .end packed-switch
15447 + :pswitch_data_70
15448 + .packed-switch 0x0
15449 + :pswitch_40
15450 + :pswitch_3f
15451 + :pswitch_40
15452 + :pswitch_40
15453 + .end packed-switch
15454 +.end method
15456 +.method public isProviderEnabled(Ljava/lang/String;)Z
15457 + .registers 7
15459 + if-nez p1, :cond_7
15461 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
15463 + move-result v0
15465 + :cond_6
15466 + :goto_6
15467 + :pswitch_6
15468 + return v0
15470 + :cond_7
15471 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15473 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
15475 + invoke-virtual {v3}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
15477 + move-result-object v3
15479 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
15481 + move-result v4
15483 + invoke-virtual {v2, v3, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
15485 + move-result-object v1
15487 + const/4 v0, 0x0
15489 + if-eqz v1, :cond_65
15491 + const-string v2, "gps"
15493 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15495 + move-result v2
15497 + if-eqz v2, :cond_31
15499 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
15501 + move-result v2
15503 + packed-switch v2, :pswitch_data_6a
15505 + goto :goto_6
15507 + :pswitch_2a
15508 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
15510 + move-result v0
15512 + goto :goto_6
15514 + :pswitch_2f
15515 + const/4 v0, 0x1
15517 + goto :goto_6
15519 + :cond_31
15520 + const-string/jumbo v2, "network"
15522 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15524 + move-result v2
15526 + if-eqz v2, :cond_49
15528 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15530 + move-result v2
15532 + packed-switch v2, :pswitch_data_76
15534 + goto :goto_6
15536 + :pswitch_42
15537 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
15539 + move-result v0
15541 + goto :goto_6
15543 + :pswitch_47
15544 + const/4 v0, 0x1
15546 + goto :goto_6
15548 + :cond_49
15549 + const-string/jumbo v2, "passive"
15551 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15553 + move-result v2
15555 + if-eqz v2, :cond_6
15557 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
15559 + move-result v2
15561 + if-eqz v2, :cond_5e
15563 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15565 + move-result v2
15567 + if-nez v2, :cond_63
15569 + :cond_5e
15570 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
15572 + move-result v0
15574 + goto :goto_6
15576 + :cond_63
15577 + const/4 v0, 0x0
15579 + goto :goto_6
15581 + :cond_65
15582 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
15584 + move-result v0
15586 + goto :goto_6
15588 + :pswitch_data_6a
15589 + .packed-switch 0x0
15590 + :pswitch_2a
15591 + :pswitch_6
15592 + :pswitch_2f
15593 + :pswitch_2f
15594 + .end packed-switch
15596 + :pswitch_data_76
15597 + .packed-switch 0x0
15598 + :pswitch_42
15599 + :pswitch_6
15600 + :pswitch_47
15601 + :pswitch_47
15602 + .end packed-switch
15603 +.end method
15605 +.method public requestLocationUpdates(JFLandroid/location/Criteria;Landroid/app/PendingIntent;)V
15606 + .registers 7
15608 + if-eqz p4, :cond_4
15610 + if-nez p5, :cond_8
15612 + :cond_4
15613 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/app/PendingIntent;)V
15615 + :cond_7
15616 + :goto_7
15617 + return-void
15619 + :cond_8
15620 + const/4 v0, 0x0
15622 + invoke-direct {p0, p4, v0, p5}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15624 + move-result v0
15626 + if-nez v0, :cond_7
15628 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/app/PendingIntent;)V
15630 + goto :goto_7
15631 +.end method
15633 +.method public requestLocationUpdates(JFLandroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
15634 + .registers 8
15636 + if-eqz p4, :cond_4
15638 + if-nez p5, :cond_8
15640 + :cond_4
15641 + invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
15643 + :cond_7
15644 + :goto_7
15645 + return-void
15647 + :cond_8
15648 + const/4 v0, 0x0
15650 + invoke-direct {p0, p4, p5, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15652 + move-result v0
15654 + if-nez v0, :cond_7
15656 + invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
15658 + goto :goto_7
15659 +.end method
15661 +.method public requestLocationUpdates(Ljava/lang/String;JFLandroid/app/PendingIntent;)V
15662 + .registers 7
15664 + if-eqz p1, :cond_4
15666 + if-nez p5, :cond_8
15668 + :cond_4
15669 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/app/PendingIntent;)V
15671 + :cond_7
15672 + :goto_7
15673 + return-void
15675 + :cond_8
15676 + const/4 v0, 0x0
15678 + invoke-direct {p0, p1, v0, p5}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15680 + move-result v0
15682 + if-nez v0, :cond_7
15684 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/app/PendingIntent;)V
15686 + goto :goto_7
15687 +.end method
15689 +.method public requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;)V
15690 + .registers 7
15692 + if-eqz p1, :cond_4
15694 + if-nez p5, :cond_8
15696 + :cond_4
15697 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;)V
15699 + :cond_7
15700 + :goto_7
15701 + return-void
15703 + :cond_8
15704 + const/4 v0, 0x0
15706 + invoke-direct {p0, p1, p5, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15708 + move-result v0
15710 + if-nez v0, :cond_7
15712 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;)V
15714 + goto :goto_7
15715 +.end method
15717 +.method public requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;Landroid/os/Looper;)V
15718 + .registers 8
15720 + if-eqz p1, :cond_4
15722 + if-nez p5, :cond_8
15724 + :cond_4
15725 + invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;Landroid/os/Looper;)V
15727 + :cond_7
15728 + :goto_7
15729 + return-void
15731 + :cond_8
15732 + const/4 v0, 0x0
15734 + invoke-direct {p0, p1, p5, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15736 + move-result v0
15738 + if-nez v0, :cond_7
15740 + invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;Landroid/os/Looper;)V
15742 + goto :goto_7
15743 +.end method
15745 +.method public requestSingleUpdate(Landroid/location/Criteria;Landroid/app/PendingIntent;)V
15746 + .registers 4
15748 + if-eqz p1, :cond_4
15750 + if-nez p2, :cond_8
15752 + :cond_4
15753 + invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/app/PendingIntent;)V
15755 + :cond_7
15756 + :goto_7
15757 + return-void
15759 + :cond_8
15760 + const/4 v0, 0x0
15762 + invoke-direct {p0, p1, v0, p2}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15764 + move-result v0
15766 + if-nez v0, :cond_7
15768 + invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/app/PendingIntent;)V
15770 + goto :goto_7
15771 +.end method
15773 +.method public requestSingleUpdate(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
15774 + .registers 5
15776 + if-eqz p1, :cond_4
15778 + if-nez p2, :cond_8
15780 + :cond_4
15781 + invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
15783 + :cond_7
15784 + :goto_7
15785 + return-void
15787 + :cond_8
15788 + const/4 v0, 0x0
15790 + invoke-direct {p0, p1, p2, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15792 + move-result v0
15794 + if-nez v0, :cond_7
15796 + invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
15798 + goto :goto_7
15799 +.end method
15801 +.method public requestSingleUpdate(Ljava/lang/String;Landroid/app/PendingIntent;)V
15802 + .registers 4
15804 + if-eqz p1, :cond_4
15806 + if-nez p2, :cond_8
15808 + :cond_4
15809 + invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/app/PendingIntent;)V
15811 + :cond_7
15812 + :goto_7
15813 + return-void
15815 + :cond_8
15816 + const/4 v0, 0x0
15818 + invoke-direct {p0, p1, v0, p2}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15820 + move-result v0
15822 + if-nez v0, :cond_7
15824 + invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/app/PendingIntent;)V
15826 + goto :goto_7
15827 +.end method
15829 +.method public requestSingleUpdate(Ljava/lang/String;Landroid/location/LocationListener;Landroid/os/Looper;)V
15830 + .registers 5
15832 + if-eqz p1, :cond_4
15834 + if-nez p2, :cond_8
15836 + :cond_4
15837 + invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/location/LocationListener;Landroid/os/Looper;)V
15839 + :cond_7
15840 + :goto_7
15841 + return-void
15843 + :cond_8
15844 + const/4 v0, 0x0
15846 + invoke-direct {p0, p1, p2, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15848 + move-result v0
15850 + if-nez v0, :cond_7
15852 + invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/location/LocationListener;Landroid/os/Looper;)V
15854 + goto :goto_7
15855 +.end method
15856 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyTelephonyManager.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyTelephonyManager.smali
15857 --- stock-framework/smali/android/privacy/surrogate/PrivacyTelephonyManager.smali 1969-12-31 18:00:00.000000000 -0600
15858 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyTelephonyManager.smali 2012-10-05 10:15:48.445126940 -0500
15859 @@ -0,0 +1,731 @@
15860 +.class public final Landroid/privacy/surrogate/PrivacyTelephonyManager;
15861 +.super Landroid/telephony/TelephonyManager;
15862 +.source "PrivacyTelephonyManager.java"
15865 +# static fields
15866 +.field private static final TAG:Ljava/lang/String; = "PrivacyTelephonyManager"
15869 +# instance fields
15870 +.field private context:Landroid/content/Context;
15872 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
15875 +# direct methods
15876 +.method public constructor <init>(Landroid/content/Context;)V
15877 + .registers 4
15879 + invoke-direct {p0, p1}, Landroid/telephony/TelephonyManager;-><init>(Landroid/content/Context;)V
15881 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
15883 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
15885 + const-string/jumbo v1, "privacy"
15887 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
15889 + move-result-object v1
15891 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
15893 + move-result-object v1
15895 + invoke-direct {v0, p1, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
15897 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15899 + return-void
15900 +.end method
15902 +.method private getNetworkInfo()Ljava/lang/String;
15903 + .registers 8
15905 + const/4 v5, 0x0
15907 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
15909 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
15911 + move-result-object v1
15913 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
15915 + move-result v2
15917 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15919 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
15921 + move-result-object v6
15923 + if-eqz v6, :cond_25
15925 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
15927 + move-result v0
15929 + if-eqz v0, :cond_25
15931 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15933 + const/4 v3, 0x1
15935 + const-string/jumbo v4, "networkInfoCurrent"
15937 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15939 + const-string v5, ""
15941 + :goto_24
15942 + return-object v5
15944 + :cond_25
15945 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15947 + const/4 v3, 0x0
15949 + const-string/jumbo v4, "networkInfoCurrent"
15951 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15953 + goto :goto_24
15954 +.end method
15956 +.method private getSimInfo()Ljava/lang/String;
15957 + .registers 8
15959 + const/4 v5, 0x0
15961 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
15963 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
15965 + move-result-object v1
15967 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
15969 + move-result v2
15971 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15973 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
15975 + move-result-object v6
15977 + if-eqz v6, :cond_25
15979 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSimInfoSetting()B
15981 + move-result v0
15983 + if-eqz v0, :cond_25
15985 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15987 + const/4 v3, 0x1
15989 + const-string/jumbo v4, "networkInfoSIM"
15991 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15993 + const-string v5, ""
15995 + :goto_24
15996 + return-object v5
15998 + :cond_25
15999 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16001 + const/4 v3, 0x0
16003 + const-string/jumbo v4, "networkInfoSIM"
16005 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16007 + goto :goto_24
16008 +.end method
16011 +# virtual methods
16012 +.method public getDeviceId()Ljava/lang/String;
16013 + .registers 8
16015 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16017 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16019 + move-result-object v1
16021 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16023 + move-result v2
16025 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16027 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16029 + move-result-object v6
16031 + if-eqz v6, :cond_28
16033 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
16035 + move-result v0
16037 + if-eqz v0, :cond_28
16039 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceId()Ljava/lang/String;
16041 + move-result-object v5
16043 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16045 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
16047 + move-result v3
16049 + const-string v4, "deviceID"
16051 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16053 + :goto_27
16054 + return-object v5
16056 + :cond_28
16057 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getDeviceId()Ljava/lang/String;
16059 + move-result-object v5
16061 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16063 + const/4 v3, 0x0
16065 + const-string v4, "deviceID"
16067 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16069 + goto :goto_27
16070 +.end method
16072 +.method public getLine1Number()Ljava/lang/String;
16073 + .registers 8
16075 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16077 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16079 + move-result-object v1
16081 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16083 + move-result v2
16085 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16087 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16089 + move-result-object v6
16091 + if-eqz v6, :cond_28
16093 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
16095 + move-result v0
16097 + if-eqz v0, :cond_28
16099 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1Number()Ljava/lang/String;
16101 + move-result-object v5
16103 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16105 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
16107 + move-result v3
16109 + const-string v4, "line1Number"
16111 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16113 + :goto_27
16114 + return-object v5
16116 + :cond_28
16117 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getLine1Number()Ljava/lang/String;
16119 + move-result-object v5
16121 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16123 + const/4 v3, 0x0
16125 + const-string v4, "line1Number"
16127 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16129 + goto :goto_27
16130 +.end method
16132 +.method public getNeighboringCellInfo()Ljava/util/List;
16133 + .registers 10
16134 + .annotation system Ldalvik/annotation/Signature;
16135 + value = {
16136 + "()",
16137 + "Ljava/util/List",
16138 + "<",
16139 + "Landroid/telephony/NeighboringCellInfo;",
16140 + ">;"
16142 + .end annotation
16144 + iget-object v6, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16146 + iget-object v7, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16148 + invoke-virtual {v7}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16150 + move-result-object v7
16152 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16154 + move-result v8
16156 + invoke-virtual {v6, v7, v8}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16158 + move-result-object v5
16160 + const/4 v3, 0x0
16162 + const-string v4, "[null]"
16164 + if-eqz v5, :cond_1c
16166 + invoke-virtual {v5}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
16168 + move-result v6
16170 + const/4 v7, 0x1
16172 + if-ne v6, v7, :cond_1d
16174 + :cond_1c
16175 + :goto_1c
16176 + return-object v3
16178 + :cond_1d
16179 + invoke-virtual {v5}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
16181 + move-result v6
16183 + if-eqz v6, :cond_2b
16185 + new-instance v3, Ljava/util/ArrayList;
16187 + invoke-direct {v3}, Ljava/util/ArrayList;-><init>()V
16189 + const-string v4, "[empty list of cells]"
16191 + goto :goto_1c
16193 + :cond_2b
16194 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNeighboringCellInfo()Ljava/util/List;
16196 + move-result-object v3
16198 + const-string v0, ""
16200 + invoke-interface {v3}, Ljava/util/List;->iterator()Ljava/util/Iterator;
16202 + move-result-object v2
16204 + :goto_35
16205 + invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z
16207 + move-result v6
16209 + if-eqz v6, :cond_5f
16211 + invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
16213 + move-result-object v1
16215 + check-cast v1, Landroid/telephony/NeighboringCellInfo;
16217 + new-instance v6, Ljava/lang/StringBuilder;
16219 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
16221 + invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16223 + move-result-object v6
16225 + const-string v7, "\t"
16227 + invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16229 + move-result-object v6
16231 + invoke-virtual {v6, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
16233 + move-result-object v6
16235 + const-string v7, "\n"
16237 + invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16239 + move-result-object v6
16241 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
16243 + move-result-object v0
16245 + goto :goto_35
16247 + :cond_5f
16248 + new-instance v6, Ljava/lang/StringBuilder;
16250 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
16252 + const-string v7, "[real value]:\n"
16254 + invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16256 + move-result-object v6
16258 + invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16260 + move-result-object v6
16262 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
16264 + move-result-object v4
16266 + goto :goto_1c
16267 +.end method
16269 +.method public getNetworkCountryIso()Ljava/lang/String;
16270 + .registers 2
16272 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getNetworkInfo()Ljava/lang/String;
16274 + move-result-object v0
16276 + if-nez v0, :cond_a
16278 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNetworkCountryIso()Ljava/lang/String;
16280 + move-result-object v0
16282 + :cond_a
16283 + return-object v0
16284 +.end method
16286 +.method public getNetworkOperator()Ljava/lang/String;
16287 + .registers 2
16289 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getNetworkInfo()Ljava/lang/String;
16291 + move-result-object v0
16293 + if-nez v0, :cond_a
16295 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNetworkOperator()Ljava/lang/String;
16297 + move-result-object v0
16299 + :cond_a
16300 + return-object v0
16301 +.end method
16303 +.method public getNetworkOperatorName()Ljava/lang/String;
16304 + .registers 2
16306 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getNetworkInfo()Ljava/lang/String;
16308 + move-result-object v0
16310 + if-nez v0, :cond_a
16312 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNetworkOperatorName()Ljava/lang/String;
16314 + move-result-object v0
16316 + :cond_a
16317 + return-object v0
16318 +.end method
16320 +.method public getSimCountryIso()Ljava/lang/String;
16321 + .registers 2
16323 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getSimInfo()Ljava/lang/String;
16325 + move-result-object v0
16327 + if-nez v0, :cond_a
16329 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSimCountryIso()Ljava/lang/String;
16331 + move-result-object v0
16333 + :cond_a
16334 + return-object v0
16335 +.end method
16337 +.method public getSimOperator()Ljava/lang/String;
16338 + .registers 2
16340 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getSimInfo()Ljava/lang/String;
16342 + move-result-object v0
16344 + if-nez v0, :cond_a
16346 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSimOperator()Ljava/lang/String;
16348 + move-result-object v0
16350 + :cond_a
16351 + return-object v0
16352 +.end method
16354 +.method public getSimOperatorName()Ljava/lang/String;
16355 + .registers 2
16357 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getSimInfo()Ljava/lang/String;
16359 + move-result-object v0
16361 + if-nez v0, :cond_a
16363 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSimOperatorName()Ljava/lang/String;
16365 + move-result-object v0
16367 + :cond_a
16368 + return-object v0
16369 +.end method
16371 +.method public getSimSerialNumber()Ljava/lang/String;
16372 + .registers 8
16374 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16376 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16378 + move-result-object v1
16380 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16382 + move-result v2
16384 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16386 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16388 + move-result-object v6
16390 + if-eqz v6, :cond_29
16392 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSimSerialNumberSetting()B
16394 + move-result v0
16396 + if-eqz v0, :cond_29
16398 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSimSerialNumber()Ljava/lang/String;
16400 + move-result-object v5
16402 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16404 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSimSerialNumberSetting()B
16406 + move-result v3
16408 + const-string/jumbo v4, "simSerial"
16410 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16412 + :goto_28
16413 + return-object v5
16415 + :cond_29
16416 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSimSerialNumber()Ljava/lang/String;
16418 + move-result-object v5
16420 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16422 + const/4 v3, 0x0
16424 + const-string/jumbo v4, "simSerial"
16426 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16428 + goto :goto_28
16429 +.end method
16431 +.method public getSubscriberId()Ljava/lang/String;
16432 + .registers 8
16434 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16436 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16438 + move-result-object v1
16440 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16442 + move-result v2
16444 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16446 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16448 + move-result-object v6
16450 + if-eqz v6, :cond_29
16452 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberIdSetting()B
16454 + move-result v0
16456 + if-eqz v0, :cond_29
16458 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberId()Ljava/lang/String;
16460 + move-result-object v5
16462 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16464 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberIdSetting()B
16466 + move-result v3
16468 + const-string/jumbo v4, "subscriberID"
16470 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16472 + :goto_28
16473 + return-object v5
16475 + :cond_29
16476 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSubscriberId()Ljava/lang/String;
16478 + move-result-object v5
16480 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16482 + const/4 v3, 0x0
16484 + const-string/jumbo v4, "subscriberID"
16486 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16488 + goto :goto_28
16489 +.end method
16491 +.method public getVoiceMailNumber()Ljava/lang/String;
16492 + .registers 8
16494 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16496 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16498 + move-result-object v1
16500 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16502 + move-result v2
16504 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16506 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16508 + move-result-object v6
16510 + if-eqz v6, :cond_28
16512 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
16514 + move-result v0
16516 + if-eqz v0, :cond_28
16518 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1Number()Ljava/lang/String;
16520 + move-result-object v5
16522 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16524 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
16526 + move-result v3
16528 + const-string v4, "line1Number"
16530 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16532 + :goto_27
16533 + return-object v5
16535 + :cond_28
16536 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getVoiceMailNumber()Ljava/lang/String;
16538 + move-result-object v5
16540 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16542 + const/4 v3, 0x0
16544 + const-string v4, "line1Number"
16546 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16548 + goto :goto_27
16549 +.end method
16551 +.method public listen(Landroid/telephony/PhoneStateListener;I)V
16552 + .registers 4
16554 + and-int/lit8 v0, p2, 0x10
16556 + if-nez v0, :cond_8
16558 + and-int/lit8 v0, p2, 0x20
16560 + if-eqz v0, :cond_21
16562 + :cond_8
16563 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16565 + invoke-virtual {p1, v0}, Landroid/telephony/PhoneStateListener;->setContext(Landroid/content/Context;)V
16567 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16569 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16571 + move-result-object v0
16573 + invoke-virtual {p1, v0}, Landroid/telephony/PhoneStateListener;->setPackageName(Ljava/lang/String;)V
16575 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16577 + move-result v0
16579 + invoke-virtual {p1, v0}, Landroid/telephony/PhoneStateListener;->setUid(I)V
16581 + invoke-super {p0, p1, p2}, Landroid/telephony/TelephonyManager;->listen(Landroid/telephony/PhoneStateListener;I)V
16583 + :goto_20
16584 + return-void
16586 + :cond_21
16587 + invoke-super {p0, p1, p2}, Landroid/telephony/TelephonyManager;->listen(Landroid/telephony/PhoneStateListener;I)V
16589 + goto :goto_20
16590 +.end method
16591 diff -Npru stock-framework/smali/android/server/BluetoothService.smali pdroid-framework/smali/android/server/BluetoothService.smali
16592 --- stock-framework/smali/android/server/BluetoothService.smali 2012-10-05 10:16:10.957238572 -0500
16593 +++ pdroid-framework/smali/android/server/BluetoothService.smali 2012-10-05 10:15:48.689128145 -0500
16594 @@ -5759,7 +5759,7 @@
16596 invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
16598 - const-string v1, "mIsAirplaneSensitive = "
16599 + const-string/jumbo v1, "mIsAirplaneSensitive = "
16601 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16603 @@ -5781,7 +5781,7 @@
16605 invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
16607 - const-string v1, "mIsAirplaneToggleable = "
16608 + const-string/jumbo v1, "mIsAirplaneToggleable = "
16610 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16612 diff -Npru stock-framework/smali/android/service/wallpaper/WallpaperService$Engine.smali pdroid-framework/smali/android/service/wallpaper/WallpaperService$Engine.smali
16613 --- stock-framework/smali/android/service/wallpaper/WallpaperService$Engine.smali 2012-10-05 10:16:10.981238686 -0500
16614 +++ pdroid-framework/smali/android/service/wallpaper/WallpaperService$Engine.smali 2012-10-05 10:15:48.709128244 -0500
16615 @@ -730,7 +730,7 @@
16617 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
16619 - const-string v0, "mInitializing="
16620 + const-string/jumbo v0, "mInitializing="
16622 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
16624 @@ -944,7 +944,7 @@
16626 monitor-enter v1
16628 - :try_start_112
16629 + :try_start_113
16630 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
16632 const-string/jumbo v0, "mPendingXOffset="
16633 @@ -1001,7 +1001,7 @@
16635 iget-object v0, p0, Landroid/service/wallpaper/WallpaperService$Engine;->mPendingMove:Landroid/view/MotionEvent;
16637 - if-eqz v0, :cond_16c
16638 + if-eqz v0, :cond_16d
16640 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
16642 @@ -1013,17 +1013,17 @@
16644 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
16646 - :cond_16c
16647 + :cond_16d
16648 monitor-exit v1
16650 return-void
16652 - :catchall_16e
16653 + :catchall_16f
16654 move-exception v0
16656 monitor-exit v1
16657 - :try_end_170
16658 - .catchall {:try_start_112 .. :try_end_170} :catchall_16e
16659 + :try_end_171
16660 + .catchall {:try_start_113 .. :try_end_171} :catchall_16f
16662 throw v0
16663 .end method
16664 diff -Npru stock-framework/smali/android/telephony/PhoneStateListener$1.smali pdroid-framework/smali/android/telephony/PhoneStateListener$1.smali
16665 --- stock-framework/smali/android/telephony/PhoneStateListener$1.smali 2012-10-05 10:16:11.029238924 -0500
16666 +++ pdroid-framework/smali/android/telephony/PhoneStateListener$1.smali 2012-10-05 10:15:48.757128482 -0500
16667 @@ -64,23 +64,196 @@
16668 .end method
16670 .method public onCallStateChanged(ILjava/lang/String;)V
16671 - .registers 6
16672 + .registers 19
16674 - iget-object v0, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16675 + move-object/from16 v0, p0
16677 - iget-object v0, v0, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
16678 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16680 - const/16 v1, 0x20
16681 + #getter for: Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
16682 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
16684 - const/4 v2, 0x0
16685 + move-result-object v3
16687 - invoke-static {v0, v1, p1, v2, p2}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
16688 + if-eqz v3, :cond_99
16690 - move-result-object v0
16691 + if-eqz p2, :cond_99
16693 - invoke-virtual {v0}, Landroid/os/Message;->sendToTarget()V
16694 + invoke-virtual/range {p2 .. p2}, Ljava/lang/String;->isEmpty()Z
16696 + move-result v3
16698 + if-nez v3, :cond_99
16700 + move-object/from16 v0, p0
16702 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16704 + #getter for: Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
16705 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
16707 + move-result-object v3
16709 + const-string/jumbo v4, "privacy"
16711 + invoke-virtual {v3, v4}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
16713 + move-result-object v2
16715 + check-cast v2, Landroid/privacy/PrivacySettingsManager;
16717 + move-object/from16 v0, p0
16719 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16721 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
16722 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
16724 + move-result-object v3
16726 + move-object/from16 v0, p0
16728 + iget-object v4, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16730 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
16731 + invoke-static {v4}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
16733 + move-result v4
16735 + invoke-virtual {v2, v3, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16737 + move-result-object v8
16739 + if-eqz v8, :cond_6a
16741 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getIncomingCallsSetting()B
16743 + move-result v3
16745 + if-eqz v3, :cond_6a
16747 + const-string v7, ""
16749 + move-object/from16 v0, p0
16751 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16753 + iget-object v3, v3, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
16755 + const/16 v4, 0x20
16757 + const/4 v5, 0x0
16759 + move/from16 v0, p1
16761 + invoke-static {v3, v4, v0, v5, v7}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
16763 + move-result-object v3
16765 + invoke-virtual {v3}, Landroid/os/Message;->sendToTarget()V
16767 + move-object/from16 v0, p0
16769 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16771 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
16772 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
16774 + move-result-object v3
16776 + move-object/from16 v0, p0
16778 + iget-object v4, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16780 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
16781 + invoke-static {v4}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
16783 + move-result v4
16785 + const/4 v5, 0x1
16787 + const-string v6, "incomingCall"
16789 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16791 + :goto_69
16792 return-void
16794 + :cond_6a
16795 + move-object/from16 v0, p0
16797 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16799 + iget-object v3, v3, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
16801 + const/16 v4, 0x20
16803 + const/4 v5, 0x0
16805 + move/from16 v0, p1
16807 + move-object/from16 v1, p2
16809 + invoke-static {v3, v4, v0, v5, v1}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
16811 + move-result-object v3
16813 + invoke-virtual {v3}, Landroid/os/Message;->sendToTarget()V
16815 + move-object/from16 v0, p0
16817 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16819 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
16820 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
16822 + move-result-object v10
16824 + move-object/from16 v0, p0
16826 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16828 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
16829 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
16831 + move-result v11
16833 + const/4 v12, 0x0
16835 + const-string v13, "incomingCall"
16837 + move-object v9, v2
16839 + move-object/from16 v14, p2
16841 + move-object v15, v8
16843 + invoke-virtual/range {v9 .. v15}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16845 + goto :goto_69
16847 + :cond_99
16848 + move-object/from16 v0, p0
16850 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16852 + iget-object v3, v3, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
16854 + const/16 v4, 0x20
16856 + const/4 v5, 0x0
16858 + move/from16 v0, p1
16860 + move-object/from16 v1, p2
16862 + invoke-static {v3, v4, v0, v5, v1}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
16864 + move-result-object v3
16866 + invoke-virtual {v3}, Landroid/os/Message;->sendToTarget()V
16868 + goto :goto_69
16869 .end method
16871 .method public onCellInfoChanged(Landroid/telephony/CellInfo;)V
16872 @@ -104,27 +277,124 @@
16873 .end method
16875 .method public onCellLocationChanged(Landroid/os/Bundle;)V
16876 - .registers 6
16877 + .registers 10
16879 + const/4 v5, 0x0
16881 const/4 v3, 0x0
16883 invoke-static {p1}, Landroid/telephony/CellLocation;->newFromBundle(Landroid/os/Bundle;)Landroid/telephony/CellLocation;
16885 + move-result-object v7
16887 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16889 + #getter for: Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
16890 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
16892 + move-result-object v1
16894 + if-eqz v1, :cond_4a
16896 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16898 + #getter for: Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
16899 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
16901 + move-result-object v1
16903 + const-string/jumbo v2, "privacy"
16905 + invoke-virtual {v1, v2}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
16907 move-result-object v0
16909 + check-cast v0, Landroid/privacy/PrivacySettingsManager;
16911 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16913 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
16914 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
16916 + move-result-object v1
16918 + iget-object v2, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16920 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
16921 + invoke-static {v2}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
16923 + move-result v2
16925 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16927 + move-result-object v6
16929 + if-eqz v6, :cond_4b
16931 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
16933 + move-result v1
16935 + if-eqz v1, :cond_4b
16937 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16939 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
16940 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
16942 + move-result-object v1
16944 + iget-object v2, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16946 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
16947 + invoke-static {v2}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
16949 + move-result v2
16951 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
16953 + move-result v3
16955 + const-string v4, "locationNetwork"
16957 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16959 + :cond_4a
16960 + :goto_4a
16961 + return-void
16963 + :cond_4b
16964 iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16966 iget-object v1, v1, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
16968 const/16 v2, 0x10
16970 - invoke-static {v1, v2, v3, v3, v0}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
16971 + invoke-static {v1, v2, v3, v3, v7}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
16973 move-result-object v1
16975 invoke-virtual {v1}, Landroid/os/Message;->sendToTarget()V
16977 - return-void
16978 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16980 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
16981 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
16983 + move-result-object v1
16985 + iget-object v2, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16987 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
16988 + invoke-static {v2}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
16990 + move-result v2
16992 + const-string v4, "locationNetwork"
16994 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16996 + goto :goto_4a
16997 .end method
16999 .method public onDataActivity(I)V
17000 diff -Npru stock-framework/smali/android/telephony/PhoneStateListener.smali pdroid-framework/smali/android/telephony/PhoneStateListener.smali
17001 --- stock-framework/smali/android/telephony/PhoneStateListener.smali 2012-10-05 10:16:10.033233985 -0500
17002 +++ pdroid-framework/smali/android/telephony/PhoneStateListener.smali 2012-10-05 10:15:47.669123092 -0500
17003 @@ -31,12 +31,20 @@
17005 .field public static final LISTEN_SIGNAL_STRENGTHS:I = 0x100
17007 +.field private static final TAG:Ljava/lang/String; = "PhoneStateListener"
17010 # instance fields
17011 .field callback:Lcom/android/internal/telephony/IPhoneStateListener;
17013 +.field private context:Landroid/content/Context;
17015 .field mHandler:Landroid/os/Handler;
17017 +.field private packageName:Ljava/lang/String;
17019 +.field private uid:I
17022 # direct methods
17023 .method public constructor <init>()V
17024 @@ -59,6 +67,30 @@
17025 return-void
17026 .end method
17028 +.method static synthetic access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
17029 + .registers 2
17031 + iget-object v0, p0, Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
17033 + return-object v0
17034 +.end method
17036 +.method static synthetic access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
17037 + .registers 2
17039 + iget-object v0, p0, Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
17041 + return-object v0
17042 +.end method
17044 +.method static synthetic access$200(Landroid/telephony/PhoneStateListener;)I
17045 + .registers 2
17047 + iget v0, p0, Landroid/telephony/PhoneStateListener;->uid:I
17049 + return v0
17050 +.end method
17053 # virtual methods
17054 .method public onCallForwardingIndicatorChanged(Z)V
17055 @@ -134,3 +166,27 @@
17057 return-void
17058 .end method
17060 +.method public setContext(Landroid/content/Context;)V
17061 + .registers 2
17063 + iput-object p1, p0, Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
17065 + return-void
17066 +.end method
17068 +.method public setPackageName(Ljava/lang/String;)V
17069 + .registers 2
17071 + iput-object p1, p0, Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
17073 + return-void
17074 +.end method
17076 +.method public setUid(I)V
17077 + .registers 2
17079 + iput p1, p0, Landroid/telephony/PhoneStateListener;->uid:I
17081 + return-void
17082 +.end method
17083 diff -Npru stock-framework/smali/android/view/inputmethod/InputMethodInfo.smali pdroid-framework/smali/android/view/inputmethod/InputMethodInfo.smali
17084 --- stock-framework/smali/android/view/inputmethod/InputMethodInfo.smali 2012-10-05 10:16:11.345240491 -0500
17085 +++ pdroid-framework/smali/android/view/inputmethod/InputMethodInfo.smali 2012-10-05 10:15:49.073130049 -0500
17086 @@ -752,7 +752,7 @@
17088 move-result-object v0
17090 - const-string v1, "mIsDefaultResId=0x"
17091 + const-string/jumbo v1, "mIsDefaultResId=0x"
17093 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17095 diff -Npru stock-framework/smali/android/webkit/WebViewClassic.smali pdroid-framework/smali/android/webkit/WebViewClassic.smali
17096 --- stock-framework/smali/android/webkit/WebViewClassic.smali 2012-10-05 10:16:11.485241190 -0500
17097 +++ pdroid-framework/smali/android/webkit/WebViewClassic.smali 2012-10-05 10:15:49.217130763 -0500
17098 @@ -17030,7 +17030,7 @@
17099 :cond_59
17100 const-string/jumbo v1, "webview"
17102 - const-string v2, "mInputDispatcher rejected the event!"
17103 + const-string/jumbo v2, "mInputDispatcher rejected the event!"
17105 invoke-static {v1, v2}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I