Fixed pdroid security hole (ported from OpenPDroid)
[auto-patcher.git] / patches / pdroid / 4.1 / cm / 20121009 / framework.patch
blob91493893e286553882e33e26965633c51e2fac0b
1 diff -Npru -x '*RIL*' pdroid-framework/smali/android/app/ContextImpl$20.smali stock-framework/smali/android/app/ContextImpl$20.smali
2 --- pdroid-framework/smali/android/app/ContextImpl$20.smali 2012-10-13 14:13:58.241931694 -0500
3 +++ stock-framework/smali/android/app/ContextImpl$20.smali 2012-10-13 14:14:33.486106459 -0500
4 @@ -28,19 +28,19 @@
5 .method public createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
6 .registers 5
8 - const-string v1, "location"
9 + const-string v2, "location"
11 - invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
12 + invoke-static {v2}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
14 move-result-object v0
16 - new-instance v1, Landroid/location/LocationManager;
18 invoke-static {v0}, Landroid/location/ILocationManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/location/ILocationManager;
20 - move-result-object v2
21 + move-result-object v1
23 + new-instance v2, Landroid/privacy/surrogate/PrivacyLocationManager;
25 - invoke-direct {v1, p1, v2}, Landroid/location/LocationManager;-><init>(Landroid/content/Context;Landroid/location/ILocationManager;)V
26 + invoke-direct {v2, v1, p1}, Landroid/privacy/surrogate/PrivacyLocationManager;-><init>(Landroid/location/ILocationManager;Landroid/content/Context;)V
28 - return-object v1
29 + return-object v2
30 .end method
31 diff -Npru -x '*RIL*' pdroid-framework/smali/android/app/ContextImpl$29.smali stock-framework/smali/android/app/ContextImpl$29.smali
32 --- pdroid-framework/smali/android/app/ContextImpl$29.smali 2012-10-13 14:13:58.277931871 -0500
33 +++ stock-framework/smali/android/app/ContextImpl$29.smali 2012-10-13 14:14:33.506106557 -0500
34 @@ -28,13 +28,13 @@
35 .method public createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
36 .registers 4
38 - new-instance v0, Landroid/telephony/TelephonyManager;
39 + new-instance v0, Landroid/privacy/surrogate/PrivacyTelephonyManager;
41 invoke-virtual {p1}, Landroid/app/ContextImpl;->getOuterContext()Landroid/content/Context;
43 move-result-object v1
45 - invoke-direct {v0, v1}, Landroid/telephony/TelephonyManager;-><init>(Landroid/content/Context;)V
46 + invoke-direct {v0, v1}, Landroid/privacy/surrogate/PrivacyTelephonyManager;-><init>(Landroid/content/Context;)V
48 return-object v0
49 .end method
50 diff -Npru -x '*RIL*' pdroid-framework/smali/android/app/ContextImpl$3.smali stock-framework/smali/android/app/ContextImpl$3.smali
51 --- pdroid-framework/smali/android/app/ContextImpl$3.smali 2012-10-13 14:13:58.325932109 -0500
52 +++ stock-framework/smali/android/app/ContextImpl$3.smali 2012-10-13 14:14:33.530106676 -0500
53 @@ -38,9 +38,9 @@
55 move-result-object v1
57 - new-instance v2, Landroid/accounts/AccountManager;
58 + new-instance v2, Landroid/privacy/surrogate/PrivacyAccountManager;
60 - invoke-direct {v2, p1, v1}, Landroid/accounts/AccountManager;-><init>(Landroid/content/Context;Landroid/accounts/IAccountManager;)V
61 + invoke-direct {v2, p1, v1}, Landroid/privacy/surrogate/PrivacyAccountManager;-><init>(Landroid/content/Context;Landroid/accounts/IAccountManager;)V
63 return-object v2
64 .end method
65 diff -Npru -x '*RIL*' pdroid-framework/smali/android/app/ContextImpl$40.smali stock-framework/smali/android/app/ContextImpl$40.smali
66 --- pdroid-framework/smali/android/app/ContextImpl$40.smali 1969-12-31 18:00:00.000000000 -0600
67 +++ stock-framework/smali/android/app/ContextImpl$40.smali 2012-10-13 14:14:33.534106697 -0500
68 @@ -0,0 +1,50 @@
69 +.class final Landroid/app/ContextImpl$40;
70 +.super Landroid/app/ContextImpl$StaticServiceFetcher;
71 +.source "ContextImpl.java"
74 +# annotations
75 +.annotation system Ldalvik/annotation/EnclosingClass;
76 + value = Landroid/app/ContextImpl;
77 +.end annotation
79 +.annotation system Ldalvik/annotation/InnerClass;
80 + accessFlags = 0x8
81 + name = null
82 +.end annotation
85 +# direct methods
86 +.method constructor <init>()V
87 + .registers 1
89 + invoke-direct {p0}, Landroid/app/ContextImpl$StaticServiceFetcher;-><init>()V
91 + return-void
92 +.end method
95 +# virtual methods
96 +.method public createStaticService()Ljava/lang/Object;
97 + .registers 5
99 + const-string/jumbo v2, "privacy"
101 + invoke-static {v2}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
103 + move-result-object v0
105 + invoke-static {v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
107 + move-result-object v1
109 + new-instance v2, Landroid/privacy/PrivacySettingsManager;
111 + invoke-static {}, Landroid/app/ContextImpl;->getStaticOuterContext()Landroid/content/Context;
113 + move-result-object v3
115 + invoke-direct {v2, v3, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
117 + return-object v2
118 +.end method
119 diff -Npru -x '*RIL*' pdroid-framework/smali/android/app/ContextImpl.smali stock-framework/smali/android/app/ContextImpl.smali
120 --- pdroid-framework/smali/android/app/ContextImpl.smali 2012-10-13 14:13:58.565933302 -0500
121 +++ stock-framework/smali/android/app/ContextImpl.smali 2012-10-13 14:14:33.642107234 -0500
122 @@ -36,6 +36,8 @@
124 .field private static sNextPerContextServiceCacheIndex:I
126 +.field private static sOuterContext:Landroid/content/Context;
128 .field private static final sSharedPrefs:Ljava/util/HashMap;
129 .annotation system Ldalvik/annotation/Signature;
130 value = {
131 @@ -442,6 +444,14 @@
133 invoke-static {v0, v1}, Landroid/app/ContextImpl;->registerService(Ljava/lang/String;Landroid/app/ContextImpl$ServiceFetcher;)V
135 + const-string/jumbo v0, "privacy"
137 + new-instance v1, Landroid/app/ContextImpl$40;
139 + invoke-direct {v1}, Landroid/app/ContextImpl$40;-><init>()V
141 + invoke-static {v0, v1}, Landroid/app/ContextImpl;->registerService(Ljava/lang/String;Landroid/app/ContextImpl$ServiceFetcher;)V
143 return-void
144 .end method
146 @@ -476,6 +486,8 @@
148 iput-object p0, p0, Landroid/app/ContextImpl;->mOuterContext:Landroid/content/Context;
150 + sput-object p0, Landroid/app/ContextImpl;->sOuterContext:Landroid/content/Context;
152 return-void
153 .end method
155 @@ -530,6 +542,8 @@
157 iput-object p0, p0, Landroid/app/ContextImpl;->mOuterContext:Landroid/content/Context;
159 + sput-object p0, Landroid/app/ContextImpl;->sOuterContext:Landroid/content/Context;
161 return-void
162 .end method
164 @@ -999,6 +1013,14 @@
165 throw v0
166 .end method
168 +.method static final getStaticOuterContext()Landroid/content/Context;
169 + .registers 1
171 + sget-object v0, Landroid/app/ContextImpl;->sOuterContext:Landroid/content/Context;
173 + return-object v0
174 +.end method
176 .method private getWallpaperManager()Landroid/app/WallpaperManager;
177 .registers 2
179 @@ -4272,6 +4294,8 @@
181 iput-object p1, p0, Landroid/app/ContextImpl;->mOuterContext:Landroid/content/Context;
183 + sput-object p1, Landroid/app/ContextImpl;->sOuterContext:Landroid/content/Context;
185 return-void
186 .end method
188 diff -Npru -x '*RIL*' pdroid-framework/smali/android/content/ContentResolver.smali stock-framework/smali/android/content/ContentResolver.smali
189 --- pdroid-framework/smali/android/content/ContentResolver.smali 2012-10-13 14:13:58.445932704 -0500
190 +++ stock-framework/smali/android/content/ContentResolver.smali 2012-10-13 14:14:33.586106962 -0500
191 @@ -3506,8 +3506,8 @@
193 invoke-virtual {v0, v9}, Landroid/os/CancellationSignal;->setRemote(Landroid/os/ICancellationSignal;)V
194 :try_end_1d
195 - .catchall {:try_start_a .. :try_end_1d} :catchall_a8
196 - .catch Landroid/os/RemoteException; {:try_start_a .. :try_end_1d} :catch_9b
197 + .catchall {:try_start_a .. :try_end_1d} :catchall_b6
198 + .catch Landroid/os/RemoteException; {:try_start_a .. :try_end_1d} :catch_a9
200 :cond_1d
201 move-object/from16 v4, p1
202 @@ -3523,64 +3523,82 @@
203 :try_start_27
204 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;
205 :try_end_2a
206 - .catchall {:try_start_27 .. :try_end_2a} :catchall_a8
207 - .catch Landroid/os/DeadObjectException; {:try_start_27 .. :try_end_2a} :catch_3e
208 - .catch Landroid/os/RemoteException; {:try_start_27 .. :try_end_2a} :catch_9b
209 + .catchall {:try_start_27 .. :try_end_2a} :catchall_b6
210 + .catch Landroid/os/DeadObjectException; {:try_start_27 .. :try_end_2a} :catch_4c
211 + .catch Landroid/os/RemoteException; {:try_start_27 .. :try_end_2a} :catch_a9
213 move-result-object v19
215 :goto_2b
216 - if-nez v19, :cond_67
217 + :try_start_2b
218 + move-object/from16 v0, p0
220 + iget-object v4, v0, Landroid/content/ContentResolver;->mContext:Landroid/content/Context;
222 + move-object/from16 v0, p1
224 + move-object/from16 v1, p2
226 + move-object/from16 v2, v19
228 + 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;
229 + :try_end_38
230 + .catchall {:try_start_2b .. :try_end_38} :catchall_b6
231 + .catch Landroid/os/RemoteException; {:try_start_2b .. :try_end_38} :catch_a9
233 + move-result-object v19
235 + if-nez v19, :cond_75
237 const/16 v22, 0x0
239 - if-eqz v3, :cond_36
240 + if-eqz v3, :cond_44
242 move-object/from16 v0, p0
244 invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
246 - :cond_36
247 + :cond_44
248 if-eqz v10, :cond_8
250 - :goto_38
251 + :goto_46
252 move-object/from16 v0, p0
254 invoke-virtual {v0, v10}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
256 goto :goto_8
258 - :catch_3e
259 + :catch_4c
260 move-exception v18
262 - :try_start_3f
263 + :try_start_4d
264 move-object/from16 v0, p0
266 invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->unstableProviderDied(Landroid/content/IContentProvider;)V
268 invoke-virtual/range {p0 .. p1}, Landroid/content/ContentResolver;->acquireProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
269 - :try_end_47
270 - .catchall {:try_start_3f .. :try_end_47} :catchall_a8
271 - .catch Landroid/os/RemoteException; {:try_start_3f .. :try_end_47} :catch_9b
272 + :try_end_55
273 + .catchall {:try_start_4d .. :try_end_55} :catchall_b6
274 + .catch Landroid/os/RemoteException; {:try_start_4d .. :try_end_55} :catch_a9
276 move-result-object v10
278 - if-nez v10, :cond_56
279 + if-nez v10, :cond_64
281 const/16 v22, 0x0
283 - if-eqz v3, :cond_53
284 + if-eqz v3, :cond_61
286 move-object/from16 v0, p0
288 invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
290 - :cond_53
291 + :cond_61
292 if-eqz v10, :cond_8
294 - goto :goto_38
295 + goto :goto_46
297 - :cond_56
298 + :cond_64
299 move-object/from16 v11, p1
301 move-object/from16 v12, p2
302 @@ -3593,14 +3611,14 @@
304 move-object/from16 v16, v9
306 - :try_start_62
307 + :try_start_70
308 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;
310 move-result-object v19
312 goto :goto_2b
314 - :cond_67
315 + :cond_75
316 invoke-interface/range {v19 .. v19}, Landroid/database/Cursor;->getCount()I
318 invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
319 @@ -3623,11 +3641,11 @@
321 new-instance v22, Landroid/content/ContentResolver$CursorWrapperInner;
323 - if-eqz v10, :cond_96
324 + if-eqz v10, :cond_a4
326 move-object v4, v10
328 - :goto_82
329 + :goto_90
330 move-object/from16 v0, v22
332 move-object/from16 v1, p0
333 @@ -3635,67 +3653,67 @@
334 move-object/from16 v2, v19
336 invoke-direct {v0, v1, v2, v4}, Landroid/content/ContentResolver$CursorWrapperInner;-><init>(Landroid/content/ContentResolver;Landroid/database/Cursor;Landroid/content/IContentProvider;)V
337 - :try_end_8b
338 - .catchall {:try_start_62 .. :try_end_8b} :catchall_a8
339 - .catch Landroid/os/RemoteException; {:try_start_62 .. :try_end_8b} :catch_9b
340 + :try_end_99
341 + .catchall {:try_start_70 .. :try_end_99} :catchall_b6
342 + .catch Landroid/os/RemoteException; {:try_start_70 .. :try_end_99} :catch_a9
344 const/4 v10, 0x0
346 - if-eqz v3, :cond_93
347 + if-eqz v3, :cond_a1
349 move-object/from16 v0, p0
351 invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
353 - :cond_93
354 + :cond_a1
355 if-eqz v10, :cond_8
357 - goto :goto_38
358 + goto :goto_46
360 - :cond_96
361 - :try_start_96
362 + :cond_a4
363 + :try_start_a4
364 invoke-virtual/range {p0 .. p1}, Landroid/content/ContentResolver;->acquireProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
365 - :try_end_99
366 - .catchall {:try_start_96 .. :try_end_99} :catchall_a8
367 - .catch Landroid/os/RemoteException; {:try_start_96 .. :try_end_99} :catch_9b
368 + :try_end_a7
369 + .catchall {:try_start_a4 .. :try_end_a7} :catchall_b6
370 + .catch Landroid/os/RemoteException; {:try_start_a4 .. :try_end_a7} :catch_a9
372 move-result-object v4
374 - goto :goto_82
375 + goto :goto_90
377 - :catch_9b
378 + :catch_a9
379 move-exception v18
381 const/16 v22, 0x0
383 - if-eqz v3, :cond_a5
384 + if-eqz v3, :cond_b3
386 move-object/from16 v0, p0
388 invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
390 - :cond_a5
391 + :cond_b3
392 if-eqz v10, :cond_8
394 - goto :goto_38
395 + goto :goto_46
397 - :catchall_a8
398 + :catchall_b6
399 move-exception v4
401 - if-eqz v3, :cond_b0
402 + if-eqz v3, :cond_be
404 move-object/from16 v0, p0
406 invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
408 - :cond_b0
409 - if-eqz v10, :cond_b7
410 + :cond_be
411 + if-eqz v10, :cond_c5
413 move-object/from16 v0, p0
415 invoke-virtual {v0, v10}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
417 - :cond_b7
418 + :cond_c5
419 throw v4
420 .end method
422 diff -Npru -x '*RIL*' pdroid-framework/smali/android/privacy/IPrivacySettingsManager.smali stock-framework/smali/android/privacy/IPrivacySettingsManager.smali
423 --- pdroid-framework/smali/android/privacy/IPrivacySettingsManager.smali 1969-12-31 18:00:00.000000000 -0600
424 +++ stock-framework/smali/android/privacy/IPrivacySettingsManager.smali 2012-10-13 14:14:43.298155122 -0500
425 @@ -0,0 +1,104 @@
426 +.class public interface abstract Landroid/privacy/IPrivacySettingsManager;
427 +.super Ljava/lang/Object;
428 +.source "IPrivacySettingsManager.java"
430 +# interfaces
431 +.implements Landroid/os/IInterface;
434 +# annotations
435 +.annotation system Ldalvik/annotation/MemberClasses;
436 + value = {
437 + Landroid/privacy/IPrivacySettingsManager$Stub;
439 +.end annotation
442 +# virtual methods
443 +.method public abstract addObserver(Ljava/lang/String;)V
444 + .annotation system Ldalvik/annotation/Throws;
445 + value = {
446 + Landroid/os/RemoteException;
448 + .end annotation
449 +.end method
451 +.method public abstract deleteSettings(Ljava/lang/String;)Z
452 + .annotation system Ldalvik/annotation/Throws;
453 + value = {
454 + Landroid/os/RemoteException;
456 + .end annotation
457 +.end method
459 +.method public abstract getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
460 + .annotation system Ldalvik/annotation/Throws;
461 + value = {
462 + Landroid/os/RemoteException;
464 + .end annotation
465 +.end method
467 +.method public abstract getVersion()D
468 + .annotation system Ldalvik/annotation/Throws;
469 + value = {
470 + Landroid/os/RemoteException;
472 + .end annotation
473 +.end method
475 +.method public abstract notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
476 + .annotation system Ldalvik/annotation/Throws;
477 + value = {
478 + Landroid/os/RemoteException;
480 + .end annotation
481 +.end method
483 +.method public abstract purgeSettings()Z
484 + .annotation system Ldalvik/annotation/Throws;
485 + value = {
486 + Landroid/os/RemoteException;
488 + .end annotation
489 +.end method
491 +.method public abstract registerObservers()V
492 + .annotation system Ldalvik/annotation/Throws;
493 + value = {
494 + Landroid/os/RemoteException;
496 + .end annotation
497 +.end method
499 +.method public abstract saveSettings(Landroid/privacy/PrivacySettings;)Z
500 + .annotation system Ldalvik/annotation/Throws;
501 + value = {
502 + Landroid/os/RemoteException;
504 + .end annotation
505 +.end method
507 +.method public abstract setBootCompleted()V
508 + .annotation system Ldalvik/annotation/Throws;
509 + value = {
510 + Landroid/os/RemoteException;
512 + .end annotation
513 +.end method
515 +.method public abstract setEnabled(Z)Z
516 + .annotation system Ldalvik/annotation/Throws;
517 + value = {
518 + Landroid/os/RemoteException;
520 + .end annotation
521 +.end method
523 +.method public abstract setNotificationsEnabled(Z)Z
524 + .annotation system Ldalvik/annotation/Throws;
525 + value = {
526 + Landroid/os/RemoteException;
528 + .end annotation
529 +.end method
530 diff -Npru -x '*RIL*' pdroid-framework/smali/android/privacy/IPrivacySettingsManager$Stub$Proxy.smali stock-framework/smali/android/privacy/IPrivacySettingsManager$Stub$Proxy.smali
531 --- pdroid-framework/smali/android/privacy/IPrivacySettingsManager$Stub$Proxy.smali 1969-12-31 18:00:00.000000000 -0600
532 +++ stock-framework/smali/android/privacy/IPrivacySettingsManager$Stub$Proxy.smali 2012-10-13 14:14:43.298155122 -0500
533 @@ -0,0 +1,743 @@
534 +.class Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;
535 +.super Ljava/lang/Object;
536 +.source "IPrivacySettingsManager.java"
538 +# interfaces
539 +.implements Landroid/privacy/IPrivacySettingsManager;
542 +# annotations
543 +.annotation system Ldalvik/annotation/EnclosingClass;
544 + value = Landroid/privacy/IPrivacySettingsManager$Stub;
545 +.end annotation
547 +.annotation system Ldalvik/annotation/InnerClass;
548 + accessFlags = 0xa
549 + name = "Proxy"
550 +.end annotation
553 +# instance fields
554 +.field private mRemote:Landroid/os/IBinder;
557 +# direct methods
558 +.method constructor <init>(Landroid/os/IBinder;)V
559 + .registers 2
561 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
563 + iput-object p1, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
565 + return-void
566 +.end method
569 +# virtual methods
570 +.method public addObserver(Ljava/lang/String;)V
571 + .registers 7
572 + .annotation system Ldalvik/annotation/Throws;
573 + value = {
574 + Landroid/os/RemoteException;
576 + .end annotation
578 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
580 + move-result-object v0
582 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
584 + move-result-object v1
586 + :try_start_8
587 + const-string v2, "android.privacy.IPrivacySettingsManager"
589 + invoke-virtual {v0, v2}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
591 + invoke-virtual {v0, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
593 + iget-object v2, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
595 + const/4 v3, 0x6
597 + const/4 v4, 0x0
599 + invoke-interface {v2, v3, v0, v1, v4}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
601 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
602 + :try_end_1a
603 + .catchall {:try_start_8 .. :try_end_1a} :catchall_21
605 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
607 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
609 + return-void
611 + :catchall_21
612 + move-exception v2
614 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
616 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
618 + throw v2
619 +.end method
621 +.method public asBinder()Landroid/os/IBinder;
622 + .registers 2
624 + iget-object v0, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
626 + return-object v0
627 +.end method
629 +.method public deleteSettings(Ljava/lang/String;)Z
630 + .registers 8
631 + .annotation system Ldalvik/annotation/Throws;
632 + value = {
633 + Landroid/os/RemoteException;
635 + .end annotation
637 + const/4 v2, 0x0
639 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
641 + move-result-object v0
643 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
645 + move-result-object v1
647 + :try_start_9
648 + const-string v3, "android.privacy.IPrivacySettingsManager"
650 + invoke-virtual {v0, v3}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
652 + invoke-virtual {v0, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
654 + iget-object v3, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
656 + const/4 v4, 0x3
658 + const/4 v5, 0x0
660 + invoke-interface {v3, v4, v0, v1, v5}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
662 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
664 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
665 + :try_end_1e
666 + .catchall {:try_start_9 .. :try_end_1e} :catchall_29
668 + move-result v3
670 + if-eqz v3, :cond_22
672 + const/4 v2, 0x1
674 + :cond_22
675 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
677 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
679 + return v2
681 + :catchall_29
682 + move-exception v3
684 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
686 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
688 + throw v3
689 +.end method
691 +.method public getInterfaceDescriptor()Ljava/lang/String;
692 + .registers 2
694 + const-string v0, "android.privacy.IPrivacySettingsManager"
696 + return-object v0
697 +.end method
699 +.method public getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
700 + .registers 8
701 + .annotation system Ldalvik/annotation/Throws;
702 + value = {
703 + Landroid/os/RemoteException;
705 + .end annotation
707 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
709 + move-result-object v0
711 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
713 + move-result-object v1
715 + :try_start_8
716 + const-string v3, "android.privacy.IPrivacySettingsManager"
718 + invoke-virtual {v0, v3}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
720 + invoke-virtual {v0, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
722 + iget-object v3, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
724 + const/4 v4, 0x1
726 + const/4 v5, 0x0
728 + invoke-interface {v3, v4, v0, v1, v5}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
730 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
732 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
734 + move-result v3
736 + if-eqz v3, :cond_2f
738 + sget-object v3, Landroid/privacy/PrivacySettings;->CREATOR:Landroid/os/Parcelable$Creator;
740 + invoke-interface {v3, v1}, Landroid/os/Parcelable$Creator;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
742 + move-result-object v2
744 + check-cast v2, Landroid/privacy/PrivacySettings;
745 + :try_end_28
746 + .catchall {:try_start_8 .. :try_end_28} :catchall_31
748 + :goto_28
749 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
751 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
753 + return-object v2
755 + :cond_2f
756 + const/4 v2, 0x0
758 + goto :goto_28
760 + :catchall_31
761 + move-exception v3
763 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
765 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
767 + throw v3
768 +.end method
770 +.method public getVersion()D
771 + .registers 8
772 + .annotation system Ldalvik/annotation/Throws;
773 + value = {
774 + Landroid/os/RemoteException;
776 + .end annotation
778 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
780 + move-result-object v0
782 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
784 + move-result-object v1
786 + :try_start_8
787 + const-string v4, "android.privacy.IPrivacySettingsManager"
789 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
791 + iget-object v4, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
793 + const/16 v5, 0x8
795 + const/4 v6, 0x0
797 + invoke-interface {v4, v5, v0, v1, v6}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
799 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
801 + invoke-virtual {v1}, Landroid/os/Parcel;->readDouble()D
802 + :try_end_1b
803 + .catchall {:try_start_8 .. :try_end_1b} :catchall_23
805 + move-result-wide v2
807 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
809 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
811 + return-wide v2
813 + :catchall_23
814 + move-exception v4
816 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
818 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
820 + throw v4
821 +.end method
823 +.method public notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
824 + .registers 10
825 + .annotation system Ldalvik/annotation/Throws;
826 + value = {
827 + Landroid/os/RemoteException;
829 + .end annotation
831 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
833 + move-result-object v0
835 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
837 + move-result-object v1
839 + :try_start_8
840 + const-string v2, "android.privacy.IPrivacySettingsManager"
842 + invoke-virtual {v0, v2}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
844 + invoke-virtual {v0, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
846 + invoke-virtual {v0, p2}, Landroid/os/Parcel;->writeByte(B)V
848 + invoke-virtual {v0, p3}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
850 + invoke-virtual {v0, p4}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
852 + iget-object v2, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
854 + const/4 v3, 0x4
856 + const/4 v4, 0x0
858 + invoke-interface {v2, v3, v0, v1, v4}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
860 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
861 + :try_end_23
862 + .catchall {:try_start_8 .. :try_end_23} :catchall_2a
864 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
866 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
868 + return-void
870 + :catchall_2a
871 + move-exception v2
873 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
875 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
877 + throw v2
878 +.end method
880 +.method public purgeSettings()Z
881 + .registers 7
882 + .annotation system Ldalvik/annotation/Throws;
883 + value = {
884 + Landroid/os/RemoteException;
886 + .end annotation
888 + const/4 v2, 0x0
890 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
892 + move-result-object v0
894 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
896 + move-result-object v1
898 + :try_start_9
899 + const-string v3, "android.privacy.IPrivacySettingsManager"
901 + invoke-virtual {v0, v3}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
903 + iget-object v3, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
905 + const/4 v4, 0x7
907 + const/4 v5, 0x0
909 + invoke-interface {v3, v4, v0, v1, v5}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
911 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
913 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
914 + :try_end_1b
915 + .catchall {:try_start_9 .. :try_end_1b} :catchall_26
917 + move-result v3
919 + if-eqz v3, :cond_1f
921 + const/4 v2, 0x1
923 + :cond_1f
924 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
926 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
928 + return v2
930 + :catchall_26
931 + move-exception v3
933 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
935 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
937 + throw v3
938 +.end method
940 +.method public registerObservers()V
941 + .registers 6
942 + .annotation system Ldalvik/annotation/Throws;
943 + value = {
944 + Landroid/os/RemoteException;
946 + .end annotation
948 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
950 + move-result-object v0
952 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
954 + move-result-object v1
956 + :try_start_8
957 + const-string v2, "android.privacy.IPrivacySettingsManager"
959 + invoke-virtual {v0, v2}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
961 + iget-object v2, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
963 + const/4 v3, 0x5
965 + const/4 v4, 0x0
967 + invoke-interface {v2, v3, v0, v1, v4}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
969 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
970 + :try_end_17
971 + .catchall {:try_start_8 .. :try_end_17} :catchall_1e
973 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
975 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
977 + return-void
979 + :catchall_1e
980 + move-exception v2
982 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
984 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
986 + throw v2
987 +.end method
989 +.method public saveSettings(Landroid/privacy/PrivacySettings;)Z
990 + .registers 9
991 + .annotation system Ldalvik/annotation/Throws;
992 + value = {
993 + Landroid/os/RemoteException;
995 + .end annotation
997 + const/4 v2, 0x1
999 + const/4 v3, 0x0
1001 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1003 + move-result-object v0
1005 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1007 + move-result-object v1
1009 + :try_start_a
1010 + const-string v4, "android.privacy.IPrivacySettingsManager"
1012 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
1014 + if-eqz p1, :cond_30
1016 + const/4 v4, 0x1
1018 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInt(I)V
1020 + const/4 v4, 0x0
1022 + invoke-virtual {p1, v0, v4}, Landroid/privacy/PrivacySettings;->writeToParcel(Landroid/os/Parcel;I)V
1024 + :goto_19
1025 + iget-object v4, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
1027 + const/4 v5, 0x2
1029 + const/4 v6, 0x0
1031 + invoke-interface {v4, v5, v0, v1, v6}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1033 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
1035 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
1036 + :try_end_26
1037 + .catchall {:try_start_a .. :try_end_26} :catchall_35
1039 + move-result v4
1041 + if-eqz v4, :cond_3d
1043 + :goto_29
1044 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1046 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1048 + return v2
1050 + :cond_30
1051 + const/4 v4, 0x0
1053 + :try_start_31
1054 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInt(I)V
1055 + :try_end_34
1056 + .catchall {:try_start_31 .. :try_end_34} :catchall_35
1058 + goto :goto_19
1060 + :catchall_35
1061 + move-exception v3
1063 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1065 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1067 + throw v3
1069 + :cond_3d
1070 + move v2, v3
1072 + goto :goto_29
1073 +.end method
1075 +.method public setBootCompleted()V
1076 + .registers 6
1077 + .annotation system Ldalvik/annotation/Throws;
1078 + value = {
1079 + Landroid/os/RemoteException;
1081 + .end annotation
1083 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1085 + move-result-object v0
1087 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1089 + move-result-object v1
1091 + :try_start_8
1092 + const-string v2, "android.privacy.IPrivacySettingsManager"
1094 + invoke-virtual {v0, v2}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
1096 + iget-object v2, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
1098 + const/16 v3, 0xb
1100 + const/4 v4, 0x0
1102 + invoke-interface {v2, v3, v0, v1, v4}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1104 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
1105 + :try_end_18
1106 + .catchall {:try_start_8 .. :try_end_18} :catchall_1f
1108 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1110 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1112 + return-void
1114 + :catchall_1f
1115 + move-exception v2
1117 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1119 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1121 + throw v2
1122 +.end method
1124 +.method public setEnabled(Z)Z
1125 + .registers 9
1126 + .annotation system Ldalvik/annotation/Throws;
1127 + value = {
1128 + Landroid/os/RemoteException;
1130 + .end annotation
1132 + const/4 v2, 0x1
1134 + const/4 v3, 0x0
1136 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1138 + move-result-object v0
1140 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1142 + move-result-object v1
1144 + :try_start_a
1145 + const-string v4, "android.privacy.IPrivacySettingsManager"
1147 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
1149 + if-eqz p1, :cond_2d
1151 + move v4, v2
1153 + :goto_12
1154 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInt(I)V
1156 + iget-object v4, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
1158 + const/16 v5, 0x9
1160 + const/4 v6, 0x0
1162 + invoke-interface {v4, v5, v0, v1, v6}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1164 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
1166 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
1167 + :try_end_23
1168 + .catchall {:try_start_a .. :try_end_23} :catchall_31
1170 + move-result v4
1172 + if-eqz v4, :cond_2f
1174 + :goto_26
1175 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1177 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1179 + return v2
1181 + :cond_2d
1182 + move v4, v3
1184 + goto :goto_12
1186 + :cond_2f
1187 + move v2, v3
1189 + goto :goto_26
1191 + :catchall_31
1192 + move-exception v3
1194 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1196 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1198 + throw v3
1199 +.end method
1201 +.method public setNotificationsEnabled(Z)Z
1202 + .registers 9
1203 + .annotation system Ldalvik/annotation/Throws;
1204 + value = {
1205 + Landroid/os/RemoteException;
1207 + .end annotation
1209 + const/4 v2, 0x1
1211 + const/4 v3, 0x0
1213 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1215 + move-result-object v0
1217 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1219 + move-result-object v1
1221 + :try_start_a
1222 + const-string v4, "android.privacy.IPrivacySettingsManager"
1224 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
1226 + if-eqz p1, :cond_2d
1228 + move v4, v2
1230 + :goto_12
1231 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInt(I)V
1233 + iget-object v4, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
1235 + const/16 v5, 0xa
1237 + const/4 v6, 0x0
1239 + invoke-interface {v4, v5, v0, v1, v6}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1241 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
1243 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
1244 + :try_end_23
1245 + .catchall {:try_start_a .. :try_end_23} :catchall_31
1247 + move-result v4
1249 + if-eqz v4, :cond_2f
1251 + :goto_26
1252 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1254 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1256 + return v2
1258 + :cond_2d
1259 + move v4, v3
1261 + goto :goto_12
1263 + :cond_2f
1264 + move v2, v3
1266 + goto :goto_26
1268 + :catchall_31
1269 + move-exception v3
1271 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1273 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1275 + throw v3
1276 +.end method
1277 diff -Npru -x '*RIL*' pdroid-framework/smali/android/privacy/IPrivacySettingsManager$Stub.smali stock-framework/smali/android/privacy/IPrivacySettingsManager$Stub.smali
1278 --- pdroid-framework/smali/android/privacy/IPrivacySettingsManager$Stub.smali 1969-12-31 18:00:00.000000000 -0600
1279 +++ stock-framework/smali/android/privacy/IPrivacySettingsManager$Stub.smali 2012-10-13 14:14:43.302155133 -0500
1280 @@ -0,0 +1,412 @@
1281 +.class public abstract Landroid/privacy/IPrivacySettingsManager$Stub;
1282 +.super Landroid/os/Binder;
1283 +.source "IPrivacySettingsManager.java"
1285 +# interfaces
1286 +.implements Landroid/privacy/IPrivacySettingsManager;
1289 +# annotations
1290 +.annotation system Ldalvik/annotation/EnclosingClass;
1291 + value = Landroid/privacy/IPrivacySettingsManager;
1292 +.end annotation
1294 +.annotation system Ldalvik/annotation/InnerClass;
1295 + accessFlags = 0x409
1296 + name = "Stub"
1297 +.end annotation
1299 +.annotation system Ldalvik/annotation/MemberClasses;
1300 + value = {
1301 + Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;
1303 +.end annotation
1306 +# static fields
1307 +.field private static final DESCRIPTOR:Ljava/lang/String; = "android.privacy.IPrivacySettingsManager"
1309 +.field static final TRANSACTION_addObserver:I = 0x6
1311 +.field static final TRANSACTION_deleteSettings:I = 0x3
1313 +.field static final TRANSACTION_getSettings:I = 0x1
1315 +.field static final TRANSACTION_getVersion:I = 0x8
1317 +.field static final TRANSACTION_notification:I = 0x4
1319 +.field static final TRANSACTION_purgeSettings:I = 0x7
1321 +.field static final TRANSACTION_registerObservers:I = 0x5
1323 +.field static final TRANSACTION_saveSettings:I = 0x2
1325 +.field static final TRANSACTION_setBootCompleted:I = 0xb
1327 +.field static final TRANSACTION_setEnabled:I = 0x9
1329 +.field static final TRANSACTION_setNotificationsEnabled:I = 0xa
1332 +# direct methods
1333 +.method public constructor <init>()V
1334 + .registers 2
1336 + invoke-direct {p0}, Landroid/os/Binder;-><init>()V
1338 + const-string v0, "android.privacy.IPrivacySettingsManager"
1340 + invoke-virtual {p0, p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->attachInterface(Landroid/os/IInterface;Ljava/lang/String;)V
1342 + return-void
1343 +.end method
1345 +.method public static asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
1346 + .registers 3
1348 + if-nez p0, :cond_4
1350 + const/4 v0, 0x0
1352 + :goto_3
1353 + return-object v0
1355 + :cond_4
1356 + const-string v1, "android.privacy.IPrivacySettingsManager"
1358 + invoke-interface {p0, v1}, Landroid/os/IBinder;->queryLocalInterface(Ljava/lang/String;)Landroid/os/IInterface;
1360 + move-result-object v0
1362 + if-eqz v0, :cond_13
1364 + instance-of v1, v0, Landroid/privacy/IPrivacySettingsManager;
1366 + if-eqz v1, :cond_13
1368 + check-cast v0, Landroid/privacy/IPrivacySettingsManager;
1370 + goto :goto_3
1372 + :cond_13
1373 + new-instance v0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;
1375 + invoke-direct {v0, p0}, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
1377 + goto :goto_3
1378 +.end method
1381 +# virtual methods
1382 +.method public asBinder()Landroid/os/IBinder;
1383 + .registers 1
1385 + return-object p0
1386 +.end method
1388 +.method public onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1389 + .registers 14
1390 + .annotation system Ldalvik/annotation/Throws;
1391 + value = {
1392 + Landroid/os/RemoteException;
1394 + .end annotation
1396 + const/4 v6, 0x0
1398 + const/4 v7, 0x1
1400 + sparse-switch p1, :sswitch_data_10e
1402 + invoke-super {p0, p1, p2, p3, p4}, Landroid/os/Binder;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1404 + move-result v7
1406 + :goto_9
1407 + return v7
1409 + :sswitch_a
1410 + const-string v6, "android.privacy.IPrivacySettingsManager"
1412 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
1414 + goto :goto_9
1416 + :sswitch_10
1417 + const-string v8, "android.privacy.IPrivacySettingsManager"
1419 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1421 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
1423 + move-result-object v0
1425 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
1427 + move-result-object v4
1429 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1431 + if-eqz v4, :cond_29
1433 + invoke-virtual {p3, v7}, Landroid/os/Parcel;->writeInt(I)V
1435 + invoke-virtual {v4, p3, v7}, Landroid/privacy/PrivacySettings;->writeToParcel(Landroid/os/Parcel;I)V
1437 + goto :goto_9
1439 + :cond_29
1440 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
1442 + goto :goto_9
1444 + :sswitch_2d
1445 + const-string v8, "android.privacy.IPrivacySettingsManager"
1447 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1449 + invoke-virtual {p2}, Landroid/os/Parcel;->readInt()I
1451 + move-result v8
1453 + if-eqz v8, :cond_4e
1455 + sget-object v8, Landroid/privacy/PrivacySettings;->CREATOR:Landroid/os/Parcelable$Creator;
1457 + invoke-interface {v8, p2}, Landroid/os/Parcelable$Creator;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
1459 + move-result-object v0
1461 + check-cast v0, Landroid/privacy/PrivacySettings;
1463 + :goto_40
1464 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->saveSettings(Landroid/privacy/PrivacySettings;)Z
1466 + move-result v4
1468 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1470 + if-eqz v4, :cond_4a
1472 + move v6, v7
1474 + :cond_4a
1475 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
1477 + goto :goto_9
1479 + :cond_4e
1480 + const/4 v0, 0x0
1482 + goto :goto_40
1484 + :sswitch_50
1485 + const-string v8, "android.privacy.IPrivacySettingsManager"
1487 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1489 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
1491 + move-result-object v0
1493 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->deleteSettings(Ljava/lang/String;)Z
1495 + move-result v4
1497 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1499 + if-eqz v4, :cond_63
1501 + move v6, v7
1503 + :cond_63
1504 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
1506 + goto :goto_9
1508 + :sswitch_67
1509 + const-string v6, "android.privacy.IPrivacySettingsManager"
1511 + invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1513 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
1515 + move-result-object v0
1517 + invoke-virtual {p2}, Landroid/os/Parcel;->readByte()B
1519 + move-result v1
1521 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
1523 + move-result-object v2
1525 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
1527 + move-result-object v3
1529 + invoke-virtual {p0, v0, v1, v2, v3}, Landroid/privacy/IPrivacySettingsManager$Stub;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
1531 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1533 + goto :goto_9
1535 + :sswitch_83
1536 + const-string v6, "android.privacy.IPrivacySettingsManager"
1538 + invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1540 + invoke-virtual {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;->registerObservers()V
1542 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1544 + goto/16 :goto_9
1546 + :sswitch_90
1547 + const-string v6, "android.privacy.IPrivacySettingsManager"
1549 + invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1551 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
1553 + move-result-object v0
1555 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->addObserver(Ljava/lang/String;)V
1557 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1559 + goto/16 :goto_9
1561 + :sswitch_a1
1562 + const-string v8, "android.privacy.IPrivacySettingsManager"
1564 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1566 + invoke-virtual {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;->purgeSettings()Z
1568 + move-result v4
1570 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1572 + if-eqz v4, :cond_b0
1574 + move v6, v7
1576 + :cond_b0
1577 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
1579 + goto/16 :goto_9
1581 + :sswitch_b5
1582 + const-string v6, "android.privacy.IPrivacySettingsManager"
1584 + invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1586 + invoke-virtual {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;->getVersion()D
1588 + move-result-wide v4
1590 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1592 + invoke-virtual {p3, v4, v5}, Landroid/os/Parcel;->writeDouble(D)V
1594 + goto/16 :goto_9
1596 + :sswitch_c6
1597 + const-string v8, "android.privacy.IPrivacySettingsManager"
1599 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1601 + invoke-virtual {p2}, Landroid/os/Parcel;->readInt()I
1603 + move-result v8
1605 + if-eqz v8, :cond_e1
1607 + move v0, v7
1609 + :goto_d2
1610 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->setEnabled(Z)Z
1612 + move-result v4
1614 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1616 + if-eqz v4, :cond_dc
1618 + move v6, v7
1620 + :cond_dc
1621 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
1623 + goto/16 :goto_9
1625 + :cond_e1
1626 + move v0, v6
1628 + goto :goto_d2
1630 + :sswitch_e3
1631 + const-string v8, "android.privacy.IPrivacySettingsManager"
1633 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1635 + invoke-virtual {p2}, Landroid/os/Parcel;->readInt()I
1637 + move-result v8
1639 + if-eqz v8, :cond_fe
1641 + move v0, v7
1643 + :goto_ef
1644 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->setNotificationsEnabled(Z)Z
1646 + move-result v4
1648 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1650 + if-eqz v4, :cond_f9
1652 + move v6, v7
1654 + :cond_f9
1655 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
1657 + goto/16 :goto_9
1659 + :cond_fe
1660 + move v0, v6
1662 + goto :goto_ef
1664 + :sswitch_100
1665 + const-string v6, "android.privacy.IPrivacySettingsManager"
1667 + invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1669 + invoke-virtual {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;->setBootCompleted()V
1671 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1673 + goto/16 :goto_9
1675 + nop
1677 + :sswitch_data_10e
1678 + .sparse-switch
1679 + 0x1 -> :sswitch_10
1680 + 0x2 -> :sswitch_2d
1681 + 0x3 -> :sswitch_50
1682 + 0x4 -> :sswitch_67
1683 + 0x5 -> :sswitch_83
1684 + 0x6 -> :sswitch_90
1685 + 0x7 -> :sswitch_a1
1686 + 0x8 -> :sswitch_b5
1687 + 0x9 -> :sswitch_c6
1688 + 0xa -> :sswitch_e3
1689 + 0xb -> :sswitch_100
1690 + 0x5f4e5446 -> :sswitch_a
1691 + .end sparse-switch
1692 +.end method
1693 diff -Npru -x '*RIL*' pdroid-framework/smali/android/privacy/PrivacyFileObserver.smali stock-framework/smali/android/privacy/PrivacyFileObserver.smali
1694 --- pdroid-framework/smali/android/privacy/PrivacyFileObserver.smali 1969-12-31 18:00:00.000000000 -0600
1695 +++ stock-framework/smali/android/privacy/PrivacyFileObserver.smali 2012-10-13 14:14:43.302155133 -0500
1696 @@ -0,0 +1,217 @@
1697 +.class public Landroid/privacy/PrivacyFileObserver;
1698 +.super Landroid/os/FileObserver;
1699 +.source "PrivacyFileObserver.java"
1702 +# static fields
1703 +.field public static final PACKAGE_PATH_INDEX:I = 0x3
1705 +.field public static final TAG:Ljava/lang/String; = "PrivacyFileObserver"
1708 +# instance fields
1709 +.field public absolutePath:Ljava/lang/String;
1711 +.field public children:Ljava/util/HashMap;
1712 + .annotation system Ldalvik/annotation/Signature;
1713 + value = {
1714 + "Ljava/util/HashMap",
1715 + "<",
1716 + "Ljava/lang/String;",
1717 + "Landroid/privacy/PrivacyFileObserver;",
1718 + ">;"
1720 + .end annotation
1721 +.end field
1723 +.field private pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
1726 +# direct methods
1727 +.method public constructor <init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
1728 + .registers 12
1730 + const/16 v8, 0xfff
1732 + invoke-direct {p0, p1, v8}, Landroid/os/FileObserver;-><init>(Ljava/lang/String;I)V
1734 + iput-object p1, p0, Landroid/privacy/PrivacyFileObserver;->absolutePath:Ljava/lang/String;
1736 + iput-object p2, p0, Landroid/privacy/PrivacyFileObserver;->pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
1738 + new-instance v8, Ljava/util/HashMap;
1740 + invoke-direct {v8}, Ljava/util/HashMap;-><init>()V
1742 + iput-object v8, p0, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap;
1744 + new-instance v7, Ljava/io/File;
1746 + iget-object v8, p0, Landroid/privacy/PrivacyFileObserver;->absolutePath:Ljava/lang/String;
1748 + invoke-direct {v7, v8}, Ljava/io/File;-><init>(Ljava/lang/String;)V
1750 + invoke-virtual {v7}, Ljava/io/File;->isDirectory()Z
1752 + move-result v8
1754 + if-eqz v8, :cond_42
1756 + invoke-virtual {v7}, Ljava/io/File;->listFiles()[Ljava/io/File;
1758 + move-result-object v6
1760 + move-object v0, v6
1762 + array-length v4, v0
1764 + const/4 v3, 0x0
1766 + :goto_24
1767 + if-ge v3, v4, :cond_42
1769 + aget-object v2, v0, v3
1771 + invoke-virtual {v2}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
1773 + move-result-object v5
1775 + new-instance v1, Landroid/privacy/PrivacyFileObserver;
1777 + invoke-direct {v1, v5, p2}, Landroid/privacy/PrivacyFileObserver;-><init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
1779 + iget-object v8, p0, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap;
1781 + invoke-virtual {v8, v5, v1}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
1783 + invoke-virtual {v2}, Ljava/io/File;->isFile()Z
1785 + move-result v8
1787 + if-eqz v8, :cond_3f
1789 + invoke-virtual {v1}, Landroid/privacy/PrivacyFileObserver;->startWatching()V
1791 + :cond_3f
1792 + add-int/lit8 v3, v3, 0x1
1794 + goto :goto_24
1796 + :cond_42
1797 + return-void
1798 +.end method
1801 +# virtual methods
1802 +.method public addObserver(Ljava/lang/String;)V
1803 + .registers 6
1805 + new-instance v2, Ljava/lang/StringBuilder;
1807 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
1809 + iget-object v3, p0, Landroid/privacy/PrivacyFileObserver;->absolutePath:Ljava/lang/String;
1811 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1813 + move-result-object v2
1815 + const-string v3, "/"
1817 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1819 + move-result-object v2
1821 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1823 + move-result-object v2
1825 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
1827 + move-result-object v1
1829 + iget-object v2, p0, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap;
1831 + invoke-virtual {v2, v1}, Ljava/util/HashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
1833 + new-instance v0, Landroid/privacy/PrivacyFileObserver;
1835 + iget-object v2, p0, Landroid/privacy/PrivacyFileObserver;->pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
1837 + invoke-direct {v0, v1, v2}, Landroid/privacy/PrivacyFileObserver;-><init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
1839 + iget-object v2, p0, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap;
1841 + invoke-virtual {v2, v1, v0}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
1843 + return-void
1844 +.end method
1846 +.method public onEvent(ILjava/lang/String;)V
1847 + .registers 11
1849 + and-int/lit8 v4, p1, 0x1
1851 + if-eqz v4, :cond_34
1853 + new-instance v3, Ljava/util/StringTokenizer;
1855 + iget-object v4, p0, Landroid/privacy/PrivacyFileObserver;->absolutePath:Ljava/lang/String;
1857 + const-string v5, "/"
1859 + invoke-direct {v3, v4, v5}, Ljava/util/StringTokenizer;-><init>(Ljava/lang/String;Ljava/lang/String;)V
1861 + const/4 v0, 0x0
1863 + :goto_e
1864 + const/4 v4, 0x3
1866 + if-ge v0, v4, :cond_1d
1868 + invoke-virtual {v3}, Ljava/util/StringTokenizer;->hasMoreElements()Z
1870 + move-result v4
1872 + if-eqz v4, :cond_1d
1874 + invoke-virtual {v3}, Ljava/util/StringTokenizer;->nextToken()Ljava/lang/String;
1876 + add-int/lit8 v0, v0, 0x1
1878 + goto :goto_e
1880 + :cond_1d
1881 + invoke-virtual {v3}, Ljava/util/StringTokenizer;->nextToken()Ljava/lang/String;
1883 + move-result-object v2
1885 + iget-object v4, p0, Landroid/privacy/PrivacyFileObserver;->pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
1887 + invoke-virtual {v4, v2}, Landroid/privacy/PrivacySettingsManagerService;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
1889 + move-result-object v1
1891 + iget-object v4, p0, Landroid/privacy/PrivacyFileObserver;->pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
1893 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getSystemLogsSetting()B
1895 + move-result v5
1897 + const-string/jumbo v6, "systemLogs"
1899 + const/4 v7, 0x0
1901 + invoke-virtual {v4, v2, v5, v6, v7}, Landroid/privacy/PrivacySettingsManagerService;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
1903 + :cond_34
1904 + return-void
1905 +.end method
1907 +.method public startWatching()V
1908 + .registers 1
1910 + invoke-super {p0}, Landroid/os/FileObserver;->startWatching()V
1912 + return-void
1913 +.end method
1914 diff -Npru -x '*RIL*' pdroid-framework/smali/android/privacy/PrivacyPersistenceAdapter.smali stock-framework/smali/android/privacy/PrivacyPersistenceAdapter.smali
1915 --- pdroid-framework/smali/android/privacy/PrivacyPersistenceAdapter.smali 1969-12-31 18:00:00.000000000 -0600
1916 +++ stock-framework/smali/android/privacy/PrivacyPersistenceAdapter.smali 2012-10-13 14:14:43.346155360 -0500
1917 @@ -0,0 +1,4631 @@
1918 +.class public Landroid/privacy/PrivacyPersistenceAdapter;
1919 +.super Ljava/lang/Object;
1920 +.source "PrivacyPersistenceAdapter.java"
1923 +# static fields
1924 +.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) );"
1926 +.field private static final CREATE_TABLE_MAP:Ljava/lang/String; = "CREATE TABLE IF NOT EXISTS map ( name TEXT PRIMARY KEY, value TEXT );"
1928 +.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);"
1930 +.field private static final DATABASE_FIELDS:[Ljava/lang/String; = null
1932 +.field private static final DATABASE_FILE:Ljava/lang/String; = "/data/system/privacy.db"
1934 +.field private static final DATABASE_VERSION:I = 0x3
1936 +.field public static final DUMMY_UID:I = -0x1
1938 +.field private static final INSERT_ENABLED:Ljava/lang/String; = "INSERT OR REPLACE INTO map (name, value) VALUES (\"enabled\", \"1\");"
1940 +.field private static final INSERT_NOTIFICATIONS_ENABLED:Ljava/lang/String; = "INSERT OR REPLACE INTO map (name, value) VALUES (\"notifications_enabled\", \"1\");"
1942 +.field private static final INSERT_VERSION:Ljava/lang/String; = "INSERT OR REPLACE INTO map (name, value) VALUES (\"db_version\", 3);"
1944 +.field private static final RETRY_QUERY_COUNT:I = 0x5
1946 +.field public static final SETTINGS_DIRECTORY:Ljava/lang/String; = "/data/system/privacy"
1948 +.field public static final SETTING_DB_VERSION:Ljava/lang/String; = "db_version"
1950 +.field public static final SETTING_ENABLED:Ljava/lang/String; = "enabled"
1952 +.field public static final SETTING_NOTIFICATIONS_ENABLED:Ljava/lang/String; = "notifications_enabled"
1954 +.field private static final TABLE_ALLOWED_CONTACTS:Ljava/lang/String; = "allowed_contacts"
1956 +.field private static final TABLE_MAP:Ljava/lang/String; = "map"
1958 +.field private static final TABLE_SETTINGS:Ljava/lang/String; = "settings"
1960 +.field private static final TABLE_VERSION:Ljava/lang/String; = "version"
1962 +.field private static final TAG:Ljava/lang/String; = "PrivacyPersistenceAdapter"
1964 +.field public static final VALUE_FALSE:Ljava/lang/String; = "0"
1966 +.field public static final VALUE_TRUE:Ljava/lang/String; = "1"
1968 +.field public static readingThreads:Ljava/lang/Integer;
1971 +# instance fields
1972 +.field private context:Landroid/content/Context;
1974 +.field private db:Landroid/database/sqlite/SQLiteDatabase;
1977 +# direct methods
1978 +.method static constructor <clinit>()V
1979 + .registers 3
1981 + const/4 v2, 0x0
1983 + invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
1985 + move-result-object v0
1987 + sput-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
1989 + const/16 v0, 0x23
1991 + new-array v0, v0, [Ljava/lang/String;
1993 + const-string v1, "_id"
1995 + aput-object v1, v0, v2
1997 + const/4 v1, 0x1
1999 + const-string/jumbo v2, "packageName"
2001 + aput-object v2, v0, v1
2003 + const/4 v1, 0x2
2005 + const-string/jumbo v2, "uid"
2007 + aput-object v2, v0, v1
2009 + const/4 v1, 0x3
2011 + const-string v2, "deviceIdSetting"
2013 + aput-object v2, v0, v1
2015 + const/4 v1, 0x4
2017 + const-string v2, "deviceId"
2019 + aput-object v2, v0, v1
2021 + const/4 v1, 0x5
2023 + const-string v2, "line1NumberSetting"
2025 + aput-object v2, v0, v1
2027 + const/4 v1, 0x6
2029 + const-string v2, "line1Number"
2031 + aput-object v2, v0, v1
2033 + const/4 v1, 0x7
2035 + const-string v2, "locationGpsSetting"
2037 + aput-object v2, v0, v1
2039 + const/16 v1, 0x8
2041 + const-string v2, "locationGpsLat"
2043 + aput-object v2, v0, v1
2045 + const/16 v1, 0x9
2047 + const-string v2, "locationGpsLon"
2049 + aput-object v2, v0, v1
2051 + const/16 v1, 0xa
2053 + const-string v2, "locationNetworkSetting"
2055 + aput-object v2, v0, v1
2057 + const/16 v1, 0xb
2059 + const-string v2, "locationNetworkLat"
2061 + aput-object v2, v0, v1
2063 + const/16 v1, 0xc
2065 + const-string v2, "locationNetworkLon"
2067 + aput-object v2, v0, v1
2069 + const/16 v1, 0xd
2071 + const-string/jumbo v2, "networkInfoSetting"
2073 + aput-object v2, v0, v1
2075 + const/16 v1, 0xe
2077 + const-string/jumbo v2, "simInfoSetting"
2079 + aput-object v2, v0, v1
2081 + const/16 v1, 0xf
2083 + const-string/jumbo v2, "simSerialNumberSetting"
2085 + aput-object v2, v0, v1
2087 + const/16 v1, 0x10
2089 + const-string/jumbo v2, "simSerialNumber"
2091 + aput-object v2, v0, v1
2093 + const/16 v1, 0x11
2095 + const-string/jumbo v2, "subscriberIdSetting"
2097 + aput-object v2, v0, v1
2099 + const/16 v1, 0x12
2101 + const-string/jumbo v2, "subscriberId"
2103 + aput-object v2, v0, v1
2105 + const/16 v1, 0x13
2107 + const-string v2, "accountsSetting"
2109 + aput-object v2, v0, v1
2111 + const/16 v1, 0x14
2113 + const-string v2, "accountsAuthTokensSetting"
2115 + aput-object v2, v0, v1
2117 + const/16 v1, 0x15
2119 + const-string/jumbo v2, "outgoingCallsSetting"
2121 + aput-object v2, v0, v1
2123 + const/16 v1, 0x16
2125 + const-string v2, "incomingCallsSetting"
2127 + aput-object v2, v0, v1
2129 + const/16 v1, 0x17
2131 + const-string v2, "contactsSetting"
2133 + aput-object v2, v0, v1
2135 + const/16 v1, 0x18
2137 + const-string v2, "calendarSetting"
2139 + aput-object v2, v0, v1
2141 + const/16 v1, 0x19
2143 + const-string/jumbo v2, "mmsSetting"
2145 + aput-object v2, v0, v1
2147 + const/16 v1, 0x1a
2149 + const-string/jumbo v2, "smsSetting"
2151 + aput-object v2, v0, v1
2153 + const/16 v1, 0x1b
2155 + const-string v2, "callLogSetting"
2157 + aput-object v2, v0, v1
2159 + const/16 v1, 0x1c
2161 + const-string v2, "bookmarksSetting"
2163 + aput-object v2, v0, v1
2165 + const/16 v1, 0x1d
2167 + const-string/jumbo v2, "systemLogsSetting"
2169 + aput-object v2, v0, v1
2171 + const/16 v1, 0x1e
2173 + const-string v2, "externalStorageSetting"
2175 + aput-object v2, v0, v1
2177 + const/16 v1, 0x1f
2179 + const-string v2, "cameraSetting"
2181 + aput-object v2, v0, v1
2183 + const/16 v1, 0x20
2185 + const-string/jumbo v2, "recordAudioSetting"
2187 + aput-object v2, v0, v1
2189 + const/16 v1, 0x21
2191 + const-string/jumbo v2, "notificationSetting"
2193 + aput-object v2, v0, v1
2195 + const/16 v1, 0x22
2197 + const-string v2, "intentBootCompletedSetting"
2199 + aput-object v2, v0, v1
2201 + sput-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->DATABASE_FIELDS:[Ljava/lang/String;
2203 + return-void
2204 +.end method
2206 +.method public constructor <init>(Landroid/content/Context;)V
2207 + .registers 6
2209 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
2211 + iput-object p1, p0, Landroid/privacy/PrivacyPersistenceAdapter;->context:Landroid/content/Context;
2213 + new-instance v2, Ljava/io/File;
2215 + const-string v3, "/data/system/"
2217 + invoke-direct {v2, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
2219 + invoke-virtual {v2}, Ljava/io/File;->canWrite()Z
2221 + move-result v0
2223 + if-eqz v0, :cond_3c
2225 + new-instance v2, Ljava/io/File;
2227 + const-string v3, "/data/system/privacy.db"
2229 + invoke-direct {v2, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
2231 + invoke-virtual {v2}, Ljava/io/File;->exists()Z
2233 + move-result v2
2235 + if-nez v2, :cond_22
2237 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->createDatabase()V
2239 + :cond_22
2240 + new-instance v2, Ljava/io/File;
2242 + const-string v3, "/data/system/privacy"
2244 + invoke-direct {v2, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
2246 + invoke-virtual {v2}, Ljava/io/File;->exists()Z
2248 + move-result v2
2250 + if-nez v2, :cond_32
2252 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->createSettingsDir()V
2254 + :cond_32
2255 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getDbVersion()I
2257 + move-result v1
2259 + const/4 v2, 0x3
2261 + if-ge v1, v2, :cond_3c
2263 + invoke-direct {p0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->upgradeDatabase(I)V
2265 + :cond_3c
2266 + return-void
2267 +.end method
2269 +.method private declared-synchronized createDatabase()V
2270 + .registers 6
2272 + monitor-enter p0
2274 + :try_start_1
2275 + const-string v2, "PrivacyPersistenceAdapter"
2277 + const-string v3, "createDatabase - creating privacy database file"
2279 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
2280 + :try_end_8
2281 + .catchall {:try_start_1 .. :try_end_8} :catchall_4c
2283 + :try_start_8
2284 + const-string v2, "/data/system/privacy.db"
2286 + const/4 v3, 0x0
2288 + const/high16 v4, 0x1000
2290 + invoke-static {v2, v3, v4}, Landroid/database/sqlite/SQLiteDatabase;->openDatabase(Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;I)Landroid/database/sqlite/SQLiteDatabase;
2292 + move-result-object v0
2294 + const-string v2, "PrivacyPersistenceAdapter"
2296 + const-string v3, "createDatabase - creating privacy database"
2298 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
2300 + 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);"
2302 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
2304 + const-string v2, "CREATE TABLE IF NOT EXISTS allowed_contacts ( settings_id, contact_id, PRIMARY KEY(settings_id, contact_id) );"
2306 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
2308 + const-string v2, "CREATE TABLE IF NOT EXISTS map ( name TEXT PRIMARY KEY, value TEXT );"
2310 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
2312 + const-string v2, "INSERT OR REPLACE INTO map (name, value) VALUES (\"db_version\", 3);"
2314 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
2316 + const-string v2, "INSERT OR REPLACE INTO map (name, value) VALUES (\"enabled\", \"1\");"
2318 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
2320 + const-string v2, "INSERT OR REPLACE INTO map (name, value) VALUES (\"notifications_enabled\", \"1\");"
2322 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
2324 + if-eqz v0, :cond_41
2326 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
2328 + move-result v2
2330 + if-eqz v2, :cond_41
2332 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
2333 + :try_end_41
2334 + .catchall {:try_start_8 .. :try_end_41} :catchall_4c
2335 + .catch Landroid/database/SQLException; {:try_start_8 .. :try_end_41} :catch_43
2337 + :cond_41
2338 + :goto_41
2339 + monitor-exit p0
2341 + return-void
2343 + :catch_43
2344 + move-exception v1
2346 + :try_start_44
2347 + const-string v2, "PrivacyPersistenceAdapter"
2349 + const-string v3, "createDatabase - failed to create privacy database"
2351 + invoke-static {v2, v3, v1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
2352 + :try_end_4b
2353 + .catchall {:try_start_44 .. :try_end_4b} :catchall_4c
2355 + goto :goto_41
2357 + :catchall_4c
2358 + move-exception v2
2360 + monitor-exit p0
2362 + throw v2
2363 +.end method
2365 +.method private declared-synchronized createSettingsDir()V
2366 + .registers 4
2368 + monitor-enter p0
2370 + :try_start_1
2371 + new-instance v0, Ljava/io/File;
2373 + const-string v1, "/data/system/privacy/"
2375 + invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
2377 + invoke-virtual {v0}, Ljava/io/File;->mkdirs()Z
2379 + const/4 v1, 0x1
2381 + const/4 v2, 0x0
2383 + invoke-virtual {v0, v1, v2}, Ljava/io/File;->setReadable(ZZ)Z
2385 + const/4 v1, 0x1
2387 + const/4 v2, 0x0
2389 + invoke-virtual {v0, v1, v2}, Ljava/io/File;->setExecutable(ZZ)Z
2390 + :try_end_15
2391 + .catchall {:try_start_1 .. :try_end_15} :catchall_17
2393 + monitor-exit p0
2395 + return-void
2397 + :catchall_17
2398 + move-exception v1
2400 + monitor-exit p0
2402 + throw v1
2403 +.end method
2405 +.method private deleteRecursive(Ljava/io/File;)V
2406 + .registers 7
2408 + invoke-virtual {p1}, Ljava/io/File;->isDirectory()Z
2410 + move-result v4
2412 + if-eqz v4, :cond_16
2414 + invoke-virtual {p1}, Ljava/io/File;->listFiles()[Ljava/io/File;
2416 + move-result-object v0
2418 + array-length v3, v0
2420 + const/4 v2, 0x0
2422 + :goto_c
2423 + if-ge v2, v3, :cond_16
2425 + aget-object v1, v0, v2
2427 + invoke-direct {p0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteRecursive(Ljava/io/File;)V
2429 + add-int/lit8 v2, v2, 0x1
2431 + goto :goto_c
2433 + :cond_16
2434 + invoke-virtual {p1}, Ljava/io/File;->delete()Z
2436 + return-void
2437 +.end method
2439 +.method private getDbVersion()I
2440 + .registers 9
2442 + const/4 v4, 0x1
2444 + const/4 v3, -0x1
2446 + sget-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2448 + sget-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2450 + invoke-virtual {v6}, Ljava/lang/Integer;->intValue()I
2452 + move-result v6
2454 + add-int/lit8 v6, v6, 0x1
2456 + invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
2458 + move-result-object v6
2460 + sput-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2462 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
2464 + move-result-object v1
2466 + :try_start_16
2467 + const-string v6, "SELECT name FROM sqlite_master WHERE type=\'table\' AND name=\'map\';"
2469 + invoke-direct {p0, v1, v6}, Landroid/privacy/PrivacyPersistenceAdapter;->rawQuery(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;)Landroid/database/Cursor;
2471 + move-result-object v0
2473 + if-eqz v0, :cond_5e
2475 + invoke-interface {v0}, Landroid/database/Cursor;->getCount()I
2477 + move-result v6
2479 + if-nez v6, :cond_25
2481 + const/4 v3, 0x1
2483 + :cond_25
2484 + invoke-interface {v0}, Landroid/database/Cursor;->close()V
2486 + sget-object v7, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2488 + monitor-enter v7
2489 + :try_end_2b
2490 + .catch Ljava/lang/Exception; {:try_start_16 .. :try_end_2b} :catch_55
2492 + :try_start_2b
2493 + sget-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2495 + sget-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2497 + invoke-virtual {v6}, Ljava/lang/Integer;->intValue()I
2499 + move-result v6
2501 + add-int/lit8 v6, v6, -0x1
2503 + invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
2505 + move-result-object v6
2507 + sput-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2509 + sget-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2511 + invoke-virtual {v6}, Ljava/lang/Integer;->intValue()I
2513 + move-result v6
2515 + if-nez v6, :cond_4e
2517 + if-eqz v1, :cond_4e
2519 + invoke-virtual {v1}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
2521 + move-result v6
2523 + if-eqz v6, :cond_4e
2525 + invoke-virtual {v1}, Landroid/database/sqlite/SQLiteDatabase;->close()V
2527 + :cond_4e
2528 + monitor-exit v7
2530 + :goto_4f
2531 + if-ne v3, v4, :cond_66
2533 + :goto_51
2534 + return v3
2536 + :catchall_52
2537 + move-exception v6
2539 + monitor-exit v7
2540 + :try_end_54
2541 + .catchall {:try_start_2b .. :try_end_54} :catchall_52
2543 + :try_start_54
2544 + throw v6
2545 + :try_end_55
2546 + .catch Ljava/lang/Exception; {:try_start_54 .. :try_end_55} :catch_55
2548 + :catch_55
2549 + move-exception v2
2551 + const-string v6, "PrivacyPersistenceAdapter"
2553 + const-string v7, "getDbVersion - failed to check if table map exists (exception)"
2555 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
2557 + goto :goto_4f
2559 + :cond_5e
2560 + :try_start_5e
2561 + const-string v6, "PrivacyPersistenceAdapter"
2563 + const-string v7, "getDbVersion - failed to check if table map exists (cursor is null)"
2565 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
2566 + :try_end_65
2567 + .catch Ljava/lang/Exception; {:try_start_5e .. :try_end_65} :catch_55
2569 + goto :goto_4f
2571 + :cond_66
2572 + const-string v6, "db_version"
2574 + invoke-virtual {p0, v6}, Landroid/privacy/PrivacyPersistenceAdapter;->getValue(Ljava/lang/String;)Ljava/lang/String;
2576 + move-result-object v5
2578 + if-nez v5, :cond_70
2580 + move v3, v4
2582 + goto :goto_51
2584 + :cond_70
2585 + :try_start_70
2586 + invoke-static {v5}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
2587 + :try_end_73
2588 + .catch Ljava/lang/Exception; {:try_start_70 .. :try_end_73} :catch_76
2590 + move-result v4
2592 + move v3, v4
2594 + goto :goto_51
2596 + :catch_76
2597 + move-exception v2
2599 + const-string v6, "PrivacyPersistenceAdapter"
2601 + const-string v7, "getDbVersion - failed to parse database version; returning 1"
2603 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
2605 + move v3, v4
2607 + goto :goto_51
2608 +.end method
2610 +.method private declared-synchronized getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
2611 + .registers 4
2613 + monitor-enter p0
2615 + :try_start_1
2616 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2618 + if-eqz v0, :cond_11
2620 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2622 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
2624 + move-result v0
2626 + if-eqz v0, :cond_11
2628 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2629 + :try_end_f
2630 + .catchall {:try_start_1 .. :try_end_f} :catchall_1e
2632 + :goto_f
2633 + monitor-exit p0
2635 + return-object v0
2637 + :cond_11
2638 + :try_start_11
2639 + const-string v0, "/data/system/privacy.db"
2641 + const/4 v1, 0x0
2643 + const/4 v2, 0x1
2645 + invoke-static {v0, v1, v2}, Landroid/database/sqlite/SQLiteDatabase;->openDatabase(Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;I)Landroid/database/sqlite/SQLiteDatabase;
2647 + move-result-object v0
2649 + iput-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2651 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2652 + :try_end_1d
2653 + .catchall {:try_start_11 .. :try_end_1d} :catchall_1e
2655 + goto :goto_f
2657 + :catchall_1e
2658 + move-exception v0
2660 + monitor-exit p0
2662 + throw v0
2663 +.end method
2665 +.method private declared-synchronized getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
2666 + .registers 4
2668 + monitor-enter p0
2670 + :try_start_1
2671 + new-instance v0, Ljava/io/File;
2673 + const-string v1, "/data/system/privacy.db"
2675 + invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
2677 + invoke-virtual {v0}, Ljava/io/File;->exists()Z
2679 + move-result v0
2681 + if-nez v0, :cond_11
2683 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->createDatabase()V
2685 + :cond_11
2686 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2688 + if-eqz v0, :cond_29
2690 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2692 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
2694 + move-result v0
2696 + if-eqz v0, :cond_29
2698 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2700 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isReadOnly()Z
2702 + move-result v0
2704 + if-nez v0, :cond_29
2706 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2707 + :try_end_27
2708 + .catchall {:try_start_1 .. :try_end_27} :catchall_36
2710 + :goto_27
2711 + monitor-exit p0
2713 + return-object v0
2715 + :cond_29
2716 + :try_start_29
2717 + const-string v0, "/data/system/privacy.db"
2719 + const/4 v1, 0x0
2721 + const/4 v2, 0x0
2723 + invoke-static {v0, v1, v2}, Landroid/database/sqlite/SQLiteDatabase;->openDatabase(Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;I)Landroid/database/sqlite/SQLiteDatabase;
2725 + move-result-object v0
2727 + iput-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2729 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2730 + :try_end_35
2731 + .catchall {:try_start_29 .. :try_end_35} :catchall_36
2733 + goto :goto_27
2735 + :catchall_36
2736 + move-exception v0
2738 + monitor-exit p0
2740 + throw v0
2741 +.end method
2743 +.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;
2744 + .registers 16
2745 + .annotation system Ldalvik/annotation/Throws;
2746 + value = {
2747 + Ljava/lang/Exception;
2749 + .end annotation
2751 + const/4 v0, 0x0
2753 + const/4 v3, 0x0
2755 + const/4 v2, 0x0
2757 + :goto_3
2758 + if-nez v3, :cond_27
2760 + const/4 v4, 0x5
2762 + if-ge v2, v4, :cond_27
2764 + if-eqz v0, :cond_d
2766 + :try_start_a
2767 + invoke-interface {v0}, Landroid/database/Cursor;->close()V
2769 + :cond_d
2770 + 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;
2771 + :try_end_10
2772 + .catch Ljava/lang/IllegalStateException; {:try_start_a .. :try_end_10} :catch_15
2774 + move-result-object v0
2776 + const/4 v3, 0x1
2778 + :goto_12
2779 + add-int/lit8 v2, v2, 0x1
2781 + goto :goto_3
2783 + :catch_15
2784 + move-exception v1
2786 + const/4 v3, 0x0
2788 + if-eqz p1, :cond_22
2790 + invoke-virtual {p1}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
2792 + move-result v4
2794 + if-eqz v4, :cond_22
2796 + invoke-virtual {p1}, Landroid/database/sqlite/SQLiteDatabase;->close()V
2798 + :cond_22
2799 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
2801 + move-result-object p1
2803 + goto :goto_12
2805 + :cond_27
2806 + if-nez v3, :cond_32
2808 + new-instance v4, Ljava/lang/Exception;
2810 + const-string/jumbo v5, "query - failed to execute query on the DB"
2812 + invoke-direct {v4, v5}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
2814 + throw v4
2816 + :cond_32
2817 + return-object v0
2818 +.end method
2820 +.method private rawQuery(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;)Landroid/database/Cursor;
2821 + .registers 9
2822 + .annotation system Ldalvik/annotation/Throws;
2823 + value = {
2824 + Ljava/lang/Exception;
2826 + .end annotation
2828 + const/4 v0, 0x0
2830 + const/4 v3, 0x0
2832 + const/4 v2, 0x0
2834 + :goto_3
2835 + if-nez v3, :cond_28
2837 + const/4 v4, 0x5
2839 + if-ge v2, v4, :cond_28
2841 + if-eqz v0, :cond_d
2843 + :try_start_a
2844 + invoke-interface {v0}, Landroid/database/Cursor;->close()V
2846 + :cond_d
2847 + const/4 v4, 0x0
2849 + invoke-virtual {p1, p2, v4}, Landroid/database/sqlite/SQLiteDatabase;->rawQuery(Ljava/lang/String;[Ljava/lang/String;)Landroid/database/Cursor;
2850 + :try_end_11
2851 + .catch Ljava/lang/IllegalStateException; {:try_start_a .. :try_end_11} :catch_16
2853 + move-result-object v0
2855 + const/4 v3, 0x1
2857 + :goto_13
2858 + add-int/lit8 v2, v2, 0x1
2860 + goto :goto_3
2862 + :catch_16
2863 + move-exception v1
2865 + const/4 v3, 0x0
2867 + if-eqz p1, :cond_23
2869 + invoke-virtual {p1}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
2871 + move-result v4
2873 + if-eqz v4, :cond_23
2875 + invoke-virtual {p1}, Landroid/database/sqlite/SQLiteDatabase;->close()V
2877 + :cond_23
2878 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
2880 + move-result-object p1
2882 + goto :goto_13
2884 + :cond_28
2885 + if-nez v3, :cond_33
2887 + new-instance v4, Ljava/lang/Exception;
2889 + const-string/jumbo v5, "query - failed to execute query on the DB"
2891 + invoke-direct {v4, v5}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
2893 + throw v4
2895 + :cond_33
2896 + return-object v0
2897 +.end method
2899 +.method private declared-synchronized upgradeDatabase(I)V
2900 + .registers 23
2902 + monitor-enter p0
2904 + :try_start_1
2905 + const-string v17, "PrivacyPersistenceAdapter"
2907 + new-instance v18, Ljava/lang/StringBuilder;
2909 + invoke-direct/range {v18 .. v18}, Ljava/lang/StringBuilder;-><init>()V
2911 + const-string/jumbo v19, "upgradeDatabase - upgrading DB from version "
2913 + invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2915 + move-result-object v18
2917 + move-object/from16 v0, v18
2919 + move/from16 v1, p1
2921 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
2923 + move-result-object v18
2925 + const-string v19, " to "
2927 + invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2929 + move-result-object v18
2931 + const/16 v19, 0x3
2933 + invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
2935 + move-result-object v18
2937 + invoke-virtual/range {v18 .. v18}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2939 + move-result-object v18
2941 + invoke-static/range {v17 .. v18}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
2943 + new-instance v6, Ljava/io/File;
2945 + const-string v17, "/data/system/privacy.db"
2947 + move-object/from16 v0, v17
2949 + invoke-direct {v6, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
2951 + new-instance v5, Ljava/io/File;
2953 + const-string v17, "/data/system/privacy.db.bak"
2955 + move-object/from16 v0, v17
2957 + invoke-direct {v5, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
2958 + :try_end_3c
2959 + .catchall {:try_start_1 .. :try_end_3c} :catchall_66
2961 + :try_start_3c
2962 + invoke-virtual {v5}, Ljava/io/File;->delete()Z
2963 + :try_end_3f
2964 + .catchall {:try_start_3c .. :try_end_3f} :catchall_66
2965 + .catch Ljava/lang/SecurityException; {:try_start_3c .. :try_end_3f} :catch_5c
2967 + :goto_3f
2968 + :try_start_3f
2969 + invoke-static {v6, v5}, Landroid/os/FileUtils;->copyFile(Ljava/io/File;Ljava/io/File;)Z
2971 + invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
2973 + move-result-wide v17
2975 + invoke-virtual {v5}, Ljava/io/File;->lastModified()J
2977 + move-result-wide v19
2979 + sub-long v17, v17, v19
2981 + const-wide/16 v19, 0x7d0
2983 + cmp-long v17, v17, v19
2985 + if-lez v17, :cond_69
2987 + const-string v17, "PrivacyPersistenceAdapter"
2989 + const-string/jumbo v18, "upgradeDatabase - could not create a database backup, aborting..."
2991 + invoke-static/range {v17 .. v18}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
2992 + :try_end_5a
2993 + .catchall {:try_start_3f .. :try_end_5a} :catchall_66
2995 + :goto_5a
2996 + monitor-exit p0
2998 + return-void
3000 + :catch_5c
3001 + move-exception v7
3003 + :try_start_5d
3004 + const-string v17, "PrivacyPersistenceAdapter"
3006 + const-string/jumbo v18, "upgradeDatabase - could not remove old backup"
3008 + invoke-static/range {v17 .. v18}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
3009 + :try_end_65
3010 + .catchall {:try_start_5d .. :try_end_65} :catchall_66
3012 + goto :goto_3f
3014 + :catchall_66
3015 + move-exception v17
3017 + monitor-exit p0
3019 + throw v17
3021 + :cond_69
3022 + :try_start_69
3023 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
3025 + move-result-object v4
3027 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->beginTransaction()V
3029 + packed-switch p1, :pswitch_data_164
3031 + :cond_73
3032 + :goto_73
3033 + if-eqz v4, :cond_159
3035 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3037 + move-result v17
3039 + if-eqz v17, :cond_159
3041 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
3043 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3045 + :goto_81
3046 + invoke-virtual/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->purgeSettings()Z
3047 + :try_end_84
3048 + .catchall {:try_start_69 .. :try_end_84} :catchall_66
3050 + goto :goto_5a
3052 + :pswitch_85
3053 + if-eqz v4, :cond_73
3055 + :try_start_87
3056 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3058 + move-result v17
3060 + if-eqz v17, :cond_73
3062 + const-string v17, "DROP TABLE IF EXISTS version;"
3064 + move-object/from16 v0, v17
3066 + invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
3068 + const-string v17, "CREATE TABLE IF NOT EXISTS allowed_contacts ( settings_id, contact_id, PRIMARY KEY(settings_id, contact_id) );"
3070 + move-object/from16 v0, v17
3072 + invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
3074 + const-string v17, "CREATE TABLE IF NOT EXISTS map ( name TEXT PRIMARY KEY, value TEXT );"
3076 + move-object/from16 v0, v17
3078 + invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
3080 + const-string v17, "INSERT OR REPLACE INTO map (name, value) VALUES (\"db_version\", 3);"
3082 + move-object/from16 v0, v17
3084 + invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
3086 + const-string v17, "INSERT OR REPLACE INTO map (name, value) VALUES (\"enabled\", \"1\");"
3088 + move-object/from16 v0, v17
3090 + invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
3092 + const-string v17, "INSERT OR REPLACE INTO map (name, value) VALUES (\"notifications_enabled\", \"1\");"
3094 + move-object/from16 v0, v17
3096 + invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
3098 + new-instance v14, Ljava/io/File;
3100 + const-string v17, "/data/system/privacy"
3102 + move-object/from16 v0, v17
3104 + invoke-direct {v14, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
3106 + invoke-virtual {v14}, Ljava/io/File;->listFiles()[Ljava/io/File;
3108 + move-result-object v2
3110 + array-length v10, v2
3112 + const/4 v8, 0x0
3114 + move v9, v8
3116 + :goto_c7
3117 + if-ge v9, v10, :cond_127
3119 + aget-object v13, v2, v9
3121 + invoke-virtual {v13}, Ljava/io/File;->listFiles()[Ljava/io/File;
3123 + move-result-object v3
3125 + array-length v11, v3
3127 + const/4 v8, 0x0
3129 + :goto_d1
3130 + if-ge v8, v11, :cond_123
3132 + aget-object v16, v3, v8
3134 + invoke-virtual/range {v16 .. v16}, Ljava/io/File;->isDirectory()Z
3136 + move-result v17
3138 + if-eqz v17, :cond_120
3140 + invoke-virtual/range {v16 .. v16}, Ljava/io/File;->listFiles()[Ljava/io/File;
3142 + move-result-object v15
3144 + const/16 v17, 0x0
3146 + aget-object v17, v15, v17
3148 + if-eqz v17, :cond_120
3150 + new-instance v12, Ljava/io/File;
3152 + new-instance v17, Ljava/lang/StringBuilder;
3154 + invoke-direct/range {v17 .. v17}, Ljava/lang/StringBuilder;-><init>()V
3156 + move-object/from16 v0, v17
3158 + invoke-virtual {v0, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
3160 + move-result-object v17
3162 + const-string v18, "/"
3164 + invoke-virtual/range {v17 .. v18}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3166 + move-result-object v17
3168 + const/16 v18, 0x0
3170 + aget-object v18, v15, v18
3172 + invoke-virtual/range {v18 .. v18}, Ljava/io/File;->getName()Ljava/lang/String;
3174 + move-result-object v18
3176 + invoke-virtual/range {v17 .. v18}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3178 + move-result-object v17
3180 + invoke-virtual/range {v17 .. v17}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3182 + move-result-object v17
3184 + move-object/from16 v0, v17
3186 + invoke-direct {v12, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
3188 + invoke-virtual {v12}, Ljava/io/File;->delete()Z
3190 + const/16 v17, 0x0
3192 + aget-object v17, v15, v17
3194 + move-object/from16 v0, v17
3196 + invoke-virtual {v0, v12}, Ljava/io/File;->renameTo(Ljava/io/File;)Z
3198 + move-object/from16 v0, p0
3200 + move-object/from16 v1, v16
3202 + invoke-direct {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteRecursive(Ljava/io/File;)V
3204 + :cond_120
3205 + add-int/lit8 v8, v8, 0x1
3207 + goto :goto_d1
3209 + :cond_123
3210 + add-int/lit8 v8, v9, 0x1
3212 + move v9, v8
3214 + goto :goto_c7
3216 + :cond_127
3217 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->setTransactionSuccessful()V
3218 + :try_end_12a
3219 + .catchall {:try_start_87 .. :try_end_12a} :catchall_66
3220 + .catch Ljava/lang/Exception; {:try_start_87 .. :try_end_12a} :catch_12c
3222 + goto/16 :goto_73
3224 + :catch_12c
3225 + move-exception v7
3227 + if-eqz v4, :cond_13b
3229 + :try_start_12f
3230 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3232 + move-result v17
3234 + if-eqz v17, :cond_13b
3236 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
3238 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3240 + :cond_13b
3241 + const-string v17, "PrivacyPersistenceAdapter"
3243 + const-string/jumbo v18, "upgradeDatabase - could not upgrade DB; will restore backup"
3245 + move-object/from16 v0, v17
3247 + move-object/from16 v1, v18
3249 + invoke-static {v0, v1, v7}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
3251 + invoke-static {v5, v6}, Landroid/os/FileUtils;->copyFile(Ljava/io/File;Ljava/io/File;)Z
3253 + invoke-virtual {v5}, Ljava/io/File;->delete()Z
3255 + goto/16 :goto_73
3257 + :pswitch_14f
3258 + const-string v17, "PrivacyPersistenceAdapter"
3260 + const-string/jumbo v18, "upgradeDatabase - trying to upgrade most current DB version"
3262 + invoke-static/range {v17 .. v18}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
3264 + goto/16 :goto_73
3266 + :cond_159
3267 + const-string v17, "PrivacyPersistenceAdapter"
3269 + const-string/jumbo v18, "upgradeDatabase - database is null or closed; cant call endTransaction()"
3271 + invoke-static/range {v17 .. v18}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
3272 + :try_end_161
3273 + .catchall {:try_start_12f .. :try_end_161} :catchall_66
3275 + goto/16 :goto_81
3277 + nop
3279 + :pswitch_data_164
3280 + .packed-switch 0x1
3281 + :pswitch_85
3282 + :pswitch_85
3283 + :pswitch_14f
3284 + .end packed-switch
3285 +.end method
3288 +# virtual methods
3289 +.method public declared-synchronized deleteSettings(Ljava/lang/String;)Z
3290 + .registers 16
3292 + monitor-enter p0
3294 + const/4 v11, 0x1
3296 + :try_start_2
3297 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
3299 + move-result-object v0
3301 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->beginTransaction()V
3302 + :try_end_9
3303 + .catchall {:try_start_2 .. :try_end_9} :catchall_107
3305 + :try_start_9
3306 + const-string/jumbo v1, "settings"
3308 + const/4 v2, 0x1
3310 + new-array v2, v2, [Ljava/lang/String;
3312 + const/4 v3, 0x0
3314 + const-string v4, "_id"
3316 + aput-object v4, v2, v3
3318 + const-string/jumbo v3, "packageName=?"
3320 + const/4 v4, 0x1
3322 + new-array v4, v4, [Ljava/lang/String;
3324 + const/4 v5, 0x0
3326 + aput-object p1, v4, v5
3328 + const/4 v5, 0x0
3330 + const/4 v6, 0x0
3332 + const/4 v7, 0x0
3334 + 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;
3336 + move-result-object v8
3338 + if-eqz v8, :cond_4c
3340 + invoke-interface {v8}, Landroid/database/Cursor;->getCount()I
3342 + move-result v1
3344 + if-lez v1, :cond_4c
3346 + invoke-interface {v8}, Landroid/database/Cursor;->moveToFirst()Z
3348 + move-result v1
3350 + if-eqz v1, :cond_4c
3352 + const/4 v1, 0x0
3354 + invoke-interface {v8, v1}, Landroid/database/Cursor;->getInt(I)I
3356 + move-result v10
3358 + const-string v1, "allowed_contacts"
3360 + const-string/jumbo v2, "settings_id=?"
3362 + const/4 v3, 0x1
3364 + new-array v3, v3, [Ljava/lang/String;
3366 + const/4 v4, 0x0
3368 + invoke-static {v10}, Ljava/lang/Integer;->toString(I)Ljava/lang/String;
3370 + move-result-object v5
3372 + aput-object v5, v3, v4
3374 + invoke-virtual {v0, v1, v2, v3}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
3376 + invoke-interface {v8}, Landroid/database/Cursor;->close()V
3378 + :cond_4c
3379 + const-string/jumbo v1, "settings"
3381 + const-string/jumbo v2, "packageName=?"
3383 + const/4 v3, 0x1
3385 + new-array v3, v3, [Ljava/lang/String;
3387 + const/4 v4, 0x0
3389 + aput-object p1, v3, v4
3391 + invoke-virtual {v0, v1, v2, v3}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
3393 + move-result v1
3395 + if-nez v1, :cond_8d
3397 + const-string v1, "PrivacyPersistenceAdapter"
3399 + new-instance v2, Ljava/lang/StringBuilder;
3401 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
3403 + const-string v3, "deleteSettings - database entry for "
3405 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3407 + move-result-object v2
3409 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3411 + move-result-object v2
3413 + const-string v3, " not found"
3415 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3417 + move-result-object v2
3419 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3421 + move-result-object v2
3423 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
3424 + :try_end_7c
3425 + .catchall {:try_start_9 .. :try_end_7c} :catchall_10a
3426 + .catch Ljava/lang/Exception; {:try_start_9 .. :try_end_7c} :catch_ef
3428 + const/4 v1, 0x0
3430 + :try_start_7d
3431 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
3433 + if-eqz v0, :cond_8b
3435 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3437 + move-result v2
3439 + if-eqz v2, :cond_8b
3441 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3442 + :try_end_8b
3443 + .catchall {:try_start_7d .. :try_end_8b} :catchall_107
3445 + :cond_8b
3446 + :goto_8b
3447 + monitor-exit p0
3449 + return v1
3451 + :cond_8d
3452 + :try_start_8d
3453 + new-instance v12, Ljava/io/File;
3455 + new-instance v1, Ljava/lang/StringBuilder;
3457 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
3459 + const-string v2, "/data/system/privacy/"
3461 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3463 + move-result-object v1
3465 + invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3467 + move-result-object v1
3469 + const-string v2, "/"
3471 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3473 + move-result-object v1
3475 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3477 + move-result-object v1
3479 + invoke-direct {v12, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
3481 + new-instance v13, Ljava/io/File;
3483 + new-instance v1, Ljava/lang/StringBuilder;
3485 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
3487 + const-string v2, "/data/system/privacy/"
3489 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3491 + move-result-object v1
3493 + invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3495 + move-result-object v1
3497 + const-string v2, "/systemLogsSetting"
3499 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3501 + move-result-object v1
3503 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3505 + move-result-object v1
3507 + invoke-direct {v13, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
3509 + invoke-virtual {v13}, Ljava/io/File;->delete()Z
3511 + invoke-virtual {v12}, Ljava/io/File;->list()[Ljava/lang/String;
3513 + move-result-object v1
3515 + if-eqz v1, :cond_d9
3517 + invoke-virtual {v12}, Ljava/io/File;->list()[Ljava/lang/String;
3519 + move-result-object v1
3521 + array-length v1, v1
3523 + if-nez v1, :cond_dc
3525 + :cond_d9
3526 + invoke-virtual {v12}, Ljava/io/File;->delete()Z
3528 + :cond_dc
3529 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->setTransactionSuccessful()V
3530 + :try_end_df
3531 + .catchall {:try_start_8d .. :try_end_df} :catchall_10a
3532 + .catch Ljava/lang/Exception; {:try_start_8d .. :try_end_df} :catch_ef
3534 + :try_start_df
3535 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
3537 + if-eqz v0, :cond_ed
3539 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3541 + move-result v1
3543 + if-eqz v1, :cond_ed
3545 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3546 + :try_end_ed
3547 + .catchall {:try_start_df .. :try_end_ed} :catchall_107
3549 + :cond_ed
3550 + :goto_ed
3551 + move v1, v11
3553 + goto :goto_8b
3555 + :catch_ef
3556 + move-exception v9
3558 + const/4 v11, 0x0
3560 + :try_start_f1
3561 + const-string v1, "PrivacyPersistenceAdapter"
3563 + const-string v2, "deleteSettings - could not delete settings"
3565 + invoke-static {v1, v2, v9}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
3566 + :try_end_f8
3567 + .catchall {:try_start_f1 .. :try_end_f8} :catchall_10a
3569 + :try_start_f8
3570 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
3572 + if-eqz v0, :cond_ed
3574 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3576 + move-result v1
3578 + if-eqz v1, :cond_ed
3580 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3581 + :try_end_106
3582 + .catchall {:try_start_f8 .. :try_end_106} :catchall_107
3584 + goto :goto_ed
3586 + :catchall_107
3587 + move-exception v1
3589 + monitor-exit p0
3591 + throw v1
3593 + :catchall_10a
3594 + move-exception v1
3596 + :try_start_10b
3597 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
3599 + if-eqz v0, :cond_119
3601 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3603 + move-result v2
3605 + if-eqz v2, :cond_119
3607 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3609 + :cond_119
3610 + throw v1
3611 + :try_end_11a
3612 + .catchall {:try_start_10b .. :try_end_11a} :catchall_107
3613 +.end method
3615 +.method public declared-synchronized getSettings(Ljava/lang/String;Z)Landroid/privacy/PrivacySettings;
3616 + .registers 47
3618 + monitor-enter p0
3620 + const/16 v43, 0x0
3622 + if-nez p1, :cond_10
3624 + :try_start_5
3625 + const-string v1, "PrivacyPersistenceAdapter"
3627 + const-string v4, "getSettings - insufficient application identifier - package name is required"
3629 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
3630 + :try_end_c
3631 + .catchall {:try_start_5 .. :try_end_c} :catchall_2d8
3633 + move-object/from16 v3, v43
3635 + :goto_e
3636 + monitor-exit p0
3638 + return-object v43
3640 + :cond_10
3641 + :try_start_10
3642 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
3644 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
3646 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
3648 + move-result v1
3650 + add-int/lit8 v1, v1, 0x1
3652 + invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
3654 + move-result-object v1
3656 + sput-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
3657 + :try_end_20
3658 + .catchall {:try_start_10 .. :try_end_20} :catchall_2d8
3660 + :try_start_20
3661 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
3662 + :try_end_23
3663 + .catchall {:try_start_20 .. :try_end_23} :catchall_2d8
3664 + .catch Landroid/database/sqlite/SQLiteException; {:try_start_20 .. :try_end_23} :catch_245
3666 + move-result-object v2
3668 + const/16 v41, 0x0
3670 + :try_start_26
3671 + const-string/jumbo v3, "settings"
3673 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->DATABASE_FIELDS:[Ljava/lang/String;
3675 + const-string/jumbo v5, "packageName=?"
3677 + const/4 v1, 0x1
3679 + new-array v6, v1, [Ljava/lang/String;
3681 + const/4 v1, 0x0
3683 + aput-object p1, v6, v1
3685 + const/4 v7, 0x0
3687 + const/4 v8, 0x0
3689 + const/4 v9, 0x0
3691 + const/4 v10, 0x0
3693 + move-object/from16 v1, p0
3695 + 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;
3697 + move-result-object v41
3699 + if-eqz v41, :cond_2dc
3701 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->moveToFirst()Z
3703 + move-result v1
3705 + if-eqz v1, :cond_2dc
3707 + new-instance v3, Landroid/privacy/PrivacySettings;
3709 + const/4 v1, 0x0
3711 + move-object/from16 v0, v41
3713 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getInt(I)I
3715 + move-result v1
3717 + invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
3719 + move-result-object v4
3721 + const/4 v1, 0x1
3723 + move-object/from16 v0, v41
3725 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
3727 + move-result-object v5
3729 + const/4 v1, 0x2
3731 + move-object/from16 v0, v41
3733 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getInt(I)I
3735 + move-result v6
3737 + const/4 v1, 0x3
3739 + move-object/from16 v0, v41
3741 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3743 + move-result v1
3745 + int-to-byte v7, v1
3747 + const/4 v1, 0x4
3749 + move-object/from16 v0, v41
3751 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
3753 + move-result-object v8
3755 + const/4 v1, 0x5
3757 + move-object/from16 v0, v41
3759 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3761 + move-result v1
3763 + int-to-byte v9, v1
3765 + const/4 v1, 0x6
3767 + move-object/from16 v0, v41
3769 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
3771 + move-result-object v10
3773 + const/4 v1, 0x7
3775 + move-object/from16 v0, v41
3777 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3779 + move-result v1
3781 + int-to-byte v11, v1
3783 + const/16 v1, 0x8
3785 + move-object/from16 v0, v41
3787 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
3789 + move-result-object v12
3791 + const/16 v1, 0x9
3793 + move-object/from16 v0, v41
3795 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
3797 + move-result-object v13
3799 + const/16 v1, 0xa
3801 + move-object/from16 v0, v41
3803 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3805 + move-result v1
3807 + int-to-byte v14, v1
3809 + const/16 v1, 0xb
3811 + move-object/from16 v0, v41
3813 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
3815 + move-result-object v15
3817 + const/16 v1, 0xc
3819 + move-object/from16 v0, v41
3821 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
3823 + move-result-object v16
3825 + const/16 v1, 0xd
3827 + move-object/from16 v0, v41
3829 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3831 + move-result v1
3833 + int-to-byte v0, v1
3835 + move/from16 v17, v0
3837 + const/16 v1, 0xe
3839 + move-object/from16 v0, v41
3841 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3843 + move-result v1
3845 + int-to-byte v0, v1
3847 + move/from16 v18, v0
3849 + const/16 v1, 0xf
3851 + move-object/from16 v0, v41
3853 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3855 + move-result v1
3857 + int-to-byte v0, v1
3859 + move/from16 v19, v0
3861 + const/16 v1, 0x10
3863 + move-object/from16 v0, v41
3865 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
3867 + move-result-object v20
3869 + const/16 v1, 0x11
3871 + move-object/from16 v0, v41
3873 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3875 + move-result v1
3877 + int-to-byte v0, v1
3879 + move/from16 v21, v0
3881 + const/16 v1, 0x12
3883 + move-object/from16 v0, v41
3885 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
3887 + move-result-object v22
3889 + const/16 v1, 0x13
3891 + move-object/from16 v0, v41
3893 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3895 + move-result v1
3897 + int-to-byte v0, v1
3899 + move/from16 v23, v0
3901 + const/16 v1, 0x14
3903 + move-object/from16 v0, v41
3905 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3907 + move-result v1
3909 + int-to-byte v0, v1
3911 + move/from16 v24, v0
3913 + const/16 v1, 0x15
3915 + move-object/from16 v0, v41
3917 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3919 + move-result v1
3921 + int-to-byte v0, v1
3923 + move/from16 v25, v0
3925 + const/16 v1, 0x16
3927 + move-object/from16 v0, v41
3929 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3931 + move-result v1
3933 + int-to-byte v0, v1
3935 + move/from16 v26, v0
3937 + const/16 v1, 0x17
3939 + move-object/from16 v0, v41
3941 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3943 + move-result v1
3945 + int-to-byte v0, v1
3947 + move/from16 v27, v0
3949 + const/16 v1, 0x18
3951 + move-object/from16 v0, v41
3953 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3955 + move-result v1
3957 + int-to-byte v0, v1
3959 + move/from16 v28, v0
3961 + const/16 v1, 0x19
3963 + move-object/from16 v0, v41
3965 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3967 + move-result v1
3969 + int-to-byte v0, v1
3971 + move/from16 v29, v0
3973 + const/16 v1, 0x1a
3975 + move-object/from16 v0, v41
3977 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3979 + move-result v1
3981 + int-to-byte v0, v1
3983 + move/from16 v30, v0
3985 + const/16 v1, 0x1b
3987 + move-object/from16 v0, v41
3989 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3991 + move-result v1
3993 + int-to-byte v0, v1
3995 + move/from16 v31, v0
3997 + const/16 v1, 0x1c
3999 + move-object/from16 v0, v41
4001 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4003 + move-result v1
4005 + int-to-byte v0, v1
4007 + move/from16 v32, v0
4009 + const/16 v1, 0x1d
4011 + move-object/from16 v0, v41
4013 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4015 + move-result v1
4017 + int-to-byte v0, v1
4019 + move/from16 v33, v0
4021 + const/16 v1, 0x1e
4023 + move-object/from16 v0, v41
4025 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4027 + move-result v1
4029 + int-to-byte v0, v1
4031 + move/from16 v34, v0
4033 + const/16 v1, 0x1f
4035 + move-object/from16 v0, v41
4037 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4039 + move-result v1
4041 + int-to-byte v0, v1
4043 + move/from16 v35, v0
4045 + const/16 v1, 0x20
4047 + move-object/from16 v0, v41
4049 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4051 + move-result v1
4053 + int-to-byte v0, v1
4055 + move/from16 v36, v0
4057 + const/16 v1, 0x21
4059 + move-object/from16 v0, v41
4061 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4063 + move-result v1
4065 + int-to-byte v0, v1
4067 + move/from16 v37, v0
4069 + const/16 v1, 0x22
4071 + move-object/from16 v0, v41
4073 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4075 + move-result v1
4077 + int-to-byte v0, v1
4079 + move/from16 v38, v0
4081 + const/16 v39, 0x0
4083 + 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
4084 + :try_end_1a1
4085 + .catchall {:try_start_26 .. :try_end_1a1} :catchall_29b
4086 + .catch Ljava/lang/Exception; {:try_start_26 .. :try_end_1a1} :catch_2d3
4088 + :try_start_1a1
4089 + new-instance v1, Ljava/lang/StringBuilder;
4091 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
4093 + const-string v4, "SELECT * FROM allowed_contacts WHERE settings_id="
4095 + invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4097 + move-result-object v1
4099 + invoke-virtual {v3}, Landroid/privacy/PrivacySettings;->get_id()Ljava/lang/Integer;
4101 + move-result-object v4
4103 + invoke-virtual {v4}, Ljava/lang/Integer;->intValue()I
4105 + move-result v4
4107 + invoke-static {v4}, Ljava/lang/Integer;->toString(I)Ljava/lang/String;
4109 + move-result-object v4
4111 + invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4113 + move-result-object v1
4115 + const-string v4, ";"
4117 + invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4119 + move-result-object v1
4121 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4123 + move-result-object v1
4125 + move-object/from16 v0, p0
4127 + invoke-direct {v0, v2, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->rawQuery(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;)Landroid/database/Cursor;
4129 + move-result-object v41
4131 + if-eqz v41, :cond_268
4133 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->getCount()I
4135 + move-result v1
4137 + if-lez v1, :cond_268
4139 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->getCount()I
4141 + move-result v1
4143 + new-array v0, v1, [I
4145 + move-object/from16 v40, v0
4147 + :goto_1dc
4148 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->moveToNext()Z
4150 + move-result v1
4152 + if-eqz v1, :cond_263
4154 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->getPosition()I
4156 + move-result v1
4158 + const/4 v4, 0x1
4160 + move-object/from16 v0, v41
4162 + invoke-interface {v0, v4}, Landroid/database/Cursor;->getInt(I)I
4164 + move-result v4
4166 + aput v4, v40, v1
4167 + :try_end_1ef
4168 + .catchall {:try_start_1a1 .. :try_end_1ef} :catchall_2d1
4169 + .catch Ljava/lang/Exception; {:try_start_1a1 .. :try_end_1ef} :catch_1f0
4171 + goto :goto_1dc
4173 + :catch_1f0
4174 + move-exception v42
4176 + :goto_1f1
4177 + :try_start_1f1
4178 + const-string v1, "PrivacyPersistenceAdapter"
4180 + new-instance v4, Ljava/lang/StringBuilder;
4182 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
4184 + const-string v5, "getSettings - failed to get settings for package: "
4186 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4188 + move-result-object v4
4190 + move-object/from16 v0, p1
4192 + invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4194 + move-result-object v4
4196 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4198 + move-result-object v4
4200 + move-object/from16 v0, v42
4202 + invoke-static {v1, v4, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
4204 + invoke-virtual/range {v42 .. v42}, Ljava/lang/Exception;->printStackTrace()V
4206 + if-eqz v41, :cond_215
4208 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->close()V
4209 + :try_end_215
4210 + .catchall {:try_start_1f1 .. :try_end_215} :catchall_2d1
4212 + :cond_215
4213 + if-eqz v41, :cond_21a
4215 + :try_start_217
4216 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->close()V
4218 + :cond_21a
4219 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4221 + monitor-enter v4
4222 + :try_end_21d
4223 + .catchall {:try_start_217 .. :try_end_21d} :catchall_298
4225 + :try_start_21d
4226 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4228 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4230 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
4232 + move-result v1
4234 + add-int/lit8 v1, v1, -0x1
4236 + invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4238 + move-result-object v1
4240 + sput-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4242 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4244 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
4246 + move-result v1
4248 + if-nez v1, :cond_240
4250 + if-eqz v2, :cond_240
4252 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
4254 + move-result v1
4256 + if-eqz v1, :cond_240
4258 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
4260 + :cond_240
4261 + monitor-exit v4
4262 + :try_end_241
4263 + .catchall {:try_start_21d .. :try_end_241} :catchall_2ce
4265 + :goto_241
4266 + move-object/from16 v43, v3
4268 + goto/16 :goto_e
4270 + :catch_245
4271 + move-exception v42
4273 + :try_start_246
4274 + const-string v1, "PrivacyPersistenceAdapter"
4276 + const-string v4, "getSettings - database could not be opened"
4278 + move-object/from16 v0, v42
4280 + invoke-static {v1, v4, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
4282 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4284 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4286 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
4288 + move-result v1
4290 + add-int/lit8 v1, v1, -0x1
4292 + invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4294 + move-result-object v1
4296 + sput-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4297 + :try_end_25f
4298 + .catchall {:try_start_246 .. :try_end_25f} :catchall_2d8
4300 + move-object/from16 v3, v43
4302 + goto/16 :goto_e
4304 + :cond_263
4305 + :try_start_263
4306 + move-object/from16 v0, v40
4308 + invoke-virtual {v3, v0}, Landroid/privacy/PrivacySettings;->setAllowedContacts([I)V
4309 + :try_end_268
4310 + .catchall {:try_start_263 .. :try_end_268} :catchall_2d1
4311 + .catch Ljava/lang/Exception; {:try_start_263 .. :try_end_268} :catch_1f0
4313 + :cond_268
4314 + :goto_268
4315 + if-eqz v41, :cond_26d
4317 + :try_start_26a
4318 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->close()V
4320 + :cond_26d
4321 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4323 + monitor-enter v4
4324 + :try_end_270
4325 + .catchall {:try_start_26a .. :try_end_270} :catchall_298
4327 + :try_start_270
4328 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4330 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4332 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
4334 + move-result v1
4336 + add-int/lit8 v1, v1, -0x1
4338 + invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4340 + move-result-object v1
4342 + sput-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4344 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4346 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
4348 + move-result v1
4350 + if-nez v1, :cond_293
4352 + if-eqz v2, :cond_293
4354 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
4356 + move-result v1
4358 + if-eqz v1, :cond_293
4360 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
4362 + :cond_293
4363 + monitor-exit v4
4365 + goto :goto_241
4367 + :catchall_295
4368 + move-exception v1
4370 + monitor-exit v4
4371 + :try_end_297
4372 + .catchall {:try_start_270 .. :try_end_297} :catchall_295
4374 + :try_start_297
4375 + throw v1
4376 + :try_end_298
4377 + .catchall {:try_start_297 .. :try_end_298} :catchall_298
4379 + :catchall_298
4380 + move-exception v1
4382 + :goto_299
4383 + monitor-exit p0
4385 + throw v1
4387 + :catchall_29b
4388 + move-exception v1
4390 + move-object/from16 v3, v43
4392 + :goto_29e
4393 + if-eqz v41, :cond_2a3
4395 + :try_start_2a0
4396 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->close()V
4398 + :cond_2a3
4399 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4401 + monitor-enter v4
4402 + :try_end_2a6
4403 + .catchall {:try_start_2a0 .. :try_end_2a6} :catchall_298
4405 + :try_start_2a6
4406 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4408 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4410 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
4412 + move-result v5
4414 + add-int/lit8 v5, v5, -0x1
4416 + invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4418 + move-result-object v5
4420 + sput-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4422 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4424 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
4426 + move-result v5
4428 + if-nez v5, :cond_2c9
4430 + if-eqz v2, :cond_2c9
4432 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
4434 + move-result v5
4436 + if-eqz v5, :cond_2c9
4438 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
4440 + :cond_2c9
4441 + monitor-exit v4
4442 + :try_end_2ca
4443 + .catchall {:try_start_2a6 .. :try_end_2ca} :catchall_2cb
4445 + :try_start_2ca
4446 + throw v1
4447 + :try_end_2cb
4448 + .catchall {:try_start_2ca .. :try_end_2cb} :catchall_298
4450 + :catchall_2cb
4451 + move-exception v1
4453 + :try_start_2cc
4454 + monitor-exit v4
4455 + :try_end_2cd
4456 + .catchall {:try_start_2cc .. :try_end_2cd} :catchall_2cb
4458 + :try_start_2cd
4459 + throw v1
4460 + :try_end_2ce
4461 + .catchall {:try_start_2cd .. :try_end_2ce} :catchall_298
4463 + :catchall_2ce
4464 + move-exception v1
4466 + :try_start_2cf
4467 + monitor-exit v4
4468 + :try_end_2d0
4469 + .catchall {:try_start_2cf .. :try_end_2d0} :catchall_2ce
4471 + :try_start_2d0
4472 + throw v1
4473 + :try_end_2d1
4474 + .catchall {:try_start_2d0 .. :try_end_2d1} :catchall_298
4476 + :catchall_2d1
4477 + move-exception v1
4479 + goto :goto_29e
4481 + :catch_2d3
4482 + move-exception v42
4484 + move-object/from16 v3, v43
4486 + goto/16 :goto_1f1
4488 + :catchall_2d8
4489 + move-exception v1
4491 + move-object/from16 v3, v43
4493 + goto :goto_299
4495 + :cond_2dc
4496 + move-object/from16 v3, v43
4498 + goto :goto_268
4499 +.end method
4501 +.method public getValue(Ljava/lang/String;)Ljava/lang/String;
4502 + .registers 15
4504 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4506 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4508 + invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
4510 + move-result v0
4512 + add-int/lit8 v0, v0, 0x1
4514 + invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4516 + move-result-object v0
4518 + sput-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4520 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
4522 + move-result-object v1
4524 + const/4 v12, 0x0
4526 + :try_start_15
4527 + const-string/jumbo v2, "map"
4529 + const/4 v0, 0x1
4531 + new-array v3, v0, [Ljava/lang/String;
4533 + const/4 v0, 0x0
4535 + const-string/jumbo v4, "value"
4537 + aput-object v4, v3, v0
4539 + const-string/jumbo v4, "name=?"
4541 + const/4 v0, 0x1
4543 + new-array v5, v0, [Ljava/lang/String;
4545 + const/4 v0, 0x0
4547 + aput-object p1, v5, v0
4549 + const/4 v6, 0x0
4551 + const/4 v7, 0x0
4553 + const/4 v8, 0x0
4555 + const/4 v9, 0x0
4557 + move-object v0, p0
4559 + 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;
4561 + move-result-object v10
4563 + if-eqz v10, :cond_77
4565 + invoke-interface {v10}, Landroid/database/Cursor;->getCount()I
4567 + move-result v0
4569 + if-lez v0, :cond_77
4571 + invoke-interface {v10}, Landroid/database/Cursor;->moveToFirst()Z
4573 + move-result v0
4575 + if-eqz v0, :cond_77
4577 + const-string/jumbo v0, "value"
4579 + invoke-interface {v10, v0}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
4581 + move-result v0
4583 + invoke-interface {v10, v0}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
4585 + move-result-object v12
4587 + invoke-interface {v10}, Landroid/database/Cursor;->close()V
4588 + :try_end_4f
4589 + .catch Ljava/lang/Exception; {:try_start_15 .. :try_end_4f} :catch_90
4591 + :goto_4f
4592 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4594 + monitor-enter v2
4596 + :try_start_52
4597 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4599 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4601 + invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
4603 + move-result v0
4605 + add-int/lit8 v0, v0, -0x1
4607 + invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4609 + move-result-object v0
4611 + sput-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4613 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4615 + invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
4617 + move-result v0
4619 + if-nez v0, :cond_75
4621 + if-eqz v1, :cond_75
4623 + invoke-virtual {v1}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
4625 + move-result v0
4627 + if-eqz v0, :cond_75
4629 + invoke-virtual {v1}, Landroid/database/sqlite/SQLiteDatabase;->close()V
4631 + :cond_75
4632 + monitor-exit v2
4633 + :try_end_76
4634 + .catchall {:try_start_52 .. :try_end_76} :catchall_aa
4636 + return-object v12
4638 + :cond_77
4639 + :try_start_77
4640 + const-string v0, "PrivacyPersistenceAdapter"
4642 + new-instance v2, Ljava/lang/StringBuilder;
4644 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
4646 + const-string v3, "getValue - could not get value for name: "
4648 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4650 + move-result-object v2
4652 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4654 + move-result-object v2
4656 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4658 + move-result-object v2
4660 + invoke-static {v0, v2}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
4661 + :try_end_8f
4662 + .catch Ljava/lang/Exception; {:try_start_77 .. :try_end_8f} :catch_90
4664 + goto :goto_4f
4666 + :catch_90
4667 + move-exception v11
4669 + const-string v0, "PrivacyPersistenceAdapter"
4671 + new-instance v2, Ljava/lang/StringBuilder;
4673 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
4675 + const-string v3, "getValue - could not get value for name: "
4677 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4679 + move-result-object v2
4681 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4683 + move-result-object v2
4685 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4687 + move-result-object v2
4689 + invoke-static {v0, v2, v11}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
4691 + goto :goto_4f
4693 + :catchall_aa
4694 + move-exception v0
4696 + :try_start_ab
4697 + monitor-exit v2
4698 + :try_end_ac
4699 + .catchall {:try_start_ab .. :try_end_ac} :catchall_aa
4701 + throw v0
4702 +.end method
4704 +.method public purgeSettings()Z
4705 + .registers 28
4707 + const/16 v25, 0x1
4709 + new-instance v13, Ljava/util/ArrayList;
4711 + invoke-direct {v13}, Ljava/util/ArrayList;-><init>()V
4713 + move-object/from16 v0, p0
4715 + iget-object v2, v0, Landroid/privacy/PrivacyPersistenceAdapter;->context:Landroid/content/Context;
4717 + invoke-virtual {v2}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
4719 + move-result-object v21
4721 + const/16 v2, 0x80
4723 + move-object/from16 v0, v21
4725 + invoke-virtual {v0, v2}, Landroid/content/pm/PackageManager;->getInstalledApplications(I)Ljava/util/List;
4727 + move-result-object v19
4729 + invoke-interface/range {v19 .. v19}, Ljava/util/List;->iterator()Ljava/util/Iterator;
4731 + move-result-object v18
4733 + :goto_1b
4734 + invoke-interface/range {v18 .. v18}, Ljava/util/Iterator;->hasNext()Z
4736 + move-result v2
4738 + if-eqz v2, :cond_2d
4740 + invoke-interface/range {v18 .. v18}, Ljava/util/Iterator;->next()Ljava/lang/Object;
4742 + move-result-object v12
4744 + check-cast v12, Landroid/content/pm/ApplicationInfo;
4746 + iget-object v2, v12, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
4748 + invoke-interface {v13, v2}, Ljava/util/List;->add(Ljava/lang/Object;)Z
4750 + goto :goto_1b
4752 + :cond_2d
4753 + new-instance v26, Ljava/io/File;
4755 + const-string v2, "/data/system/privacy"
4757 + move-object/from16 v0, v26
4759 + invoke-direct {v0, v2}, Ljava/io/File;-><init>(Ljava/lang/String;)V
4761 + invoke-virtual/range {v26 .. v26}, Ljava/io/File;->listFiles()[Ljava/io/File;
4763 + move-result-object v15
4765 + array-length v0, v15
4767 + move/from16 v20, v0
4769 + const/16 v18, 0x0
4771 + :goto_3f
4772 + move/from16 v0, v18
4774 + move/from16 v1, v20
4776 + if-ge v0, v1, :cond_5d
4778 + aget-object v23, v15, v18
4780 + invoke-virtual/range {v23 .. v23}, Ljava/io/File;->getName()Ljava/lang/String;
4782 + move-result-object v24
4784 + move-object/from16 v0, v24
4786 + invoke-interface {v13, v0}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
4788 + move-result v2
4790 + if-nez v2, :cond_5a
4792 + move-object/from16 v0, p0
4794 + move-object/from16 v1, v23
4796 + invoke-direct {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteRecursive(Ljava/io/File;)V
4798 + :cond_5a
4799 + add-int/lit8 v18, v18, 0x1
4801 + goto :goto_3f
4803 + :cond_5d
4804 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4806 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4808 + invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
4810 + move-result v2
4812 + add-int/lit8 v2, v2, 0x1
4814 + invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4816 + move-result-object v2
4818 + sput-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4820 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
4822 + move-result-object v3
4824 + const/16 v16, 0x0
4826 + :try_start_73
4827 + const-string/jumbo v4, "settings"
4829 + const/4 v2, 0x1
4831 + new-array v5, v2, [Ljava/lang/String;
4833 + const/4 v2, 0x0
4835 + const-string/jumbo v6, "packageName"
4837 + aput-object v6, v5, v2
4839 + const/4 v6, 0x0
4841 + const/4 v7, 0x0
4843 + const/4 v8, 0x0
4845 + const/4 v9, 0x0
4847 + const/4 v10, 0x0
4849 + const/4 v11, 0x0
4851 + move-object/from16 v2, p0
4853 + 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;
4855 + move-result-object v16
4857 + new-instance v14, Ljava/util/ArrayList;
4859 + invoke-direct {v14}, Ljava/util/ArrayList;-><init>()V
4861 + :goto_90
4862 + invoke-interface/range {v16 .. v16}, Landroid/database/Cursor;->moveToNext()Z
4864 + move-result v2
4866 + if-eqz v2, :cond_142
4868 + const/4 v2, 0x0
4870 + move-object/from16 v0, v16
4872 + invoke-interface {v0, v2}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
4874 + move-result-object v24
4876 + move-object/from16 v0, v24
4878 + invoke-interface {v13, v0}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
4880 + move-result v2
4882 + if-nez v2, :cond_e7
4884 + move-object/from16 v0, p0
4886 + move-object/from16 v1, v24
4888 + invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteSettings(Ljava/lang/String;)Z
4889 + :try_end_ac
4890 + .catchall {:try_start_73 .. :try_end_ac} :catchall_107
4891 + .catch Ljava/lang/Exception; {:try_start_73 .. :try_end_ac} :catch_ad
4893 + goto :goto_90
4895 + :catch_ad
4896 + move-exception v17
4898 + :try_start_ae
4899 + const-string v2, "PrivacyPersistenceAdapter"
4901 + const-string/jumbo v4, "purgeSettings - purging DB failed"
4903 + move-object/from16 v0, v17
4905 + invoke-static {v2, v4, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
4906 + :try_end_b8
4907 + .catchall {:try_start_ae .. :try_end_b8} :catchall_107
4909 + const/16 v25, 0x0
4911 + if-eqz v16, :cond_bf
4913 + invoke-interface/range {v16 .. v16}, Landroid/database/Cursor;->close()V
4915 + :cond_bf
4916 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4918 + monitor-enter v4
4920 + :try_start_c2
4921 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4923 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4925 + invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
4927 + move-result v2
4929 + add-int/lit8 v2, v2, -0x1
4931 + invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4933 + move-result-object v2
4935 + sput-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4937 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4939 + invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
4941 + move-result v2
4943 + if-nez v2, :cond_e5
4945 + if-eqz v3, :cond_e5
4947 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
4949 + move-result v2
4951 + if-eqz v2, :cond_e5
4953 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->close()V
4955 + :cond_e5
4956 + monitor-exit v4
4957 + :try_end_e6
4958 + .catchall {:try_start_c2 .. :try_end_e6} :catchall_13f
4960 + :goto_e6
4961 + return v25
4963 + :cond_e7
4964 + :try_start_e7
4965 + move-object/from16 v0, v24
4967 + invoke-interface {v14, v0}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
4969 + move-result v2
4971 + if-eqz v2, :cond_135
4973 + const/4 v2, 0x0
4975 + move-object/from16 v0, p0
4977 + move-object/from16 v1, v24
4979 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacyPersistenceAdapter;->getSettings(Ljava/lang/String;Z)Landroid/privacy/PrivacySettings;
4981 + move-result-object v22
4983 + move-object/from16 v0, p0
4985 + move-object/from16 v1, v24
4987 + invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteSettings(Ljava/lang/String;)Z
4989 + move-object/from16 v0, p0
4991 + move-object/from16 v1, v22
4993 + invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->saveSettings(Landroid/privacy/PrivacySettings;)Z
4994 + :try_end_106
4995 + .catchall {:try_start_e7 .. :try_end_106} :catchall_107
4996 + .catch Ljava/lang/Exception; {:try_start_e7 .. :try_end_106} :catch_ad
4998 + goto :goto_90
5000 + :catchall_107
5001 + move-exception v2
5003 + if-eqz v16, :cond_10d
5005 + invoke-interface/range {v16 .. v16}, Landroid/database/Cursor;->close()V
5007 + :cond_10d
5008 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5010 + monitor-enter v4
5012 + :try_start_110
5013 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5015 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5017 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
5019 + move-result v5
5021 + add-int/lit8 v5, v5, -0x1
5023 + invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5025 + move-result-object v5
5027 + sput-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5029 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5031 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
5033 + move-result v5
5035 + if-nez v5, :cond_133
5037 + if-eqz v3, :cond_133
5039 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
5041 + move-result v5
5043 + if-eqz v5, :cond_133
5045 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->close()V
5047 + :cond_133
5048 + monitor-exit v4
5049 + :try_end_134
5050 + .catchall {:try_start_110 .. :try_end_134} :catchall_13c
5052 + throw v2
5054 + :cond_135
5055 + :try_start_135
5056 + move-object/from16 v0, v24
5058 + invoke-interface {v14, v0}, Ljava/util/List;->add(Ljava/lang/Object;)Z
5059 + :try_end_13a
5060 + .catchall {:try_start_135 .. :try_end_13a} :catchall_107
5061 + .catch Ljava/lang/Exception; {:try_start_135 .. :try_end_13a} :catch_ad
5063 + goto/16 :goto_90
5065 + :catchall_13c
5066 + move-exception v2
5068 + :try_start_13d
5069 + monitor-exit v4
5070 + :try_end_13e
5071 + .catchall {:try_start_13d .. :try_end_13e} :catchall_13c
5073 + throw v2
5075 + :catchall_13f
5076 + move-exception v2
5078 + :try_start_140
5079 + monitor-exit v4
5080 + :try_end_141
5081 + .catchall {:try_start_140 .. :try_end_141} :catchall_13f
5083 + throw v2
5085 + :cond_142
5086 + if-eqz v16, :cond_147
5088 + invoke-interface/range {v16 .. v16}, Landroid/database/Cursor;->close()V
5090 + :cond_147
5091 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5093 + monitor-enter v4
5095 + :try_start_14a
5096 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5098 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5100 + invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
5102 + move-result v2
5104 + add-int/lit8 v2, v2, -0x1
5106 + invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5108 + move-result-object v2
5110 + sput-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5112 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5114 + invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
5116 + move-result v2
5118 + if-nez v2, :cond_16d
5120 + if-eqz v3, :cond_16d
5122 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
5124 + move-result v2
5126 + if-eqz v2, :cond_16d
5128 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->close()V
5130 + :cond_16d
5131 + monitor-exit v4
5133 + goto/16 :goto_e6
5135 + :catchall_170
5136 + move-exception v2
5138 + monitor-exit v4
5139 + :try_end_172
5140 + .catchall {:try_start_14a .. :try_end_172} :catchall_170
5142 + throw v2
5143 +.end method
5145 +.method public declared-synchronized saveSettings(Landroid/privacy/PrivacySettings;)Z
5146 + .registers 27
5148 + monitor-enter p0
5150 + const/16 v18, 0x1
5152 + :try_start_3
5153 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getPackageName()Ljava/lang/String;
5155 + move-result-object v17
5157 + if-eqz v17, :cond_f
5159 + invoke-virtual/range {v17 .. v17}, Ljava/lang/String;->isEmpty()Z
5161 + move-result v3
5163 + if-eqz v3, :cond_1a
5165 + :cond_f
5166 + const-string v3, "PrivacyPersistenceAdapter"
5168 + const-string/jumbo v4, "saveSettings - either package name, UID or both is missing"
5170 + invoke-static {v3, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
5171 + :try_end_17
5172 + .catchall {:try_start_3 .. :try_end_17} :catchall_2c2
5174 + const/4 v3, 0x0
5176 + :goto_18
5177 + monitor-exit p0
5179 + return v3
5181 + :cond_1a
5182 + :try_start_1a
5183 + new-instance v23, Landroid/content/ContentValues;
5185 + invoke-direct/range {v23 .. v23}, Landroid/content/ContentValues;-><init>()V
5187 + const-string/jumbo v3, "packageName"
5189 + move-object/from16 v0, v23
5191 + move-object/from16 v1, v17
5193 + invoke-virtual {v0, v3, v1}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5195 + const-string/jumbo v3, "uid"
5197 + const/4 v4, -0x1
5199 + invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5201 + move-result-object v4
5203 + move-object/from16 v0, v23
5205 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
5207 + const-string v3, "deviceIdSetting"
5209 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
5211 + move-result v4
5213 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5215 + move-result-object v4
5217 + move-object/from16 v0, v23
5219 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5221 + const-string v3, "deviceId"
5223 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getDeviceId()Ljava/lang/String;
5225 + move-result-object v4
5227 + move-object/from16 v0, v23
5229 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5231 + const-string v3, "line1NumberSetting"
5233 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
5235 + move-result v4
5237 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5239 + move-result-object v4
5241 + move-object/from16 v0, v23
5243 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5245 + const-string v3, "line1Number"
5247 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLine1Number()Ljava/lang/String;
5249 + move-result-object v4
5251 + move-object/from16 v0, v23
5253 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5255 + const-string v3, "locationGpsSetting"
5257 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
5259 + move-result v4
5261 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5263 + move-result-object v4
5265 + move-object/from16 v0, v23
5267 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5269 + const-string v3, "locationGpsLat"
5271 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
5273 + move-result-object v4
5275 + move-object/from16 v0, v23
5277 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5279 + const-string v3, "locationGpsLon"
5281 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
5283 + move-result-object v4
5285 + move-object/from16 v0, v23
5287 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5289 + const-string v3, "locationNetworkSetting"
5291 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
5293 + move-result v4
5295 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5297 + move-result-object v4
5299 + move-object/from16 v0, v23
5301 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5303 + const-string v3, "locationNetworkLat"
5305 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
5307 + move-result-object v4
5309 + move-object/from16 v0, v23
5311 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5313 + const-string v3, "locationNetworkLon"
5315 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
5317 + move-result-object v4
5319 + move-object/from16 v0, v23
5321 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5323 + const-string/jumbo v3, "networkInfoSetting"
5325 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
5327 + move-result v4
5329 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5331 + move-result-object v4
5333 + move-object/from16 v0, v23
5335 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5337 + const-string/jumbo v3, "simInfoSetting"
5339 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSimInfoSetting()B
5341 + move-result v4
5343 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5345 + move-result-object v4
5347 + move-object/from16 v0, v23
5349 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5351 + const-string/jumbo v3, "simSerialNumberSetting"
5353 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSimSerialNumberSetting()B
5355 + move-result v4
5357 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5359 + move-result-object v4
5361 + move-object/from16 v0, v23
5363 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5365 + const-string/jumbo v3, "simSerialNumber"
5367 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSimSerialNumber()Ljava/lang/String;
5369 + move-result-object v4
5371 + move-object/from16 v0, v23
5373 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5375 + const-string/jumbo v3, "subscriberIdSetting"
5377 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSubscriberIdSetting()B
5379 + move-result v4
5381 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5383 + move-result-object v4
5385 + move-object/from16 v0, v23
5387 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5389 + const-string/jumbo v3, "subscriberId"
5391 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSubscriberId()Ljava/lang/String;
5393 + move-result-object v4
5395 + move-object/from16 v0, v23
5397 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5399 + const-string v3, "accountsSetting"
5401 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
5403 + move-result v4
5405 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5407 + move-result-object v4
5409 + move-object/from16 v0, v23
5411 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5413 + const-string v3, "accountsAuthTokensSetting"
5415 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
5417 + move-result v4
5419 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5421 + move-result-object v4
5423 + move-object/from16 v0, v23
5425 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5427 + const-string/jumbo v3, "outgoingCallsSetting"
5429 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getOutgoingCallsSetting()B
5431 + move-result v4
5433 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5435 + move-result-object v4
5437 + move-object/from16 v0, v23
5439 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5441 + const-string v3, "incomingCallsSetting"
5443 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getIncomingCallsSetting()B
5445 + move-result v4
5447 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5449 + move-result-object v4
5451 + move-object/from16 v0, v23
5453 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5455 + const-string v3, "contactsSetting"
5457 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getContactsSetting()B
5459 + move-result v4
5461 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5463 + move-result-object v4
5465 + move-object/from16 v0, v23
5467 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5469 + const-string v3, "calendarSetting"
5471 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getCalendarSetting()B
5473 + move-result v4
5475 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5477 + move-result-object v4
5479 + move-object/from16 v0, v23
5481 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5483 + const-string/jumbo v3, "mmsSetting"
5485 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getMmsSetting()B
5487 + move-result v4
5489 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5491 + move-result-object v4
5493 + move-object/from16 v0, v23
5495 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5497 + const-string/jumbo v3, "smsSetting"
5499 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSmsSetting()B
5501 + move-result v4
5503 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5505 + move-result-object v4
5507 + move-object/from16 v0, v23
5509 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5511 + const-string v3, "callLogSetting"
5513 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getCallLogSetting()B
5515 + move-result v4
5517 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5519 + move-result-object v4
5521 + move-object/from16 v0, v23
5523 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5525 + const-string v3, "bookmarksSetting"
5527 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getBookmarksSetting()B
5529 + move-result v4
5531 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5533 + move-result-object v4
5535 + move-object/from16 v0, v23
5537 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5539 + const-string/jumbo v3, "systemLogsSetting"
5541 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSystemLogsSetting()B
5543 + move-result v4
5545 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5547 + move-result-object v4
5549 + move-object/from16 v0, v23
5551 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5553 + const-string/jumbo v3, "notificationSetting"
5555 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getNotificationSetting()B
5557 + move-result v4
5559 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5561 + move-result-object v4
5563 + move-object/from16 v0, v23
5565 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5567 + const-string v3, "intentBootCompletedSetting"
5569 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getIntentBootCompletedSetting()B
5571 + move-result v4
5573 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5575 + move-result-object v4
5577 + move-object/from16 v0, v23
5579 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5581 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5583 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5585 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
5587 + move-result v3
5589 + add-int/lit8 v3, v3, 0x1
5591 + invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5593 + move-result-object v3
5595 + sput-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5597 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
5599 + move-result-object v2
5601 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->beginTransaction()V
5602 + :try_end_1eb
5603 + .catchall {:try_start_1a .. :try_end_1eb} :catchall_2c2
5605 + const/4 v11, 0x0
5607 + :try_start_1ec
5608 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->get_id()Ljava/lang/Integer;
5610 + move-result-object v15
5612 + if-eqz v15, :cond_2c8
5614 + const-string/jumbo v3, "settings"
5616 + const-string v4, "_id=?"
5618 + const/4 v5, 0x1
5620 + new-array v5, v5, [Ljava/lang/String;
5622 + const/4 v6, 0x0
5624 + invoke-virtual {v15}, Ljava/lang/Integer;->toString()Ljava/lang/String;
5626 + move-result-object v7
5628 + aput-object v7, v5, v6
5630 + move-object/from16 v0, v23
5632 + 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
5634 + move-result v3
5636 + const/4 v4, 0x1
5638 + if-ge v3, v4, :cond_249
5640 + new-instance v3, Ljava/lang/Exception;
5642 + const-string/jumbo v4, "saveSettings - failed to update database entry"
5644 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
5646 + throw v3
5647 + :try_end_213
5648 + .catchall {:try_start_1ec .. :try_end_213} :catchall_291
5649 + .catch Ljava/lang/Exception; {:try_start_1ec .. :try_end_213} :catch_213
5651 + :catch_213
5652 + move-exception v13
5654 + const/16 v18, 0x0
5656 + :try_start_216
5657 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
5659 + if-eqz v11, :cond_21e
5661 + invoke-interface {v11}, Landroid/database/Cursor;->close()V
5663 + :cond_21e
5664 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5666 + monitor-enter v4
5667 + :try_end_221
5668 + .catchall {:try_start_216 .. :try_end_221} :catchall_2c2
5670 + :try_start_221
5671 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5673 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5675 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
5677 + move-result v3
5679 + add-int/lit8 v3, v3, -0x1
5681 + invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5683 + move-result-object v3
5685 + sput-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5687 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5689 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
5691 + move-result v3
5693 + if-nez v3, :cond_244
5695 + if-eqz v2, :cond_244
5697 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
5699 + move-result v3
5701 + if-eqz v3, :cond_244
5703 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
5705 + :cond_244
5706 + monitor-exit v4
5707 + :try_end_245
5708 + .catchall {:try_start_221 .. :try_end_245} :catchall_4ca
5710 + :goto_245
5711 + move/from16 v3, v18
5713 + goto/16 :goto_18
5715 + :cond_249
5716 + :try_start_249
5717 + const-string v3, "allowed_contacts"
5719 + const-string/jumbo v4, "settings_id=?"
5721 + const/4 v5, 0x1
5723 + new-array v5, v5, [Ljava/lang/String;
5725 + const/4 v6, 0x0
5727 + invoke-virtual {v15}, Ljava/lang/Integer;->toString()Ljava/lang/String;
5729 + move-result-object v7
5731 + aput-object v7, v5, v6
5733 + invoke-virtual {v2, v3, v4, v5}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
5735 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAllowedContacts()[I
5737 + move-result-object v10
5739 + if-eqz v10, :cond_3f2
5741 + new-instance v12, Landroid/content/ContentValues;
5743 + invoke-direct {v12}, Landroid/content/ContentValues;-><init>()V
5745 + const/4 v14, 0x0
5747 + :goto_267
5748 + array-length v3, v10
5750 + if-ge v14, v3, :cond_3f2
5752 + const-string/jumbo v3, "settings_id"
5754 + invoke-virtual {v12, v3, v15}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
5756 + const-string v3, "contact_id"
5758 + aget v4, v10, v14
5760 + invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5762 + move-result-object v4
5764 + invoke-virtual {v12, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
5766 + const-string v3, "allowed_contacts"
5768 + const/4 v4, 0x0
5770 + invoke-virtual {v2, v3, v4, v12}, Landroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
5772 + move-result-wide v3
5774 + const-wide/16 v5, -0x1
5776 + cmp-long v3, v3, v5
5778 + if-nez v3, :cond_2c5
5780 + new-instance v3, Ljava/lang/Exception;
5782 + const-string/jumbo v4, "saveSettings - failed to update database entry (contacts)"
5784 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
5786 + throw v3
5787 + :try_end_291
5788 + .catchall {:try_start_249 .. :try_end_291} :catchall_291
5789 + .catch Ljava/lang/Exception; {:try_start_249 .. :try_end_291} :catch_213
5791 + :catchall_291
5792 + move-exception v3
5794 + :try_start_292
5795 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
5797 + if-eqz v11, :cond_29a
5799 + invoke-interface {v11}, Landroid/database/Cursor;->close()V
5801 + :cond_29a
5802 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5804 + monitor-enter v4
5805 + :try_end_29d
5806 + .catchall {:try_start_292 .. :try_end_29d} :catchall_2c2
5808 + :try_start_29d
5809 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5811 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5813 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
5815 + move-result v5
5817 + add-int/lit8 v5, v5, -0x1
5819 + invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5821 + move-result-object v5
5823 + sput-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5825 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5827 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
5829 + move-result v5
5831 + if-nez v5, :cond_2c0
5833 + if-eqz v2, :cond_2c0
5835 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
5837 + move-result v5
5839 + if-eqz v5, :cond_2c0
5841 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
5843 + :cond_2c0
5844 + monitor-exit v4
5845 + :try_end_2c1
5846 + .catchall {:try_start_29d .. :try_end_2c1} :catchall_4cd
5848 + :try_start_2c1
5849 + throw v3
5850 + :try_end_2c2
5851 + .catchall {:try_start_2c1 .. :try_end_2c2} :catchall_2c2
5853 + :catchall_2c2
5854 + move-exception v3
5856 + monitor-exit p0
5858 + throw v3
5860 + :cond_2c5
5861 + add-int/lit8 v14, v14, 0x1
5863 + goto :goto_267
5865 + :cond_2c8
5866 + :try_start_2c8
5867 + const-string/jumbo v3, "settings"
5869 + const/4 v4, 0x1
5871 + new-array v4, v4, [Ljava/lang/String;
5873 + const/4 v5, 0x0
5875 + const-string v6, "_id"
5877 + aput-object v6, v4, v5
5879 + const-string/jumbo v5, "packageName=?"
5881 + const/4 v6, 0x1
5883 + new-array v6, v6, [Ljava/lang/String;
5885 + const/4 v7, 0x0
5887 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getPackageName()Ljava/lang/String;
5889 + move-result-object v8
5891 + aput-object v8, v6, v7
5893 + const/4 v7, 0x0
5895 + const/4 v8, 0x0
5897 + const/4 v9, 0x0
5899 + 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;
5901 + move-result-object v11
5903 + if-eqz v11, :cond_3e7
5905 + invoke-interface {v11}, Landroid/database/Cursor;->getCount()I
5907 + move-result v3
5909 + const/4 v4, 0x1
5911 + if-ne v3, v4, :cond_36e
5913 + const-string/jumbo v3, "settings"
5915 + const-string/jumbo v4, "packageName=?"
5917 + const/4 v5, 0x1
5919 + new-array v5, v5, [Ljava/lang/String;
5921 + const/4 v6, 0x0
5923 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getPackageName()Ljava/lang/String;
5925 + move-result-object v7
5927 + aput-object v7, v5, v6
5929 + move-object/from16 v0, v23
5931 + 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
5933 + move-result v3
5935 + const/4 v4, 0x1
5937 + if-ge v3, v4, :cond_312
5939 + new-instance v3, Ljava/lang/Exception;
5941 + const-string/jumbo v4, "saveSettings - failed to update database entry"
5943 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
5945 + throw v3
5947 + :cond_312
5948 + invoke-interface {v11}, Landroid/database/Cursor;->moveToFirst()Z
5950 + move-result v3
5952 + if-eqz v3, :cond_3f2
5954 + const/4 v3, 0x0
5956 + invoke-interface {v11, v3}, Landroid/database/Cursor;->getInt(I)I
5958 + move-result v3
5960 + invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5962 + move-result-object v16
5964 + const-string v3, "allowed_contacts"
5966 + const-string/jumbo v4, "settings_id=?"
5968 + const/4 v5, 0x1
5970 + new-array v5, v5, [Ljava/lang/String;
5972 + const/4 v6, 0x0
5974 + invoke-virtual/range {v16 .. v16}, Ljava/lang/Integer;->toString()Ljava/lang/String;
5976 + move-result-object v7
5978 + aput-object v7, v5, v6
5980 + invoke-virtual {v2, v3, v4, v5}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
5982 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAllowedContacts()[I
5984 + move-result-object v10
5986 + if-eqz v10, :cond_3f2
5988 + new-instance v12, Landroid/content/ContentValues;
5990 + invoke-direct {v12}, Landroid/content/ContentValues;-><init>()V
5992 + const/4 v14, 0x0
5994 + :goto_33f
5995 + array-length v3, v10
5997 + if-ge v14, v3, :cond_3f2
5999 + const-string/jumbo v3, "settings_id"
6001 + move-object/from16 v0, v16
6003 + invoke-virtual {v12, v3, v0}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
6005 + const-string v3, "contact_id"
6007 + aget v4, v10, v14
6009 + invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
6011 + move-result-object v4
6013 + invoke-virtual {v12, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
6015 + const-string v3, "allowed_contacts"
6017 + const/4 v4, 0x0
6019 + invoke-virtual {v2, v3, v4, v12}, Landroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
6021 + move-result-wide v3
6023 + const-wide/16 v5, -0x1
6025 + cmp-long v3, v3, v5
6027 + if-nez v3, :cond_36b
6029 + new-instance v3, Ljava/lang/Exception;
6031 + const-string/jumbo v4, "saveSettings - failed to update database entry (contacts)"
6033 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
6035 + throw v3
6037 + :cond_36b
6038 + add-int/lit8 v14, v14, 0x1
6040 + goto :goto_33f
6042 + :cond_36e
6043 + invoke-interface {v11}, Landroid/database/Cursor;->getCount()I
6045 + move-result v3
6047 + if-nez v3, :cond_3dc
6049 + const-string/jumbo v3, "settings"
6051 + const/4 v4, 0x0
6053 + move-object/from16 v0, v23
6055 + invoke-virtual {v2, v3, v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
6057 + move-result-wide v19
6059 + const-wide/16 v3, -0x1
6061 + cmp-long v3, v19, v3
6063 + if-nez v3, :cond_38d
6065 + new-instance v3, Ljava/lang/Exception;
6067 + const-string/jumbo v4, "saveSettings - failed to insert new record into DB"
6069 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
6071 + throw v3
6073 + :cond_38d
6074 + const-string v3, "allowed_contacts"
6076 + const-string/jumbo v4, "settings_id=?"
6078 + const/4 v5, 0x1
6080 + new-array v5, v5, [Ljava/lang/String;
6082 + const/4 v6, 0x0
6084 + invoke-static/range {v19 .. v20}, Ljava/lang/Long;->toString(J)Ljava/lang/String;
6086 + move-result-object v7
6088 + aput-object v7, v5, v6
6090 + invoke-virtual {v2, v3, v4, v5}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
6092 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAllowedContacts()[I
6094 + move-result-object v10
6096 + if-eqz v10, :cond_3f2
6098 + new-instance v12, Landroid/content/ContentValues;
6100 + invoke-direct {v12}, Landroid/content/ContentValues;-><init>()V
6102 + const/4 v14, 0x0
6104 + :goto_3ab
6105 + array-length v3, v10
6107 + if-ge v14, v3, :cond_3f2
6109 + const-string/jumbo v3, "settings_id"
6111 + invoke-static/range {v19 .. v20}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
6113 + move-result-object v4
6115 + invoke-virtual {v12, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Long;)V
6117 + const-string v3, "contact_id"
6119 + aget v4, v10, v14
6121 + invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
6123 + move-result-object v4
6125 + invoke-virtual {v12, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
6127 + const-string v3, "allowed_contacts"
6129 + const/4 v4, 0x0
6131 + invoke-virtual {v2, v3, v4, v12}, Landroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
6133 + move-result-wide v3
6135 + const-wide/16 v5, -0x1
6137 + cmp-long v3, v3, v5
6139 + if-nez v3, :cond_3d9
6141 + new-instance v3, Ljava/lang/Exception;
6143 + const-string/jumbo v4, "saveSettings - failed to update database entry (contacts)"
6145 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
6147 + throw v3
6149 + :cond_3d9
6150 + add-int/lit8 v14, v14, 0x1
6152 + goto :goto_3ab
6154 + :cond_3dc
6155 + const/16 v18, 0x0
6157 + new-instance v3, Ljava/lang/Exception;
6159 + const-string/jumbo v4, "saveSettings - duplicate entries in the privacy.db"
6161 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
6163 + throw v3
6165 + :cond_3e7
6166 + const/16 v18, 0x0
6168 + new-instance v3, Ljava/lang/Exception;
6170 + const-string/jumbo v4, "saveSettings - cursor is null, database access failed"
6172 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
6174 + throw v3
6176 + :cond_3f2
6177 + new-instance v21, Ljava/io/File;
6179 + new-instance v3, Ljava/lang/StringBuilder;
6181 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
6183 + const-string v4, "/data/system/privacy/"
6185 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6187 + move-result-object v3
6189 + move-object/from16 v0, v17
6191 + invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6193 + move-result-object v3
6195 + const-string v4, "/"
6197 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6199 + move-result-object v3
6201 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6203 + move-result-object v3
6205 + move-object/from16 v0, v21
6207 + invoke-direct {v0, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
6209 + new-instance v22, Ljava/io/File;
6211 + new-instance v3, Ljava/lang/StringBuilder;
6213 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
6215 + const-string v4, "/data/system/privacy/"
6217 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6219 + move-result-object v3
6221 + move-object/from16 v0, v17
6223 + invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6225 + move-result-object v3
6227 + const-string v4, "/"
6229 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6231 + move-result-object v3
6233 + const-string v4, "/systemLogsSetting"
6235 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6237 + move-result-object v3
6239 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6241 + move-result-object v3
6243 + move-object/from16 v0, v22
6245 + invoke-direct {v0, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
6246 + :try_end_43c
6247 + .catchall {:try_start_2c8 .. :try_end_43c} :catchall_291
6248 + .catch Ljava/lang/Exception; {:try_start_2c8 .. :try_end_43c} :catch_213
6250 + :try_start_43c
6251 + invoke-virtual/range {v21 .. v21}, Ljava/io/File;->mkdirs()Z
6253 + const/4 v3, 0x1
6255 + const/4 v4, 0x0
6257 + move-object/from16 v0, v21
6259 + invoke-virtual {v0, v3, v4}, Ljava/io/File;->setReadable(ZZ)Z
6261 + const/4 v3, 0x1
6263 + const/4 v4, 0x0
6265 + move-object/from16 v0, v21
6267 + invoke-virtual {v0, v3, v4}, Ljava/io/File;->setExecutable(ZZ)Z
6269 + invoke-virtual/range {v22 .. v22}, Ljava/io/File;->createNewFile()Z
6271 + const/4 v3, 0x1
6273 + const/4 v4, 0x0
6275 + move-object/from16 v0, v22
6277 + invoke-virtual {v0, v3, v4}, Ljava/io/File;->setReadable(ZZ)Z
6279 + new-instance v24, Ljava/io/OutputStreamWriter;
6281 + new-instance v3, Ljava/io/FileOutputStream;
6283 + move-object/from16 v0, v22
6285 + invoke-direct {v3, v0}, Ljava/io/FileOutputStream;-><init>(Ljava/io/File;)V
6287 + move-object/from16 v0, v24
6289 + invoke-direct {v0, v3}, Ljava/io/OutputStreamWriter;-><init>(Ljava/io/OutputStream;)V
6291 + new-instance v3, Ljava/lang/StringBuilder;
6293 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
6295 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSystemLogsSetting()B
6297 + move-result v4
6299 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
6301 + move-result-object v3
6303 + const-string v4, ""
6305 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6307 + move-result-object v3
6309 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6311 + move-result-object v3
6313 + move-object/from16 v0, v24
6315 + invoke-virtual {v0, v3}, Ljava/io/OutputStreamWriter;->append(Ljava/lang/CharSequence;)Ljava/io/Writer;
6317 + invoke-virtual/range {v24 .. v24}, Ljava/io/OutputStreamWriter;->flush()V
6319 + invoke-virtual/range {v24 .. v24}, Ljava/io/OutputStreamWriter;->close()V
6320 + :try_end_487
6321 + .catchall {:try_start_43c .. :try_end_487} :catchall_291
6322 + .catch Ljava/io/IOException; {:try_start_43c .. :try_end_487} :catch_4be
6323 + .catch Ljava/lang/Exception; {:try_start_43c .. :try_end_487} :catch_213
6325 + :try_start_487
6326 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->setTransactionSuccessful()V
6327 + :try_end_48a
6328 + .catchall {:try_start_487 .. :try_end_48a} :catchall_291
6329 + .catch Ljava/lang/Exception; {:try_start_487 .. :try_end_48a} :catch_213
6331 + :try_start_48a
6332 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
6334 + if-eqz v11, :cond_492
6336 + invoke-interface {v11}, Landroid/database/Cursor;->close()V
6338 + :cond_492
6339 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6341 + monitor-enter v4
6342 + :try_end_495
6343 + .catchall {:try_start_48a .. :try_end_495} :catchall_2c2
6345 + :try_start_495
6346 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6348 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6350 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
6352 + move-result v3
6354 + add-int/lit8 v3, v3, -0x1
6356 + invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
6358 + move-result-object v3
6360 + sput-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6362 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6364 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
6366 + move-result v3
6368 + if-nez v3, :cond_4b8
6370 + if-eqz v2, :cond_4b8
6372 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
6374 + move-result v3
6376 + if-eqz v3, :cond_4b8
6378 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
6380 + :cond_4b8
6381 + monitor-exit v4
6383 + goto/16 :goto_245
6385 + :catchall_4bb
6386 + move-exception v3
6388 + monitor-exit v4
6389 + :try_end_4bd
6390 + .catchall {:try_start_495 .. :try_end_4bd} :catchall_4bb
6392 + :try_start_4bd
6393 + throw v3
6394 + :try_end_4be
6395 + .catchall {:try_start_4bd .. :try_end_4be} :catchall_2c2
6397 + :catch_4be
6398 + move-exception v13
6400 + const/16 v18, 0x0
6402 + :try_start_4c1
6403 + new-instance v3, Ljava/lang/Exception;
6405 + const-string/jumbo v4, "saveSettings - could not write settings to file"
6407 + invoke-direct {v3, v4, v13}, Ljava/lang/Exception;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
6409 + throw v3
6410 + :try_end_4ca
6411 + .catchall {:try_start_4c1 .. :try_end_4ca} :catchall_291
6412 + .catch Ljava/lang/Exception; {:try_start_4c1 .. :try_end_4ca} :catch_213
6414 + :catchall_4ca
6415 + move-exception v3
6417 + :try_start_4cb
6418 + monitor-exit v4
6419 + :try_end_4cc
6420 + .catchall {:try_start_4cb .. :try_end_4cc} :catchall_4ca
6422 + :try_start_4cc
6423 + throw v3
6424 + :try_end_4cd
6425 + .catchall {:try_start_4cc .. :try_end_4cd} :catchall_2c2
6427 + :catchall_4cd
6428 + move-exception v3
6430 + :try_start_4ce
6431 + monitor-exit v4
6432 + :try_end_4cf
6433 + .catchall {:try_start_4ce .. :try_end_4cf} :catchall_4cd
6435 + :try_start_4cf
6436 + throw v3
6437 + :try_end_4d0
6438 + .catchall {:try_start_4cf .. :try_end_4d0} :catchall_2c2
6439 +.end method
6441 +.method public declared-synchronized setValue(Ljava/lang/String;Ljava/lang/String;)Z
6442 + .registers 10
6444 + monitor-enter p0
6446 + :try_start_1
6447 + const-string v3, "PrivacyPersistenceAdapter"
6449 + new-instance v4, Ljava/lang/StringBuilder;
6451 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
6453 + const-string/jumbo v5, "setValue - name "
6455 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6457 + move-result-object v4
6459 + invoke-virtual {v4, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6461 + move-result-object v4
6463 + const-string v5, " value "
6465 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6467 + move-result-object v4
6469 + invoke-virtual {v4, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6471 + move-result-object v4
6473 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6475 + move-result-object v4
6477 + invoke-static {v3, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
6479 + new-instance v2, Landroid/content/ContentValues;
6481 + invoke-direct {v2}, Landroid/content/ContentValues;-><init>()V
6483 + const-string/jumbo v3, "name"
6485 + invoke-virtual {v2, v3, p1}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
6487 + const-string/jumbo v3, "value"
6489 + invoke-virtual {v2, v3, p2}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
6491 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
6493 + move-result-object v0
6495 + const-string/jumbo v3, "map"
6497 + const/4 v4, 0x0
6499 + invoke-virtual {v0, v3, v4, v2}, Landroid/database/sqlite/SQLiteDatabase;->replace(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
6501 + move-result-wide v3
6503 + const-wide/16 v5, -0x1
6505 + cmp-long v3, v3, v5
6507 + if-eqz v3, :cond_5d
6509 + const/4 v1, 0x1
6511 + :goto_48
6512 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6514 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
6516 + move-result v3
6518 + if-nez v3, :cond_5b
6520 + if-eqz v0, :cond_5b
6522 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
6524 + move-result v3
6526 + if-eqz v3, :cond_5b
6528 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
6529 + :try_end_5b
6530 + .catchall {:try_start_1 .. :try_end_5b} :catchall_5f
6532 + :cond_5b
6533 + monitor-exit p0
6535 + return v1
6537 + :cond_5d
6538 + const/4 v1, 0x0
6540 + goto :goto_48
6542 + :catchall_5f
6543 + move-exception v3
6545 + monitor-exit p0
6547 + throw v3
6548 +.end method
6549 diff -Npru -x '*RIL*' pdroid-framework/smali/android/privacy/PrivacySettings$1.smali stock-framework/smali/android/privacy/PrivacySettings$1.smali
6550 --- pdroid-framework/smali/android/privacy/PrivacySettings$1.smali 1969-12-31 18:00:00.000000000 -0600
6551 +++ stock-framework/smali/android/privacy/PrivacySettings$1.smali 2012-10-13 14:14:43.358155419 -0500
6552 @@ -0,0 +1,77 @@
6553 +.class final Landroid/privacy/PrivacySettings$1;
6554 +.super Ljava/lang/Object;
6555 +.source "PrivacySettings.java"
6557 +# interfaces
6558 +.implements Landroid/os/Parcelable$Creator;
6561 +# annotations
6562 +.annotation system Ldalvik/annotation/EnclosingClass;
6563 + value = Landroid/privacy/PrivacySettings;
6564 +.end annotation
6566 +.annotation system Ldalvik/annotation/InnerClass;
6567 + accessFlags = 0x8
6568 + name = null
6569 +.end annotation
6571 +.annotation system Ldalvik/annotation/Signature;
6572 + value = {
6573 + "Ljava/lang/Object;",
6574 + "Landroid/os/Parcelable$Creator",
6575 + "<",
6576 + "Landroid/privacy/PrivacySettings;",
6577 + ">;"
6579 +.end annotation
6582 +# direct methods
6583 +.method constructor <init>()V
6584 + .registers 1
6586 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
6588 + return-void
6589 +.end method
6592 +# virtual methods
6593 +.method public createFromParcel(Landroid/os/Parcel;)Landroid/privacy/PrivacySettings;
6594 + .registers 3
6596 + new-instance v0, Landroid/privacy/PrivacySettings;
6598 + invoke-direct {v0, p1}, Landroid/privacy/PrivacySettings;-><init>(Landroid/os/Parcel;)V
6600 + return-object v0
6601 +.end method
6603 +.method public bridge synthetic createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
6604 + .registers 3
6606 + invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettings$1;->createFromParcel(Landroid/os/Parcel;)Landroid/privacy/PrivacySettings;
6608 + move-result-object v0
6610 + return-object v0
6611 +.end method
6613 +.method public newArray(I)[Landroid/privacy/PrivacySettings;
6614 + .registers 3
6616 + new-array v0, p1, [Landroid/privacy/PrivacySettings;
6618 + return-object v0
6619 +.end method
6621 +.method public bridge synthetic newArray(I)[Ljava/lang/Object;
6622 + .registers 3
6624 + invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettings$1;->newArray(I)[Landroid/privacy/PrivacySettings;
6626 + move-result-object v0
6628 + return-object v0
6629 +.end method
6630 diff -Npru -x '*RIL*' pdroid-framework/smali/android/privacy/PrivacySettingsManagerService.smali stock-framework/smali/android/privacy/PrivacySettingsManagerService.smali
6631 --- pdroid-framework/smali/android/privacy/PrivacySettingsManagerService.smali 1969-12-31 18:00:00.000000000 -0600
6632 +++ stock-framework/smali/android/privacy/PrivacySettingsManagerService.smali 2012-10-13 14:14:43.382155538 -0500
6633 @@ -0,0 +1,535 @@
6634 +.class public final Landroid/privacy/PrivacySettingsManagerService;
6635 +.super Landroid/privacy/IPrivacySettingsManager$Stub;
6636 +.source "PrivacySettingsManagerService.java"
6639 +# static fields
6640 +.field private static final TAG:Ljava/lang/String; = "PrivacySettingsManagerService"
6642 +.field private static final VERSION:D = 1.32
6644 +.field private static final WRITE_PRIVACY_SETTINGS:Ljava/lang/String; = "android.privacy.WRITE_PRIVACY_SETTINGS"
6646 +.field public static obs:Landroid/privacy/PrivacyFileObserver;
6649 +# instance fields
6650 +.field private bootCompleted:Z
6652 +.field private context:Landroid/content/Context;
6654 +.field private enabled:Z
6656 +.field private notificationsEnabled:Z
6658 +.field private persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
6661 +# direct methods
6662 +.method public constructor <init>(Landroid/content/Context;)V
6663 + .registers 5
6665 + invoke-direct {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;-><init>()V
6667 + const-string v0, "PrivacySettingsManagerService"
6669 + new-instance v1, Ljava/lang/StringBuilder;
6671 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
6673 + const-string v2, "PrivacySettingsManagerService - initializing for package: "
6675 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6677 + move-result-object v1
6679 + invoke-virtual {p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
6681 + move-result-object v2
6683 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6685 + move-result-object v1
6687 + const-string v2, " UID: "
6689 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6691 + move-result-object v1
6693 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
6695 + move-result v2
6697 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
6699 + move-result-object v1
6701 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6703 + move-result-object v1
6705 + invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
6707 + iput-object p1, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
6709 + new-instance v0, Landroid/privacy/PrivacyPersistenceAdapter;
6711 + invoke-direct {v0, p1}, Landroid/privacy/PrivacyPersistenceAdapter;-><init>(Landroid/content/Context;)V
6713 + iput-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
6715 + new-instance v0, Landroid/privacy/PrivacyFileObserver;
6717 + const-string v1, "/data/system/privacy"
6719 + invoke-direct {v0, v1, p0}, Landroid/privacy/PrivacyFileObserver;-><init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
6721 + sput-object v0, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
6723 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
6725 + const-string v1, "enabled"
6727 + invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->getValue(Ljava/lang/String;)Ljava/lang/String;
6729 + move-result-object v0
6731 + const-string v1, "1"
6733 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
6735 + move-result v0
6737 + iput-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->enabled:Z
6739 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
6741 + const-string/jumbo v1, "notifications_enabled"
6743 + invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->getValue(Ljava/lang/String;)Ljava/lang/String;
6745 + move-result-object v0
6747 + const-string v1, "1"
6749 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
6751 + move-result v0
6753 + iput-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->notificationsEnabled:Z
6755 + const/4 v0, 0x0
6757 + iput-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->bootCompleted:Z
6759 + return-void
6760 +.end method
6763 +# virtual methods
6764 +.method public addObserver(Ljava/lang/String;)V
6765 + .registers 5
6767 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
6769 + const-string v1, "android.privacy.WRITE_PRIVACY_SETTINGS"
6771 + const-string v2, "Requires WRITE_PRIVACY_SETTINGS"
6773 + invoke-virtual {v0, v1, v2}, Landroid/content/Context;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
6775 + sget-object v0, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
6777 + invoke-virtual {v0, p1}, Landroid/privacy/PrivacyFileObserver;->addObserver(Ljava/lang/String;)V
6779 + return-void
6780 +.end method
6782 +.method public deleteSettings(Ljava/lang/String;)Z
6783 + .registers 8
6785 + const/4 v5, 0x1
6787 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
6789 + move-result v2
6791 + const/16 v3, 0x3e8
6793 + if-eq v2, v3, :cond_12
6795 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
6797 + const-string v3, "android.privacy.WRITE_PRIVACY_SETTINGS"
6799 + const-string v4, "Requires WRITE_PRIVACY_SETTINGS"
6801 + invoke-virtual {v2, v3, v4}, Landroid/content/Context;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
6803 + :cond_12
6804 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
6806 + invoke-virtual {v2, p1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteSettings(Ljava/lang/String;)Z
6808 + move-result v1
6810 + new-instance v2, Ljava/lang/StringBuilder;
6812 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
6814 + const-string v3, "/data/system/privacy/"
6816 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6818 + move-result-object v2
6820 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6822 + move-result-object v2
6824 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6826 + move-result-object v0
6828 + new-instance v2, Ljava/io/File;
6830 + invoke-direct {v2, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
6832 + invoke-virtual {v2}, Ljava/io/File;->exists()Z
6834 + move-result v2
6836 + if-eqz v2, :cond_3e
6838 + if-ne v1, v5, :cond_3e
6840 + sget-object v2, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
6842 + invoke-virtual {v2, v0}, Landroid/privacy/PrivacyFileObserver;->addObserver(Ljava/lang/String;)V
6844 + :cond_3d
6845 + :goto_3d
6846 + return v1
6848 + :cond_3e
6849 + if-ne v1, v5, :cond_3d
6851 + sget-object v2, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
6853 + iget-object v2, v2, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap;
6855 + invoke-virtual {v2, v0}, Ljava/util/HashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
6857 + goto :goto_3d
6858 +.end method
6860 +.method public getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
6861 + .registers 4
6863 + iget-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->enabled:Z
6865 + if-nez v0, :cond_12
6867 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
6869 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
6871 + move-result-object v0
6873 + const-string v1, "com.privacy.pdroid"
6875 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
6877 + move-result v0
6879 + if-eqz v0, :cond_1a
6881 + :cond_12
6882 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
6884 + const/4 v1, 0x0
6886 + invoke-virtual {v0, p1, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->getSettings(Ljava/lang/String;Z)Landroid/privacy/PrivacySettings;
6888 + move-result-object v0
6890 + :goto_19
6891 + return-object v0
6893 + :cond_1a
6894 + const/4 v0, 0x0
6896 + goto :goto_19
6897 +.end method
6899 +.method public getVersion()D
6900 + .registers 3
6902 + const-wide v0, 0x3ff51eb851eb851fL
6904 + return-wide v0
6905 +.end method
6907 +.method public notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
6908 + .registers 8
6910 + iget-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->bootCompleted:Z
6912 + if-eqz v1, :cond_34
6914 + iget-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->notificationsEnabled:Z
6916 + if-eqz v1, :cond_34
6918 + new-instance v0, Landroid/content/Intent;
6920 + invoke-direct {v0}, Landroid/content/Intent;-><init>()V
6922 + const-string v1, "com.privacy.pdroid.PRIVACY_NOTIFICATION"
6924 + invoke-virtual {v0, v1}, Landroid/content/Intent;->setAction(Ljava/lang/String;)Landroid/content/Intent;
6926 + const-string/jumbo v1, "packageName"
6928 + invoke-virtual {v0, v1, p1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
6930 + const-string/jumbo v1, "uid"
6932 + const/4 v2, -0x1
6934 + invoke-virtual {v0, v1, v2}, Landroid/content/Intent;->putExtra(Ljava/lang/String;I)Landroid/content/Intent;
6936 + const-string v1, "accessMode"
6938 + invoke-virtual {v0, v1, p2}, Landroid/content/Intent;->putExtra(Ljava/lang/String;B)Landroid/content/Intent;
6940 + const-string v1, "dataType"
6942 + invoke-virtual {v0, v1, p3}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
6944 + const-string/jumbo v1, "output"
6946 + invoke-virtual {v0, v1, p4}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
6948 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
6950 + invoke-virtual {v1, v0}, Landroid/content/Context;->sendBroadcast(Landroid/content/Intent;)V
6952 + :cond_34
6953 + return-void
6954 +.end method
6956 +.method public purgeSettings()Z
6957 + .registers 2
6959 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
6961 + invoke-virtual {v0}, Landroid/privacy/PrivacyPersistenceAdapter;->purgeSettings()Z
6963 + move-result v0
6965 + return v0
6966 +.end method
6968 +.method public registerObservers()V
6969 + .registers 4
6971 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
6973 + const-string v1, "android.privacy.WRITE_PRIVACY_SETTINGS"
6975 + const-string v2, "Requires WRITE_PRIVACY_SETTINGS"
6977 + invoke-virtual {v0, v1, v2}, Landroid/content/Context;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
6979 + new-instance v0, Landroid/privacy/PrivacyFileObserver;
6981 + const-string v1, "/data/system/privacy"
6983 + invoke-direct {v0, v1, p0}, Landroid/privacy/PrivacyFileObserver;-><init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
6985 + sput-object v0, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
6987 + return-void
6988 +.end method
6990 +.method public saveSettings(Landroid/privacy/PrivacySettings;)Z
6991 + .registers 6
6993 + const-string v1, "PrivacySettingsManagerService"
6995 + new-instance v2, Ljava/lang/StringBuilder;
6997 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
6999 + const-string/jumbo v3, "saveSettings - checking if caller (UID: "
7001 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7003 + move-result-object v2
7005 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
7007 + move-result v3
7009 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
7011 + move-result-object v2
7013 + const-string v3, ") has sufficient permissions"
7015 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7017 + move-result-object v2
7019 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
7021 + move-result-object v2
7023 + invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
7025 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
7027 + move-result v1
7029 + const/16 v2, 0x3e8
7031 + if-eq v1, v2, :cond_34
7033 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
7035 + const-string v2, "android.privacy.WRITE_PRIVACY_SETTINGS"
7037 + const-string v3, "Requires WRITE_PRIVACY_SETTINGS"
7039 + invoke-virtual {v1, v2, v3}, Landroid/content/Context;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
7041 + :cond_34
7042 + const-string v1, "PrivacySettingsManagerService"
7044 + new-instance v2, Ljava/lang/StringBuilder;
7046 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
7048 + const-string/jumbo v3, "saveSettings - "
7050 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7052 + move-result-object v2
7054 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
7056 + move-result-object v2
7058 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
7060 + move-result-object v2
7062 + invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
7064 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
7066 + invoke-virtual {v1, p1}, Landroid/privacy/PrivacyPersistenceAdapter;->saveSettings(Landroid/privacy/PrivacySettings;)Z
7068 + move-result v0
7070 + const/4 v1, 0x1
7072 + if-ne v0, v1, :cond_5f
7074 + sget-object v1, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
7076 + invoke-virtual {p1}, Landroid/privacy/PrivacySettings;->getPackageName()Ljava/lang/String;
7078 + move-result-object v2
7080 + invoke-virtual {v1, v2}, Landroid/privacy/PrivacyFileObserver;->addObserver(Ljava/lang/String;)V
7082 + :cond_5f
7083 + return v0
7084 +.end method
7086 +.method public setBootCompleted()V
7087 + .registers 2
7089 + const/4 v0, 0x1
7091 + iput-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->bootCompleted:Z
7093 + return-void
7094 +.end method
7096 +.method public setEnabled(Z)Z
7097 + .registers 6
7099 + const/4 v1, 0x1
7101 + if-eqz p1, :cond_12
7103 + const-string v0, "1"
7105 + :goto_5
7106 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
7108 + const-string v3, "enabled"
7110 + invoke-virtual {v2, v3, v0}, Landroid/privacy/PrivacyPersistenceAdapter;->setValue(Ljava/lang/String;Ljava/lang/String;)Z
7112 + move-result v2
7114 + if-eqz v2, :cond_15
7116 + iput-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->enabled:Z
7118 + :goto_11
7119 + return v1
7121 + :cond_12
7122 + return v1
7123 + const-string v0, "0"
7125 + goto :goto_5
7127 + :cond_15
7128 + const/4 v1, 0x0
7130 + goto :goto_11
7131 +.end method
7133 +.method public setNotificationsEnabled(Z)Z
7134 + .registers 6
7136 + const/4 v1, 0x1
7138 + if-eqz p1, :cond_15
7140 + const-string v0, "1"
7142 + :goto_5
7143 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
7145 + const-string/jumbo v3, "notifications_enabled"
7147 + invoke-virtual {v2, v3, v0}, Landroid/privacy/PrivacyPersistenceAdapter;->setValue(Ljava/lang/String;Ljava/lang/String;)Z
7149 + move-result v2
7151 + if-eqz v2, :cond_18
7153 + iput-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->notificationsEnabled:Z
7155 + iput-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->bootCompleted:Z
7157 + :goto_14
7158 + return v1
7160 + :cond_15
7161 + const-string v0, "0"
7163 + goto :goto_5
7165 + :cond_18
7166 + const/4 v1, 0x0
7168 + goto :goto_14
7169 +.end method
7170 diff -Npru -x '*RIL*' pdroid-framework/smali/android/privacy/PrivacySettingsManager.smali stock-framework/smali/android/privacy/PrivacySettingsManager.smali
7171 --- pdroid-framework/smali/android/privacy/PrivacySettingsManager.smali 1969-12-31 18:00:00.000000000 -0600
7172 +++ stock-framework/smali/android/privacy/PrivacySettingsManager.smali 2012-10-13 14:14:43.362155434 -0500
7173 @@ -0,0 +1,531 @@
7174 +.class public final Landroid/privacy/PrivacySettingsManager;
7175 +.super Ljava/lang/Object;
7176 +.source "PrivacySettingsManager.java"
7179 +# static fields
7180 +.field public static final ACTION_PRIVACY_NOTIFICATION:Ljava/lang/String; = "com.privacy.pdroid.PRIVACY_NOTIFICATION"
7182 +.field private static final TAG:Ljava/lang/String; = "PrivacySettingsManager"
7185 +# instance fields
7186 +.field private service:Landroid/privacy/IPrivacySettingsManager;
7189 +# direct methods
7190 +.method public constructor <init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
7191 + .registers 3
7193 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
7195 + iput-object p2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7197 + return-void
7198 +.end method
7201 +# virtual methods
7202 +.method public addObserver(Ljava/lang/String;)V
7203 + .registers 5
7205 + :try_start_0
7206 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7208 + if-eqz v1, :cond_a
7210 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7212 + invoke-interface {v1, p1}, Landroid/privacy/IPrivacySettingsManager;->addObserver(Ljava/lang/String;)V
7214 + :goto_9
7215 + return-void
7217 + :cond_a
7218 + const-string v1, "PrivacySettingsManager"
7220 + const-string v2, "deleteSettings - PrivacySettingsManagerService is null"
7222 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7223 + :try_end_11
7224 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_11} :catch_12
7226 + goto :goto_9
7228 + :catch_12
7229 + move-exception v0
7231 + const-string v1, "PrivacySettingsManager"
7233 + const-string v2, "RemoteException in addObserver: "
7235 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7237 + goto :goto_9
7238 +.end method
7240 +.method public deleteSettings(Ljava/lang/String;)Z
7241 + .registers 3
7243 + invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettingsManager;->deleteSettings(Ljava/lang/String;)Z
7245 + move-result v0
7247 + return v0
7248 +.end method
7250 +.method public deleteSettings(Ljava/lang/String;I)Z
7251 + .registers 7
7253 + const/4 v1, 0x0
7255 + :try_start_1
7256 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7258 + if-eqz v2, :cond_c
7260 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7262 + invoke-interface {v2, p1}, Landroid/privacy/IPrivacySettingsManager;->deleteSettings(Ljava/lang/String;)Z
7264 + move-result v1
7266 + :goto_b
7267 + return v1
7269 + :cond_c
7270 + const-string v2, "PrivacySettingsManager"
7272 + const-string v3, "deleteSettings - PrivacySettingsManagerService is null"
7274 + invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7275 + :try_end_13
7276 + .catch Landroid/os/RemoteException; {:try_start_1 .. :try_end_13} :catch_14
7278 + goto :goto_b
7280 + :catch_14
7281 + move-exception v0
7283 + const-string v2, "PrivacySettingsManager"
7285 + const-string v3, "RemoteException in deleteSettings: "
7287 + invoke-static {v2, v3, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7289 + goto :goto_b
7290 +.end method
7292 +.method public getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
7293 + .registers 6
7295 + const/4 v1, 0x0
7297 + :try_start_1
7298 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7300 + if-eqz v2, :cond_c
7302 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7304 + invoke-interface {v2, p1}, Landroid/privacy/IPrivacySettingsManager;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
7306 + move-result-object v1
7308 + :goto_b
7309 + return-object v1
7311 + :cond_c
7312 + const-string v2, "PrivacySettingsManager"
7314 + const-string v3, "getSettings - PrivacySettingsManagerService is null"
7316 + invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7317 + :try_end_13
7318 + .catch Landroid/os/RemoteException; {:try_start_1 .. :try_end_13} :catch_14
7320 + goto :goto_b
7322 + :catch_14
7323 + move-exception v0
7325 + invoke-virtual {v0}, Landroid/os/RemoteException;->printStackTrace()V
7327 + goto :goto_b
7328 +.end method
7330 +.method public getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
7331 + .registers 4
7333 + invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
7335 + move-result-object v0
7337 + return-object v0
7338 +.end method
7340 +.method public getVersion()D
7341 + .registers 4
7343 + :try_start_0
7344 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7346 + if-eqz v1, :cond_b
7348 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7350 + invoke-interface {v1}, Landroid/privacy/IPrivacySettingsManager;->getVersion()D
7352 + move-result-wide v1
7354 + :goto_a
7355 + return-wide v1
7357 + :cond_b
7358 + const-string v1, "PrivacySettingsManager"
7360 + const-string v2, "getVersion - PrivacySettingsManagerService is null"
7362 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7363 + :try_end_12
7364 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_12} :catch_15
7366 + :goto_12
7367 + const-wide/16 v1, 0x0
7369 + goto :goto_a
7371 + :catch_15
7372 + move-exception v0
7374 + const-string v1, "PrivacySettingsManager"
7376 + const-string v2, "RemoteException in getVersion: "
7378 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7380 + goto :goto_12
7381 +.end method
7383 +.method public isServiceAvailable()Z
7384 + .registers 2
7386 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7388 + if-eqz v0, :cond_6
7390 + const/4 v0, 0x1
7392 + :goto_5
7393 + return v0
7395 + :cond_6
7396 + const/4 v0, 0x0
7398 + goto :goto_5
7399 +.end method
7401 +.method public notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
7402 + .registers 9
7404 + :try_start_0
7405 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7407 + if-eqz v1, :cond_a
7409 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7411 + invoke-interface {v1, p1, p2, p3, p4}, Landroid/privacy/IPrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
7413 + :goto_9
7414 + return-void
7416 + :cond_a
7417 + const-string v1, "PrivacySettingsManager"
7419 + const-string v2, "deleteSettings - PrivacySettingsManagerService is null"
7421 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7422 + :try_end_11
7423 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_11} :catch_12
7425 + goto :goto_9
7427 + :catch_12
7428 + move-exception v0
7430 + const-string v1, "PrivacySettingsManager"
7432 + const-string v2, "RemoteException in notification: "
7434 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7436 + goto :goto_9
7437 +.end method
7439 +.method public notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
7440 + .registers 13
7442 + move-object v0, p0
7444 + move-object v1, p1
7446 + move v2, p3
7448 + move-object v3, p4
7450 + move-object v4, p5
7452 + move-object v5, p6
7454 + invoke-virtual/range {v0 .. v5}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
7456 + return-void
7457 +.end method
7459 +.method public purgeSettings()Z
7460 + .registers 4
7462 + :try_start_0
7463 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7465 + if-eqz v1, :cond_b
7467 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7469 + invoke-interface {v1}, Landroid/privacy/IPrivacySettingsManager;->purgeSettings()Z
7471 + move-result v1
7473 + :goto_a
7474 + return v1
7476 + :cond_b
7477 + const-string v1, "PrivacySettingsManager"
7479 + const-string v2, "deleteSettings - PrivacySettingsManagerService is null"
7481 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7482 + :try_end_12
7483 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_12} :catch_14
7485 + :goto_12
7486 + const/4 v1, 0x0
7488 + goto :goto_a
7490 + :catch_14
7491 + move-exception v0
7493 + const-string v1, "PrivacySettingsManager"
7495 + const-string v2, "RemoteException in purgeSettings: "
7497 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7499 + goto :goto_12
7500 +.end method
7502 +.method public registerObservers()V
7503 + .registers 4
7505 + :try_start_0
7506 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7508 + if-eqz v1, :cond_a
7510 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7512 + invoke-interface {v1}, Landroid/privacy/IPrivacySettingsManager;->registerObservers()V
7514 + :goto_9
7515 + return-void
7517 + :cond_a
7518 + const-string v1, "PrivacySettingsManager"
7520 + const-string v2, "deleteSettings - PrivacySettingsManagerService is null"
7522 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7523 + :try_end_11
7524 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_11} :catch_12
7526 + goto :goto_9
7528 + :catch_12
7529 + move-exception v0
7531 + const-string v1, "PrivacySettingsManager"
7533 + const-string v2, "RemoteException in registerObservers: "
7535 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7537 + goto :goto_9
7538 +.end method
7540 +.method public saveSettings(Landroid/privacy/PrivacySettings;)Z
7541 + .registers 6
7543 + const/4 v1, 0x0
7545 + :try_start_1
7546 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7548 + if-eqz v2, :cond_c
7550 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7552 + invoke-interface {v2, p1}, Landroid/privacy/IPrivacySettingsManager;->saveSettings(Landroid/privacy/PrivacySettings;)Z
7554 + move-result v1
7556 + :goto_b
7557 + return v1
7559 + :cond_c
7560 + const-string v2, "PrivacySettingsManager"
7562 + const-string/jumbo v3, "saveSettings - PrivacySettingsManagerService is null"
7564 + invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7565 + :try_end_14
7566 + .catch Landroid/os/RemoteException; {:try_start_1 .. :try_end_14} :catch_15
7568 + goto :goto_b
7570 + :catch_15
7571 + move-exception v0
7573 + const-string v2, "PrivacySettingsManager"
7575 + const-string v3, "RemoteException in saveSettings: "
7577 + invoke-static {v2, v3, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7579 + goto :goto_b
7580 +.end method
7582 +.method public setBootCompleted()V
7583 + .registers 4
7585 + :try_start_0
7586 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7588 + if-eqz v1, :cond_a
7590 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7592 + invoke-interface {v1}, Landroid/privacy/IPrivacySettingsManager;->setBootCompleted()V
7594 + :goto_9
7595 + return-void
7597 + :cond_a
7598 + const-string v1, "PrivacySettingsManager"
7600 + const-string/jumbo v2, "setBootCompleted - PrivacySettingsManagerService is null"
7602 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7603 + :try_end_12
7604 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_12} :catch_13
7606 + goto :goto_9
7608 + :catch_13
7609 + move-exception v0
7611 + const-string v1, "PrivacySettingsManager"
7613 + const-string v2, "RemoteException in setBootCompleted: "
7615 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7617 + goto :goto_9
7618 +.end method
7620 +.method public setEnabled(Z)Z
7621 + .registers 5
7623 + :try_start_0
7624 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7626 + if-eqz v1, :cond_b
7628 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7630 + invoke-interface {v1, p1}, Landroid/privacy/IPrivacySettingsManager;->setEnabled(Z)Z
7632 + move-result v1
7634 + :goto_a
7635 + return v1
7637 + :cond_b
7638 + const-string v1, "PrivacySettingsManager"
7640 + const-string/jumbo v2, "setEnabled - PrivacySettingsManagerService is null"
7642 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7643 + :try_end_13
7644 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_13} :catch_15
7646 + :goto_13
7647 + const/4 v1, 0x0
7649 + goto :goto_a
7651 + :catch_15
7652 + move-exception v0
7654 + const-string v1, "PrivacySettingsManager"
7656 + const-string v2, "RemoteException in setEnabled: "
7658 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7660 + goto :goto_13
7661 +.end method
7663 +.method public setNotificationsEnabled(Z)Z
7664 + .registers 5
7666 + :try_start_0
7667 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7669 + if-eqz v1, :cond_b
7671 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7673 + invoke-interface {v1, p1}, Landroid/privacy/IPrivacySettingsManager;->setNotificationsEnabled(Z)Z
7675 + move-result v1
7677 + :goto_a
7678 + return v1
7680 + :cond_b
7681 + const-string v1, "PrivacySettingsManager"
7683 + const-string/jumbo v2, "setNotificationsEnabled - PrivacySettingsManagerService is null"
7685 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7686 + :try_end_13
7687 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_13} :catch_15
7689 + :goto_13
7690 + const/4 v1, 0x0
7692 + goto :goto_a
7694 + :catch_15
7695 + move-exception v0
7697 + const-string v1, "PrivacySettingsManager"
7699 + const-string v2, "RemoteException in setNotificationsEnabled: "
7701 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7703 + goto :goto_13
7704 +.end method
7705 diff -Npru -x '*RIL*' pdroid-framework/smali/android/privacy/PrivacySettings.smali stock-framework/smali/android/privacy/PrivacySettings.smali
7706 --- pdroid-framework/smali/android/privacy/PrivacySettings.smali 1969-12-31 18:00:00.000000000 -0600
7707 +++ stock-framework/smali/android/privacy/PrivacySettings.smali 2012-10-13 14:14:43.362155434 -0500
7708 @@ -0,0 +1,2109 @@
7709 +.class public final Landroid/privacy/PrivacySettings;
7710 +.super Ljava/lang/Object;
7711 +.source "PrivacySettings.java"
7713 +# interfaces
7714 +.implements Landroid/os/Parcelable;
7717 +# static fields
7718 +.field public static final CREATOR:Landroid/os/Parcelable$Creator; = null
7719 + .annotation system Ldalvik/annotation/Signature;
7720 + value = {
7721 + "Landroid/os/Parcelable$Creator",
7722 + "<",
7723 + "Landroid/privacy/PrivacySettings;",
7724 + ">;"
7726 + .end annotation
7727 +.end field
7729 +.field public static final CUSTOM:B = 0x2t
7731 +.field public static final DATA_ACCOUNTS_LIST:Ljava/lang/String; = "accountsList"
7733 +.field public static final DATA_AUTH_TOKENS:Ljava/lang/String; = "authTokens"
7735 +.field public static final DATA_BOOKMARKS:Ljava/lang/String; = "bookmarks"
7737 +.field public static final DATA_CALENDAR:Ljava/lang/String; = "calendar"
7739 +.field public static final DATA_CALL_LOG:Ljava/lang/String; = "callLog"
7741 +.field public static final DATA_CONTACTS:Ljava/lang/String; = "contacts"
7743 +.field public static final DATA_DEVICE_ID:Ljava/lang/String; = "deviceID"
7745 +.field public static final DATA_INCOMING_CALL:Ljava/lang/String; = "incomingCall"
7747 +.field public static final DATA_INTENT_BOOT_COMPLETED:Ljava/lang/String; = "intentBootCompleted"
7749 +.field public static final DATA_LINE_1_NUMBER:Ljava/lang/String; = "line1Number"
7751 +.field public static final DATA_LOCATION_GPS:Ljava/lang/String; = "locationGPS"
7753 +.field public static final DATA_LOCATION_NETWORK:Ljava/lang/String; = "locationNetwork"
7755 +.field public static final DATA_MMS:Ljava/lang/String; = "mms"
7757 +.field public static final DATA_MMS_SMS:Ljava/lang/String; = "mmsSms"
7759 +.field public static final DATA_NETWORK_INFO_CURRENT:Ljava/lang/String; = "networkInfoCurrent"
7761 +.field public static final DATA_NETWORK_INFO_SIM:Ljava/lang/String; = "networkInfoSIM"
7763 +.field public static final DATA_OUTGOING_CALL:Ljava/lang/String; = "outgoingCall"
7765 +.field public static final DATA_SIM_SERIAL:Ljava/lang/String; = "simSerial"
7767 +.field public static final DATA_SMS:Ljava/lang/String; = "sms"
7769 +.field public static final DATA_SUBSCRIBER_ID:Ljava/lang/String; = "subscriberID"
7771 +.field public static final DATA_SYSTEM_LOGS:Ljava/lang/String; = "systemLogs"
7773 +.field public static final EMPTY:B = 0x1t
7775 +.field public static final RANDOM:B = 0x3t
7777 +.field public static final REAL:B = 0x0t
7779 +.field public static final SETTING_NOTIFY_OFF:B = 0x0t
7781 +.field public static final SETTING_NOTIFY_ON:B = 0x1t
7784 +# instance fields
7785 +.field private final _id:Ljava/lang/Integer;
7787 +.field private accountsAuthTokensSetting:B
7789 +.field private accountsSetting:B
7791 +.field private allowedContacts:[I
7793 +.field private bookmarksSetting:B
7795 +.field private calendarSetting:B
7797 +.field private callLogSetting:B
7799 +.field private contactsSetting:B
7801 +.field private deviceId:Ljava/lang/String;
7803 +.field private deviceIdSetting:B
7805 +.field private incomingCallsSetting:B
7807 +.field private intentBootCompletedSetting:B
7809 +.field private line1Number:Ljava/lang/String;
7811 +.field private line1NumberSetting:B
7813 +.field private locationGpsLat:Ljava/lang/String;
7815 +.field private locationGpsLon:Ljava/lang/String;
7817 +.field private locationGpsSetting:B
7819 +.field private locationNetworkLat:Ljava/lang/String;
7821 +.field private locationNetworkLon:Ljava/lang/String;
7823 +.field private locationNetworkSetting:B
7825 +.field private mmsSetting:B
7827 +.field private networkInfoSetting:B
7829 +.field private notificationSetting:B
7831 +.field private outgoingCallsSetting:B
7833 +.field private packageName:Ljava/lang/String;
7835 +.field private simInfoSetting:B
7837 +.field private simSerialNumber:Ljava/lang/String;
7839 +.field private simSerialNumberSetting:B
7841 +.field private smsSetting:B
7843 +.field private subscriberId:Ljava/lang/String;
7845 +.field private subscriberIdSetting:B
7847 +.field private systemLogsSetting:B
7849 +.field private uid:I
7852 +# direct methods
7853 +.method static constructor <clinit>()V
7854 + .registers 1
7856 + new-instance v0, Landroid/privacy/PrivacySettings$1;
7858 + invoke-direct {v0}, Landroid/privacy/PrivacySettings$1;-><init>()V
7860 + sput-object v0, Landroid/privacy/PrivacySettings;->CREATOR:Landroid/os/Parcelable$Creator;
7862 + return-void
7863 +.end method
7865 +.method public constructor <init>(Landroid/os/Parcel;)V
7866 + .registers 4
7868 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
7870 + invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I
7872 + move-result v0
7874 + const/4 v1, -0x1
7876 + if-ne v0, v1, :cond_ce
7878 + const/4 v1, 0x0
7880 + :goto_b
7881 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
7883 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
7885 + move-result-object v1
7887 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
7889 + invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I
7891 + move-result v1
7893 + iput v1, p0, Landroid/privacy/PrivacySettings;->uid:I
7895 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
7897 + move-result v1
7899 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
7901 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
7903 + move-result-object v1
7905 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
7907 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
7909 + move-result v1
7911 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
7913 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
7915 + move-result-object v1
7917 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
7919 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
7921 + move-result v1
7923 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
7925 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
7927 + move-result-object v1
7929 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
7931 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
7933 + move-result-object v1
7935 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
7937 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
7939 + move-result v1
7941 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
7943 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
7945 + move-result-object v1
7947 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
7949 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
7951 + move-result-object v1
7953 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
7955 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
7957 + move-result v1
7959 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
7961 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
7963 + move-result v1
7965 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
7967 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
7969 + move-result v1
7971 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
7973 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
7975 + move-result-object v1
7977 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
7979 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
7981 + move-result v1
7983 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
7985 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
7987 + move-result-object v1
7989 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
7991 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
7993 + move-result v1
7995 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
7997 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
7999 + move-result v1
8001 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
8003 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8005 + move-result v1
8007 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
8009 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8011 + move-result v1
8013 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
8015 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8017 + move-result v1
8019 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
8021 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8023 + move-result v1
8025 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
8027 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8029 + move-result v1
8031 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
8033 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8035 + move-result v1
8037 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
8039 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8041 + move-result v1
8043 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
8045 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8047 + move-result v1
8049 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
8051 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8053 + move-result v1
8055 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
8057 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8059 + move-result v1
8061 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
8063 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8065 + move-result v1
8067 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
8069 + invoke-virtual {p1}, Landroid/os/Parcel;->createIntArray()[I
8071 + move-result-object v1
8073 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
8075 + return-void
8077 + :cond_ce
8078 + invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
8080 + move-result-object v1
8082 + goto/16 :goto_b
8083 +.end method
8085 +.method public constructor <init>(Ljava/lang/Integer;Ljava/lang/String;I)V
8086 + .registers 6
8088 + const/4 v1, 0x0
8090 + const/4 v0, 0x0
8092 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
8094 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
8096 + iput-object p2, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
8098 + iput p3, p0, Landroid/privacy/PrivacySettings;->uid:I
8100 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
8102 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
8104 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
8106 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
8108 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8110 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
8112 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
8114 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8116 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
8118 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
8120 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
8122 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
8124 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
8126 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
8128 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
8130 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
8132 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
8134 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
8136 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
8138 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
8140 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
8142 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
8144 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
8146 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
8148 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
8150 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
8152 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
8154 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
8156 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
8158 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
8160 + return-void
8161 +.end method
8163 +.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
8164 + .registers 38
8166 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
8168 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
8170 + iput-object p2, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
8172 + iput p3, p0, Landroid/privacy/PrivacySettings;->uid:I
8174 + iput-byte p4, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
8176 + iput-object p5, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
8178 + iput-byte p6, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
8180 + iput-object p7, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
8182 + iput-byte p8, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8184 + iput-object p9, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
8186 + iput-object p10, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
8188 + iput-byte p11, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8190 + iput-object p12, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
8192 + iput-object p13, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
8194 + iput-byte p14, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
8196 + move/from16 v0, p15
8198 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
8200 + move/from16 v0, p16
8202 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
8204 + move-object/from16 v0, p17
8206 + iput-object v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
8208 + move/from16 v0, p18
8210 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
8212 + move-object/from16 v0, p19
8214 + iput-object v0, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
8216 + move/from16 v0, p20
8218 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
8220 + move/from16 v0, p21
8222 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
8224 + move/from16 v0, p22
8226 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
8228 + move/from16 v0, p23
8230 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
8232 + move/from16 v0, p24
8234 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
8236 + move/from16 v0, p25
8238 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
8240 + move/from16 v0, p26
8242 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
8244 + move/from16 v0, p27
8246 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
8248 + move/from16 v0, p28
8250 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
8252 + move/from16 v0, p29
8254 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
8256 + move/from16 v0, p30
8258 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
8260 + move/from16 v0, p34
8262 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
8264 + move/from16 v0, p35
8266 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
8268 + move-object/from16 v0, p36
8270 + iput-object v0, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
8272 + return-void
8273 +.end method
8275 +.method private getRandomLat()Ljava/lang/String;
8276 + .registers 10
8278 + const-wide v7, 0x4056800000000000L
8280 + invoke-static {}, Ljava/lang/Math;->random()D
8282 + move-result-wide v3
8284 + const-wide v5, 0x4066800000000000L
8286 + mul-double v0, v3, v5
8288 + cmpl-double v3, v0, v7
8290 + if-lez v3, :cond_35
8292 + new-instance v2, Ljava/math/BigDecimal;
8294 + sub-double v3, v0, v7
8296 + invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;-><init>(D)V
8298 + :goto_1b
8299 + new-instance v3, Ljava/lang/StringBuilder;
8301 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
8303 + const/4 v4, 0x6
8305 + const/4 v5, 0x4
8307 + invoke-virtual {v2, v4, v5}, Ljava/math/BigDecimal;->setScale(II)Ljava/math/BigDecimal;
8309 + move-result-object v4
8311 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
8313 + move-result-object v3
8315 + const-string v4, ""
8317 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8319 + move-result-object v3
8321 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8323 + move-result-object v3
8325 + return-object v3
8327 + :cond_35
8328 + new-instance v2, Ljava/math/BigDecimal;
8330 + neg-double v3, v0
8332 + invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;-><init>(D)V
8334 + goto :goto_1b
8335 +.end method
8337 +.method private getRandomLon()Ljava/lang/String;
8338 + .registers 10
8340 + const-wide v7, 0x4066800000000000L
8342 + invoke-static {}, Ljava/lang/Math;->random()D
8344 + move-result-wide v3
8346 + const-wide v5, 0x4076800000000000L
8348 + mul-double v0, v3, v5
8350 + cmpl-double v3, v0, v7
8352 + if-lez v3, :cond_35
8354 + new-instance v2, Ljava/math/BigDecimal;
8356 + sub-double v3, v0, v7
8358 + invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;-><init>(D)V
8360 + :goto_1b
8361 + new-instance v3, Ljava/lang/StringBuilder;
8363 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
8365 + const/4 v4, 0x6
8367 + const/4 v5, 0x4
8369 + invoke-virtual {v2, v4, v5}, Ljava/math/BigDecimal;->setScale(II)Ljava/math/BigDecimal;
8371 + move-result-object v4
8373 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
8375 + move-result-object v3
8377 + const-string v4, ""
8379 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8381 + move-result-object v3
8383 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8385 + move-result-object v3
8387 + return-object v3
8389 + :cond_35
8390 + new-instance v2, Ljava/math/BigDecimal;
8392 + neg-double v3, v0
8394 + invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;-><init>(D)V
8396 + goto :goto_1b
8397 +.end method
8400 +# virtual methods
8401 +.method public describeContents()I
8402 + .registers 2
8404 + const/4 v0, 0x0
8406 + return v0
8407 +.end method
8409 +.method public getAccountsAuthTokensSetting()B
8410 + .registers 2
8412 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
8414 + return v0
8415 +.end method
8417 +.method public getAccountsSetting()B
8418 + .registers 2
8420 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
8422 + return v0
8423 +.end method
8425 +.method public getAllowedContacts()[I
8426 + .registers 2
8428 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
8430 + return-object v0
8431 +.end method
8433 +.method public getBookmarksSetting()B
8434 + .registers 2
8436 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
8438 + return v0
8439 +.end method
8441 +.method public getCalendarSetting()B
8442 + .registers 2
8444 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
8446 + return v0
8447 +.end method
8449 +.method public getCallLogSetting()B
8450 + .registers 2
8452 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
8454 + return v0
8455 +.end method
8457 +.method public getContactsSetting()B
8458 + .registers 2
8460 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
8462 + return v0
8463 +.end method
8465 +.method public getDeviceId()Ljava/lang/String;
8466 + .registers 6
8468 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
8470 + const/4 v3, 0x1
8472 + if-ne v2, v3, :cond_8
8474 + const-string v2, ""
8476 + :goto_7
8477 + return-object v2
8479 + :cond_8
8480 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
8482 + const/4 v3, 0x3
8484 + if-ne v2, v3, :cond_35
8486 + new-instance v0, Ljava/util/Random;
8488 + invoke-direct {v0}, Ljava/util/Random;-><init>()V
8490 + new-instance v2, Ljava/lang/StringBuilder;
8492 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
8494 + invoke-virtual {v0}, Ljava/util/Random;->nextLong()J
8496 + move-result-wide v3
8498 + invoke-static {v3, v4}, Ljava/lang/Math;->abs(J)J
8500 + move-result-wide v3
8502 + invoke-virtual {v2, v3, v4}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
8504 + move-result-object v2
8506 + const-string v3, ""
8508 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8510 + move-result-object v2
8512 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8514 + move-result-object v1
8516 + const/4 v2, 0x0
8518 + const/16 v3, 0xf
8520 + invoke-virtual {v1, v2, v3}, Ljava/lang/String;->substring(II)Ljava/lang/String;
8522 + move-result-object v2
8524 + goto :goto_7
8526 + :cond_35
8527 + iget-object v2, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
8529 + goto :goto_7
8530 +.end method
8532 +.method public getDeviceIdSetting()B
8533 + .registers 2
8535 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
8537 + return v0
8538 +.end method
8540 +.method public getIncomingCallsSetting()B
8541 + .registers 2
8543 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
8545 + return v0
8546 +.end method
8548 +.method public getIntentBootCompletedSetting()B
8549 + .registers 2
8551 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
8553 + return v0
8554 +.end method
8556 +.method public getLine1Number()Ljava/lang/String;
8557 + .registers 6
8559 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
8561 + const/4 v3, 0x1
8563 + if-ne v2, v3, :cond_8
8565 + const-string v2, ""
8567 + :goto_7
8568 + return-object v2
8570 + :cond_8
8571 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
8573 + const/4 v3, 0x3
8575 + if-ne v2, v3, :cond_3b
8577 + new-instance v0, Ljava/util/Random;
8579 + invoke-direct {v0}, Ljava/util/Random;-><init>()V
8581 + new-instance v2, Ljava/lang/StringBuilder;
8583 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
8585 + const-string v3, "+"
8587 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8589 + move-result-object v2
8591 + invoke-virtual {v0}, Ljava/util/Random;->nextLong()J
8593 + move-result-wide v3
8595 + invoke-static {v3, v4}, Ljava/lang/Math;->abs(J)J
8597 + move-result-wide v3
8599 + invoke-virtual {v2, v3, v4}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
8601 + move-result-object v2
8603 + const-string v3, ""
8605 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8607 + move-result-object v2
8609 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8611 + move-result-object v1
8613 + const/4 v2, 0x0
8615 + const/16 v3, 0xd
8617 + invoke-virtual {v1, v2, v3}, Ljava/lang/String;->substring(II)Ljava/lang/String;
8619 + move-result-object v2
8621 + goto :goto_7
8623 + :cond_3b
8624 + iget-object v2, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
8626 + goto :goto_7
8627 +.end method
8629 +.method public getLine1NumberSetting()B
8630 + .registers 2
8632 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
8634 + return v0
8635 +.end method
8637 +.method public getLocationGpsLat()Ljava/lang/String;
8638 + .registers 3
8640 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8642 + const/4 v1, 0x1
8644 + if-ne v0, v1, :cond_8
8646 + const-string v0, ""
8648 + :goto_7
8649 + return-object v0
8651 + :cond_8
8652 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8654 + const/4 v1, 0x3
8656 + if-ne v0, v1, :cond_12
8658 + invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLat()Ljava/lang/String;
8660 + move-result-object v0
8662 + goto :goto_7
8664 + :cond_12
8665 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
8667 + goto :goto_7
8668 +.end method
8670 +.method public getLocationGpsLon()Ljava/lang/String;
8671 + .registers 3
8673 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8675 + const/4 v1, 0x1
8677 + if-ne v0, v1, :cond_8
8679 + const-string v0, ""
8681 + :goto_7
8682 + return-object v0
8684 + :cond_8
8685 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8687 + const/4 v1, 0x3
8689 + if-ne v0, v1, :cond_12
8691 + invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLon()Ljava/lang/String;
8693 + move-result-object v0
8695 + goto :goto_7
8697 + :cond_12
8698 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
8700 + goto :goto_7
8701 +.end method
8703 +.method public getLocationGpsSetting()B
8704 + .registers 2
8706 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8708 + return v0
8709 +.end method
8711 +.method public getLocationNetworkLat()Ljava/lang/String;
8712 + .registers 3
8714 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8716 + const/4 v1, 0x1
8718 + if-ne v0, v1, :cond_8
8720 + const-string v0, ""
8722 + :goto_7
8723 + return-object v0
8725 + :cond_8
8726 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8728 + const/4 v1, 0x3
8730 + if-ne v0, v1, :cond_12
8732 + invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLat()Ljava/lang/String;
8734 + move-result-object v0
8736 + goto :goto_7
8738 + :cond_12
8739 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
8741 + goto :goto_7
8742 +.end method
8744 +.method public getLocationNetworkLon()Ljava/lang/String;
8745 + .registers 3
8747 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8749 + const/4 v1, 0x1
8751 + if-ne v0, v1, :cond_8
8753 + const-string v0, ""
8755 + :goto_7
8756 + return-object v0
8758 + :cond_8
8759 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8761 + const/4 v1, 0x3
8763 + if-ne v0, v1, :cond_12
8765 + invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLon()Ljava/lang/String;
8767 + move-result-object v0
8769 + goto :goto_7
8771 + :cond_12
8772 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
8774 + goto :goto_7
8775 +.end method
8777 +.method public getLocationNetworkSetting()B
8778 + .registers 2
8780 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8782 + return v0
8783 +.end method
8785 +.method public getMmsSetting()B
8786 + .registers 2
8788 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
8790 + return v0
8791 +.end method
8793 +.method public getNetworkInfoSetting()B
8794 + .registers 2
8796 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
8798 + return v0
8799 +.end method
8801 +.method public getNotificationSetting()B
8802 + .registers 2
8804 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
8806 + return v0
8807 +.end method
8809 +.method public getOutgoingCallsSetting()B
8810 + .registers 2
8812 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
8814 + return v0
8815 +.end method
8817 +.method public getPackageName()Ljava/lang/String;
8818 + .registers 2
8820 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
8822 + return-object v0
8823 +.end method
8825 +.method public getSimInfoSetting()B
8826 + .registers 2
8828 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
8830 + return v0
8831 +.end method
8833 +.method public getSimSerialNumber()Ljava/lang/String;
8834 + .registers 5
8836 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
8838 + const/4 v2, 0x1
8840 + if-ne v1, v2, :cond_8
8842 + const-string v1, ""
8844 + :goto_7
8845 + return-object v1
8847 + :cond_8
8848 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
8850 + const/4 v2, 0x3
8852 + if-ne v1, v2, :cond_2e
8854 + new-instance v0, Ljava/util/Random;
8856 + invoke-direct {v0}, Ljava/util/Random;-><init>()V
8858 + new-instance v1, Ljava/lang/StringBuilder;
8860 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
8862 + invoke-virtual {v0}, Ljava/util/Random;->nextLong()J
8864 + move-result-wide v2
8866 + invoke-static {v2, v3}, Ljava/lang/Math;->abs(J)J
8868 + move-result-wide v2
8870 + invoke-virtual {v1, v2, v3}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
8872 + move-result-object v1
8874 + const-string v2, ""
8876 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8878 + move-result-object v1
8880 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8882 + move-result-object v1
8884 + goto :goto_7
8886 + :cond_2e
8887 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
8889 + goto :goto_7
8890 +.end method
8892 +.method public getSimSerialNumberSetting()B
8893 + .registers 2
8895 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
8897 + return v0
8898 +.end method
8900 +.method public getSmsSetting()B
8901 + .registers 2
8903 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
8905 + return v0
8906 +.end method
8908 +.method public getSubscriberId()Ljava/lang/String;
8909 + .registers 6
8911 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
8913 + const/4 v3, 0x1
8915 + if-ne v2, v3, :cond_8
8917 + const-string v2, ""
8919 + :goto_7
8920 + return-object v2
8922 + :cond_8
8923 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
8925 + const/4 v3, 0x3
8927 + if-ne v2, v3, :cond_35
8929 + new-instance v0, Ljava/util/Random;
8931 + invoke-direct {v0}, Ljava/util/Random;-><init>()V
8933 + new-instance v2, Ljava/lang/StringBuilder;
8935 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
8937 + invoke-virtual {v0}, Ljava/util/Random;->nextLong()J
8939 + move-result-wide v3
8941 + invoke-static {v3, v4}, Ljava/lang/Math;->abs(J)J
8943 + move-result-wide v3
8945 + invoke-virtual {v2, v3, v4}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
8947 + move-result-object v2
8949 + const-string v3, ""
8951 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8953 + move-result-object v2
8955 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8957 + move-result-object v1
8959 + const/4 v2, 0x0
8961 + const/16 v3, 0xf
8963 + invoke-virtual {v1, v2, v3}, Ljava/lang/String;->substring(II)Ljava/lang/String;
8965 + move-result-object v2
8967 + goto :goto_7
8969 + :cond_35
8970 + iget-object v2, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
8972 + goto :goto_7
8973 +.end method
8975 +.method public getSubscriberIdSetting()B
8976 + .registers 2
8978 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
8980 + return v0
8981 +.end method
8983 +.method public getSystemLogsSetting()B
8984 + .registers 2
8986 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
8988 + return v0
8989 +.end method
8991 +.method public getUid()I
8992 + .registers 2
8994 + iget v0, p0, Landroid/privacy/PrivacySettings;->uid:I
8996 + return v0
8997 +.end method
8999 +.method public get_id()Ljava/lang/Integer;
9000 + .registers 2
9002 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
9004 + return-object v0
9005 +.end method
9007 +.method public setAccountsAuthTokensSetting(B)V
9008 + .registers 2
9010 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
9012 + return-void
9013 +.end method
9015 +.method public setAccountsSetting(B)V
9016 + .registers 2
9018 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
9020 + return-void
9021 +.end method
9023 +.method public setAllowedContacts([I)V
9024 + .registers 2
9026 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
9028 + return-void
9029 +.end method
9031 +.method public setBookmarksSetting(B)V
9032 + .registers 2
9034 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
9036 + return-void
9037 +.end method
9039 +.method public setCalendarSetting(B)V
9040 + .registers 2
9042 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
9044 + return-void
9045 +.end method
9047 +.method public setCallLogSetting(B)V
9048 + .registers 2
9050 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
9052 + return-void
9053 +.end method
9055 +.method public setContactsSetting(B)V
9056 + .registers 2
9058 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
9060 + return-void
9061 +.end method
9063 +.method public setDeviceId(Ljava/lang/String;)V
9064 + .registers 2
9066 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
9068 + return-void
9069 +.end method
9071 +.method public setDeviceIdSetting(B)V
9072 + .registers 2
9074 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
9076 + return-void
9077 +.end method
9079 +.method public setIncomingCallsSetting(B)V
9080 + .registers 2
9082 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
9084 + return-void
9085 +.end method
9087 +.method public setIntentBootCompletedSetting(B)V
9088 + .registers 2
9090 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
9092 + return-void
9093 +.end method
9095 +.method public setLine1Number(Ljava/lang/String;)V
9096 + .registers 2
9098 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
9100 + return-void
9101 +.end method
9103 +.method public setLine1NumberSetting(B)V
9104 + .registers 2
9106 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
9108 + return-void
9109 +.end method
9111 +.method public setLocationGpsLat(Ljava/lang/String;)V
9112 + .registers 2
9114 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
9116 + return-void
9117 +.end method
9119 +.method public setLocationGpsLon(Ljava/lang/String;)V
9120 + .registers 2
9122 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
9124 + return-void
9125 +.end method
9127 +.method public setLocationGpsSetting(B)V
9128 + .registers 2
9130 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
9132 + return-void
9133 +.end method
9135 +.method public setLocationNetworkLat(Ljava/lang/String;)V
9136 + .registers 2
9138 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
9140 + return-void
9141 +.end method
9143 +.method public setLocationNetworkLon(Ljava/lang/String;)V
9144 + .registers 2
9146 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
9148 + return-void
9149 +.end method
9151 +.method public setLocationNetworkSetting(B)V
9152 + .registers 2
9154 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
9156 + return-void
9157 +.end method
9159 +.method public setMmsSetting(B)V
9160 + .registers 2
9162 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
9164 + return-void
9165 +.end method
9167 +.method public setNetworkInfoSetting(B)V
9168 + .registers 2
9170 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
9172 + return-void
9173 +.end method
9175 +.method public setNotificationSetting(B)V
9176 + .registers 2
9178 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
9180 + return-void
9181 +.end method
9183 +.method public setOutgoingCallsSetting(B)V
9184 + .registers 2
9186 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
9188 + return-void
9189 +.end method
9191 +.method public setPackageName(Ljava/lang/String;)V
9192 + .registers 2
9194 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
9196 + return-void
9197 +.end method
9199 +.method public setSimInfoSetting(B)V
9200 + .registers 2
9202 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
9204 + return-void
9205 +.end method
9207 +.method public setSimSerialNumber(Ljava/lang/String;)V
9208 + .registers 2
9210 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
9212 + return-void
9213 +.end method
9215 +.method public setSimSerialNumberSetting(B)V
9216 + .registers 2
9218 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
9220 + return-void
9221 +.end method
9223 +.method public setSmsSetting(B)V
9224 + .registers 2
9226 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
9228 + return-void
9229 +.end method
9231 +.method public setSubscriberId(Ljava/lang/String;)V
9232 + .registers 2
9234 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
9236 + return-void
9237 +.end method
9239 +.method public setSubscriberIdSetting(B)V
9240 + .registers 2
9242 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
9244 + return-void
9245 +.end method
9247 +.method public setSystemLogsSetting(B)V
9248 + .registers 2
9250 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
9252 + return-void
9253 +.end method
9255 +.method public setUid(I)V
9256 + .registers 2
9258 + iput p1, p0, Landroid/privacy/PrivacySettings;->uid:I
9260 + return-void
9261 +.end method
9263 +.method public toString()Ljava/lang/String;
9264 + .registers 3
9266 + new-instance v0, Ljava/lang/StringBuilder;
9268 + invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
9270 + const-string v1, "PrivacySettings [_id="
9272 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9274 + move-result-object v0
9276 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
9278 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
9280 + move-result-object v0
9282 + const-string v1, ", accountsAuthTokensSetting="
9284 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9286 + move-result-object v0
9288 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
9290 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9292 + move-result-object v0
9294 + const-string v1, ", accountsSetting="
9296 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9298 + move-result-object v0
9300 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
9302 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9304 + move-result-object v0
9306 + const-string v1, ", bookmarksSetting="
9308 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9310 + move-result-object v0
9312 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
9314 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9316 + move-result-object v0
9318 + const-string v1, ", calendarSetting="
9320 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9322 + move-result-object v0
9324 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
9326 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9328 + move-result-object v0
9330 + const-string v1, ", callLogSetting="
9332 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9334 + move-result-object v0
9336 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
9338 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9340 + move-result-object v0
9342 + const-string v1, ", contactsSetting="
9344 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9346 + move-result-object v0
9348 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
9350 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9352 + move-result-object v0
9354 + const-string v1, ", deviceId="
9356 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9358 + move-result-object v0
9360 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
9362 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9364 + move-result-object v0
9366 + const-string v1, ", deviceIdSetting="
9368 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9370 + move-result-object v0
9372 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
9374 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9376 + move-result-object v0
9378 + const-string v1, ", incomingCallsSetting="
9380 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9382 + move-result-object v0
9384 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
9386 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9388 + move-result-object v0
9390 + const-string v1, ", intentBootCompletedSetting="
9392 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9394 + move-result-object v0
9396 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
9398 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9400 + move-result-object v0
9402 + const-string v1, ", line1Number="
9404 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9406 + move-result-object v0
9408 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
9410 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9412 + move-result-object v0
9414 + const-string v1, ", line1NumberSetting="
9416 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9418 + move-result-object v0
9420 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
9422 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9424 + move-result-object v0
9426 + const-string v1, ", locationGpsLat="
9428 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9430 + move-result-object v0
9432 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
9434 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9436 + move-result-object v0
9438 + const-string v1, ", locationGpsLon="
9440 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9442 + move-result-object v0
9444 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
9446 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9448 + move-result-object v0
9450 + const-string v1, ", locationGpsSetting="
9452 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9454 + move-result-object v0
9456 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
9458 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9460 + move-result-object v0
9462 + const-string v1, ", locationNetworkLat="
9464 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9466 + move-result-object v0
9468 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
9470 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9472 + move-result-object v0
9474 + const-string v1, ", locationNetworkLon="
9476 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9478 + move-result-object v0
9480 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
9482 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9484 + move-result-object v0
9486 + const-string v1, ", locationNetworkSetting="
9488 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9490 + move-result-object v0
9492 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
9494 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9496 + move-result-object v0
9498 + const-string v1, ", mmsSetting="
9500 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9502 + move-result-object v0
9504 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
9506 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9508 + move-result-object v0
9510 + const-string v1, ", networkInfoSetting="
9512 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9514 + move-result-object v0
9516 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
9518 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9520 + move-result-object v0
9522 + const-string v1, ", notificationSetting="
9524 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9526 + move-result-object v0
9528 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
9530 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9532 + move-result-object v0
9534 + const-string v1, ", outgoingCallsSetting="
9536 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9538 + move-result-object v0
9540 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
9542 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9544 + move-result-object v0
9546 + const-string v1, ", packageName="
9548 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9550 + move-result-object v0
9552 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
9554 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9556 + move-result-object v0
9558 + const-string v1, ", simInfoSetting="
9560 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9562 + move-result-object v0
9564 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
9566 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9568 + move-result-object v0
9570 + const-string v1, ", simSerialNumber="
9572 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9574 + move-result-object v0
9576 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
9578 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9580 + move-result-object v0
9582 + const-string v1, ", simSerialNumberSetting="
9584 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9586 + move-result-object v0
9588 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
9590 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9592 + move-result-object v0
9594 + const-string v1, ", smsSetting="
9596 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9598 + move-result-object v0
9600 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
9602 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9604 + move-result-object v0
9606 + const-string v1, ", subscriberId="
9608 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9610 + move-result-object v0
9612 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
9614 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9616 + move-result-object v0
9618 + const-string v1, ", subscriberIdSetting="
9620 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9622 + move-result-object v0
9624 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
9626 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9628 + move-result-object v0
9630 + const-string v1, ", systemLogsSetting="
9632 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9634 + move-result-object v0
9636 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
9638 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9640 + move-result-object v0
9642 + const-string v1, ", uid="
9644 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9646 + move-result-object v0
9648 + iget v1, p0, Landroid/privacy/PrivacySettings;->uid:I
9650 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9652 + move-result-object v0
9654 + const-string v1, "]"
9656 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9658 + move-result-object v0
9660 + invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
9662 + move-result-object v0
9664 + return-object v0
9665 +.end method
9667 +.method public writeToParcel(Landroid/os/Parcel;I)V
9668 + .registers 4
9670 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
9672 + if-nez v0, :cond_a9
9674 + const/4 v0, -0x1
9676 + :goto_5
9677 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeInt(I)V
9679 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
9681 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9683 + iget v0, p0, Landroid/privacy/PrivacySettings;->uid:I
9685 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeInt(I)V
9687 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
9689 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9691 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
9693 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9695 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
9697 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9699 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
9701 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9703 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
9705 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9707 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
9709 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9711 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
9713 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9715 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
9717 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9719 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
9721 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9723 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
9725 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9727 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
9729 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9731 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
9733 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9735 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
9737 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9739 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
9741 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9743 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
9745 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9747 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
9749 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9751 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
9753 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9755 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
9757 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9759 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
9761 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9763 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
9765 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9767 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
9769 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9771 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
9773 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9775 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
9777 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9779 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
9781 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9783 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
9785 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9787 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
9789 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9791 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
9793 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9795 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
9797 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9799 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
9801 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9803 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
9805 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeIntArray([I)V
9807 + return-void
9809 + :cond_a9
9810 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
9812 + invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
9814 + move-result v0
9816 + goto/16 :goto_5
9817 +.end method
9818 diff -Npru -x '*RIL*' pdroid-framework/smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali stock-framework/smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali
9819 --- pdroid-framework/smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali 1969-12-31 18:00:00.000000000 -0600
9820 +++ stock-framework/smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali 2012-10-13 14:14:43.382155538 -0500
9821 @@ -0,0 +1,129 @@
9822 +.class Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
9823 +.super Ljava/lang/Object;
9824 +.source "PrivacyAccountManager.java"
9826 +# interfaces
9827 +.implements Landroid/accounts/AccountManagerFuture;
9830 +# annotations
9831 +.annotation system Ldalvik/annotation/EnclosingClass;
9832 + value = Landroid/privacy/surrogate/PrivacyAccountManager;
9833 +.end annotation
9835 +.annotation system Ldalvik/annotation/InnerClass;
9836 + accessFlags = 0x2
9837 + name = "PrivacyAccountManagerFuture"
9838 +.end annotation
9840 +.annotation system Ldalvik/annotation/Signature;
9841 + value = {
9842 + "<V:",
9843 + "Ljava/lang/Object;",
9844 + ">",
9845 + "Ljava/lang/Object;",
9846 + "Landroid/accounts/AccountManagerFuture",
9847 + "<TV;>;"
9849 +.end annotation
9852 +# instance fields
9853 +.field private result:Ljava/lang/Object;
9854 + .annotation system Ldalvik/annotation/Signature;
9855 + value = {
9856 + "TV;"
9858 + .end annotation
9859 +.end field
9861 +.field final synthetic this$0:Landroid/privacy/surrogate/PrivacyAccountManager;
9864 +# direct methods
9865 +.method public constructor <init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
9866 + .registers 3
9867 + .annotation system Ldalvik/annotation/Signature;
9868 + value = {
9869 + "(TV;)V"
9871 + .end annotation
9873 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->this$0:Landroid/privacy/surrogate/PrivacyAccountManager;
9875 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
9877 + iput-object p2, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->result:Ljava/lang/Object;
9879 + return-void
9880 +.end method
9883 +# virtual methods
9884 +.method public cancel(Z)Z
9885 + .registers 3
9887 + const/4 v0, 0x0
9889 + return v0
9890 +.end method
9892 +.method public getResult()Ljava/lang/Object;
9893 + .registers 2
9894 + .annotation system Ldalvik/annotation/Signature;
9895 + value = {
9896 + "()TV;"
9898 + .end annotation
9900 + .annotation system Ldalvik/annotation/Throws;
9901 + value = {
9902 + Landroid/accounts/OperationCanceledException;,
9903 + Ljava/io/IOException;,
9904 + Landroid/accounts/AuthenticatorException;
9906 + .end annotation
9908 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->result:Ljava/lang/Object;
9910 + return-object v0
9911 +.end method
9913 +.method public getResult(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;
9914 + .registers 5
9915 + .annotation system Ldalvik/annotation/Signature;
9916 + value = {
9917 + "(J",
9918 + "Ljava/util/concurrent/TimeUnit;",
9919 + ")TV;"
9921 + .end annotation
9923 + .annotation system Ldalvik/annotation/Throws;
9924 + value = {
9925 + Landroid/accounts/OperationCanceledException;,
9926 + Ljava/io/IOException;,
9927 + Landroid/accounts/AuthenticatorException;
9929 + .end annotation
9931 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->result:Ljava/lang/Object;
9933 + return-object v0
9934 +.end method
9936 +.method public isCancelled()Z
9937 + .registers 2
9939 + const/4 v0, 0x0
9941 + return v0
9942 +.end method
9944 +.method public isDone()Z
9945 + .registers 2
9947 + const/4 v0, 0x1
9949 + return v0
9950 +.end method
9951 diff -Npru -x '*RIL*' pdroid-framework/smali/android/privacy/surrogate/PrivacyAccountManager.smali stock-framework/smali/android/privacy/surrogate/PrivacyAccountManager.smali
9952 --- pdroid-framework/smali/android/privacy/surrogate/PrivacyAccountManager.smali 1969-12-31 18:00:00.000000000 -0600
9953 +++ stock-framework/smali/android/privacy/surrogate/PrivacyAccountManager.smali 2012-10-13 14:14:43.386155553 -0500
9954 @@ -0,0 +1,701 @@
9955 +.class public final Landroid/privacy/surrogate/PrivacyAccountManager;
9956 +.super Landroid/accounts/AccountManager;
9957 +.source "PrivacyAccountManager.java"
9960 +# annotations
9961 +.annotation system Ldalvik/annotation/MemberClasses;
9962 + value = {
9963 + Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
9965 +.end annotation
9968 +# static fields
9969 +.field private static final TAG:Ljava/lang/String; = "PrivacyAccountManager"
9972 +# instance fields
9973 +.field private context:Landroid/content/Context;
9975 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
9978 +# direct methods
9979 +.method public constructor <init>(Landroid/content/Context;Landroid/accounts/IAccountManager;)V
9980 + .registers 5
9982 + invoke-direct {p0, p1, p2}, Landroid/accounts/AccountManager;-><init>(Landroid/content/Context;Landroid/accounts/IAccountManager;)V
9984 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
9986 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
9988 + const-string/jumbo v1, "privacy"
9990 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
9992 + move-result-object v1
9994 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
9996 + move-result-object v1
9998 + invoke-direct {v0, p1, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
10000 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10002 + return-void
10003 +.end method
10005 +.method public constructor <init>(Landroid/content/Context;Landroid/accounts/IAccountManager;Landroid/os/Handler;)V
10006 + .registers 6
10008 + invoke-direct {p0, p1, p2, p3}, Landroid/accounts/AccountManager;-><init>(Landroid/content/Context;Landroid/accounts/IAccountManager;Landroid/os/Handler;)V
10010 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10012 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
10014 + const-string/jumbo v1, "privacy"
10016 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
10018 + move-result-object v1
10020 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
10022 + move-result-object v1
10024 + invoke-direct {v0, p1, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
10026 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10028 + return-void
10029 +.end method
10032 +# virtual methods
10033 +.method public blockingGetAuthToken(Landroid/accounts/Account;Ljava/lang/String;Z)Ljava/lang/String;
10034 + .registers 12
10035 + .annotation system Ldalvik/annotation/Throws;
10036 + value = {
10037 + Landroid/accounts/OperationCanceledException;,
10038 + Ljava/io/IOException;,
10039 + Landroid/accounts/AuthenticatorException;
10041 + .end annotation
10043 + const/4 v5, 0x0
10045 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10047 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10049 + move-result-object v1
10051 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10053 + move-result v2
10055 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10057 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10059 + move-result-object v6
10061 + if-eqz v6, :cond_23
10063 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
10065 + move-result v0
10067 + if-eqz v0, :cond_23
10069 + const/4 v7, 0x0
10071 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10073 + const/4 v3, 0x1
10075 + const-string v4, "authTokens"
10077 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10079 + :goto_22
10080 + return-object v7
10082 + :cond_23
10083 + invoke-super {p0, p1, p2, p3}, Landroid/accounts/AccountManager;->blockingGetAuthToken(Landroid/accounts/Account;Ljava/lang/String;Z)Ljava/lang/String;
10085 + move-result-object v7
10087 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10089 + const/4 v3, 0x0
10091 + const-string v4, "authTokens"
10093 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10095 + goto :goto_22
10096 +.end method
10098 +.method public getAccounts()[Landroid/accounts/Account;
10099 + .registers 10
10101 + const/4 v5, 0x0
10103 + const/4 v3, 0x0
10105 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10107 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10109 + move-result-object v1
10111 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10113 + move-result v2
10115 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10117 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10119 + move-result-object v6
10121 + if-eqz v6, :cond_27
10123 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
10125 + move-result v0
10127 + if-eqz v0, :cond_27
10129 + const-string v8, "[empty accounts list]"
10131 + new-array v7, v3, [Landroid/accounts/Account;
10133 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10135 + const/4 v3, 0x1
10137 + const-string v4, "accountsList"
10139 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10141 + :goto_26
10142 + return-object v7
10144 + :cond_27
10145 + const-string v8, "[real value]"
10147 + invoke-super {p0}, Landroid/accounts/AccountManager;->getAccounts()[Landroid/accounts/Account;
10149 + move-result-object v7
10151 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10153 + const-string v4, "accountsList"
10155 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10157 + goto :goto_26
10158 +.end method
10160 +.method public getAccountsByType(Ljava/lang/String;)[Landroid/accounts/Account;
10161 + .registers 11
10163 + const/4 v5, 0x0
10165 + const/4 v3, 0x0
10167 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10169 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10171 + move-result-object v1
10173 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10175 + move-result v2
10177 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10179 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10181 + move-result-object v6
10183 + if-eqz v6, :cond_27
10185 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
10187 + move-result v0
10189 + if-eqz v0, :cond_27
10191 + const-string v8, "[empty accounts list]"
10193 + new-array v7, v3, [Landroid/accounts/Account;
10195 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10197 + const/4 v3, 0x1
10199 + const-string v4, "accountsList"
10201 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10203 + :goto_26
10204 + return-object v7
10206 + :cond_27
10207 + const-string v8, "[real value]"
10209 + invoke-super {p0, p1}, Landroid/accounts/AccountManager;->getAccountsByType(Ljava/lang/String;)[Landroid/accounts/Account;
10211 + move-result-object v7
10213 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10215 + const-string v4, "accountsList"
10217 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10219 + goto :goto_26
10220 +.end method
10222 +.method public getAccountsByTypeAndFeatures(Ljava/lang/String;[Ljava/lang/String;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
10223 + .registers 14
10224 + .annotation system Ldalvik/annotation/Signature;
10225 + value = {
10226 + "(",
10227 + "Ljava/lang/String;",
10228 + "[",
10229 + "Ljava/lang/String;",
10230 + "Landroid/accounts/AccountManagerCallback",
10231 + "<[",
10232 + "Landroid/accounts/Account;",
10233 + ">;",
10234 + "Landroid/os/Handler;",
10235 + ")",
10236 + "Landroid/accounts/AccountManagerFuture",
10237 + "<[",
10238 + "Landroid/accounts/Account;",
10239 + ">;"
10241 + .end annotation
10243 + const/4 v5, 0x0
10245 + const/4 v3, 0x0
10247 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10249 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10251 + move-result-object v1
10253 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10255 + move-result v2
10257 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10259 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10261 + move-result-object v6
10263 + if-eqz v6, :cond_2c
10265 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
10267 + move-result v0
10269 + if-eqz v0, :cond_2c
10271 + const-string v8, "[false]"
10273 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10275 + new-array v0, v3, [Landroid/accounts/Account;
10277 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
10279 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10281 + const/4 v3, 0x1
10283 + const-string v4, "accountsList"
10285 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10287 + :goto_2b
10288 + return-object v7
10290 + :cond_2c
10291 + const-string v8, "[real value]"
10293 + 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;
10295 + move-result-object v7
10297 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10299 + const-string v4, "accountsList"
10301 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10303 + goto :goto_2b
10304 +.end method
10306 +.method public getAuthToken(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;Landroid/app/Activity;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
10307 + .registers 16
10308 + .annotation system Ldalvik/annotation/Signature;
10309 + value = {
10310 + "(",
10311 + "Landroid/accounts/Account;",
10312 + "Ljava/lang/String;",
10313 + "Landroid/os/Bundle;",
10314 + "Landroid/app/Activity;",
10315 + "Landroid/accounts/AccountManagerCallback",
10316 + "<",
10317 + "Landroid/os/Bundle;",
10318 + ">;",
10319 + "Landroid/os/Handler;",
10320 + ")",
10321 + "Landroid/accounts/AccountManagerFuture",
10322 + "<",
10323 + "Landroid/os/Bundle;",
10324 + ">;"
10326 + .end annotation
10328 + const/4 v5, 0x0
10330 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10332 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10334 + move-result-object v1
10336 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10338 + move-result v2
10340 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10342 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10344 + move-result-object v6
10346 + if-eqz v6, :cond_2e
10348 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
10350 + move-result v0
10352 + if-eqz v0, :cond_2e
10354 + const-string v8, "[empty]"
10356 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10358 + new-instance v0, Landroid/os/Bundle;
10360 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
10362 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
10364 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10366 + const/4 v3, 0x1
10368 + const-string v4, "authTokens"
10370 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10372 + :goto_2d
10373 + return-object v7
10375 + :cond_2e
10376 + const-string v8, "[real value]"
10378 + 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;
10380 + move-result-object v7
10382 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10384 + const/4 v3, 0x0
10386 + const-string v4, "authTokens"
10388 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10390 + goto :goto_2d
10391 +.end method
10393 +.method public getAuthToken(Landroid/accounts/Account;Ljava/lang/String;ZLandroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
10394 + .registers 15
10395 + .annotation system Ldalvik/annotation/Signature;
10396 + value = {
10397 + "(",
10398 + "Landroid/accounts/Account;",
10399 + "Ljava/lang/String;",
10400 + "Z",
10401 + "Landroid/accounts/AccountManagerCallback",
10402 + "<",
10403 + "Landroid/os/Bundle;",
10404 + ">;",
10405 + "Landroid/os/Handler;",
10406 + ")",
10407 + "Landroid/accounts/AccountManagerFuture",
10408 + "<",
10409 + "Landroid/os/Bundle;",
10410 + ">;"
10412 + .end annotation
10414 + const/4 v5, 0x0
10416 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10418 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10420 + move-result-object v1
10422 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10424 + move-result v2
10426 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10428 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10430 + move-result-object v6
10432 + if-eqz v6, :cond_2e
10434 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
10436 + move-result v0
10438 + if-eqz v0, :cond_2e
10440 + const-string v8, "[empty]"
10442 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10444 + new-instance v0, Landroid/os/Bundle;
10446 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
10448 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
10450 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10452 + const/4 v3, 0x1
10454 + const-string v4, "authTokens"
10456 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10458 + :goto_2d
10459 + return-object v7
10461 + :cond_2e
10462 + const-string v8, "[real value]"
10464 + invoke-super/range {p0 .. p5}, Landroid/accounts/AccountManager;->getAuthToken(Landroid/accounts/Account;Ljava/lang/String;ZLandroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
10466 + move-result-object v7
10468 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10470 + const/4 v3, 0x0
10472 + const-string v4, "authTokens"
10474 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10476 + goto :goto_2d
10477 +.end method
10479 +.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;
10480 + .registers 18
10481 + .annotation system Ldalvik/annotation/Signature;
10482 + value = {
10483 + "(",
10484 + "Ljava/lang/String;",
10485 + "Ljava/lang/String;",
10486 + "[",
10487 + "Ljava/lang/String;",
10488 + "Landroid/app/Activity;",
10489 + "Landroid/os/Bundle;",
10490 + "Landroid/os/Bundle;",
10491 + "Landroid/accounts/AccountManagerCallback",
10492 + "<",
10493 + "Landroid/os/Bundle;",
10494 + ">;",
10495 + "Landroid/os/Handler;",
10496 + ")",
10497 + "Landroid/accounts/AccountManagerFuture",
10498 + "<",
10499 + "Landroid/os/Bundle;",
10500 + ">;"
10502 + .end annotation
10504 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10506 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10508 + move-result-object v1
10510 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10512 + move-result v2
10514 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10516 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10518 + move-result-object v6
10520 + if-eqz v6, :cond_2e
10522 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
10524 + move-result v0
10526 + if-eqz v0, :cond_2e
10528 + const-string v8, "[empty]"
10530 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10532 + new-instance v0, Landroid/os/Bundle;
10534 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
10536 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
10538 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10540 + const/4 v3, 0x1
10542 + const-string v4, "authTokens"
10544 + const/4 v5, 0x0
10546 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10548 + :goto_2d
10549 + return-object v7
10551 + :cond_2e
10552 + const-string v8, "[real value]"
10554 + 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;
10556 + move-result-object v7
10558 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10560 + const/4 v3, 0x0
10562 + const-string v4, "authTokens"
10564 + const/4 v5, 0x0
10566 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10568 + goto :goto_2d
10569 +.end method
10571 +.method public hasFeatures(Landroid/accounts/Account;[Ljava/lang/String;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
10572 + .registers 14
10573 + .annotation system Ldalvik/annotation/Signature;
10574 + value = {
10575 + "(",
10576 + "Landroid/accounts/Account;",
10577 + "[",
10578 + "Ljava/lang/String;",
10579 + "Landroid/accounts/AccountManagerCallback",
10580 + "<",
10581 + "Ljava/lang/Boolean;",
10582 + ">;",
10583 + "Landroid/os/Handler;",
10584 + ")",
10585 + "Landroid/accounts/AccountManagerFuture",
10586 + "<",
10587 + "Ljava/lang/Boolean;",
10588 + ">;"
10590 + .end annotation
10592 + const/4 v5, 0x0
10594 + const/4 v3, 0x0
10596 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10598 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10600 + move-result-object v1
10602 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10604 + move-result v2
10606 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10608 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10610 + move-result-object v6
10612 + if-eqz v6, :cond_2e
10614 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
10616 + move-result v0
10618 + if-eqz v0, :cond_2e
10620 + const-string v8, "[false]"
10622 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10624 + invoke-static {v3}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
10626 + move-result-object v0
10628 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
10630 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10632 + const/4 v3, 0x1
10634 + const-string v4, "accountsList"
10636 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10638 + :goto_2d
10639 + return-object v7
10641 + :cond_2e
10642 + const-string v8, "[real value]"
10644 + 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;
10646 + move-result-object v7
10648 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10650 + const-string v4, "accountsList"
10652 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10654 + goto :goto_2d
10655 +.end method
10656 diff -Npru -x '*RIL*' pdroid-framework/smali/android/privacy/surrogate/PrivacyActivityManagerService.smali stock-framework/smali/android/privacy/surrogate/PrivacyActivityManagerService.smali
10657 --- pdroid-framework/smali/android/privacy/surrogate/PrivacyActivityManagerService.smali 1969-12-31 18:00:00.000000000 -0600
10658 +++ stock-framework/smali/android/privacy/surrogate/PrivacyActivityManagerService.smali 2012-10-13 14:14:43.386155553 -0500
10659 @@ -0,0 +1,1087 @@
10660 +.class public final Landroid/privacy/surrogate/PrivacyActivityManagerService;
10661 +.super Ljava/lang/Object;
10662 +.source "PrivacyActivityManagerService.java"
10665 +# static fields
10666 +.field private static final TAG:Ljava/lang/String; = "PrivacyActivityManagerService"
10668 +.field private static pSetMan:Landroid/privacy/PrivacySettingsManager;
10670 +.field private static tmpIn:Landroid/content/Intent;
10672 +.field private static tmpInHash:J
10674 +.field private static tmpInReceivers:I
10676 +.field private static tmpMms:Landroid/content/Intent;
10678 +.field private static tmpMmsHash:J
10680 +.field private static tmpMmsReceivers:I
10682 +.field private static tmpOut:Landroid/content/Intent;
10684 +.field private static tmpOutHash:J
10686 +.field private static tmpOutReceivers:I
10688 +.field private static tmpPackageAddedHash:J
10690 +.field private static tmpSms:Landroid/content/Intent;
10692 +.field private static tmpSmsHash:J
10694 +.field private static tmpSmsReceivers:I
10697 +# direct methods
10698 +.method static constructor <clinit>()V
10699 + .registers 3
10701 + const/4 v2, 0x0
10703 + const-wide/16 v0, 0x0
10705 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInHash:J
10707 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
10709 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutHash:J
10711 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
10713 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsHash:J
10715 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
10717 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsHash:J
10719 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
10721 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpPackageAddedHash:J
10723 + return-void
10724 +.end method
10726 +.method public constructor <init>()V
10727 + .registers 1
10729 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
10731 + return-void
10732 +.end method
10734 +.method public static enforcePrivacyPermission(Ljava/lang/String;ILandroid/content/Intent;Landroid/content/Context;I)V
10735 + .registers 22
10737 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10739 + if-nez v2, :cond_11
10741 + const-string/jumbo v2, "privacy"
10743 + move-object/from16 v0, p3
10745 + invoke-virtual {v0, v2}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
10747 + move-result-object v2
10749 + check-cast v2, Landroid/privacy/PrivacySettingsManager;
10751 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10753 + :cond_11
10754 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->getAction()Ljava/lang/String;
10756 + move-result-object v9
10758 + const-string v2, "android.intent.action.NEW_OUTGOING_CALL"
10760 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
10762 + move-result v2
10764 + if-eqz v2, :cond_ad
10766 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10768 + move-object/from16 v0, p0
10770 + move/from16 v1, p1
10772 + invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10774 + move-result-object v8
10776 + const-string v2, "android.intent.extra.PHONE_NUMBER"
10778 + move-object/from16 v0, p2
10780 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
10782 + move-result-object v16
10784 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutHash:J
10786 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
10788 + move-result-wide v4
10790 + cmp-long v2, v2, v4
10792 + if-eqz v2, :cond_49
10794 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->clone()Ljava/lang/Object;
10796 + move-result-object v2
10798 + check-cast v2, Landroid/content/Intent;
10800 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOut:Landroid/content/Intent;
10802 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
10804 + move-result-wide v2
10806 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutHash:J
10808 + sput p4, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
10810 + :cond_49
10811 + if-eqz v8, :cond_76
10813 + :try_start_4b
10814 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getOutgoingCallsSetting()B
10816 + move-result v2
10818 + if-eqz v2, :cond_76
10820 + const-string v16, ""
10822 + const-string v2, "android.intent.extra.PHONE_NUMBER"
10824 + move-object/from16 v0, p2
10826 + move-object/from16 v1, v16
10828 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
10830 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10832 + const/4 v5, 0x1
10834 + const-string/jumbo v6, "outgoingCall"
10836 + const/4 v7, 0x0
10838 + move-object/from16 v3, p0
10840 + move/from16 v4, p1
10842 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10843 + :try_end_6a
10844 + .catch Ljava/lang/Exception; {:try_start_4b .. :try_end_6a} :catch_a0
10846 + :cond_6a
10847 + :goto_6a
10848 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
10850 + const/4 v3, 0x1
10852 + if-le v2, v3, :cond_a9
10854 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
10856 + add-int/lit8 v2, v2, -0x1
10858 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
10860 + :cond_75
10861 + :goto_75
10862 + return-void
10864 + :cond_76
10865 + :try_start_76
10866 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutHash:J
10868 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
10870 + move-result-wide v4
10872 + cmp-long v2, v2, v4
10874 + if-nez v2, :cond_6a
10876 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOut:Landroid/content/Intent;
10878 + const-string v3, "android.intent.extra.PHONE_NUMBER"
10880 + invoke-virtual {v2, v3}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
10882 + move-result-object v16
10884 + const-string v2, "android.intent.extra.PHONE_NUMBER"
10886 + move-object/from16 v0, p2
10888 + move-object/from16 v1, v16
10890 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
10892 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10894 + const/4 v5, 0x0
10896 + const-string/jumbo v6, "outgoingCall"
10898 + const/4 v7, 0x0
10900 + move-object/from16 v3, p0
10902 + move/from16 v4, p1
10904 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10905 + :try_end_9f
10906 + .catch Ljava/lang/Exception; {:try_start_76 .. :try_end_9f} :catch_a0
10908 + goto :goto_6a
10910 + :catch_a0
10911 + move-exception v13
10913 + const-string v2, "PrivacyActivityManagerService"
10915 + const-string v3, "failed to enforce intent broadcast permission"
10917 + invoke-static {v2, v3, v13}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
10919 + goto :goto_6a
10921 + :cond_a9
10922 + const/4 v2, 0x0
10924 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOut:Landroid/content/Intent;
10926 + goto :goto_75
10928 + :cond_ad
10929 + const-string v2, "android.intent.action.PHONE_STATE"
10931 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
10933 + move-result v2
10935 + if-eqz v2, :cond_14d
10937 + const-string v2, "incoming_number"
10939 + move-object/from16 v0, p2
10941 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
10943 + move-result-object v16
10945 + if-eqz v16, :cond_75
10947 + invoke-virtual/range {v16 .. v16}, Ljava/lang/String;->isEmpty()Z
10949 + move-result v2
10951 + if-nez v2, :cond_75
10953 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10955 + move-object/from16 v0, p0
10957 + move/from16 v1, p1
10959 + invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10961 + move-result-object v8
10963 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInHash:J
10965 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
10967 + move-result-wide v4
10969 + cmp-long v2, v2, v4
10971 + if-eqz v2, :cond_e9
10973 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->clone()Ljava/lang/Object;
10975 + move-result-object v2
10977 + check-cast v2, Landroid/content/Intent;
10979 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpIn:Landroid/content/Intent;
10981 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
10983 + move-result-wide v2
10985 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInHash:J
10987 + sput p4, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
10989 + :cond_e9
10990 + if-eqz v8, :cond_116
10992 + :try_start_eb
10993 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getIncomingCallsSetting()B
10995 + move-result v2
10997 + if-eqz v2, :cond_116
10999 + const-string v16, ""
11001 + const-string v2, "incoming_number"
11003 + move-object/from16 v0, p2
11005 + move-object/from16 v1, v16
11007 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
11009 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11011 + const/4 v5, 0x1
11013 + const-string v6, "incomingCall"
11015 + const/4 v7, 0x0
11017 + move-object/from16 v3, p0
11019 + move/from16 v4, p1
11021 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11022 + :try_end_109
11023 + .catch Ljava/lang/Exception; {:try_start_eb .. :try_end_109} :catch_13f
11025 + :cond_109
11026 + :goto_109
11027 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
11029 + const/4 v3, 0x1
11031 + if-le v2, v3, :cond_148
11033 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
11035 + add-int/lit8 v2, v2, -0x1
11037 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
11039 + goto/16 :goto_75
11041 + :cond_116
11042 + :try_start_116
11043 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInHash:J
11045 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11047 + move-result-wide v4
11049 + cmp-long v2, v2, v4
11051 + if-nez v2, :cond_109
11053 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpIn:Landroid/content/Intent;
11055 + const-string v3, "incoming_number"
11057 + invoke-virtual {v2, v3}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
11059 + move-result-object v16
11061 + const-string v2, "incoming_number"
11063 + move-object/from16 v0, p2
11065 + move-object/from16 v1, v16
11067 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
11069 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11071 + const/4 v5, 0x0
11073 + const-string v6, "incomingCall"
11075 + const/4 v7, 0x0
11077 + move-object/from16 v3, p0
11079 + move/from16 v4, p1
11081 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11082 + :try_end_13e
11083 + .catch Ljava/lang/Exception; {:try_start_116 .. :try_end_13e} :catch_13f
11085 + goto :goto_109
11087 + :catch_13f
11088 + move-exception v13
11090 + const-string v2, "PrivacyActivityManagerService"
11092 + const-string v3, "failed to enforce intent broadcast permission"
11094 + invoke-static {v2, v3, v13}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
11096 + goto :goto_109
11098 + :cond_148
11099 + const/4 v2, 0x0
11101 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpIn:Landroid/content/Intent;
11103 + goto/16 :goto_75
11105 + :cond_14d
11106 + const-string v2, "android.provider.Telephony.SMS_RECEIVED"
11108 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11110 + move-result v2
11112 + if-eqz v2, :cond_222
11114 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11116 + move-object/from16 v0, p0
11118 + move/from16 v1, p1
11120 + invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
11122 + move-result-object v8
11124 + const-string v16, "[real]"
11126 + const-string/jumbo v2, "pdus"
11128 + move-object/from16 v0, p2
11130 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
11132 + move-result-object v2
11134 + check-cast v2, [Ljava/lang/Object;
11136 + move-object v15, v2
11138 + check-cast v15, [Ljava/lang/Object;
11140 + if-eqz v15, :cond_1cd
11142 + const/4 v2, 0x0
11144 + aget-object v2, v15, v2
11146 + check-cast v2, [B
11148 + check-cast v2, [B
11150 + move-object v12, v2
11152 + :goto_179
11153 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsHash:J
11155 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11157 + move-result-wide v4
11159 + cmp-long v2, v2, v4
11161 + if-eqz v2, :cond_193
11163 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->clone()Ljava/lang/Object;
11165 + move-result-object v2
11167 + check-cast v2, Landroid/content/Intent;
11169 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSms:Landroid/content/Intent;
11171 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11173 + move-result-wide v2
11175 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsHash:J
11177 + sput p4, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
11179 + :cond_193
11180 + if-eqz v8, :cond_1cf
11182 + :try_start_195
11183 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getSmsSetting()B
11185 + move-result v2
11187 + if-eqz v2, :cond_1cf
11189 + const-string v16, "[empty]"
11191 + const/4 v2, 0x1
11193 + new-array v14, v2, [Ljava/lang/Object;
11195 + const/4 v2, 0x0
11197 + const/16 v3, 0x10
11199 + new-array v3, v3, [B
11201 + fill-array-data v3, :array_350
11203 + aput-object v3, v14, v2
11205 + const-string/jumbo v2, "pdus"
11207 + move-object/from16 v0, p2
11209 + invoke-virtual {v0, v2, v14}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent;
11211 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11213 + const/4 v5, 0x1
11215 + const-string/jumbo v6, "sms"
11217 + const/4 v7, 0x0
11219 + move-object/from16 v3, p0
11221 + move/from16 v4, p1
11223 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11224 + :try_end_1c0
11225 + .catch Ljava/lang/Exception; {:try_start_195 .. :try_end_1c0} :catch_212
11227 + :cond_1c0
11228 + :goto_1c0
11229 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
11231 + const/4 v3, 0x1
11233 + if-le v2, v3, :cond_21d
11235 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
11237 + add-int/lit8 v2, v2, -0x1
11239 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
11241 + goto/16 :goto_75
11243 + :cond_1cd
11244 + const/4 v12, 0x0
11246 + goto :goto_179
11248 + :cond_1cf
11249 + :try_start_1cf
11250 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsHash:J
11252 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11254 + move-result-wide v4
11256 + cmp-long v2, v2, v4
11258 + if-nez v2, :cond_1c0
11260 + const-string/jumbo v2, "pdus"
11262 + sget-object v3, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSms:Landroid/content/Intent;
11264 + const-string/jumbo v4, "pdus"
11266 + invoke-virtual {v3, v4}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
11268 + move-result-object v3
11270 + move-object/from16 v0, p2
11272 + invoke-virtual {v0, v2, v3}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent;
11274 + const-string/jumbo v2, "pdus"
11276 + move-object/from16 v0, p2
11278 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
11280 + move-result-object v2
11282 + check-cast v2, [Ljava/lang/Object;
11284 + move-object v0, v2
11286 + check-cast v0, [Ljava/lang/Object;
11288 + move-object v15, v0
11290 + if-eqz v15, :cond_21b
11292 + const/4 v2, 0x0
11294 + aget-object v2, v15, v2
11296 + check-cast v2, [B
11298 + check-cast v2, [B
11300 + move-object v12, v2
11302 + :goto_203
11303 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11305 + const/4 v5, 0x0
11307 + const-string/jumbo v6, "sms"
11309 + const/4 v7, 0x0
11311 + move-object/from16 v3, p0
11313 + move/from16 v4, p1
11315 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11316 + :try_end_211
11317 + .catch Ljava/lang/Exception; {:try_start_1cf .. :try_end_211} :catch_212
11319 + goto :goto_1c0
11321 + :catch_212
11322 + move-exception v13
11324 + const-string v2, "PrivacyActivityManagerService"
11326 + const-string v3, "failed to enforce intent broadcast permission"
11328 + invoke-static {v2, v3, v13}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
11330 + goto :goto_1c0
11332 + :cond_21b
11333 + const/4 v12, 0x0
11335 + goto :goto_203
11337 + :cond_21d
11338 + const/4 v2, 0x0
11340 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSms:Landroid/content/Intent;
11342 + goto/16 :goto_75
11344 + :cond_222
11345 + const-string v2, "android.provider.Telephony.WAP_PUSH_RECEIVED"
11347 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11349 + move-result v2
11351 + if-nez v2, :cond_232
11353 + const-string v2, "android.intent.action.DATA_SMS_RECEIVED"
11355 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11357 + move-result v2
11359 + if-eqz v2, :cond_2ff
11361 + :cond_232
11362 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11364 + move-object/from16 v0, p0
11366 + move/from16 v1, p1
11368 + invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
11370 + move-result-object v8
11372 + const-string v16, "[real]"
11374 + const-string/jumbo v2, "pdus"
11376 + move-object/from16 v0, p2
11378 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
11380 + move-result-object v2
11382 + check-cast v2, [Ljava/lang/Object;
11384 + move-object v15, v2
11386 + check-cast v15, [Ljava/lang/Object;
11388 + if-eqz v15, :cond_2aa
11390 + const/4 v2, 0x0
11392 + aget-object v2, v15, v2
11394 + check-cast v2, [B
11396 + check-cast v2, [B
11398 + move-object v12, v2
11400 + :goto_256
11401 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsHash:J
11403 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11405 + move-result-wide v4
11407 + cmp-long v2, v2, v4
11409 + if-eqz v2, :cond_270
11411 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->clone()Ljava/lang/Object;
11413 + move-result-object v2
11415 + check-cast v2, Landroid/content/Intent;
11417 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMms:Landroid/content/Intent;
11419 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11421 + move-result-wide v2
11423 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsHash:J
11425 + sput p4, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
11427 + :cond_270
11428 + if-eqz v8, :cond_2ac
11430 + :try_start_272
11431 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getMmsSetting()B
11433 + move-result v2
11435 + if-eqz v2, :cond_2ac
11437 + const-string v16, "[empty]"
11439 + const/4 v2, 0x1
11441 + new-array v14, v2, [Ljava/lang/Object;
11443 + const/4 v2, 0x0
11445 + const/16 v3, 0x10
11447 + new-array v3, v3, [B
11449 + fill-array-data v3, :array_35c
11451 + aput-object v3, v14, v2
11453 + const-string/jumbo v2, "pdus"
11455 + move-object/from16 v0, p2
11457 + invoke-virtual {v0, v2, v14}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent;
11459 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11461 + const/4 v5, 0x1
11463 + const-string/jumbo v6, "mms"
11465 + const/4 v7, 0x0
11467 + move-object/from16 v3, p0
11469 + move/from16 v4, p1
11471 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11472 + :try_end_29d
11473 + .catch Ljava/lang/Exception; {:try_start_272 .. :try_end_29d} :catch_2ef
11475 + :cond_29d
11476 + :goto_29d
11477 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
11479 + const/4 v3, 0x1
11481 + if-le v2, v3, :cond_2fa
11483 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
11485 + add-int/lit8 v2, v2, -0x1
11487 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
11489 + goto/16 :goto_75
11491 + :cond_2aa
11492 + const/4 v12, 0x0
11494 + goto :goto_256
11496 + :cond_2ac
11497 + :try_start_2ac
11498 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsHash:J
11500 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11502 + move-result-wide v4
11504 + cmp-long v2, v2, v4
11506 + if-nez v2, :cond_29d
11508 + const-string/jumbo v2, "pdus"
11510 + sget-object v3, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMms:Landroid/content/Intent;
11512 + const-string/jumbo v4, "pdus"
11514 + invoke-virtual {v3, v4}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
11516 + move-result-object v3
11518 + move-object/from16 v0, p2
11520 + invoke-virtual {v0, v2, v3}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent;
11522 + const-string/jumbo v2, "pdus"
11524 + move-object/from16 v0, p2
11526 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
11528 + move-result-object v2
11530 + check-cast v2, [Ljava/lang/Object;
11532 + move-object v0, v2
11534 + check-cast v0, [Ljava/lang/Object;
11536 + move-object v15, v0
11538 + if-eqz v15, :cond_2f8
11540 + const/4 v2, 0x0
11542 + aget-object v2, v15, v2
11544 + check-cast v2, [B
11546 + check-cast v2, [B
11548 + move-object v12, v2
11550 + :goto_2e0
11551 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11553 + const/4 v5, 0x0
11555 + const-string/jumbo v6, "mms"
11557 + const/4 v7, 0x0
11559 + move-object/from16 v3, p0
11561 + move/from16 v4, p1
11563 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11564 + :try_end_2ee
11565 + .catch Ljava/lang/Exception; {:try_start_2ac .. :try_end_2ee} :catch_2ef
11567 + goto :goto_29d
11569 + :catch_2ef
11570 + move-exception v13
11572 + const-string v2, "PrivacyActivityManagerService"
11574 + const-string v3, "failed to enforce intent broadcast permission"
11576 + invoke-static {v2, v3, v13}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
11578 + goto :goto_29d
11580 + :cond_2f8
11581 + const/4 v12, 0x0
11583 + goto :goto_2e0
11585 + :cond_2fa
11586 + const/4 v2, 0x0
11588 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMms:Landroid/content/Intent;
11590 + goto/16 :goto_75
11592 + :cond_2ff
11593 + const-string v2, "android.intent.action.BOOT_COMPLETED"
11595 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11597 + move-result v2
11599 + if-eqz v2, :cond_30e
11601 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11603 + invoke-virtual {v2}, Landroid/privacy/PrivacySettingsManager;->setBootCompleted()V
11605 + goto/16 :goto_75
11607 + :cond_30e
11608 + const-string v2, "android.intent.action.PACKAGE_ADDED"
11610 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11612 + move-result v2
11614 + if-eqz v2, :cond_75
11616 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpPackageAddedHash:J
11618 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11620 + move-result-wide v4
11622 + cmp-long v2, v2, v4
11624 + if-eqz v2, :cond_75
11626 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11628 + move-result-wide v2
11630 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpPackageAddedHash:J
11632 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->getData()Landroid/net/Uri;
11634 + move-result-object v2
11636 + invoke-virtual {v2}, Landroid/net/Uri;->getSchemeSpecificPart()Ljava/lang/String;
11638 + move-result-object v10
11640 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->getExtras()Landroid/os/Bundle;
11642 + move-result-object v2
11644 + const-string v3, "android.intent.extra.UID"
11646 + invoke-virtual {v2, v3}, Landroid/os/Bundle;->getInt(Ljava/lang/String;)I
11648 + move-result v11
11650 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11652 + invoke-virtual {v2, v10, v11}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
11654 + move-result-object v8
11656 + if-eqz v8, :cond_75
11658 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getUid()I
11660 + move-result v2
11662 + if-eq v2, v11, :cond_75
11664 + invoke-virtual {v8, v11}, Landroid/privacy/PrivacySettings;->setUid(I)V
11666 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11668 + invoke-virtual {v2, v8}, Landroid/privacy/PrivacySettingsManager;->saveSettings(Landroid/privacy/PrivacySettings;)Z
11670 + goto/16 :goto_75
11672 + :array_350
11673 + .array-data 0x1
11674 + 0x0t
11675 + 0x20t
11676 + 0x1t
11677 + 0x81t
11678 + 0xf0t
11679 + 0x0t
11680 + 0x0t
11681 + 0x11t
11682 + 0x90t
11683 + 0x1t
11684 + 0x30t
11685 + 0x22t
11686 + 0x22t
11687 + 0x80t
11688 + 0x1t
11689 + 0x20t
11690 + .end array-data
11692 + :array_35c
11693 + .array-data 0x1
11694 + 0x0t
11695 + 0x20t
11696 + 0x1t
11697 + 0x81t
11698 + 0xf0t
11699 + 0x0t
11700 + 0x0t
11701 + 0x11t
11702 + 0x90t
11703 + 0x1t
11704 + 0x30t
11705 + 0x22t
11706 + 0x22t
11707 + 0x80t
11708 + 0x1t
11709 + 0x20t
11710 + .end array-data
11711 +.end method
11713 +.method private static hashCode(Landroid/content/Intent;)J
11714 + .registers 7
11716 + const-wide/16 v3, 0x0
11718 + const-string/jumbo v2, "privacy_hash"
11720 + invoke-virtual {p0, v2, v3, v4}, Landroid/content/Intent;->getLongExtra(Ljava/lang/String;J)J
11722 + move-result-wide v0
11724 + cmp-long v2, v0, v3
11726 + if-nez v2, :cond_1e
11728 + invoke-virtual {p0}, Landroid/content/Intent;->filterHashCode()I
11730 + move-result v2
11732 + int-to-long v2, v2
11734 + invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
11736 + move-result-wide v4
11738 + add-long v0, v2, v4
11740 + const-string/jumbo v2, "privacy_hash"
11742 + invoke-virtual {p0, v2, v0, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;J)Landroid/content/Intent;
11744 + :cond_1e
11745 + return-wide v0
11746 +.end method
11747 diff -Npru -x '*RIL*' pdroid-framework/smali/android/privacy/surrogate/PrivacyContentResolver.smali stock-framework/smali/android/privacy/surrogate/PrivacyContentResolver.smali
11748 --- pdroid-framework/smali/android/privacy/surrogate/PrivacyContentResolver.smali 1969-12-31 18:00:00.000000000 -0600
11749 +++ stock-framework/smali/android/privacy/surrogate/PrivacyContentResolver.smali 2012-10-13 14:14:43.390155572 -0500
11750 @@ -0,0 +1,624 @@
11751 +.class public final Landroid/privacy/surrogate/PrivacyContentResolver;
11752 +.super Ljava/lang/Object;
11753 +.source "PrivacyContentResolver.java"
11756 +# static fields
11757 +.field private static final TAG:Ljava/lang/String; = "PrivacyContentResolver"
11759 +.field private static pSetMan:Landroid/privacy/PrivacySettingsManager;
11762 +# direct methods
11763 +.method public constructor <init>()V
11764 + .registers 1
11766 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
11768 + return-void
11769 +.end method
11771 +.method private static arrayToString([Ljava/lang/String;)Ljava/lang/String;
11772 + .registers 8
11774 + new-instance v4, Ljava/lang/StringBuffer;
11776 + invoke-direct {v4}, Ljava/lang/StringBuffer;-><init>()V
11778 + if-eqz p0, :cond_2d
11780 + move-object v0, p0
11782 + array-length v3, v0
11784 + const/4 v2, 0x0
11786 + :goto_a
11787 + if-ge v2, v3, :cond_30
11789 + aget-object v1, v0, v2
11791 + new-instance v5, Ljava/lang/StringBuilder;
11793 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
11795 + const-string v6, "["
11797 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
11799 + move-result-object v5
11801 + invoke-virtual {v5, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
11803 + move-result-object v5
11805 + const-string v6, "]"
11807 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
11809 + move-result-object v5
11811 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
11813 + move-result-object v5
11815 + invoke-virtual {v4, v5}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
11817 + add-int/lit8 v2, v2, 0x1
11819 + goto :goto_a
11821 + :cond_2d
11822 + const-string v5, ""
11824 + :goto_2f
11825 + return-object v5
11827 + :cond_30
11828 + invoke-virtual {v4}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String;
11830 + move-result-object v5
11832 + goto :goto_2f
11833 +.end method
11835 +.method public static enforcePrivacyPermission(Landroid/net/Uri;[Ljava/lang/String;Landroid/content/Context;Landroid/database/Cursor;)Landroid/database/Cursor;
11836 + .registers 21
11837 + .annotation system Ldalvik/annotation/Throws;
11838 + value = {
11839 + Landroid/os/RemoteException;
11841 + .end annotation
11843 + if-eqz p0, :cond_1e4
11845 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11847 + if-nez v1, :cond_13
11849 + const-string/jumbo v1, "privacy"
11851 + move-object/from16 v0, p2
11853 + invoke-virtual {v0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
11855 + move-result-object v1
11857 + check-cast v1, Landroid/privacy/PrivacySettingsManager;
11859 + sput-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11861 + :cond_13
11862 + invoke-virtual/range {p2 .. p2}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
11864 + move-result-object v2
11866 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
11868 + move-result v3
11870 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11872 + invoke-virtual {v1, v2, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
11874 + move-result-object v7
11876 + invoke-virtual/range {p0 .. p0}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
11878 + move-result-object v9
11880 + const-string v15, "[real]"
11882 + move-object/from16 v13, p3
11884 + if-eqz v9, :cond_54
11886 + const-string v1, "contacts"
11888 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11890 + move-result v1
11892 + if-nez v1, :cond_3b
11894 + const-string v1, "com.android.contacts"
11896 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11898 + move-result v1
11900 + if-eqz v1, :cond_ab
11902 + :cond_3b
11903 + if-eqz v7, :cond_54
11905 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getContactsSetting()B
11907 + move-result v1
11909 + const/4 v4, 0x1
11911 + if-ne v1, v4, :cond_55
11913 + const-string v15, "[empty]"
11915 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
11917 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
11919 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11921 + const/4 v4, 0x1
11923 + const-string v5, "contacts"
11925 + const/4 v6, 0x0
11927 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11929 + :cond_54
11930 + :goto_54
11931 + return-object v13
11933 + :cond_55
11934 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getContactsSetting()B
11936 + move-result v1
11938 + const/4 v4, 0x2
11940 + if-ne v1, v4, :cond_a1
11942 + invoke-virtual/range {p0 .. p0}, Landroid/net/Uri;->toString()Ljava/lang/String;
11944 + move-result-object v1
11946 + sget-object v4, Landroid/provider/ContactsContract$Contacts;->CONTENT_URI:Landroid/net/Uri;
11948 + invoke-virtual {v4}, Landroid/net/Uri;->toString()Ljava/lang/String;
11950 + move-result-object v4
11952 + invoke-virtual {v1, v4}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
11954 + move-result v1
11956 + if-eqz v1, :cond_a1
11958 + const/4 v11, 0x0
11960 + if-eqz p1, :cond_82
11962 + move-object/from16 v8, p1
11964 + array-length v12, v8
11966 + const/4 v10, 0x0
11968 + :goto_73
11969 + if-ge v10, v12, :cond_82
11971 + aget-object v16, v8, v10
11973 + const-string v1, "_id"
11975 + move-object/from16 v0, v16
11977 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11979 + move-result v1
11981 + if-eqz v1, :cond_93
11983 + const/4 v11, 0x1
11985 + :cond_82
11986 + if-nez v11, :cond_96
11988 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
11990 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
11992 + :goto_89
11993 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11995 + const/4 v4, 0x2
11997 + const-string v5, "contacts"
11999 + const/4 v6, 0x0
12001 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12003 + goto :goto_54
12005 + :cond_93
12006 + add-int/lit8 v10, v10, 0x1
12008 + goto :goto_73
12010 + :cond_96
12011 + new-instance v14, Landroid/privacy/surrogate/PrivacyCursor;
12013 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getAllowedContacts()[I
12015 + move-result-object v1
12017 + invoke-direct {v14, v13, v1}, Landroid/privacy/surrogate/PrivacyCursor;-><init>(Landroid/database/Cursor;[I)V
12019 + move-object v13, v14
12021 + goto :goto_89
12023 + :cond_a1
12024 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12026 + const/4 v4, 0x0
12028 + const-string v5, "contacts"
12030 + const/4 v6, 0x0
12032 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12034 + goto :goto_54
12036 + :cond_ab
12037 + const-string v1, "com.android.calendar"
12039 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12041 + move-result v1
12043 + if-eqz v1, :cond_d8
12045 + if-eqz v7, :cond_cd
12047 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getCalendarSetting()B
12049 + move-result v1
12051 + const/4 v4, 0x1
12053 + if-ne v1, v4, :cond_cd
12055 + const-string v15, "[empty]"
12057 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12059 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12061 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12063 + const/4 v4, 0x1
12065 + const-string v5, "calendar"
12067 + const/4 v6, 0x0
12069 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12071 + goto :goto_54
12073 + :cond_cd
12074 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12076 + const/4 v4, 0x0
12078 + const-string v5, "calendar"
12080 + const/4 v6, 0x0
12082 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12084 + goto/16 :goto_54
12086 + :cond_d8
12087 + sget-object v1, Landroid/provider/Telephony$Mms;->CONTENT_URI:Landroid/net/Uri;
12089 + invoke-virtual {v1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
12091 + move-result-object v1
12093 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12095 + move-result v1
12097 + if-eqz v1, :cond_10c
12099 + if-eqz v7, :cond_100
12101 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getMmsSetting()B
12103 + move-result v1
12105 + const/4 v4, 0x1
12107 + if-ne v1, v4, :cond_100
12109 + const-string v15, "[empty]"
12111 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12113 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12115 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12117 + const/4 v4, 0x1
12119 + const-string/jumbo v5, "mms"
12121 + const/4 v6, 0x0
12123 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12125 + goto/16 :goto_54
12127 + :cond_100
12128 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12130 + const/4 v4, 0x0
12132 + const-string/jumbo v5, "mms"
12134 + const/4 v6, 0x0
12136 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12138 + goto/16 :goto_54
12140 + :cond_10c
12141 + sget-object v1, Landroid/provider/Telephony$Sms;->CONTENT_URI:Landroid/net/Uri;
12143 + invoke-virtual {v1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
12145 + move-result-object v1
12147 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12149 + move-result v1
12151 + if-eqz v1, :cond_140
12153 + if-eqz v7, :cond_134
12155 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getSmsSetting()B
12157 + move-result v1
12159 + const/4 v4, 0x1
12161 + if-ne v1, v4, :cond_134
12163 + const-string v15, "[empty]"
12165 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12167 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12169 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12171 + const/4 v4, 0x1
12173 + const-string/jumbo v5, "sms"
12175 + const/4 v6, 0x0
12177 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12179 + goto/16 :goto_54
12181 + :cond_134
12182 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12184 + const/4 v4, 0x0
12186 + const-string/jumbo v5, "sms"
12188 + const/4 v6, 0x0
12190 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12192 + goto/16 :goto_54
12194 + :cond_140
12195 + sget-object v1, Landroid/provider/Telephony$MmsSms;->CONTENT_URI:Landroid/net/Uri;
12197 + invoke-virtual {v1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
12199 + move-result-object v1
12201 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12203 + move-result v1
12205 + if-nez v1, :cond_155
12207 + const-string/jumbo v1, "mms-sms-v2"
12209 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12211 + move-result v1
12213 + if-eqz v1, :cond_184
12215 + :cond_155
12216 + if-eqz v7, :cond_178
12218 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getMmsSetting()B
12220 + move-result v1
12222 + const/4 v4, 0x1
12224 + if-eq v1, v4, :cond_165
12226 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getSmsSetting()B
12228 + move-result v1
12230 + const/4 v4, 0x1
12232 + if-ne v1, v4, :cond_178
12234 + :cond_165
12235 + const-string v15, "[empty]"
12237 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12239 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12241 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12243 + const/4 v4, 0x1
12245 + const-string/jumbo v5, "mmsSms"
12247 + const/4 v6, 0x0
12249 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12251 + goto/16 :goto_54
12253 + :cond_178
12254 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12256 + const/4 v4, 0x0
12258 + const-string/jumbo v5, "mmsSms"
12260 + const/4 v6, 0x0
12262 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12264 + goto/16 :goto_54
12266 + :cond_184
12267 + const-string v1, "call_log"
12269 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12271 + move-result v1
12273 + if-eqz v1, :cond_1b2
12275 + if-eqz v7, :cond_1a7
12277 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getCallLogSetting()B
12279 + move-result v1
12281 + const/4 v4, 0x1
12283 + if-ne v1, v4, :cond_1a7
12285 + const-string v15, "[empty]"
12287 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12289 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12291 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12293 + const/4 v4, 0x1
12295 + const-string v5, "callLog"
12297 + const/4 v6, 0x0
12299 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12301 + goto/16 :goto_54
12303 + :cond_1a7
12304 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12306 + const/4 v4, 0x0
12308 + const-string v5, "callLog"
12310 + const/4 v6, 0x0
12312 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12314 + goto/16 :goto_54
12316 + :cond_1b2
12317 + sget-object v1, Landroid/provider/Browser;->BOOKMARKS_URI:Landroid/net/Uri;
12319 + invoke-virtual {v1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
12321 + move-result-object v1
12323 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12325 + move-result v1
12327 + if-eqz v1, :cond_54
12329 + if-eqz v7, :cond_1d9
12331 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getBookmarksSetting()B
12333 + move-result v1
12335 + const/4 v4, 0x1
12337 + if-ne v1, v4, :cond_1d9
12339 + const-string v15, "[empty]"
12341 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12343 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12345 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12347 + const/4 v4, 0x1
12349 + const-string v5, "bookmarks"
12351 + const/4 v6, 0x0
12353 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12355 + goto/16 :goto_54
12357 + :cond_1d9
12358 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12360 + const/4 v4, 0x0
12362 + const-string v5, "bookmarks"
12364 + const/4 v6, 0x0
12366 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12368 + goto/16 :goto_54
12370 + :cond_1e4
12371 + move-object/from16 v13, p3
12373 + goto/16 :goto_54
12374 +.end method
12375 diff -Npru -x '*RIL*' pdroid-framework/smali/android/privacy/surrogate/PrivacyCursor.smali stock-framework/smali/android/privacy/surrogate/PrivacyCursor.smali
12376 --- pdroid-framework/smali/android/privacy/surrogate/PrivacyCursor.smali 1969-12-31 18:00:00.000000000 -0600
12377 +++ stock-framework/smali/android/privacy/surrogate/PrivacyCursor.smali 2012-10-13 14:14:43.410155672 -0500
12378 @@ -0,0 +1,1225 @@
12379 +.class public Landroid/privacy/surrogate/PrivacyCursor;
12380 +.super Ljava/lang/Object;
12381 +.source "PrivacyCursor.java"
12383 +# interfaces
12384 +.implements Landroid/database/Cursor;
12387 +# static fields
12388 +.field private static final TAG:Ljava/lang/String; = "PrivacyCursor"
12391 +# instance fields
12392 +.field private allowedIdMapping:[I
12394 +.field private allowedIds:[I
12396 +.field private realCursor:Landroid/database/Cursor;
12399 +# direct methods
12400 +.method public constructor <init>()V
12401 + .registers 1
12403 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
12405 + return-void
12406 +.end method
12408 +.method public constructor <init>(Landroid/database/Cursor;[I)V
12409 + .registers 7
12411 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
12413 + if-eqz p2, :cond_8
12415 + array-length v2, p2
12417 + if-nez v2, :cond_9
12419 + :cond_8
12420 + const/4 p1, 0x0
12422 + :cond_9
12423 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12425 + iput-object p2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIds:[I
12427 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12429 + if-eqz v2, :cond_3f
12431 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12433 + invoke-interface {v2}, Landroid/database/Cursor;->getPosition()I
12435 + move-result v0
12437 + array-length v2, p2
12439 + new-array v2, v2, [I
12441 + iput-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
12443 + const/4 v1, 0x0
12445 + :cond_1d
12446 + :goto_1d
12447 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12449 + invoke-interface {v2}, Landroid/database/Cursor;->moveToNext()Z
12451 + move-result v2
12453 + if-eqz v2, :cond_3a
12455 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12457 + invoke-direct {p0, v2}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(Landroid/database/Cursor;)Z
12459 + move-result v2
12461 + if-eqz v2, :cond_1d
12463 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
12465 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12467 + invoke-interface {v3}, Landroid/database/Cursor;->getPosition()I
12469 + move-result v3
12471 + aput v3, v2, v1
12473 + add-int/lit8 v1, v1, 0x1
12475 + goto :goto_1d
12477 + :cond_3a
12478 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12480 + invoke-interface {v2, v0}, Landroid/database/Cursor;->moveToPosition(I)Z
12482 + :cond_3f
12483 + return-void
12484 +.end method
12486 +.method private getContactId(Landroid/database/Cursor;)I
12487 + .registers 5
12489 + const-string v2, "_id"
12491 + invoke-interface {p1, v2}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
12493 + move-result v0
12495 + const/4 v1, -0x1
12497 + const/4 v2, -0x1
12499 + if-eq v0, v2, :cond_e
12501 + invoke-interface {p1, v0}, Landroid/database/Cursor;->getInt(I)I
12503 + move-result v1
12505 + :cond_e
12506 + return v1
12507 +.end method
12509 +.method private getMappedPos(I)I
12510 + .registers 4
12512 + const/4 v0, 0x0
12514 + :goto_1
12515 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
12517 + array-length v1, v1
12519 + if-ge v0, v1, :cond_10
12521 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
12523 + aget v1, v1, v0
12525 + if-ne v1, p1, :cond_d
12527 + :goto_c
12528 + return v0
12530 + :cond_d
12531 + add-int/lit8 v0, v0, 0x1
12533 + goto :goto_1
12535 + :cond_10
12536 + const/4 v0, -0x1
12538 + goto :goto_c
12539 +.end method
12541 +.method private isAllowed(I)Z
12542 + .registers 7
12544 + const/4 v4, 0x0
12546 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIds:[I
12548 + array-length v3, v0
12550 + const/4 v2, 0x0
12552 + :goto_5
12553 + if-ge v2, v3, :cond_c
12555 + aget v1, v0, v2
12557 + if-ne p1, v1, :cond_d
12559 + const/4 v4, 0x1
12561 + :cond_c
12562 + return v4
12564 + :cond_d
12565 + add-int/lit8 v2, v2, 0x1
12567 + goto :goto_5
12568 +.end method
12570 +.method private isAllowed(Landroid/database/Cursor;)Z
12571 + .registers 3
12573 + invoke-direct {p0, p1}, Landroid/privacy/surrogate/PrivacyCursor;->getContactId(Landroid/database/Cursor;)I
12575 + move-result v0
12577 + invoke-direct {p0, v0}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(I)Z
12579 + move-result v0
12581 + return v0
12582 +.end method
12585 +# virtual methods
12586 +.method public close()V
12587 + .registers 2
12589 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12591 + if-eqz v0, :cond_9
12593 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12595 + invoke-interface {v0}, Landroid/database/Cursor;->close()V
12597 + :cond_9
12598 + return-void
12599 +.end method
12601 +.method public copyStringToBuffer(ILandroid/database/CharArrayBuffer;)V
12602 + .registers 4
12604 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12606 + if-eqz v0, :cond_9
12608 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12610 + invoke-interface {v0, p1, p2}, Landroid/database/Cursor;->copyStringToBuffer(ILandroid/database/CharArrayBuffer;)V
12612 + :cond_9
12613 + return-void
12614 +.end method
12616 +.method public deactivate()V
12617 + .registers 2
12619 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12621 + if-eqz v0, :cond_9
12623 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12625 + invoke-interface {v0}, Landroid/database/Cursor;->deactivate()V
12627 + :cond_9
12628 + return-void
12629 +.end method
12631 +.method public getBlob(I)[B
12632 + .registers 3
12634 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12636 + if-eqz v0, :cond_b
12638 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12640 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getBlob(I)[B
12642 + move-result-object v0
12644 + :goto_a
12645 + return-object v0
12647 + :cond_b
12648 + const/4 v0, 0x0
12650 + new-array v0, v0, [B
12652 + goto :goto_a
12653 +.end method
12655 +.method public getColumnCount()I
12656 + .registers 2
12658 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12660 + if-eqz v0, :cond_b
12662 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12664 + invoke-interface {v0}, Landroid/database/Cursor;->getColumnCount()I
12666 + move-result v0
12668 + :goto_a
12669 + return v0
12671 + :cond_b
12672 + const/4 v0, 0x0
12674 + goto :goto_a
12675 +.end method
12677 +.method public getColumnIndex(Ljava/lang/String;)I
12678 + .registers 3
12680 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12682 + if-eqz v0, :cond_b
12684 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12686 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
12688 + move-result v0
12690 + :goto_a
12691 + return v0
12693 + :cond_b
12694 + const/4 v0, -0x1
12696 + goto :goto_a
12697 +.end method
12699 +.method public getColumnIndexOrThrow(Ljava/lang/String;)I
12700 + .registers 3
12701 + .annotation system Ldalvik/annotation/Throws;
12702 + value = {
12703 + Ljava/lang/IllegalArgumentException;
12705 + .end annotation
12707 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12709 + if-eqz v0, :cond_b
12711 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12713 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getColumnIndexOrThrow(Ljava/lang/String;)I
12715 + move-result v0
12717 + :goto_a
12718 + return v0
12720 + :cond_b
12721 + const/4 v0, -0x1
12723 + goto :goto_a
12724 +.end method
12726 +.method public getColumnName(I)Ljava/lang/String;
12727 + .registers 3
12729 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12731 + if-eqz v0, :cond_b
12733 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12735 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getColumnName(I)Ljava/lang/String;
12737 + move-result-object v0
12739 + :goto_a
12740 + return-object v0
12742 + :cond_b
12743 + const-string v0, ""
12745 + goto :goto_a
12746 +.end method
12748 +.method public getColumnNames()[Ljava/lang/String;
12749 + .registers 4
12751 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12753 + if-eqz v0, :cond_b
12755 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12757 + invoke-interface {v0}, Landroid/database/Cursor;->getColumnNames()[Ljava/lang/String;
12759 + move-result-object v0
12761 + :goto_a
12762 + return-object v0
12764 + :cond_b
12765 + const/4 v0, 0x1
12767 + new-array v0, v0, [Ljava/lang/String;
12769 + const/4 v1, 0x0
12771 + const-string v2, ""
12773 + aput-object v2, v0, v1
12775 + goto :goto_a
12776 +.end method
12778 +.method public getCount()I
12779 + .registers 4
12781 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12783 + if-eqz v0, :cond_23
12785 + const-string v0, "PrivacyCursor"
12787 + new-instance v1, Ljava/lang/StringBuilder;
12789 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
12791 + const-string v2, "getCount: "
12793 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
12795 + move-result-object v1
12797 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
12799 + array-length v2, v2
12801 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
12803 + move-result-object v1
12805 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
12807 + move-result-object v1
12809 + invoke-static {v0, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
12811 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
12813 + array-length v0, v0
12815 + :goto_22
12816 + return v0
12818 + :cond_23
12819 + const/4 v0, 0x0
12821 + goto :goto_22
12822 +.end method
12824 +.method public getDouble(I)D
12825 + .registers 4
12827 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12829 + if-eqz v0, :cond_b
12831 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12833 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getDouble(I)D
12835 + move-result-wide v0
12837 + :goto_a
12838 + return-wide v0
12840 + :cond_b
12841 + const-wide/16 v0, 0x0
12843 + goto :goto_a
12844 +.end method
12846 +.method public getExtras()Landroid/os/Bundle;
12847 + .registers 2
12849 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12851 + if-eqz v0, :cond_b
12853 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12855 + invoke-interface {v0}, Landroid/database/Cursor;->getExtras()Landroid/os/Bundle;
12857 + move-result-object v0
12859 + :goto_a
12860 + return-object v0
12862 + :cond_b
12863 + new-instance v0, Landroid/os/Bundle;
12865 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
12867 + goto :goto_a
12868 +.end method
12870 +.method public getFloat(I)F
12871 + .registers 3
12873 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12875 + if-eqz v0, :cond_b
12877 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12879 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getFloat(I)F
12881 + move-result v0
12883 + :goto_a
12884 + return v0
12886 + :cond_b
12887 + const/4 v0, 0x0
12889 + goto :goto_a
12890 +.end method
12892 +.method public getInt(I)I
12893 + .registers 4
12895 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12897 + if-eqz v1, :cond_b
12899 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12901 + invoke-interface {v1, p1}, Landroid/database/Cursor;->getInt(I)I
12903 + move-result v0
12905 + :goto_a
12906 + return v0
12908 + :cond_b
12909 + const/4 v0, 0x0
12911 + goto :goto_a
12912 +.end method
12914 +.method public getLong(I)J
12915 + .registers 4
12917 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12919 + if-eqz v0, :cond_b
12921 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12923 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getLong(I)J
12925 + move-result-wide v0
12927 + :goto_a
12928 + return-wide v0
12930 + :cond_b
12931 + const-wide/16 v0, 0x0
12933 + goto :goto_a
12934 +.end method
12936 +.method public getPosition()I
12937 + .registers 5
12939 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12941 + if-eqz v1, :cond_37
12943 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12945 + invoke-interface {v1}, Landroid/database/Cursor;->getPosition()I
12947 + move-result v1
12949 + invoke-direct {p0, v1}, Landroid/privacy/surrogate/PrivacyCursor;->getMappedPos(I)I
12951 + move-result v0
12953 + const-string v1, "PrivacyCursor"
12955 + new-instance v2, Ljava/lang/StringBuilder;
12957 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
12959 + const-string v3, "getPosition - mapped position: "
12961 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
12963 + move-result-object v2
12965 + invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
12967 + move-result-object v2
12969 + const-string v3, " real position: "
12971 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
12973 + move-result-object v2
12975 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12977 + invoke-interface {v3}, Landroid/database/Cursor;->getPosition()I
12979 + move-result v3
12981 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
12983 + move-result-object v2
12985 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
12987 + move-result-object v2
12989 + invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
12991 + :goto_36
12992 + return v0
12994 + :cond_37
12995 + const/4 v0, -0x1
12997 + goto :goto_36
12998 +.end method
13000 +.method public getShort(I)S
13001 + .registers 3
13003 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13005 + if-eqz v0, :cond_b
13007 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13009 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getShort(I)S
13011 + move-result v0
13013 + :goto_a
13014 + return v0
13016 + :cond_b
13017 + const/4 v0, 0x0
13019 + goto :goto_a
13020 +.end method
13022 +.method public getString(I)Ljava/lang/String;
13023 + .registers 3
13025 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13027 + if-eqz v0, :cond_b
13029 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13031 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
13033 + move-result-object v0
13035 + :goto_a
13036 + return-object v0
13038 + :cond_b
13039 + const-string v0, ""
13041 + goto :goto_a
13042 +.end method
13044 +.method public getType(I)I
13045 + .registers 3
13047 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13049 + if-eqz v0, :cond_b
13051 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13053 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getType(I)I
13055 + move-result v0
13057 + :goto_a
13058 + return v0
13060 + :cond_b
13061 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13063 + const/4 v0, 0x0
13065 + goto :goto_a
13066 +.end method
13068 +.method public getWantsAllOnMoveCalls()Z
13069 + .registers 2
13071 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13073 + if-eqz v0, :cond_b
13075 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13077 + invoke-interface {v0}, Landroid/database/Cursor;->getWantsAllOnMoveCalls()Z
13079 + move-result v0
13081 + :goto_a
13082 + return v0
13084 + :cond_b
13085 + const/4 v0, 0x0
13087 + goto :goto_a
13088 +.end method
13090 +.method public isAfterLast()Z
13091 + .registers 2
13093 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13095 + if-eqz v0, :cond_b
13097 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13099 + invoke-interface {v0}, Landroid/database/Cursor;->isAfterLast()Z
13101 + move-result v0
13103 + :goto_a
13104 + return v0
13106 + :cond_b
13107 + const/4 v0, 0x0
13109 + goto :goto_a
13110 +.end method
13112 +.method public isBeforeFirst()Z
13113 + .registers 2
13115 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13117 + if-eqz v0, :cond_b
13119 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13121 + invoke-interface {v0}, Landroid/database/Cursor;->isBeforeFirst()Z
13123 + move-result v0
13125 + :goto_a
13126 + return v0
13128 + :cond_b
13129 + const/4 v0, 0x0
13131 + goto :goto_a
13132 +.end method
13134 +.method public isClosed()Z
13135 + .registers 2
13137 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13139 + if-eqz v0, :cond_b
13141 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13143 + invoke-interface {v0}, Landroid/database/Cursor;->isClosed()Z
13145 + move-result v0
13147 + :goto_a
13148 + return v0
13150 + :cond_b
13151 + const/4 v0, 0x0
13153 + goto :goto_a
13154 +.end method
13156 +.method public isFirst()Z
13157 + .registers 4
13159 + const/4 v0, 0x0
13161 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13163 + if-eqz v1, :cond_12
13165 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13167 + invoke-interface {v1}, Landroid/database/Cursor;->getPosition()I
13169 + move-result v1
13171 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13173 + aget v2, v2, v0
13175 + if-ne v1, v2, :cond_12
13177 + const/4 v0, 0x1
13179 + :cond_12
13180 + return v0
13181 +.end method
13183 +.method public isLast()Z
13184 + .registers 4
13186 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13188 + if-eqz v0, :cond_17
13190 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13192 + invoke-interface {v0}, Landroid/database/Cursor;->getPosition()I
13194 + move-result v0
13196 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13198 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13200 + array-length v2, v2
13202 + add-int/lit8 v2, v2, -0x1
13204 + aget v1, v1, v2
13206 + if-ne v0, v1, :cond_17
13208 + const/4 v0, 0x1
13210 + :goto_16
13211 + return v0
13213 + :cond_17
13214 + const/4 v0, 0x0
13216 + goto :goto_16
13217 +.end method
13219 +.method public isNull(I)Z
13220 + .registers 3
13222 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13224 + if-eqz v0, :cond_b
13226 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13228 + invoke-interface {v0, p1}, Landroid/database/Cursor;->isNull(I)Z
13230 + move-result v0
13232 + :goto_a
13233 + return v0
13235 + :cond_b
13236 + const/4 v0, 0x0
13238 + goto :goto_a
13239 +.end method
13241 +.method public move(I)Z
13242 + .registers 8
13244 + const/4 v2, 0x0
13246 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13248 + if-eqz v3, :cond_33
13250 + const-string v3, "PrivacyCursor"
13252 + new-instance v4, Ljava/lang/StringBuilder;
13254 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
13256 + const-string/jumbo v5, "move - offset: "
13258 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13260 + move-result-object v4
13262 + invoke-virtual {v4, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
13264 + move-result-object v4
13266 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
13268 + move-result-object v4
13270 + invoke-static {v3, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
13272 + :try_start_1e
13273 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13275 + iget-object v4, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13277 + invoke-interface {v4}, Landroid/database/Cursor;->getPosition()I
13279 + move-result v4
13281 + invoke-direct {p0, v4}, Landroid/privacy/surrogate/PrivacyCursor;->getMappedPos(I)I
13283 + move-result v4
13285 + add-int/2addr v4, p1
13287 + aget v1, v3, v4
13289 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13291 + invoke-interface {v3, v1}, Landroid/database/Cursor;->moveToPosition(I)Z
13292 + :try_end_32
13293 + .catch Ljava/lang/ArrayIndexOutOfBoundsException; {:try_start_1e .. :try_end_32} :catch_34
13295 + move-result v2
13297 + :cond_33
13298 + :goto_33
13299 + return v2
13301 + :catch_34
13302 + move-exception v0
13304 + goto :goto_33
13305 +.end method
13307 +.method public moveToFirst()Z
13308 + .registers 4
13310 + const/4 v0, 0x0
13312 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13314 + if-eqz v1, :cond_f
13316 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13318 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13320 + aget v2, v2, v0
13322 + invoke-interface {v1, v2}, Landroid/database/Cursor;->moveToPosition(I)Z
13324 + move-result v0
13326 + :cond_f
13327 + return v0
13328 +.end method
13330 +.method public moveToLast()Z
13331 + .registers 5
13333 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13335 + if-eqz v1, :cond_14
13337 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13339 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13341 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13343 + array-length v3, v3
13345 + add-int/lit8 v3, v3, -0x1
13347 + aget v2, v2, v3
13349 + invoke-interface {v1, v2}, Landroid/database/Cursor;->moveToPosition(I)Z
13351 + move-result v0
13353 + :goto_13
13354 + return v0
13356 + :cond_14
13357 + const/4 v0, 0x0
13359 + goto :goto_13
13360 +.end method
13362 +.method public moveToNext()Z
13363 + .registers 3
13365 + const/4 v0, 0x0
13367 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13369 + if-eqz v1, :cond_d
13371 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13373 + invoke-interface {v1}, Landroid/database/Cursor;->moveToNext()Z
13375 + move-result v1
13377 + if-nez v1, :cond_e
13379 + :cond_d
13380 + return v0
13382 + :cond_e
13383 + const/4 v0, 0x1
13385 + :goto_f
13386 + const/4 v1, 0x1
13388 + if-ne v0, v1, :cond_d
13390 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13392 + invoke-direct {p0, v1}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(Landroid/database/Cursor;)Z
13394 + move-result v1
13396 + if-nez v1, :cond_d
13398 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13400 + invoke-interface {v1}, Landroid/database/Cursor;->moveToNext()Z
13402 + move-result v0
13404 + goto :goto_f
13405 +.end method
13407 +.method public moveToPosition(I)Z
13408 + .registers 6
13410 + const/4 v1, 0x0
13412 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13414 + if-eqz v2, :cond_f
13416 + :try_start_5
13417 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13419 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13421 + aget v3, v3, p1
13423 + invoke-interface {v2, v3}, Landroid/database/Cursor;->moveToPosition(I)Z
13424 + :try_end_e
13425 + .catch Ljava/lang/ArrayIndexOutOfBoundsException; {:try_start_5 .. :try_end_e} :catch_10
13427 + move-result v1
13429 + :cond_f
13430 + :goto_f
13431 + return v1
13433 + :catch_10
13434 + move-exception v0
13436 + goto :goto_f
13437 +.end method
13439 +.method public moveToPrevious()Z
13440 + .registers 3
13442 + const/4 v0, 0x0
13444 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13446 + if-eqz v1, :cond_d
13448 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13450 + invoke-interface {v1}, Landroid/database/Cursor;->moveToPrevious()Z
13452 + move-result v1
13454 + if-nez v1, :cond_e
13456 + :cond_d
13457 + return v0
13459 + :cond_e
13460 + const/4 v0, 0x1
13462 + :goto_f
13463 + const/4 v1, 0x1
13465 + if-ne v0, v1, :cond_d
13467 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13469 + invoke-direct {p0, v1}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(Landroid/database/Cursor;)Z
13471 + move-result v1
13473 + if-nez v1, :cond_d
13475 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13477 + invoke-interface {v1}, Landroid/database/Cursor;->moveToPrevious()Z
13479 + move-result v0
13481 + goto :goto_f
13482 +.end method
13484 +.method public registerContentObserver(Landroid/database/ContentObserver;)V
13485 + .registers 3
13487 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13489 + if-eqz v0, :cond_9
13491 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13493 + invoke-interface {v0, p1}, Landroid/database/Cursor;->registerContentObserver(Landroid/database/ContentObserver;)V
13495 + :cond_9
13496 + return-void
13497 +.end method
13499 +.method public registerDataSetObserver(Landroid/database/DataSetObserver;)V
13500 + .registers 3
13502 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13504 + if-eqz v0, :cond_9
13506 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13508 + invoke-interface {v0, p1}, Landroid/database/Cursor;->registerDataSetObserver(Landroid/database/DataSetObserver;)V
13510 + :cond_9
13511 + return-void
13512 +.end method
13514 +.method public requery()Z
13515 + .registers 2
13517 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13519 + if-eqz v0, :cond_b
13521 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13523 + invoke-interface {v0}, Landroid/database/Cursor;->requery()Z
13525 + move-result v0
13527 + :goto_a
13528 + return v0
13530 + :cond_b
13531 + const/4 v0, 0x0
13533 + goto :goto_a
13534 +.end method
13536 +.method public respond(Landroid/os/Bundle;)Landroid/os/Bundle;
13537 + .registers 3
13539 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13541 + if-eqz v0, :cond_b
13543 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13545 + invoke-interface {v0, p1}, Landroid/database/Cursor;->respond(Landroid/os/Bundle;)Landroid/os/Bundle;
13547 + move-result-object v0
13549 + :goto_a
13550 + return-object v0
13552 + :cond_b
13553 + new-instance v0, Landroid/os/Bundle;
13555 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
13557 + goto :goto_a
13558 +.end method
13560 +.method public setNotificationUri(Landroid/content/ContentResolver;Landroid/net/Uri;)V
13561 + .registers 4
13563 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13565 + if-eqz v0, :cond_9
13567 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13569 + invoke-interface {v0, p1, p2}, Landroid/database/Cursor;->setNotificationUri(Landroid/content/ContentResolver;Landroid/net/Uri;)V
13571 + :cond_9
13572 + return-void
13573 +.end method
13575 +.method public unregisterContentObserver(Landroid/database/ContentObserver;)V
13576 + .registers 3
13578 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13580 + if-eqz v0, :cond_9
13582 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13584 + invoke-interface {v0, p1}, Landroid/database/Cursor;->unregisterContentObserver(Landroid/database/ContentObserver;)V
13586 + :cond_9
13587 + return-void
13588 +.end method
13590 +.method public unregisterDataSetObserver(Landroid/database/DataSetObserver;)V
13591 + .registers 3
13593 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13595 + if-eqz v0, :cond_9
13597 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13599 + invoke-interface {v0, p1}, Landroid/database/Cursor;->unregisterDataSetObserver(Landroid/database/DataSetObserver;)V
13601 + :cond_9
13602 + return-void
13603 +.end method
13604 diff -Npru -x '*RIL*' pdroid-framework/smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali stock-framework/smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali
13605 --- pdroid-framework/smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali 1969-12-31 18:00:00.000000000 -0600
13606 +++ stock-framework/smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali 2012-10-13 14:14:43.410155672 -0500
13607 @@ -0,0 +1,134 @@
13608 +.class Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
13609 +.super Ljava/lang/Thread;
13610 +.source "PrivacyLocationManager.java"
13613 +# annotations
13614 +.annotation system Ldalvik/annotation/EnclosingClass;
13615 + value = Landroid/privacy/surrogate/PrivacyLocationManager;
13616 +.end annotation
13618 +.annotation system Ldalvik/annotation/InnerClass;
13619 + accessFlags = 0x2
13620 + name = "PrivacyLocationUpdater"
13621 +.end annotation
13624 +# instance fields
13625 +.field private intent:Landroid/app/PendingIntent;
13627 +.field private latitude:D
13629 +.field private listener:Landroid/location/LocationListener;
13631 +.field private longitude:D
13633 +.field private provider:Ljava/lang/String;
13635 +.field final synthetic this$0:Landroid/privacy/surrogate/PrivacyLocationManager;
13638 +# direct methods
13639 +.method public constructor <init>(Landroid/privacy/surrogate/PrivacyLocationManager;Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;DD)V
13640 + .registers 9
13642 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->this$0:Landroid/privacy/surrogate/PrivacyLocationManager;
13644 + invoke-direct {p0}, Ljava/lang/Thread;-><init>()V
13646 + iput-object p2, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->provider:Ljava/lang/String;
13648 + iput-object p3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->listener:Landroid/location/LocationListener;
13650 + iput-object p4, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->intent:Landroid/app/PendingIntent;
13652 + iput-wide p5, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->latitude:D
13654 + iput-wide p7, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->longitude:D
13656 + return-void
13657 +.end method
13660 +# virtual methods
13661 +.method public run()V
13662 + .registers 8
13664 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->provider:Ljava/lang/String;
13666 + if-eqz v3, :cond_43
13668 + new-instance v2, Landroid/location/Location;
13670 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->provider:Ljava/lang/String;
13672 + invoke-direct {v2, v3}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
13674 + iget-wide v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->latitude:D
13676 + invoke-virtual {v2, v3, v4}, Landroid/location/Location;->setLatitude(D)V
13678 + iget-wide v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->longitude:D
13680 + invoke-virtual {v2, v3, v4}, Landroid/location/Location;->setLongitude(D)V
13682 + const/4 v1, 0x0
13684 + :goto_16
13685 + const/4 v3, 0x5
13687 + if-ge v1, v3, :cond_43
13689 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->listener:Landroid/location/LocationListener;
13691 + if-eqz v3, :cond_34
13693 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->listener:Landroid/location/LocationListener;
13695 + invoke-interface {v3, v2}, Landroid/location/LocationListener;->onLocationChanged(Landroid/location/Location;)V
13697 + :cond_22
13698 + :goto_22
13699 + :try_start_22
13700 + invoke-static {}, Ljava/lang/Math;->random()D
13702 + move-result-wide v3
13704 + const-wide v5, 0x408f400000000000L
13706 + mul-double/2addr v3, v5
13708 + double-to-int v3, v3
13710 + int-to-long v3, v3
13712 + invoke-static {v3, v4}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->sleep(J)V
13713 + :try_end_31
13714 + .catch Ljava/lang/InterruptedException; {:try_start_22 .. :try_end_31} :catch_3e
13716 + :goto_31
13717 + add-int/lit8 v1, v1, 0x1
13719 + goto :goto_16
13721 + :cond_34
13722 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->intent:Landroid/app/PendingIntent;
13724 + if-eqz v3, :cond_22
13726 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->intent:Landroid/app/PendingIntent;
13728 + invoke-virtual {v3}, Landroid/app/PendingIntent;->cancel()V
13730 + goto :goto_22
13732 + :catch_3e
13733 + move-exception v0
13735 + invoke-virtual {v0}, Ljava/lang/InterruptedException;->printStackTrace()V
13737 + goto :goto_31
13739 + :cond_43
13740 + return-void
13741 +.end method
13742 diff -Npru -x '*RIL*' pdroid-framework/smali/android/privacy/surrogate/PrivacyLocationManager.smali stock-framework/smali/android/privacy/surrogate/PrivacyLocationManager.smali
13743 --- pdroid-framework/smali/android/privacy/surrogate/PrivacyLocationManager.smali 1969-12-31 18:00:00.000000000 -0600
13744 +++ stock-framework/smali/android/privacy/surrogate/PrivacyLocationManager.smali 2012-10-13 14:14:43.414155691 -0500
13745 @@ -0,0 +1,2091 @@
13746 +.class public final Landroid/privacy/surrogate/PrivacyLocationManager;
13747 +.super Landroid/location/LocationManager;
13748 +.source "PrivacyLocationManager.java"
13751 +# annotations
13752 +.annotation system Ldalvik/annotation/MemberClasses;
13753 + value = {
13754 + Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
13756 +.end annotation
13759 +# static fields
13760 +.field private static final CUSTOM_LOCATION_UPDATE_COUNT:I = 0x5
13762 +.field private static final TAG:Ljava/lang/String; = "PrivacyLocationManager"
13765 +# instance fields
13766 +.field private context:Landroid/content/Context;
13768 +.field private lock:Ljava/lang/Object;
13770 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
13773 +# direct methods
13774 +.method public constructor <init>(Landroid/location/ILocationManager;Landroid/content/Context;)V
13775 + .registers 5
13777 + invoke-direct {p0, p2, p1}, Landroid/location/LocationManager;-><init>(Landroid/content/Context;Landroid/location/ILocationManager;)V
13779 + new-instance v0, Ljava/lang/Object;
13781 + invoke-direct {v0}, Ljava/lang/Object;-><init>()V
13783 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->lock:Ljava/lang/Object;
13785 + iput-object p2, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
13787 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
13789 + const-string/jumbo v1, "privacy"
13791 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
13793 + move-result-object v1
13795 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
13797 + move-result-object v1
13799 + invoke-direct {v0, p2, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
13801 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
13803 + return-void
13804 +.end method
13806 +.method private requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
13807 + .registers 7
13809 + const/4 v2, 0x3
13811 + if-nez p1, :cond_5
13813 + const/4 v0, 0x0
13815 + :goto_4
13816 + return v0
13818 + :cond_5
13819 + invoke-virtual {p1}, Landroid/location/Criteria;->getAccuracy()I
13821 + move-result v0
13823 + const/4 v1, 0x1
13825 + if-eq v0, v1, :cond_24
13827 + invoke-virtual {p1}, Landroid/location/Criteria;->getBearingAccuracy()I
13829 + move-result v0
13831 + if-eq v0, v2, :cond_24
13833 + invoke-virtual {p1}, Landroid/location/Criteria;->getHorizontalAccuracy()I
13835 + move-result v0
13837 + if-eq v0, v2, :cond_24
13839 + invoke-virtual {p1}, Landroid/location/Criteria;->getVerticalAccuracy()I
13841 + move-result v0
13843 + if-eq v0, v2, :cond_24
13845 + invoke-virtual {p1}, Landroid/location/Criteria;->getSpeedAccuracy()I
13847 + move-result v0
13849 + if-ne v0, v2, :cond_2b
13851 + :cond_24
13852 + const-string v0, "gps"
13854 + invoke-direct {p0, v0, p2, p3}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
13856 + move-result v0
13858 + goto :goto_4
13860 + :cond_2b
13861 + const-string/jumbo v0, "network"
13863 + invoke-direct {p0, v0, p2, p3}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
13865 + move-result v0
13867 + goto :goto_4
13868 +.end method
13870 +.method private requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
13871 + .registers 24
13873 + move-object/from16 v0, p0
13875 + iget-object v0, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->lock:Ljava/lang/Object;
13877 + move-object/from16 v19, v0
13879 + monitor-enter v19
13881 + :try_start_7
13882 + move-object/from16 v0, p0
13884 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
13886 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
13888 + move-result-object v2
13890 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
13892 + move-result v3
13894 + move-object/from16 v0, p0
13896 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
13898 + invoke-virtual {v1, v2, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
13900 + move-result-object v7
13902 + const/16 v18, 0x0
13904 + if-eqz v7, :cond_239
13906 + const-string v1, "gps"
13908 + move-object/from16 v0, p1
13910 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
13912 + move-result v1
13914 + if-eqz v1, :cond_111
13916 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
13918 + move-result v1
13920 + packed-switch v1, :pswitch_data_25e
13922 + :cond_30
13923 + :goto_30
13924 + monitor-exit v19
13926 + return v18
13928 + :pswitch_32
13929 + move-object/from16 v0, p0
13931 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
13933 + const/4 v4, 0x0
13935 + const-string v5, "locationGPS"
13937 + const/4 v6, 0x0
13939 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
13941 + goto :goto_30
13943 + :catchall_3e
13944 + move-exception v1
13946 + monitor-exit v19
13947 + :try_end_40
13948 + .catchall {:try_start_7 .. :try_end_40} :catchall_3e
13950 + throw v1
13952 + :pswitch_41
13953 + if-eqz p3, :cond_46
13955 + :try_start_43
13956 + invoke-virtual/range {p3 .. p3}, Landroid/app/PendingIntent;->cancel()V
13958 + :cond_46
13959 + const/16 v18, 0x1
13961 + move-object/from16 v0, p0
13963 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
13965 + const/4 v4, 0x1
13967 + const-string v5, "locationGPS"
13969 + const/4 v6, 0x0
13971 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
13972 + :try_end_53
13973 + .catchall {:try_start_43 .. :try_end_53} :catchall_3e
13975 + goto :goto_30
13977 + :pswitch_54
13978 + :try_start_54
13979 + new-instance v8, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
13981 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
13983 + move-result-object v1
13985 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
13987 + move-result-wide v13
13989 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
13991 + move-result-object v1
13993 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
13995 + move-result-wide v15
13997 + move-object/from16 v9, p0
13999 + move-object/from16 v10, p1
14001 + move-object/from16 v11, p2
14003 + move-object/from16 v12, p3
14005 + 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
14007 + invoke-virtual {v8}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->start()V
14008 + :try_end_74
14009 + .catchall {:try_start_54 .. :try_end_74} :catchall_3e
14010 + .catch Ljava/lang/NumberFormatException; {:try_start_54 .. :try_end_74} :catch_a6
14012 + const/16 v18, 0x1
14014 + :goto_76
14015 + :try_start_76
14016 + move-object/from16 v0, p0
14018 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14020 + const/4 v4, 0x2
14022 + const-string v5, "locationGPS"
14024 + new-instance v6, Ljava/lang/StringBuilder;
14026 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
14028 + const-string v8, "Lat: "
14030 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14032 + move-result-object v6
14034 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
14036 + move-result-object v8
14038 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14040 + move-result-object v6
14042 + const-string v8, " Lon: "
14044 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14046 + move-result-object v6
14048 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
14050 + move-result-object v8
14052 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14054 + move-result-object v6
14056 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14058 + move-result-object v6
14060 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14062 + goto :goto_30
14064 + :catch_a6
14065 + move-exception v17
14067 + const-string v1, "PrivacyLocationManager"
14069 + const-string/jumbo v4, "requestLocationUpdates: invalid coordinates"
14071 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
14072 + :try_end_af
14073 + .catchall {:try_start_76 .. :try_end_af} :catchall_3e
14075 + const/16 v18, 0x1
14077 + goto :goto_76
14079 + :pswitch_b2
14080 + :try_start_b2
14081 + new-instance v8, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
14083 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
14085 + move-result-object v1
14087 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14089 + move-result-wide v13
14091 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
14093 + move-result-object v1
14095 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14097 + move-result-wide v15
14099 + move-object/from16 v9, p0
14101 + move-object/from16 v10, p1
14103 + move-object/from16 v11, p2
14105 + move-object/from16 v12, p3
14107 + 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
14109 + invoke-virtual {v8}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->start()V
14110 + :try_end_d2
14111 + .catchall {:try_start_b2 .. :try_end_d2} :catchall_3e
14112 + .catch Ljava/lang/NumberFormatException; {:try_start_b2 .. :try_end_d2} :catch_105
14114 + const/16 v18, 0x1
14116 + :goto_d4
14117 + :try_start_d4
14118 + move-object/from16 v0, p0
14120 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14122 + const/4 v4, 0x3
14124 + const-string v5, "locationGPS"
14126 + new-instance v6, Ljava/lang/StringBuilder;
14128 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
14130 + const-string v8, "Lat: "
14132 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14134 + move-result-object v6
14136 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
14138 + move-result-object v8
14140 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14142 + move-result-object v6
14144 + const-string v8, " Lon: "
14146 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14148 + move-result-object v6
14150 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
14152 + move-result-object v8
14154 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14156 + move-result-object v6
14158 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14160 + move-result-object v6
14162 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14164 + goto/16 :goto_30
14166 + :catch_105
14167 + move-exception v17
14169 + const-string v1, "PrivacyLocationManager"
14171 + const-string/jumbo v4, "requestLocationUpdates: invalid coordinates"
14173 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
14175 + const/16 v18, 0x1
14177 + goto :goto_d4
14179 + :cond_111
14180 + const-string/jumbo v1, "network"
14182 + move-object/from16 v0, p1
14184 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
14186 + move-result v1
14188 + if-eqz v1, :cond_204
14190 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
14192 + move-result v1
14194 + packed-switch v1, :pswitch_data_26a
14196 + goto/16 :goto_30
14198 + :pswitch_125
14199 + move-object/from16 v0, p0
14201 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14203 + const/4 v4, 0x0
14205 + const-string v5, "locationNetwork"
14207 + const/4 v6, 0x0
14209 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14211 + goto/16 :goto_30
14213 + :pswitch_132
14214 + if-eqz p3, :cond_137
14216 + invoke-virtual/range {p3 .. p3}, Landroid/app/PendingIntent;->cancel()V
14218 + :cond_137
14219 + const/16 v18, 0x1
14221 + move-object/from16 v0, p0
14223 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14225 + const/4 v4, 0x1
14227 + const-string v5, "locationNetwork"
14229 + const/4 v6, 0x0
14231 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14232 + :try_end_144
14233 + .catchall {:try_start_d4 .. :try_end_144} :catchall_3e
14235 + goto/16 :goto_30
14237 + :pswitch_146
14238 + :try_start_146
14239 + new-instance v8, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
14241 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
14243 + move-result-object v1
14245 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14247 + move-result-wide v13
14249 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
14251 + move-result-object v1
14253 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14255 + move-result-wide v15
14257 + move-object/from16 v9, p0
14259 + move-object/from16 v10, p1
14261 + move-object/from16 v11, p2
14263 + move-object/from16 v12, p3
14265 + 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
14267 + invoke-virtual {v8}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->start()V
14268 + :try_end_166
14269 + .catchall {:try_start_146 .. :try_end_166} :catchall_3e
14270 + .catch Ljava/lang/NumberFormatException; {:try_start_146 .. :try_end_166} :catch_199
14272 + const/16 v18, 0x1
14274 + :goto_168
14275 + :try_start_168
14276 + move-object/from16 v0, p0
14278 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14280 + const/4 v4, 0x2
14282 + const-string v5, "locationNetwork"
14284 + new-instance v6, Ljava/lang/StringBuilder;
14286 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
14288 + const-string v8, "Lat: "
14290 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14292 + move-result-object v6
14294 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
14296 + move-result-object v8
14298 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14300 + move-result-object v6
14302 + const-string v8, " Lon: "
14304 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14306 + move-result-object v6
14308 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
14310 + move-result-object v8
14312 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14314 + move-result-object v6
14316 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14318 + move-result-object v6
14320 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14322 + goto/16 :goto_30
14324 + :catch_199
14325 + move-exception v17
14327 + const-string v1, "PrivacyLocationManager"
14329 + const-string/jumbo v4, "requestLocationUpdates: invalid coordinates"
14331 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
14332 + :try_end_1a2
14333 + .catchall {:try_start_168 .. :try_end_1a2} :catchall_3e
14335 + const/16 v18, 0x1
14337 + goto :goto_168
14339 + :pswitch_1a5
14340 + :try_start_1a5
14341 + new-instance v8, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
14343 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
14345 + move-result-object v1
14347 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14349 + move-result-wide v13
14351 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
14353 + move-result-object v1
14355 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14357 + move-result-wide v15
14359 + move-object/from16 v9, p0
14361 + move-object/from16 v10, p1
14363 + move-object/from16 v11, p2
14365 + move-object/from16 v12, p3
14367 + 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
14369 + invoke-virtual {v8}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->start()V
14370 + :try_end_1c5
14371 + .catchall {:try_start_1a5 .. :try_end_1c5} :catchall_3e
14372 + .catch Ljava/lang/NumberFormatException; {:try_start_1a5 .. :try_end_1c5} :catch_1f8
14374 + const/16 v18, 0x1
14376 + :goto_1c7
14377 + :try_start_1c7
14378 + move-object/from16 v0, p0
14380 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14382 + const/4 v4, 0x3
14384 + const-string v5, "locationNetwork"
14386 + new-instance v6, Ljava/lang/StringBuilder;
14388 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
14390 + const-string v8, "Lat: "
14392 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14394 + move-result-object v6
14396 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
14398 + move-result-object v8
14400 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14402 + move-result-object v6
14404 + const-string v8, " Lon: "
14406 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14408 + move-result-object v6
14410 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
14412 + move-result-object v8
14414 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14416 + move-result-object v6
14418 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14420 + move-result-object v6
14422 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14424 + goto/16 :goto_30
14426 + :catch_1f8
14427 + move-exception v17
14429 + const-string v1, "PrivacyLocationManager"
14431 + const-string/jumbo v4, "requestLocationUpdates: invalid coordinates"
14433 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
14435 + const/16 v18, 0x1
14437 + goto :goto_1c7
14439 + :cond_204
14440 + const-string/jumbo v1, "passive"
14442 + move-object/from16 v0, p1
14444 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
14446 + move-result v1
14448 + if-eqz v1, :cond_30
14450 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
14452 + move-result v1
14454 + if-nez v1, :cond_22a
14456 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
14458 + move-result v1
14460 + if-nez v1, :cond_22a
14462 + const/16 v18, 0x0
14464 + move-object/from16 v0, p0
14466 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14468 + const/4 v4, 0x0
14470 + const-string v5, "locationGPS"
14472 + const/4 v6, 0x0
14474 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14476 + goto/16 :goto_30
14478 + :cond_22a
14479 + const/16 v18, 0x1
14481 + move-object/from16 v0, p0
14483 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14485 + const/4 v4, 0x1
14487 + const-string v5, "locationGPS"
14489 + const/4 v6, 0x0
14491 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14493 + goto/16 :goto_30
14495 + :cond_239
14496 + const-string/jumbo v1, "network"
14498 + move-object/from16 v0, p1
14500 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
14502 + move-result v1
14504 + if-eqz v1, :cond_251
14506 + move-object/from16 v0, p0
14508 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14510 + const/4 v4, 0x0
14512 + const-string v5, "locationNetwork"
14514 + const/4 v6, 0x0
14516 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14518 + goto/16 :goto_30
14520 + :cond_251
14521 + move-object/from16 v0, p0
14523 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14525 + const/4 v4, 0x0
14527 + const-string v5, "locationGPS"
14529 + const/4 v6, 0x0
14531 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14532 + :try_end_25c
14533 + .catchall {:try_start_1c7 .. :try_end_25c} :catchall_3e
14535 + goto/16 :goto_30
14537 + :pswitch_data_25e
14538 + .packed-switch 0x0
14539 + :pswitch_32
14540 + :pswitch_41
14541 + :pswitch_54
14542 + :pswitch_b2
14543 + .end packed-switch
14545 + :pswitch_data_26a
14546 + .packed-switch 0x0
14547 + :pswitch_125
14548 + :pswitch_132
14549 + :pswitch_146
14550 + :pswitch_1a5
14551 + .end packed-switch
14552 +.end method
14555 +# virtual methods
14556 +.method public addNmeaListener(Landroid/location/GpsStatus$NmeaListener;)Z
14557 + .registers 10
14559 + const/4 v5, 0x0
14561 + const/4 v7, 0x0
14563 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
14565 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
14567 + move-result-object v1
14569 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
14571 + move-result v2
14573 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14575 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
14577 + move-result-object v6
14579 + if-eqz v6, :cond_24
14581 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
14583 + move-result v0
14585 + if-eqz v0, :cond_24
14587 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14589 + const/4 v3, 0x1
14591 + const-string v4, "locationGPS"
14593 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14595 + move v0, v7
14597 + :goto_23
14598 + return v0
14600 + :cond_24
14601 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14603 + const-string v4, "locationGPS"
14605 + move v3, v7
14607 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14609 + invoke-super {p0, p1}, Landroid/location/LocationManager;->addNmeaListener(Landroid/location/GpsStatus$NmeaListener;)Z
14611 + move-result v0
14613 + goto :goto_23
14614 +.end method
14616 +.method public getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
14617 + .registers 14
14619 + const/4 v11, 0x3
14621 + const/4 v10, 0x2
14623 + const/4 v8, 0x1
14625 + const/4 v3, 0x0
14627 + const/4 v5, 0x0
14629 + if-nez p1, :cond_c
14631 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
14633 + move-result-object v7
14635 + :cond_b
14636 + :goto_b
14637 + return-object v7
14639 + :cond_c
14640 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
14642 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
14644 + move-result-object v1
14646 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
14648 + move-result v2
14650 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14652 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
14654 + move-result-object v6
14656 + const/4 v7, 0x0
14658 + if-eqz v6, :cond_22c
14660 + const-string v0, "gps"
14662 + invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
14664 + move-result v0
14666 + if-eqz v0, :cond_ff
14668 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
14670 + move-result v0
14672 + packed-switch v0, :pswitch_data_29a
14674 + goto :goto_b
14676 + :pswitch_2f
14677 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
14679 + move-result-object v7
14681 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14683 + const-string v4, "locationGPS"
14685 + if-eqz v7, :cond_5e
14687 + new-instance v5, Ljava/lang/StringBuilder;
14689 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
14691 + const-string v8, "Lat: "
14693 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14695 + move-result-object v5
14697 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
14699 + move-result-wide v8
14701 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
14703 + move-result-object v5
14705 + const-string v8, " Lon: "
14707 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14709 + move-result-object v5
14711 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
14713 + move-result-wide v8
14715 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
14717 + move-result-object v5
14719 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14721 + move-result-object v5
14723 + :cond_5e
14724 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14726 + goto :goto_b
14728 + :pswitch_62
14729 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14731 + const-string v4, "locationGPS"
14733 + move v3, v8
14735 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14737 + goto :goto_b
14739 + :pswitch_6b
14740 + new-instance v7, Landroid/location/Location;
14742 + invoke-direct {v7, p1}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
14744 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
14746 + move-result-object v0
14748 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14750 + move-result-wide v3
14752 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLatitude(D)V
14754 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
14756 + move-result-object v0
14758 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14760 + move-result-wide v3
14762 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLongitude(D)V
14764 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14766 + const-string v4, "locationGPS"
14768 + new-instance v3, Ljava/lang/StringBuilder;
14770 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
14772 + const-string v5, "Lat: "
14774 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14776 + move-result-object v3
14778 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
14780 + move-result-wide v8
14782 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
14784 + move-result-object v3
14786 + const-string v5, " Lon: "
14788 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14790 + move-result-object v3
14792 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
14794 + move-result-wide v8
14796 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
14798 + move-result-object v3
14800 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14802 + move-result-object v5
14804 + move v3, v10
14806 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14808 + goto/16 :goto_b
14810 + :pswitch_b5
14811 + new-instance v7, Landroid/location/Location;
14813 + invoke-direct {v7, p1}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
14815 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
14817 + move-result-object v0
14819 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14821 + move-result-wide v3
14823 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLatitude(D)V
14825 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
14827 + move-result-object v0
14829 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14831 + move-result-wide v3
14833 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLongitude(D)V
14835 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14837 + const-string v4, "locationGPS"
14839 + new-instance v3, Ljava/lang/StringBuilder;
14841 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
14843 + const-string v5, "Lat: "
14845 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14847 + move-result-object v3
14849 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
14851 + move-result-wide v8
14853 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
14855 + move-result-object v3
14857 + const-string v5, " Lon: "
14859 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14861 + move-result-object v3
14863 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
14865 + move-result-wide v8
14867 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
14869 + move-result-object v3
14871 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14873 + move-result-object v5
14875 + move v3, v11
14877 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14879 + goto/16 :goto_b
14881 + :cond_ff
14882 + const-string/jumbo v0, "network"
14884 + invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
14886 + move-result v0
14888 + if-eqz v0, :cond_1e3
14890 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
14892 + move-result v0
14894 + packed-switch v0, :pswitch_data_2a6
14896 + goto/16 :goto_b
14898 + :pswitch_111
14899 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
14901 + move-result-object v7
14903 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14905 + const-string v4, "locationNetwork"
14907 + if-eqz v7, :cond_140
14909 + new-instance v5, Ljava/lang/StringBuilder;
14911 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
14913 + const-string v8, "Lat: "
14915 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14917 + move-result-object v5
14919 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
14921 + move-result-wide v8
14923 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
14925 + move-result-object v5
14927 + const-string v8, " Lon: "
14929 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14931 + move-result-object v5
14933 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
14935 + move-result-wide v8
14937 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
14939 + move-result-object v5
14941 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14943 + move-result-object v5
14945 + :cond_140
14946 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14948 + goto/16 :goto_b
14950 + :pswitch_145
14951 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14953 + const-string v4, "locationNetwork"
14955 + move v3, v8
14957 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14959 + goto/16 :goto_b
14961 + :pswitch_14f
14962 + new-instance v7, Landroid/location/Location;
14964 + invoke-direct {v7, p1}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
14966 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
14968 + move-result-object v0
14970 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14972 + move-result-wide v3
14974 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLatitude(D)V
14976 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
14978 + move-result-object v0
14980 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14982 + move-result-wide v3
14984 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLongitude(D)V
14986 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14988 + const-string v4, "locationNetwork"
14990 + new-instance v3, Ljava/lang/StringBuilder;
14992 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
14994 + const-string v5, "Lat: "
14996 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14998 + move-result-object v3
15000 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15002 + move-result-wide v8
15004 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15006 + move-result-object v3
15008 + const-string v5, " Lon: "
15010 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15012 + move-result-object v3
15014 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15016 + move-result-wide v8
15018 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15020 + move-result-object v3
15022 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15024 + move-result-object v5
15026 + move v3, v10
15028 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15030 + goto/16 :goto_b
15032 + :pswitch_199
15033 + new-instance v7, Landroid/location/Location;
15035 + invoke-direct {v7, p1}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
15037 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
15039 + move-result-object v0
15041 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
15043 + move-result-wide v3
15045 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLatitude(D)V
15047 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
15049 + move-result-object v0
15051 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
15053 + move-result-wide v3
15055 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLongitude(D)V
15057 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15059 + const-string v4, "locationNetwork"
15061 + new-instance v3, Ljava/lang/StringBuilder;
15063 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
15065 + const-string v5, "Lat: "
15067 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15069 + move-result-object v3
15071 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15073 + move-result-wide v8
15075 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15077 + move-result-object v3
15079 + const-string v5, " Lon: "
15081 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15083 + move-result-object v3
15085 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15087 + move-result-wide v8
15089 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15091 + move-result-object v3
15093 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15095 + move-result-object v5
15097 + move v3, v11
15099 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15101 + goto/16 :goto_b
15103 + :cond_1e3
15104 + const-string/jumbo v0, "passive"
15106 + invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15108 + move-result v0
15110 + if-eqz v0, :cond_b
15112 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
15114 + move-result v0
15116 + if-nez v0, :cond_b
15118 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15120 + move-result v0
15122 + if-nez v0, :cond_b
15124 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
15126 + move-result-object v7
15128 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15130 + const-string v4, "locationGPS"
15132 + if-eqz v7, :cond_227
15134 + new-instance v5, Ljava/lang/StringBuilder;
15136 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
15138 + const-string v8, "Lat: "
15140 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15142 + move-result-object v5
15144 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15146 + move-result-wide v8
15148 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15150 + move-result-object v5
15152 + const-string v8, " Lon: "
15154 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15156 + move-result-object v5
15158 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15160 + move-result-wide v8
15162 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15164 + move-result-object v5
15166 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15168 + move-result-object v5
15170 + :cond_227
15171 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15173 + goto/16 :goto_b
15175 + :cond_22c
15176 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
15178 + move-result-object v7
15180 + const-string/jumbo v0, "network"
15182 + invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15184 + move-result v0
15186 + if-eqz v0, :cond_269
15188 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15190 + const-string v4, "locationNetwork"
15192 + if-eqz v7, :cond_264
15194 + new-instance v5, Ljava/lang/StringBuilder;
15196 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
15198 + const-string v8, "Lat: "
15200 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15202 + move-result-object v5
15204 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15206 + move-result-wide v8
15208 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15210 + move-result-object v5
15212 + const-string v8, " Lon: "
15214 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15216 + move-result-object v5
15218 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15220 + move-result-wide v8
15222 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15224 + move-result-object v5
15226 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15228 + move-result-object v5
15230 + :cond_264
15231 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15233 + goto/16 :goto_b
15235 + :cond_269
15236 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15238 + const-string v4, "locationGPS"
15240 + if-eqz v7, :cond_294
15242 + new-instance v5, Ljava/lang/StringBuilder;
15244 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
15246 + const-string v8, "Lat: "
15248 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15250 + move-result-object v5
15252 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15254 + move-result-wide v8
15256 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15258 + move-result-object v5
15260 + const-string v8, " Lon: "
15262 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15264 + move-result-object v5
15266 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15268 + move-result-wide v8
15270 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15272 + move-result-object v5
15274 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15276 + move-result-object v5
15278 + :cond_294
15279 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15281 + goto/16 :goto_b
15283 + nop
15285 + :pswitch_data_29a
15286 + .packed-switch 0x0
15287 + :pswitch_2f
15288 + :pswitch_62
15289 + :pswitch_6b
15290 + :pswitch_b5
15291 + .end packed-switch
15293 + :pswitch_data_2a6
15294 + .packed-switch 0x0
15295 + :pswitch_111
15296 + :pswitch_145
15297 + :pswitch_14f
15298 + :pswitch_199
15299 + .end packed-switch
15300 +.end method
15302 +.method public getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15303 + .registers 7
15305 + if-nez p1, :cond_7
15307 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15309 + move-result-object v0
15311 + :cond_6
15312 + :goto_6
15313 + return-object v0
15315 + :cond_7
15316 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15318 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
15320 + invoke-virtual {v3}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
15322 + move-result-object v3
15324 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
15326 + move-result v4
15328 + invoke-virtual {v2, v3, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
15330 + move-result-object v1
15332 + const/4 v0, 0x0
15334 + if-eqz v1, :cond_5f
15336 + const-string v2, "gps"
15338 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15340 + move-result v2
15342 + if-eqz v2, :cond_2f
15344 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
15346 + move-result v2
15348 + packed-switch v2, :pswitch_data_64
15350 + :pswitch_29
15351 + goto :goto_6
15353 + :pswitch_2a
15354 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15356 + move-result-object v0
15358 + goto :goto_6
15360 + :cond_2f
15361 + const-string/jumbo v2, "network"
15363 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15365 + move-result v2
15367 + if-eqz v2, :cond_45
15369 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15371 + move-result v2
15373 + packed-switch v2, :pswitch_data_70
15375 + :pswitch_3f
15376 + goto :goto_6
15378 + :pswitch_40
15379 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15381 + move-result-object v0
15383 + goto :goto_6
15385 + :cond_45
15386 + const-string/jumbo v2, "passive"
15388 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15390 + move-result v2
15392 + if-eqz v2, :cond_6
15394 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
15396 + move-result v2
15398 + if-eqz v2, :cond_5a
15400 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15402 + move-result v2
15404 + if-nez v2, :cond_6
15406 + :cond_5a
15407 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15409 + move-result-object v0
15411 + goto :goto_6
15413 + :cond_5f
15414 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15416 + move-result-object v0
15418 + goto :goto_6
15420 + :pswitch_data_64
15421 + .packed-switch 0x0
15422 + :pswitch_2a
15423 + :pswitch_29
15424 + :pswitch_2a
15425 + :pswitch_2a
15426 + .end packed-switch
15428 + :pswitch_data_70
15429 + .packed-switch 0x0
15430 + :pswitch_40
15431 + :pswitch_3f
15432 + :pswitch_40
15433 + :pswitch_40
15434 + .end packed-switch
15435 +.end method
15437 +.method public isProviderEnabled(Ljava/lang/String;)Z
15438 + .registers 7
15440 + if-nez p1, :cond_7
15442 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
15444 + move-result v0
15446 + :cond_6
15447 + :goto_6
15448 + :pswitch_6
15449 + return v0
15451 + :cond_7
15452 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15454 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
15456 + invoke-virtual {v3}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
15458 + move-result-object v3
15460 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
15462 + move-result v4
15464 + invoke-virtual {v2, v3, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
15466 + move-result-object v1
15468 + const/4 v0, 0x0
15470 + if-eqz v1, :cond_65
15472 + const-string v2, "gps"
15474 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15476 + move-result v2
15478 + if-eqz v2, :cond_31
15480 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
15482 + move-result v2
15484 + packed-switch v2, :pswitch_data_6a
15486 + goto :goto_6
15488 + :pswitch_2a
15489 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
15491 + move-result v0
15493 + goto :goto_6
15495 + :pswitch_2f
15496 + const/4 v0, 0x1
15498 + goto :goto_6
15500 + :cond_31
15501 + const-string/jumbo v2, "network"
15503 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15505 + move-result v2
15507 + if-eqz v2, :cond_49
15509 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15511 + move-result v2
15513 + packed-switch v2, :pswitch_data_76
15515 + goto :goto_6
15517 + :pswitch_42
15518 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
15520 + move-result v0
15522 + goto :goto_6
15524 + :pswitch_47
15525 + const/4 v0, 0x1
15527 + goto :goto_6
15529 + :cond_49
15530 + const-string/jumbo v2, "passive"
15532 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15534 + move-result v2
15536 + if-eqz v2, :cond_6
15538 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
15540 + move-result v2
15542 + if-eqz v2, :cond_5e
15544 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15546 + move-result v2
15548 + if-nez v2, :cond_63
15550 + :cond_5e
15551 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
15553 + move-result v0
15555 + goto :goto_6
15557 + :cond_63
15558 + const/4 v0, 0x0
15560 + goto :goto_6
15562 + :cond_65
15563 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
15565 + move-result v0
15567 + goto :goto_6
15569 + :pswitch_data_6a
15570 + .packed-switch 0x0
15571 + :pswitch_2a
15572 + :pswitch_6
15573 + :pswitch_2f
15574 + :pswitch_2f
15575 + .end packed-switch
15577 + :pswitch_data_76
15578 + .packed-switch 0x0
15579 + :pswitch_42
15580 + :pswitch_6
15581 + :pswitch_47
15582 + :pswitch_47
15583 + .end packed-switch
15584 +.end method
15586 +.method public requestLocationUpdates(JFLandroid/location/Criteria;Landroid/app/PendingIntent;)V
15587 + .registers 7
15589 + if-eqz p4, :cond_4
15591 + if-nez p5, :cond_8
15593 + :cond_4
15594 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/app/PendingIntent;)V
15596 + :cond_7
15597 + :goto_7
15598 + return-void
15600 + :cond_8
15601 + const/4 v0, 0x0
15603 + invoke-direct {p0, p4, v0, p5}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15605 + move-result v0
15607 + if-nez v0, :cond_7
15609 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/app/PendingIntent;)V
15611 + goto :goto_7
15612 +.end method
15614 +.method public requestLocationUpdates(JFLandroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
15615 + .registers 8
15617 + if-eqz p4, :cond_4
15619 + if-nez p5, :cond_8
15621 + :cond_4
15622 + invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
15624 + :cond_7
15625 + :goto_7
15626 + return-void
15628 + :cond_8
15629 + const/4 v0, 0x0
15631 + invoke-direct {p0, p4, p5, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15633 + move-result v0
15635 + if-nez v0, :cond_7
15637 + invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
15639 + goto :goto_7
15640 +.end method
15642 +.method public requestLocationUpdates(Ljava/lang/String;JFLandroid/app/PendingIntent;)V
15643 + .registers 7
15645 + if-eqz p1, :cond_4
15647 + if-nez p5, :cond_8
15649 + :cond_4
15650 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/app/PendingIntent;)V
15652 + :cond_7
15653 + :goto_7
15654 + return-void
15656 + :cond_8
15657 + const/4 v0, 0x0
15659 + invoke-direct {p0, p1, v0, p5}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15661 + move-result v0
15663 + if-nez v0, :cond_7
15665 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/app/PendingIntent;)V
15667 + goto :goto_7
15668 +.end method
15670 +.method public requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;)V
15671 + .registers 7
15673 + if-eqz p1, :cond_4
15675 + if-nez p5, :cond_8
15677 + :cond_4
15678 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;)V
15680 + :cond_7
15681 + :goto_7
15682 + return-void
15684 + :cond_8
15685 + const/4 v0, 0x0
15687 + invoke-direct {p0, p1, p5, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15689 + move-result v0
15691 + if-nez v0, :cond_7
15693 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;)V
15695 + goto :goto_7
15696 +.end method
15698 +.method public requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;Landroid/os/Looper;)V
15699 + .registers 8
15701 + if-eqz p1, :cond_4
15703 + if-nez p5, :cond_8
15705 + :cond_4
15706 + invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;Landroid/os/Looper;)V
15708 + :cond_7
15709 + :goto_7
15710 + return-void
15712 + :cond_8
15713 + const/4 v0, 0x0
15715 + invoke-direct {p0, p1, p5, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15717 + move-result v0
15719 + if-nez v0, :cond_7
15721 + invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;Landroid/os/Looper;)V
15723 + goto :goto_7
15724 +.end method
15726 +.method public requestSingleUpdate(Landroid/location/Criteria;Landroid/app/PendingIntent;)V
15727 + .registers 4
15729 + if-eqz p1, :cond_4
15731 + if-nez p2, :cond_8
15733 + :cond_4
15734 + invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/app/PendingIntent;)V
15736 + :cond_7
15737 + :goto_7
15738 + return-void
15740 + :cond_8
15741 + const/4 v0, 0x0
15743 + invoke-direct {p0, p1, v0, p2}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15745 + move-result v0
15747 + if-nez v0, :cond_7
15749 + invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/app/PendingIntent;)V
15751 + goto :goto_7
15752 +.end method
15754 +.method public requestSingleUpdate(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
15755 + .registers 5
15757 + if-eqz p1, :cond_4
15759 + if-nez p2, :cond_8
15761 + :cond_4
15762 + invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
15764 + :cond_7
15765 + :goto_7
15766 + return-void
15768 + :cond_8
15769 + const/4 v0, 0x0
15771 + invoke-direct {p0, p1, p2, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15773 + move-result v0
15775 + if-nez v0, :cond_7
15777 + invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
15779 + goto :goto_7
15780 +.end method
15782 +.method public requestSingleUpdate(Ljava/lang/String;Landroid/app/PendingIntent;)V
15783 + .registers 4
15785 + if-eqz p1, :cond_4
15787 + if-nez p2, :cond_8
15789 + :cond_4
15790 + invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/app/PendingIntent;)V
15792 + :cond_7
15793 + :goto_7
15794 + return-void
15796 + :cond_8
15797 + const/4 v0, 0x0
15799 + invoke-direct {p0, p1, v0, p2}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15801 + move-result v0
15803 + if-nez v0, :cond_7
15805 + invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/app/PendingIntent;)V
15807 + goto :goto_7
15808 +.end method
15810 +.method public requestSingleUpdate(Ljava/lang/String;Landroid/location/LocationListener;Landroid/os/Looper;)V
15811 + .registers 5
15813 + if-eqz p1, :cond_4
15815 + if-nez p2, :cond_8
15817 + :cond_4
15818 + invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/location/LocationListener;Landroid/os/Looper;)V
15820 + :cond_7
15821 + :goto_7
15822 + return-void
15824 + :cond_8
15825 + const/4 v0, 0x0
15827 + invoke-direct {p0, p1, p2, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15829 + move-result v0
15831 + if-nez v0, :cond_7
15833 + invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/location/LocationListener;Landroid/os/Looper;)V
15835 + goto :goto_7
15836 +.end method
15837 diff -Npru -x '*RIL*' pdroid-framework/smali/android/privacy/surrogate/PrivacyTelephonyManager.smali stock-framework/smali/android/privacy/surrogate/PrivacyTelephonyManager.smali
15838 --- pdroid-framework/smali/android/privacy/surrogate/PrivacyTelephonyManager.smali 1969-12-31 18:00:00.000000000 -0600
15839 +++ stock-framework/smali/android/privacy/surrogate/PrivacyTelephonyManager.smali 2012-10-13 14:14:43.434155791 -0500
15840 @@ -0,0 +1,731 @@
15841 +.class public final Landroid/privacy/surrogate/PrivacyTelephonyManager;
15842 +.super Landroid/telephony/TelephonyManager;
15843 +.source "PrivacyTelephonyManager.java"
15846 +# static fields
15847 +.field private static final TAG:Ljava/lang/String; = "PrivacyTelephonyManager"
15850 +# instance fields
15851 +.field private context:Landroid/content/Context;
15853 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
15856 +# direct methods
15857 +.method public constructor <init>(Landroid/content/Context;)V
15858 + .registers 4
15860 + invoke-direct {p0, p1}, Landroid/telephony/TelephonyManager;-><init>(Landroid/content/Context;)V
15862 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
15864 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
15866 + const-string/jumbo v1, "privacy"
15868 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
15870 + move-result-object v1
15872 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
15874 + move-result-object v1
15876 + invoke-direct {v0, p1, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
15878 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15880 + return-void
15881 +.end method
15883 +.method private getNetworkInfo()Ljava/lang/String;
15884 + .registers 8
15886 + const/4 v5, 0x0
15888 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
15890 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
15892 + move-result-object v1
15894 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
15896 + move-result v2
15898 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15900 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
15902 + move-result-object v6
15904 + if-eqz v6, :cond_25
15906 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
15908 + move-result v0
15910 + if-eqz v0, :cond_25
15912 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15914 + const/4 v3, 0x1
15916 + const-string/jumbo v4, "networkInfoCurrent"
15918 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15920 + const-string v5, ""
15922 + :goto_24
15923 + return-object v5
15925 + :cond_25
15926 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15928 + const/4 v3, 0x0
15930 + const-string/jumbo v4, "networkInfoCurrent"
15932 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15934 + goto :goto_24
15935 +.end method
15937 +.method private getSimInfo()Ljava/lang/String;
15938 + .registers 8
15940 + const/4 v5, 0x0
15942 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
15944 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
15946 + move-result-object v1
15948 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
15950 + move-result v2
15952 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15954 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
15956 + move-result-object v6
15958 + if-eqz v6, :cond_25
15960 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSimInfoSetting()B
15962 + move-result v0
15964 + if-eqz v0, :cond_25
15966 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15968 + const/4 v3, 0x1
15970 + const-string/jumbo v4, "networkInfoSIM"
15972 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15974 + const-string v5, ""
15976 + :goto_24
15977 + return-object v5
15979 + :cond_25
15980 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15982 + const/4 v3, 0x0
15984 + const-string/jumbo v4, "networkInfoSIM"
15986 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15988 + goto :goto_24
15989 +.end method
15992 +# virtual methods
15993 +.method public getDeviceId()Ljava/lang/String;
15994 + .registers 8
15996 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
15998 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16000 + move-result-object v1
16002 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16004 + move-result v2
16006 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16008 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16010 + move-result-object v6
16012 + if-eqz v6, :cond_28
16014 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
16016 + move-result v0
16018 + if-eqz v0, :cond_28
16020 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceId()Ljava/lang/String;
16022 + move-result-object v5
16024 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16026 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
16028 + move-result v3
16030 + const-string v4, "deviceID"
16032 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16034 + :goto_27
16035 + return-object v5
16037 + :cond_28
16038 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getDeviceId()Ljava/lang/String;
16040 + move-result-object v5
16042 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16044 + const/4 v3, 0x0
16046 + const-string v4, "deviceID"
16048 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16050 + goto :goto_27
16051 +.end method
16053 +.method public getLine1Number()Ljava/lang/String;
16054 + .registers 8
16056 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16058 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16060 + move-result-object v1
16062 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16064 + move-result v2
16066 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16068 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16070 + move-result-object v6
16072 + if-eqz v6, :cond_28
16074 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
16076 + move-result v0
16078 + if-eqz v0, :cond_28
16080 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1Number()Ljava/lang/String;
16082 + move-result-object v5
16084 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16086 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
16088 + move-result v3
16090 + const-string v4, "line1Number"
16092 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16094 + :goto_27
16095 + return-object v5
16097 + :cond_28
16098 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getLine1Number()Ljava/lang/String;
16100 + move-result-object v5
16102 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16104 + const/4 v3, 0x0
16106 + const-string v4, "line1Number"
16108 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16110 + goto :goto_27
16111 +.end method
16113 +.method public getNeighboringCellInfo()Ljava/util/List;
16114 + .registers 10
16115 + .annotation system Ldalvik/annotation/Signature;
16116 + value = {
16117 + "()",
16118 + "Ljava/util/List",
16119 + "<",
16120 + "Landroid/telephony/NeighboringCellInfo;",
16121 + ">;"
16123 + .end annotation
16125 + iget-object v6, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16127 + iget-object v7, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16129 + invoke-virtual {v7}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16131 + move-result-object v7
16133 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16135 + move-result v8
16137 + invoke-virtual {v6, v7, v8}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16139 + move-result-object v5
16141 + const/4 v3, 0x0
16143 + const-string v4, "[null]"
16145 + if-eqz v5, :cond_1c
16147 + invoke-virtual {v5}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
16149 + move-result v6
16151 + const/4 v7, 0x1
16153 + if-ne v6, v7, :cond_1d
16155 + :cond_1c
16156 + :goto_1c
16157 + return-object v3
16159 + :cond_1d
16160 + invoke-virtual {v5}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
16162 + move-result v6
16164 + if-eqz v6, :cond_2b
16166 + new-instance v3, Ljava/util/ArrayList;
16168 + invoke-direct {v3}, Ljava/util/ArrayList;-><init>()V
16170 + const-string v4, "[empty list of cells]"
16172 + goto :goto_1c
16174 + :cond_2b
16175 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNeighboringCellInfo()Ljava/util/List;
16177 + move-result-object v3
16179 + const-string v0, ""
16181 + invoke-interface {v3}, Ljava/util/List;->iterator()Ljava/util/Iterator;
16183 + move-result-object v2
16185 + :goto_35
16186 + invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z
16188 + move-result v6
16190 + if-eqz v6, :cond_5f
16192 + invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
16194 + move-result-object v1
16196 + check-cast v1, Landroid/telephony/NeighboringCellInfo;
16198 + new-instance v6, Ljava/lang/StringBuilder;
16200 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
16202 + invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16204 + move-result-object v6
16206 + const-string v7, "\t"
16208 + invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16210 + move-result-object v6
16212 + invoke-virtual {v6, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
16214 + move-result-object v6
16216 + const-string v7, "\n"
16218 + invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16220 + move-result-object v6
16222 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
16224 + move-result-object v0
16226 + goto :goto_35
16228 + :cond_5f
16229 + new-instance v6, Ljava/lang/StringBuilder;
16231 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
16233 + const-string v7, "[real value]:\n"
16235 + invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16237 + move-result-object v6
16239 + invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16241 + move-result-object v6
16243 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
16245 + move-result-object v4
16247 + goto :goto_1c
16248 +.end method
16250 +.method public getNetworkCountryIso()Ljava/lang/String;
16251 + .registers 2
16253 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getNetworkInfo()Ljava/lang/String;
16255 + move-result-object v0
16257 + if-nez v0, :cond_a
16259 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNetworkCountryIso()Ljava/lang/String;
16261 + move-result-object v0
16263 + :cond_a
16264 + return-object v0
16265 +.end method
16267 +.method public getNetworkOperator()Ljava/lang/String;
16268 + .registers 2
16270 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getNetworkInfo()Ljava/lang/String;
16272 + move-result-object v0
16274 + if-nez v0, :cond_a
16276 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNetworkOperator()Ljava/lang/String;
16278 + move-result-object v0
16280 + :cond_a
16281 + return-object v0
16282 +.end method
16284 +.method public getNetworkOperatorName()Ljava/lang/String;
16285 + .registers 2
16287 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getNetworkInfo()Ljava/lang/String;
16289 + move-result-object v0
16291 + if-nez v0, :cond_a
16293 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNetworkOperatorName()Ljava/lang/String;
16295 + move-result-object v0
16297 + :cond_a
16298 + return-object v0
16299 +.end method
16301 +.method public getSimCountryIso()Ljava/lang/String;
16302 + .registers 2
16304 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getSimInfo()Ljava/lang/String;
16306 + move-result-object v0
16308 + if-nez v0, :cond_a
16310 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSimCountryIso()Ljava/lang/String;
16312 + move-result-object v0
16314 + :cond_a
16315 + return-object v0
16316 +.end method
16318 +.method public getSimOperator()Ljava/lang/String;
16319 + .registers 2
16321 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getSimInfo()Ljava/lang/String;
16323 + move-result-object v0
16325 + if-nez v0, :cond_a
16327 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSimOperator()Ljava/lang/String;
16329 + move-result-object v0
16331 + :cond_a
16332 + return-object v0
16333 +.end method
16335 +.method public getSimOperatorName()Ljava/lang/String;
16336 + .registers 2
16338 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getSimInfo()Ljava/lang/String;
16340 + move-result-object v0
16342 + if-nez v0, :cond_a
16344 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSimOperatorName()Ljava/lang/String;
16346 + move-result-object v0
16348 + :cond_a
16349 + return-object v0
16350 +.end method
16352 +.method public getSimSerialNumber()Ljava/lang/String;
16353 + .registers 8
16355 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16357 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16359 + move-result-object v1
16361 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16363 + move-result v2
16365 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16367 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16369 + move-result-object v6
16371 + if-eqz v6, :cond_29
16373 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSimSerialNumberSetting()B
16375 + move-result v0
16377 + if-eqz v0, :cond_29
16379 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSimSerialNumber()Ljava/lang/String;
16381 + move-result-object v5
16383 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16385 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSimSerialNumberSetting()B
16387 + move-result v3
16389 + const-string/jumbo v4, "simSerial"
16391 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16393 + :goto_28
16394 + return-object v5
16396 + :cond_29
16397 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSimSerialNumber()Ljava/lang/String;
16399 + move-result-object v5
16401 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16403 + const/4 v3, 0x0
16405 + const-string/jumbo v4, "simSerial"
16407 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16409 + goto :goto_28
16410 +.end method
16412 +.method public getSubscriberId()Ljava/lang/String;
16413 + .registers 8
16415 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16417 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16419 + move-result-object v1
16421 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16423 + move-result v2
16425 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16427 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16429 + move-result-object v6
16431 + if-eqz v6, :cond_29
16433 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberIdSetting()B
16435 + move-result v0
16437 + if-eqz v0, :cond_29
16439 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberId()Ljava/lang/String;
16441 + move-result-object v5
16443 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16445 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberIdSetting()B
16447 + move-result v3
16449 + const-string/jumbo v4, "subscriberID"
16451 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16453 + :goto_28
16454 + return-object v5
16456 + :cond_29
16457 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSubscriberId()Ljava/lang/String;
16459 + move-result-object v5
16461 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16463 + const/4 v3, 0x0
16465 + const-string/jumbo v4, "subscriberID"
16467 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16469 + goto :goto_28
16470 +.end method
16472 +.method public getVoiceMailNumber()Ljava/lang/String;
16473 + .registers 8
16475 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16477 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16479 + move-result-object v1
16481 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16483 + move-result v2
16485 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16487 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16489 + move-result-object v6
16491 + if-eqz v6, :cond_28
16493 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
16495 + move-result v0
16497 + if-eqz v0, :cond_28
16499 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1Number()Ljava/lang/String;
16501 + move-result-object v5
16503 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16505 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
16507 + move-result v3
16509 + const-string v4, "line1Number"
16511 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16513 + :goto_27
16514 + return-object v5
16516 + :cond_28
16517 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getVoiceMailNumber()Ljava/lang/String;
16519 + move-result-object v5
16521 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16523 + const/4 v3, 0x0
16525 + const-string v4, "line1Number"
16527 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16529 + goto :goto_27
16530 +.end method
16532 +.method public listen(Landroid/telephony/PhoneStateListener;I)V
16533 + .registers 4
16535 + and-int/lit8 v0, p2, 0x10
16537 + if-nez v0, :cond_8
16539 + and-int/lit8 v0, p2, 0x20
16541 + if-eqz v0, :cond_21
16543 + :cond_8
16544 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16546 + invoke-virtual {p1, v0}, Landroid/telephony/PhoneStateListener;->setContext(Landroid/content/Context;)V
16548 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16550 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16552 + move-result-object v0
16554 + invoke-virtual {p1, v0}, Landroid/telephony/PhoneStateListener;->setPackageName(Ljava/lang/String;)V
16556 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16558 + move-result v0
16560 + invoke-virtual {p1, v0}, Landroid/telephony/PhoneStateListener;->setUid(I)V
16562 + invoke-super {p0, p1, p2}, Landroid/telephony/TelephonyManager;->listen(Landroid/telephony/PhoneStateListener;I)V
16564 + :goto_20
16565 + return-void
16567 + :cond_21
16568 + invoke-super {p0, p1, p2}, Landroid/telephony/TelephonyManager;->listen(Landroid/telephony/PhoneStateListener;I)V
16570 + goto :goto_20
16571 +.end method
16572 diff -Npru -x '*RIL*' pdroid-framework/smali/android/telephony/PhoneStateListener$1.smali stock-framework/smali/android/telephony/PhoneStateListener$1.smali
16573 --- pdroid-framework/smali/android/telephony/PhoneStateListener$1.smali 2012-10-13 14:14:08.989984996 -0500
16574 +++ stock-framework/smali/android/telephony/PhoneStateListener$1.smali 2012-10-13 14:14:45.726167162 -0500
16575 @@ -64,23 +64,196 @@
16576 .end method
16578 .method public onCallStateChanged(ILjava/lang/String;)V
16579 - .registers 6
16580 + .registers 19
16582 - iget-object v0, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16583 + move-object/from16 v0, p0
16585 - iget-object v0, v0, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
16586 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16588 - const/16 v1, 0x20
16589 + #getter for: Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
16590 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
16592 - const/4 v2, 0x0
16593 + move-result-object v3
16595 - invoke-static {v0, v1, p1, v2, p2}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
16596 + if-eqz v3, :cond_99
16598 - move-result-object v0
16599 + if-eqz p2, :cond_99
16601 - invoke-virtual {v0}, Landroid/os/Message;->sendToTarget()V
16602 + invoke-virtual/range {p2 .. p2}, Ljava/lang/String;->isEmpty()Z
16604 + move-result v3
16606 + if-nez v3, :cond_99
16608 + move-object/from16 v0, p0
16610 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16612 + #getter for: Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
16613 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
16615 + move-result-object v3
16617 + const-string/jumbo v4, "privacy"
16619 + invoke-virtual {v3, v4}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
16621 + move-result-object v2
16623 + check-cast v2, Landroid/privacy/PrivacySettingsManager;
16625 + move-object/from16 v0, p0
16627 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16629 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
16630 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
16632 + move-result-object v3
16634 + move-object/from16 v0, p0
16636 + iget-object v4, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16638 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
16639 + invoke-static {v4}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
16641 + move-result v4
16643 + invoke-virtual {v2, v3, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16645 + move-result-object v8
16647 + if-eqz v8, :cond_6a
16649 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getIncomingCallsSetting()B
16651 + move-result v3
16653 + if-eqz v3, :cond_6a
16655 + const-string v7, ""
16657 + move-object/from16 v0, p0
16659 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16661 + iget-object v3, v3, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
16663 + const/16 v4, 0x20
16665 + const/4 v5, 0x0
16667 + move/from16 v0, p1
16669 + invoke-static {v3, v4, v0, v5, v7}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
16671 + move-result-object v3
16673 + invoke-virtual {v3}, Landroid/os/Message;->sendToTarget()V
16675 + move-object/from16 v0, p0
16677 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16679 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
16680 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
16682 + move-result-object v3
16684 + move-object/from16 v0, p0
16686 + iget-object v4, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16688 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
16689 + invoke-static {v4}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
16691 + move-result v4
16693 + const/4 v5, 0x1
16695 + const-string v6, "incomingCall"
16697 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16699 + :goto_69
16700 return-void
16702 + :cond_6a
16703 + move-object/from16 v0, p0
16705 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16707 + iget-object v3, v3, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
16709 + const/16 v4, 0x20
16711 + const/4 v5, 0x0
16713 + move/from16 v0, p1
16715 + move-object/from16 v1, p2
16717 + invoke-static {v3, v4, v0, v5, v1}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
16719 + move-result-object v3
16721 + invoke-virtual {v3}, Landroid/os/Message;->sendToTarget()V
16723 + move-object/from16 v0, p0
16725 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16727 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
16728 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
16730 + move-result-object v10
16732 + move-object/from16 v0, p0
16734 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16736 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
16737 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
16739 + move-result v11
16741 + const/4 v12, 0x0
16743 + const-string v13, "incomingCall"
16745 + move-object v9, v2
16747 + move-object/from16 v14, p2
16749 + move-object v15, v8
16751 + invoke-virtual/range {v9 .. v15}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16753 + goto :goto_69
16755 + :cond_99
16756 + move-object/from16 v0, p0
16758 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16760 + iget-object v3, v3, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
16762 + const/16 v4, 0x20
16764 + const/4 v5, 0x0
16766 + move/from16 v0, p1
16768 + move-object/from16 v1, p2
16770 + invoke-static {v3, v4, v0, v5, v1}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
16772 + move-result-object v3
16774 + invoke-virtual {v3}, Landroid/os/Message;->sendToTarget()V
16776 + goto :goto_69
16777 .end method
16779 .method public onCellInfoChanged(Landroid/telephony/CellInfo;)V
16780 @@ -104,27 +277,124 @@
16781 .end method
16783 .method public onCellLocationChanged(Landroid/os/Bundle;)V
16784 - .registers 6
16785 + .registers 10
16787 + const/4 v5, 0x0
16789 const/4 v3, 0x0
16791 invoke-static {p1}, Landroid/telephony/CellLocation;->newFromBundle(Landroid/os/Bundle;)Landroid/telephony/CellLocation;
16793 + move-result-object v7
16795 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16797 + #getter for: Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
16798 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
16800 + move-result-object v1
16802 + if-eqz v1, :cond_4a
16804 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16806 + #getter for: Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
16807 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
16809 + move-result-object v1
16811 + const-string/jumbo v2, "privacy"
16813 + invoke-virtual {v1, v2}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
16815 move-result-object v0
16817 + check-cast v0, Landroid/privacy/PrivacySettingsManager;
16819 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16821 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
16822 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
16824 + move-result-object v1
16826 + iget-object v2, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16828 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
16829 + invoke-static {v2}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
16831 + move-result v2
16833 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16835 + move-result-object v6
16837 + if-eqz v6, :cond_4b
16839 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
16841 + move-result v1
16843 + if-eqz v1, :cond_4b
16845 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16847 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
16848 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
16850 + move-result-object v1
16852 + iget-object v2, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16854 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
16855 + invoke-static {v2}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
16857 + move-result v2
16859 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
16861 + move-result v3
16863 + const-string v4, "locationNetwork"
16865 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16867 + :cond_4a
16868 + :goto_4a
16869 + return-void
16871 + :cond_4b
16872 iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16874 iget-object v1, v1, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
16876 const/16 v2, 0x10
16878 - invoke-static {v1, v2, v3, v3, v0}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
16879 + invoke-static {v1, v2, v3, v3, v7}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
16881 move-result-object v1
16883 invoke-virtual {v1}, Landroid/os/Message;->sendToTarget()V
16885 - return-void
16886 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16888 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
16889 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
16891 + move-result-object v1
16893 + iget-object v2, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16895 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
16896 + invoke-static {v2}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
16898 + move-result v2
16900 + const-string v4, "locationNetwork"
16902 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16904 + goto :goto_4a
16905 .end method
16907 .method public onDataActivity(I)V
16908 diff -Npru -x '*RIL*' pdroid-framework/smali/android/telephony/PhoneStateListener.smali stock-framework/smali/android/telephony/PhoneStateListener.smali
16909 --- pdroid-framework/smali/android/telephony/PhoneStateListener.smali 2012-10-13 14:14:06.305971688 -0500
16910 +++ stock-framework/smali/android/telephony/PhoneStateListener.smali 2012-10-13 14:14:40.642141944 -0500
16911 @@ -31,12 +31,20 @@
16913 .field public static final LISTEN_SIGNAL_STRENGTHS:I = 0x100
16915 +.field private static final TAG:Ljava/lang/String; = "PhoneStateListener"
16918 # instance fields
16919 .field callback:Lcom/android/internal/telephony/IPhoneStateListener;
16921 +.field private context:Landroid/content/Context;
16923 .field mHandler:Landroid/os/Handler;
16925 +.field private packageName:Ljava/lang/String;
16927 +.field private uid:I
16930 # direct methods
16931 .method public constructor <init>()V
16932 @@ -59,6 +67,30 @@
16933 return-void
16934 .end method
16936 +.method static synthetic access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
16937 + .registers 2
16939 + iget-object v0, p0, Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
16941 + return-object v0
16942 +.end method
16944 +.method static synthetic access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
16945 + .registers 2
16947 + iget-object v0, p0, Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
16949 + return-object v0
16950 +.end method
16952 +.method static synthetic access$200(Landroid/telephony/PhoneStateListener;)I
16953 + .registers 2
16955 + iget v0, p0, Landroid/telephony/PhoneStateListener;->uid:I
16957 + return v0
16958 +.end method
16961 # virtual methods
16962 .method public onCallForwardingIndicatorChanged(Z)V
16963 @@ -134,3 +166,27 @@
16965 return-void
16966 .end method
16968 +.method public setContext(Landroid/content/Context;)V
16969 + .registers 2
16971 + iput-object p1, p0, Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
16973 + return-void
16974 +.end method
16976 +.method public setPackageName(Ljava/lang/String;)V
16977 + .registers 2
16979 + iput-object p1, p0, Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
16981 + return-void
16982 +.end method
16984 +.method public setUid(I)V
16985 + .registers 2
16987 + iput p1, p0, Landroid/telephony/PhoneStateListener;->uid:I
16989 + return-void
16990 +.end method