Fixed pdroid security hole (ported from OpenPDroid)
[auto-patcher.git] / patches / pdroid / 4.1 / aokp / 20120823 / framework.patch
blobbdde99e9304a58e85d4c328b2afa9ce604cbca00
1 diff -Npru stock-framework/smali/android/app/ContextImpl$20.smali pdroid-framework/smali/android/app/ContextImpl$20.smali
2 --- stock-framework/smali/android/app/ContextImpl$20.smali 2012-08-22 21:52:30.695601664 -0500
3 +++ pdroid-framework/smali/android/app/ContextImpl$20.smali 2012-08-22 21:52:50.795701339 -0500
4 @@ -26,21 +26,25 @@
6 # virtual methods
7 .method public createStaticService()Ljava/lang/Object;
8 - .registers 4
9 + .registers 5
11 - const-string v1, "location"
12 + const-string v2, "location"
14 - invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
15 + invoke-static {v2}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
17 move-result-object v0
19 - new-instance v1, Landroid/location/LocationManager;
21 invoke-static {v0}, Landroid/location/ILocationManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/location/ILocationManager;
23 - move-result-object v2
24 + move-result-object v1
26 + new-instance v2, Landroid/privacy/surrogate/PrivacyLocationManager;
28 + invoke-static {}, Landroid/app/ContextImpl;->getStaticOuterContext()Landroid/content/Context;
30 + move-result-object v3
32 - invoke-direct {v1, v2}, Landroid/location/LocationManager;-><init>(Landroid/location/ILocationManager;)V
33 + invoke-direct {v2, v1, v3}, Landroid/privacy/surrogate/PrivacyLocationManager;-><init>(Landroid/location/ILocationManager;Landroid/content/Context;)V
35 - return-object v1
36 + return-object v2
37 .end method
38 diff -Npru stock-framework/smali/android/app/ContextImpl$29.smali pdroid-framework/smali/android/app/ContextImpl$29.smali
39 --- stock-framework/smali/android/app/ContextImpl$29.smali 2012-08-22 21:52:30.711601746 -0500
40 +++ pdroid-framework/smali/android/app/ContextImpl$29.smali 2012-08-22 21:52:50.803701378 -0500
41 @@ -28,13 +28,13 @@
42 .method public createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
43 .registers 4
45 - new-instance v0, Landroid/telephony/TelephonyManager;
46 + new-instance v0, Landroid/privacy/surrogate/PrivacyTelephonyManager;
48 invoke-virtual {p1}, Landroid/app/ContextImpl;->getOuterContext()Landroid/content/Context;
50 move-result-object v1
52 - invoke-direct {v0, v1}, Landroid/telephony/TelephonyManager;-><init>(Landroid/content/Context;)V
53 + invoke-direct {v0, v1}, Landroid/privacy/surrogate/PrivacyTelephonyManager;-><init>(Landroid/content/Context;)V
55 return-object v0
56 .end method
57 diff -Npru stock-framework/smali/android/app/ContextImpl$38.smali pdroid-framework/smali/android/app/ContextImpl$38.smali
58 --- stock-framework/smali/android/app/ContextImpl$38.smali 1969-12-31 18:00:00.000000000 -0600
59 +++ pdroid-framework/smali/android/app/ContextImpl$38.smali 2012-08-22 21:52:50.819701450 -0500
60 @@ -0,0 +1,50 @@
61 +.class final Landroid/app/ContextImpl$38;
62 +.super Landroid/app/ContextImpl$StaticServiceFetcher;
63 +.source "ContextImpl.java"
66 +# annotations
67 +.annotation system Ldalvik/annotation/EnclosingClass;
68 + value = Landroid/app/ContextImpl;
69 +.end annotation
71 +.annotation system Ldalvik/annotation/InnerClass;
72 + accessFlags = 0x8
73 + name = null
74 +.end annotation
77 +# direct methods
78 +.method constructor <init>()V
79 + .registers 1
81 + invoke-direct {p0}, Landroid/app/ContextImpl$StaticServiceFetcher;-><init>()V
83 + return-void
84 +.end method
87 +# virtual methods
88 +.method public createStaticService()Ljava/lang/Object;
89 + .registers 5
91 + const-string/jumbo v2, "privacy"
93 + invoke-static {v2}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
95 + move-result-object v0
97 + invoke-static {v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
99 + move-result-object v1
101 + new-instance v2, Landroid/privacy/PrivacySettingsManager;
103 + invoke-static {}, Landroid/app/ContextImpl;->getStaticOuterContext()Landroid/content/Context;
105 + move-result-object v3
107 + invoke-direct {v2, v3, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
109 + return-object v2
110 +.end method
111 diff -Npru stock-framework/smali/android/app/ContextImpl$3.smali pdroid-framework/smali/android/app/ContextImpl$3.smali
112 --- stock-framework/smali/android/app/ContextImpl$3.smali 2012-08-22 21:52:30.723601805 -0500
113 +++ pdroid-framework/smali/android/app/ContextImpl$3.smali 2012-08-22 21:52:50.819701450 -0500
114 @@ -38,9 +38,9 @@
116 move-result-object v1
118 - new-instance v2, Landroid/accounts/AccountManager;
119 + new-instance v2, Landroid/privacy/surrogate/PrivacyAccountManager;
121 - invoke-direct {v2, p1, v1}, Landroid/accounts/AccountManager;-><init>(Landroid/content/Context;Landroid/accounts/IAccountManager;)V
122 + invoke-direct {v2, p1, v1}, Landroid/privacy/surrogate/PrivacyAccountManager;-><init>(Landroid/content/Context;Landroid/accounts/IAccountManager;)V
124 return-object v2
125 .end method
126 diff -Npru stock-framework/smali/android/app/ContextImpl.smali pdroid-framework/smali/android/app/ContextImpl.smali
127 --- stock-framework/smali/android/app/ContextImpl.smali 2012-08-22 21:52:30.791602142 -0500
128 +++ pdroid-framework/smali/android/app/ContextImpl.smali 2012-08-22 21:52:50.891701813 -0500
129 @@ -36,6 +36,8 @@
131 .field private static sNextPerContextServiceCacheIndex:I
133 +.field private static sOuterContext:Landroid/content/Context;
135 .field private static final sSharedPrefs:Ljava/util/HashMap;
136 .annotation system Ldalvik/annotation/Signature;
137 value = {
138 @@ -426,6 +428,14 @@
140 invoke-static {v0, v1}, Landroid/app/ContextImpl;->registerService(Ljava/lang/String;Landroid/app/ContextImpl$ServiceFetcher;)V
142 + const-string/jumbo v0, "privacy"
144 + new-instance v1, Landroid/app/ContextImpl$38;
146 + invoke-direct {v1}, Landroid/app/ContextImpl$38;-><init>()V
148 + invoke-static {v0, v1}, Landroid/app/ContextImpl;->registerService(Ljava/lang/String;Landroid/app/ContextImpl$ServiceFetcher;)V
150 return-void
151 .end method
153 @@ -460,6 +470,8 @@
155 iput-object p0, p0, Landroid/app/ContextImpl;->mOuterContext:Landroid/content/Context;
157 + sput-object p0, Landroid/app/ContextImpl;->sOuterContext:Landroid/content/Context;
159 return-void
160 .end method
162 @@ -514,6 +526,8 @@
164 iput-object p0, p0, Landroid/app/ContextImpl;->mOuterContext:Landroid/content/Context;
166 + sput-object p0, Landroid/app/ContextImpl;->sOuterContext:Landroid/content/Context;
168 return-void
169 .end method
171 @@ -983,6 +997,14 @@
172 throw v0
173 .end method
175 +.method static final getStaticOuterContext()Landroid/content/Context;
176 + .registers 1
178 + sget-object v0, Landroid/app/ContextImpl;->sOuterContext:Landroid/content/Context;
180 + return-object v0
181 +.end method
183 .method private getWallpaperManager()Landroid/app/WallpaperManager;
184 .registers 2
186 @@ -4256,6 +4278,8 @@
188 iput-object p1, p0, Landroid/app/ContextImpl;->mOuterContext:Landroid/content/Context;
190 + sput-object p1, Landroid/app/ContextImpl;->sOuterContext:Landroid/content/Context;
192 return-void
193 .end method
195 diff -Npru stock-framework/smali/android/app/Fragment.smali pdroid-framework/smali/android/app/Fragment.smali
196 --- stock-framework/smali/android/app/Fragment.smali 2012-08-22 21:52:30.827602321 -0500
197 +++ pdroid-framework/smali/android/app/Fragment.smali 2012-08-22 21:52:50.907701886 -0500
198 @@ -469,7 +469,7 @@
200 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
202 - const-string v0, "mHidden="
203 + const-string/jumbo v0, "mHidden="
205 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
207 @@ -529,7 +529,7 @@
209 iget-object v0, p0, Landroid/app/Fragment;->mFragmentManager:Landroid/app/FragmentManagerImpl;
211 - if-eqz v0, :cond_e8
212 + if-eqz v0, :cond_e9
214 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
216 @@ -541,10 +541,10 @@
218 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
220 - :cond_e8
221 + :cond_e9
222 iget-object v0, p0, Landroid/app/Fragment;->mActivity:Landroid/app/Activity;
224 - if-eqz v0, :cond_f9
225 + if-eqz v0, :cond_fa
227 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
229 @@ -556,10 +556,10 @@
231 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
233 - :cond_f9
234 + :cond_fa
235 iget-object v0, p0, Landroid/app/Fragment;->mArguments:Landroid/os/Bundle;
237 - if-eqz v0, :cond_10a
238 + if-eqz v0, :cond_10b
240 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
242 @@ -571,10 +571,10 @@
244 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
246 - :cond_10a
247 + :cond_10b
248 iget-object v0, p0, Landroid/app/Fragment;->mSavedFragmentState:Landroid/os/Bundle;
250 - if-eqz v0, :cond_11c
251 + if-eqz v0, :cond_11d
253 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
255 @@ -586,10 +586,10 @@
257 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
259 - :cond_11c
260 + :cond_11d
261 iget-object v0, p0, Landroid/app/Fragment;->mSavedViewState:Landroid/util/SparseArray;
263 - if-eqz v0, :cond_12e
264 + if-eqz v0, :cond_12f
266 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
268 @@ -601,10 +601,10 @@
270 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
272 - :cond_12e
273 + :cond_12f
274 iget-object v0, p0, Landroid/app/Fragment;->mTarget:Landroid/app/Fragment;
276 - if-eqz v0, :cond_14a
277 + if-eqz v0, :cond_14b
279 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
281 @@ -624,10 +624,10 @@
283 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(I)V
285 - :cond_14a
286 + :cond_14b
287 iget v0, p0, Landroid/app/Fragment;->mNextAnim:I
289 - if-eqz v0, :cond_15c
290 + if-eqz v0, :cond_15d
292 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
294 @@ -639,10 +639,10 @@
296 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(I)V
298 - :cond_15c
299 + :cond_15d
300 iget-object v0, p0, Landroid/app/Fragment;->mContainer:Landroid/view/ViewGroup;
302 - if-eqz v0, :cond_16d
303 + if-eqz v0, :cond_16e
305 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
307 @@ -654,10 +654,10 @@
309 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
311 - :cond_16d
312 + :cond_16e
313 iget-object v0, p0, Landroid/app/Fragment;->mView:Landroid/view/View;
315 - if-eqz v0, :cond_17f
316 + if-eqz v0, :cond_180
318 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
320 @@ -669,10 +669,10 @@
322 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
324 - :cond_17f
325 + :cond_180
326 iget-object v0, p0, Landroid/app/Fragment;->mAnimatingAway:Landroid/animation/Animator;
328 - if-eqz v0, :cond_19e
329 + if-eqz v0, :cond_19f
331 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
333 @@ -694,10 +694,10 @@
335 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(I)V
337 - :cond_19e
338 + :cond_19f
339 iget-object v0, p0, Landroid/app/Fragment;->mLoaderManager:Landroid/app/LoaderManagerImpl;
341 - if-eqz v0, :cond_1c2
342 + if-eqz v0, :cond_1c3
344 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
346 @@ -727,7 +727,7 @@
348 invoke-virtual {v0, v1, p2, p3, p4}, Landroid/app/LoaderManagerImpl;->dump(Ljava/lang/String;Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
350 - :cond_1c2
351 + :cond_1c3
352 return-void
353 .end method
355 diff -Npru stock-framework/smali/android/app/LoaderManagerImpl$LoaderInfo.smali pdroid-framework/smali/android/app/LoaderManagerImpl$LoaderInfo.smali
356 --- stock-framework/smali/android/app/LoaderManagerImpl$LoaderInfo.smali 2012-08-22 21:52:31.271604520 -0500
357 +++ pdroid-framework/smali/android/app/LoaderManagerImpl$LoaderInfo.smali 2012-08-22 21:52:51.251703617 -0500
358 @@ -575,12 +575,12 @@
360 iget-boolean v0, p0, Landroid/app/LoaderManagerImpl$LoaderInfo;->mDeliveredData:Z
362 - if-eqz v0, :cond_7b
363 + if-eqz v0, :cond_7c
365 :cond_57
366 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
368 - const-string v0, "mHaveData="
369 + const-string/jumbo v0, "mHaveData="
371 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
373 @@ -606,7 +606,7 @@
375 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
377 - :cond_7b
378 + :cond_7c
379 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
381 const-string/jumbo v0, "mStarted="
382 @@ -661,7 +661,7 @@
384 iget-object v0, p0, Landroid/app/LoaderManagerImpl$LoaderInfo;->mPendingLoader:Landroid/app/LoaderManagerImpl$LoaderInfo;
386 - if-eqz v0, :cond_ed
387 + if-eqz v0, :cond_ee
389 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
391 @@ -699,7 +699,7 @@
393 invoke-virtual {v0, v1, p2, p3, p4}, Landroid/app/LoaderManagerImpl$LoaderInfo;->dump(Ljava/lang/String;Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
395 - :cond_ed
396 + :cond_ee
397 return-void
398 .end method
400 diff -Npru stock-framework/smali/android/location/Location.smali pdroid-framework/smali/android/location/Location.smali
401 --- stock-framework/smali/android/location/Location.smali 2012-08-22 21:52:32.967612932 -0500
402 +++ pdroid-framework/smali/android/location/Location.smali 2012-08-22 21:52:52.987712197 -0500
403 @@ -1707,7 +1707,7 @@
405 move-result-object v0
407 - const-string v1, "mHasAltitude="
408 + const-string/jumbo v1, "mHasAltitude="
410 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
412 @@ -1745,7 +1745,7 @@
414 move-result-object v0
416 - const-string v1, "mHasSpeed="
417 + const-string/jumbo v1, "mHasSpeed="
419 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
421 @@ -1783,7 +1783,7 @@
423 move-result-object v0
425 - const-string v1, "mHasBearing="
426 + const-string/jumbo v1, "mHasBearing="
428 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
430 @@ -1821,7 +1821,7 @@
432 move-result-object v0
434 - const-string v1, "mHasAccuracy="
435 + const-string/jumbo v1, "mHasAccuracy="
437 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
439 diff -Npru stock-framework/smali/android/privacy/IPrivacySettingsManager.smali pdroid-framework/smali/android/privacy/IPrivacySettingsManager.smali
440 --- stock-framework/smali/android/privacy/IPrivacySettingsManager.smali 1969-12-31 18:00:00.000000000 -0600
441 +++ pdroid-framework/smali/android/privacy/IPrivacySettingsManager.smali 2012-08-22 21:52:53.695715716 -0500
442 @@ -0,0 +1,104 @@
443 +.class public interface abstract Landroid/privacy/IPrivacySettingsManager;
444 +.super Ljava/lang/Object;
445 +.source "IPrivacySettingsManager.java"
447 +# interfaces
448 +.implements Landroid/os/IInterface;
451 +# annotations
452 +.annotation system Ldalvik/annotation/MemberClasses;
453 + value = {
454 + Landroid/privacy/IPrivacySettingsManager$Stub;
456 +.end annotation
459 +# virtual methods
460 +.method public abstract addObserver(Ljava/lang/String;)V
461 + .annotation system Ldalvik/annotation/Throws;
462 + value = {
463 + Landroid/os/RemoteException;
465 + .end annotation
466 +.end method
468 +.method public abstract deleteSettings(Ljava/lang/String;)Z
469 + .annotation system Ldalvik/annotation/Throws;
470 + value = {
471 + Landroid/os/RemoteException;
473 + .end annotation
474 +.end method
476 +.method public abstract getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
477 + .annotation system Ldalvik/annotation/Throws;
478 + value = {
479 + Landroid/os/RemoteException;
481 + .end annotation
482 +.end method
484 +.method public abstract getVersion()D
485 + .annotation system Ldalvik/annotation/Throws;
486 + value = {
487 + Landroid/os/RemoteException;
489 + .end annotation
490 +.end method
492 +.method public abstract notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
493 + .annotation system Ldalvik/annotation/Throws;
494 + value = {
495 + Landroid/os/RemoteException;
497 + .end annotation
498 +.end method
500 +.method public abstract purgeSettings()Z
501 + .annotation system Ldalvik/annotation/Throws;
502 + value = {
503 + Landroid/os/RemoteException;
505 + .end annotation
506 +.end method
508 +.method public abstract registerObservers()V
509 + .annotation system Ldalvik/annotation/Throws;
510 + value = {
511 + Landroid/os/RemoteException;
513 + .end annotation
514 +.end method
516 +.method public abstract saveSettings(Landroid/privacy/PrivacySettings;)Z
517 + .annotation system Ldalvik/annotation/Throws;
518 + value = {
519 + Landroid/os/RemoteException;
521 + .end annotation
522 +.end method
524 +.method public abstract setBootCompleted()V
525 + .annotation system Ldalvik/annotation/Throws;
526 + value = {
527 + Landroid/os/RemoteException;
529 + .end annotation
530 +.end method
532 +.method public abstract setEnabled(Z)Z
533 + .annotation system Ldalvik/annotation/Throws;
534 + value = {
535 + Landroid/os/RemoteException;
537 + .end annotation
538 +.end method
540 +.method public abstract setNotificationsEnabled(Z)Z
541 + .annotation system Ldalvik/annotation/Throws;
542 + value = {
543 + Landroid/os/RemoteException;
545 + .end annotation
546 +.end method
547 diff -Npru stock-framework/smali/android/privacy/IPrivacySettingsManager$Stub$Proxy.smali pdroid-framework/smali/android/privacy/IPrivacySettingsManager$Stub$Proxy.smali
548 --- stock-framework/smali/android/privacy/IPrivacySettingsManager$Stub$Proxy.smali 1969-12-31 18:00:00.000000000 -0600
549 +++ pdroid-framework/smali/android/privacy/IPrivacySettingsManager$Stub$Proxy.smali 2012-08-22 21:52:53.695715716 -0500
550 @@ -0,0 +1,743 @@
551 +.class Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;
552 +.super Ljava/lang/Object;
553 +.source "IPrivacySettingsManager.java"
555 +# interfaces
556 +.implements Landroid/privacy/IPrivacySettingsManager;
559 +# annotations
560 +.annotation system Ldalvik/annotation/EnclosingClass;
561 + value = Landroid/privacy/IPrivacySettingsManager$Stub;
562 +.end annotation
564 +.annotation system Ldalvik/annotation/InnerClass;
565 + accessFlags = 0xa
566 + name = "Proxy"
567 +.end annotation
570 +# instance fields
571 +.field private mRemote:Landroid/os/IBinder;
574 +# direct methods
575 +.method constructor <init>(Landroid/os/IBinder;)V
576 + .registers 2
578 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
580 + iput-object p1, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
582 + return-void
583 +.end method
586 +# virtual methods
587 +.method public addObserver(Ljava/lang/String;)V
588 + .registers 7
589 + .annotation system Ldalvik/annotation/Throws;
590 + value = {
591 + Landroid/os/RemoteException;
593 + .end annotation
595 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
597 + move-result-object v0
599 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
601 + move-result-object v1
603 + :try_start_8
604 + const-string v2, "android.privacy.IPrivacySettingsManager"
606 + invoke-virtual {v0, v2}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
608 + invoke-virtual {v0, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
610 + iget-object v2, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
612 + const/4 v3, 0x6
614 + const/4 v4, 0x0
616 + invoke-interface {v2, v3, v0, v1, v4}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
618 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
619 + :try_end_1a
620 + .catchall {:try_start_8 .. :try_end_1a} :catchall_21
622 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
624 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
626 + return-void
628 + :catchall_21
629 + move-exception v2
631 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
633 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
635 + throw v2
636 +.end method
638 +.method public asBinder()Landroid/os/IBinder;
639 + .registers 2
641 + iget-object v0, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
643 + return-object v0
644 +.end method
646 +.method public deleteSettings(Ljava/lang/String;)Z
647 + .registers 8
648 + .annotation system Ldalvik/annotation/Throws;
649 + value = {
650 + Landroid/os/RemoteException;
652 + .end annotation
654 + const/4 v2, 0x0
656 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
658 + move-result-object v0
660 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
662 + move-result-object v1
664 + :try_start_9
665 + const-string v3, "android.privacy.IPrivacySettingsManager"
667 + invoke-virtual {v0, v3}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
669 + invoke-virtual {v0, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
671 + iget-object v3, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
673 + const/4 v4, 0x3
675 + const/4 v5, 0x0
677 + invoke-interface {v3, v4, v0, v1, v5}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
679 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
681 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
682 + :try_end_1e
683 + .catchall {:try_start_9 .. :try_end_1e} :catchall_29
685 + move-result v3
687 + if-eqz v3, :cond_22
689 + const/4 v2, 0x1
691 + :cond_22
692 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
694 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
696 + return v2
698 + :catchall_29
699 + move-exception v3
701 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
703 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
705 + throw v3
706 +.end method
708 +.method public getInterfaceDescriptor()Ljava/lang/String;
709 + .registers 2
711 + const-string v0, "android.privacy.IPrivacySettingsManager"
713 + return-object v0
714 +.end method
716 +.method public getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
717 + .registers 8
718 + .annotation system Ldalvik/annotation/Throws;
719 + value = {
720 + Landroid/os/RemoteException;
722 + .end annotation
724 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
726 + move-result-object v0
728 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
730 + move-result-object v1
732 + :try_start_8
733 + const-string v3, "android.privacy.IPrivacySettingsManager"
735 + invoke-virtual {v0, v3}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
737 + invoke-virtual {v0, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
739 + iget-object v3, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
741 + const/4 v4, 0x1
743 + const/4 v5, 0x0
745 + invoke-interface {v3, v4, v0, v1, v5}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
747 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
749 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
751 + move-result v3
753 + if-eqz v3, :cond_2f
755 + sget-object v3, Landroid/privacy/PrivacySettings;->CREATOR:Landroid/os/Parcelable$Creator;
757 + invoke-interface {v3, v1}, Landroid/os/Parcelable$Creator;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
759 + move-result-object v2
761 + check-cast v2, Landroid/privacy/PrivacySettings;
762 + :try_end_28
763 + .catchall {:try_start_8 .. :try_end_28} :catchall_31
765 + :goto_28
766 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
768 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
770 + return-object v2
772 + :cond_2f
773 + const/4 v2, 0x0
775 + goto :goto_28
777 + :catchall_31
778 + move-exception v3
780 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
782 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
784 + throw v3
785 +.end method
787 +.method public getVersion()D
788 + .registers 8
789 + .annotation system Ldalvik/annotation/Throws;
790 + value = {
791 + Landroid/os/RemoteException;
793 + .end annotation
795 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
797 + move-result-object v0
799 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
801 + move-result-object v1
803 + :try_start_8
804 + const-string v4, "android.privacy.IPrivacySettingsManager"
806 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
808 + iget-object v4, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
810 + const/16 v5, 0x8
812 + const/4 v6, 0x0
814 + invoke-interface {v4, v5, v0, v1, v6}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
816 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
818 + invoke-virtual {v1}, Landroid/os/Parcel;->readDouble()D
819 + :try_end_1b
820 + .catchall {:try_start_8 .. :try_end_1b} :catchall_23
822 + move-result-wide v2
824 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
826 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
828 + return-wide v2
830 + :catchall_23
831 + move-exception v4
833 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
835 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
837 + throw v4
838 +.end method
840 +.method public notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
841 + .registers 10
842 + .annotation system Ldalvik/annotation/Throws;
843 + value = {
844 + Landroid/os/RemoteException;
846 + .end annotation
848 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
850 + move-result-object v0
852 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
854 + move-result-object v1
856 + :try_start_8
857 + const-string v2, "android.privacy.IPrivacySettingsManager"
859 + invoke-virtual {v0, v2}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
861 + invoke-virtual {v0, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
863 + invoke-virtual {v0, p2}, Landroid/os/Parcel;->writeByte(B)V
865 + invoke-virtual {v0, p3}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
867 + invoke-virtual {v0, p4}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
869 + iget-object v2, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
871 + const/4 v3, 0x4
873 + const/4 v4, 0x0
875 + invoke-interface {v2, v3, v0, v1, v4}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
877 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
878 + :try_end_23
879 + .catchall {:try_start_8 .. :try_end_23} :catchall_2a
881 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
883 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
885 + return-void
887 + :catchall_2a
888 + move-exception v2
890 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
892 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
894 + throw v2
895 +.end method
897 +.method public purgeSettings()Z
898 + .registers 7
899 + .annotation system Ldalvik/annotation/Throws;
900 + value = {
901 + Landroid/os/RemoteException;
903 + .end annotation
905 + const/4 v2, 0x0
907 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
909 + move-result-object v0
911 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
913 + move-result-object v1
915 + :try_start_9
916 + const-string v3, "android.privacy.IPrivacySettingsManager"
918 + invoke-virtual {v0, v3}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
920 + iget-object v3, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
922 + const/4 v4, 0x7
924 + const/4 v5, 0x0
926 + invoke-interface {v3, v4, v0, v1, v5}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
928 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
930 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
931 + :try_end_1b
932 + .catchall {:try_start_9 .. :try_end_1b} :catchall_26
934 + move-result v3
936 + if-eqz v3, :cond_1f
938 + const/4 v2, 0x1
940 + :cond_1f
941 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
943 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
945 + return v2
947 + :catchall_26
948 + move-exception v3
950 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
952 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
954 + throw v3
955 +.end method
957 +.method public registerObservers()V
958 + .registers 6
959 + .annotation system Ldalvik/annotation/Throws;
960 + value = {
961 + Landroid/os/RemoteException;
963 + .end annotation
965 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
967 + move-result-object v0
969 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
971 + move-result-object v1
973 + :try_start_8
974 + const-string v2, "android.privacy.IPrivacySettingsManager"
976 + invoke-virtual {v0, v2}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
978 + iget-object v2, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
980 + const/4 v3, 0x5
982 + const/4 v4, 0x0
984 + invoke-interface {v2, v3, v0, v1, v4}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
986 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
987 + :try_end_17
988 + .catchall {:try_start_8 .. :try_end_17} :catchall_1e
990 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
992 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
994 + return-void
996 + :catchall_1e
997 + move-exception v2
999 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1001 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1003 + throw v2
1004 +.end method
1006 +.method public saveSettings(Landroid/privacy/PrivacySettings;)Z
1007 + .registers 9
1008 + .annotation system Ldalvik/annotation/Throws;
1009 + value = {
1010 + Landroid/os/RemoteException;
1012 + .end annotation
1014 + const/4 v2, 0x1
1016 + const/4 v3, 0x0
1018 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1020 + move-result-object v0
1022 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1024 + move-result-object v1
1026 + :try_start_a
1027 + const-string v4, "android.privacy.IPrivacySettingsManager"
1029 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
1031 + if-eqz p1, :cond_30
1033 + const/4 v4, 0x1
1035 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInt(I)V
1037 + const/4 v4, 0x0
1039 + invoke-virtual {p1, v0, v4}, Landroid/privacy/PrivacySettings;->writeToParcel(Landroid/os/Parcel;I)V
1041 + :goto_19
1042 + iget-object v4, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
1044 + const/4 v5, 0x2
1046 + const/4 v6, 0x0
1048 + invoke-interface {v4, v5, v0, v1, v6}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1050 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
1052 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
1053 + :try_end_26
1054 + .catchall {:try_start_a .. :try_end_26} :catchall_35
1056 + move-result v4
1058 + if-eqz v4, :cond_3d
1060 + :goto_29
1061 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1063 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1065 + return v2
1067 + :cond_30
1068 + const/4 v4, 0x0
1070 + :try_start_31
1071 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInt(I)V
1072 + :try_end_34
1073 + .catchall {:try_start_31 .. :try_end_34} :catchall_35
1075 + goto :goto_19
1077 + :catchall_35
1078 + move-exception v3
1080 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1082 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1084 + throw v3
1086 + :cond_3d
1087 + move v2, v3
1089 + goto :goto_29
1090 +.end method
1092 +.method public setBootCompleted()V
1093 + .registers 6
1094 + .annotation system Ldalvik/annotation/Throws;
1095 + value = {
1096 + Landroid/os/RemoteException;
1098 + .end annotation
1100 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1102 + move-result-object v0
1104 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1106 + move-result-object v1
1108 + :try_start_8
1109 + const-string v2, "android.privacy.IPrivacySettingsManager"
1111 + invoke-virtual {v0, v2}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
1113 + iget-object v2, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
1115 + const/16 v3, 0xb
1117 + const/4 v4, 0x0
1119 + invoke-interface {v2, v3, v0, v1, v4}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1121 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
1122 + :try_end_18
1123 + .catchall {:try_start_8 .. :try_end_18} :catchall_1f
1125 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1127 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1129 + return-void
1131 + :catchall_1f
1132 + move-exception v2
1134 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1136 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1138 + throw v2
1139 +.end method
1141 +.method public setEnabled(Z)Z
1142 + .registers 9
1143 + .annotation system Ldalvik/annotation/Throws;
1144 + value = {
1145 + Landroid/os/RemoteException;
1147 + .end annotation
1149 + const/4 v2, 0x1
1151 + const/4 v3, 0x0
1153 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1155 + move-result-object v0
1157 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1159 + move-result-object v1
1161 + :try_start_a
1162 + const-string v4, "android.privacy.IPrivacySettingsManager"
1164 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
1166 + if-eqz p1, :cond_2d
1168 + move v4, v2
1170 + :goto_12
1171 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInt(I)V
1173 + iget-object v4, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
1175 + const/16 v5, 0x9
1177 + const/4 v6, 0x0
1179 + invoke-interface {v4, v5, v0, v1, v6}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1181 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
1183 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
1184 + :try_end_23
1185 + .catchall {:try_start_a .. :try_end_23} :catchall_31
1187 + move-result v4
1189 + if-eqz v4, :cond_2f
1191 + :goto_26
1192 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1194 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1196 + return v2
1198 + :cond_2d
1199 + move v4, v3
1201 + goto :goto_12
1203 + :cond_2f
1204 + move v2, v3
1206 + goto :goto_26
1208 + :catchall_31
1209 + move-exception v3
1211 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1213 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1215 + throw v3
1216 +.end method
1218 +.method public setNotificationsEnabled(Z)Z
1219 + .registers 9
1220 + .annotation system Ldalvik/annotation/Throws;
1221 + value = {
1222 + Landroid/os/RemoteException;
1224 + .end annotation
1226 + const/4 v2, 0x1
1228 + const/4 v3, 0x0
1230 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1232 + move-result-object v0
1234 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1236 + move-result-object v1
1238 + :try_start_a
1239 + const-string v4, "android.privacy.IPrivacySettingsManager"
1241 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
1243 + if-eqz p1, :cond_2d
1245 + move v4, v2
1247 + :goto_12
1248 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInt(I)V
1250 + iget-object v4, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
1252 + const/16 v5, 0xa
1254 + const/4 v6, 0x0
1256 + invoke-interface {v4, v5, v0, v1, v6}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1258 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
1260 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
1261 + :try_end_23
1262 + .catchall {:try_start_a .. :try_end_23} :catchall_31
1264 + move-result v4
1266 + if-eqz v4, :cond_2f
1268 + :goto_26
1269 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1271 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1273 + return v2
1275 + :cond_2d
1276 + move v4, v3
1278 + goto :goto_12
1280 + :cond_2f
1281 + move v2, v3
1283 + goto :goto_26
1285 + :catchall_31
1286 + move-exception v3
1288 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1290 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1292 + throw v3
1293 +.end method
1294 diff -Npru stock-framework/smali/android/privacy/IPrivacySettingsManager$Stub.smali pdroid-framework/smali/android/privacy/IPrivacySettingsManager$Stub.smali
1295 --- stock-framework/smali/android/privacy/IPrivacySettingsManager$Stub.smali 1969-12-31 18:00:00.000000000 -0600
1296 +++ pdroid-framework/smali/android/privacy/IPrivacySettingsManager$Stub.smali 2012-08-22 21:52:53.699715733 -0500
1297 @@ -0,0 +1,412 @@
1298 +.class public abstract Landroid/privacy/IPrivacySettingsManager$Stub;
1299 +.super Landroid/os/Binder;
1300 +.source "IPrivacySettingsManager.java"
1302 +# interfaces
1303 +.implements Landroid/privacy/IPrivacySettingsManager;
1306 +# annotations
1307 +.annotation system Ldalvik/annotation/EnclosingClass;
1308 + value = Landroid/privacy/IPrivacySettingsManager;
1309 +.end annotation
1311 +.annotation system Ldalvik/annotation/InnerClass;
1312 + accessFlags = 0x409
1313 + name = "Stub"
1314 +.end annotation
1316 +.annotation system Ldalvik/annotation/MemberClasses;
1317 + value = {
1318 + Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;
1320 +.end annotation
1323 +# static fields
1324 +.field private static final DESCRIPTOR:Ljava/lang/String; = "android.privacy.IPrivacySettingsManager"
1326 +.field static final TRANSACTION_addObserver:I = 0x6
1328 +.field static final TRANSACTION_deleteSettings:I = 0x3
1330 +.field static final TRANSACTION_getSettings:I = 0x1
1332 +.field static final TRANSACTION_getVersion:I = 0x8
1334 +.field static final TRANSACTION_notification:I = 0x4
1336 +.field static final TRANSACTION_purgeSettings:I = 0x7
1338 +.field static final TRANSACTION_registerObservers:I = 0x5
1340 +.field static final TRANSACTION_saveSettings:I = 0x2
1342 +.field static final TRANSACTION_setBootCompleted:I = 0xb
1344 +.field static final TRANSACTION_setEnabled:I = 0x9
1346 +.field static final TRANSACTION_setNotificationsEnabled:I = 0xa
1349 +# direct methods
1350 +.method public constructor <init>()V
1351 + .registers 2
1353 + invoke-direct {p0}, Landroid/os/Binder;-><init>()V
1355 + const-string v0, "android.privacy.IPrivacySettingsManager"
1357 + invoke-virtual {p0, p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->attachInterface(Landroid/os/IInterface;Ljava/lang/String;)V
1359 + return-void
1360 +.end method
1362 +.method public static asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
1363 + .registers 3
1365 + if-nez p0, :cond_4
1367 + const/4 v0, 0x0
1369 + :goto_3
1370 + return-object v0
1372 + :cond_4
1373 + const-string v1, "android.privacy.IPrivacySettingsManager"
1375 + invoke-interface {p0, v1}, Landroid/os/IBinder;->queryLocalInterface(Ljava/lang/String;)Landroid/os/IInterface;
1377 + move-result-object v0
1379 + if-eqz v0, :cond_13
1381 + instance-of v1, v0, Landroid/privacy/IPrivacySettingsManager;
1383 + if-eqz v1, :cond_13
1385 + check-cast v0, Landroid/privacy/IPrivacySettingsManager;
1387 + goto :goto_3
1389 + :cond_13
1390 + new-instance v0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;
1392 + invoke-direct {v0, p0}, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
1394 + goto :goto_3
1395 +.end method
1398 +# virtual methods
1399 +.method public asBinder()Landroid/os/IBinder;
1400 + .registers 1
1402 + return-object p0
1403 +.end method
1405 +.method public onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1406 + .registers 14
1407 + .annotation system Ldalvik/annotation/Throws;
1408 + value = {
1409 + Landroid/os/RemoteException;
1411 + .end annotation
1413 + const/4 v6, 0x0
1415 + const/4 v7, 0x1
1417 + sparse-switch p1, :sswitch_data_10e
1419 + invoke-super {p0, p1, p2, p3, p4}, Landroid/os/Binder;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1421 + move-result v7
1423 + :goto_9
1424 + return v7
1426 + :sswitch_a
1427 + const-string v6, "android.privacy.IPrivacySettingsManager"
1429 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
1431 + goto :goto_9
1433 + :sswitch_10
1434 + const-string v8, "android.privacy.IPrivacySettingsManager"
1436 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1438 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
1440 + move-result-object v0
1442 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
1444 + move-result-object v4
1446 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1448 + if-eqz v4, :cond_29
1450 + invoke-virtual {p3, v7}, Landroid/os/Parcel;->writeInt(I)V
1452 + invoke-virtual {v4, p3, v7}, Landroid/privacy/PrivacySettings;->writeToParcel(Landroid/os/Parcel;I)V
1454 + goto :goto_9
1456 + :cond_29
1457 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
1459 + goto :goto_9
1461 + :sswitch_2d
1462 + const-string v8, "android.privacy.IPrivacySettingsManager"
1464 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1466 + invoke-virtual {p2}, Landroid/os/Parcel;->readInt()I
1468 + move-result v8
1470 + if-eqz v8, :cond_4e
1472 + sget-object v8, Landroid/privacy/PrivacySettings;->CREATOR:Landroid/os/Parcelable$Creator;
1474 + invoke-interface {v8, p2}, Landroid/os/Parcelable$Creator;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
1476 + move-result-object v0
1478 + check-cast v0, Landroid/privacy/PrivacySettings;
1480 + :goto_40
1481 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->saveSettings(Landroid/privacy/PrivacySettings;)Z
1483 + move-result v4
1485 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1487 + if-eqz v4, :cond_4a
1489 + move v6, v7
1491 + :cond_4a
1492 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
1494 + goto :goto_9
1496 + :cond_4e
1497 + const/4 v0, 0x0
1499 + goto :goto_40
1501 + :sswitch_50
1502 + const-string v8, "android.privacy.IPrivacySettingsManager"
1504 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1506 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
1508 + move-result-object v0
1510 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->deleteSettings(Ljava/lang/String;)Z
1512 + move-result v4
1514 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1516 + if-eqz v4, :cond_63
1518 + move v6, v7
1520 + :cond_63
1521 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
1523 + goto :goto_9
1525 + :sswitch_67
1526 + const-string v6, "android.privacy.IPrivacySettingsManager"
1528 + invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1530 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
1532 + move-result-object v0
1534 + invoke-virtual {p2}, Landroid/os/Parcel;->readByte()B
1536 + move-result v1
1538 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
1540 + move-result-object v2
1542 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
1544 + move-result-object v3
1546 + invoke-virtual {p0, v0, v1, v2, v3}, Landroid/privacy/IPrivacySettingsManager$Stub;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
1548 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1550 + goto :goto_9
1552 + :sswitch_83
1553 + const-string v6, "android.privacy.IPrivacySettingsManager"
1555 + invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1557 + invoke-virtual {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;->registerObservers()V
1559 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1561 + goto/16 :goto_9
1563 + :sswitch_90
1564 + const-string v6, "android.privacy.IPrivacySettingsManager"
1566 + invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1568 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
1570 + move-result-object v0
1572 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->addObserver(Ljava/lang/String;)V
1574 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1576 + goto/16 :goto_9
1578 + :sswitch_a1
1579 + const-string v8, "android.privacy.IPrivacySettingsManager"
1581 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1583 + invoke-virtual {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;->purgeSettings()Z
1585 + move-result v4
1587 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1589 + if-eqz v4, :cond_b0
1591 + move v6, v7
1593 + :cond_b0
1594 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
1596 + goto/16 :goto_9
1598 + :sswitch_b5
1599 + const-string v6, "android.privacy.IPrivacySettingsManager"
1601 + invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1603 + invoke-virtual {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;->getVersion()D
1605 + move-result-wide v4
1607 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1609 + invoke-virtual {p3, v4, v5}, Landroid/os/Parcel;->writeDouble(D)V
1611 + goto/16 :goto_9
1613 + :sswitch_c6
1614 + const-string v8, "android.privacy.IPrivacySettingsManager"
1616 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1618 + invoke-virtual {p2}, Landroid/os/Parcel;->readInt()I
1620 + move-result v8
1622 + if-eqz v8, :cond_e1
1624 + move v0, v7
1626 + :goto_d2
1627 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->setEnabled(Z)Z
1629 + move-result v4
1631 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1633 + if-eqz v4, :cond_dc
1635 + move v6, v7
1637 + :cond_dc
1638 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
1640 + goto/16 :goto_9
1642 + :cond_e1
1643 + move v0, v6
1645 + goto :goto_d2
1647 + :sswitch_e3
1648 + const-string v8, "android.privacy.IPrivacySettingsManager"
1650 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1652 + invoke-virtual {p2}, Landroid/os/Parcel;->readInt()I
1654 + move-result v8
1656 + if-eqz v8, :cond_fe
1658 + move v0, v7
1660 + :goto_ef
1661 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->setNotificationsEnabled(Z)Z
1663 + move-result v4
1665 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1667 + if-eqz v4, :cond_f9
1669 + move v6, v7
1671 + :cond_f9
1672 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
1674 + goto/16 :goto_9
1676 + :cond_fe
1677 + move v0, v6
1679 + goto :goto_ef
1681 + :sswitch_100
1682 + const-string v6, "android.privacy.IPrivacySettingsManager"
1684 + invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1686 + invoke-virtual {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;->setBootCompleted()V
1688 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1690 + goto/16 :goto_9
1692 + nop
1694 + :sswitch_data_10e
1695 + .sparse-switch
1696 + 0x1 -> :sswitch_10
1697 + 0x2 -> :sswitch_2d
1698 + 0x3 -> :sswitch_50
1699 + 0x4 -> :sswitch_67
1700 + 0x5 -> :sswitch_83
1701 + 0x6 -> :sswitch_90
1702 + 0x7 -> :sswitch_a1
1703 + 0x8 -> :sswitch_b5
1704 + 0x9 -> :sswitch_c6
1705 + 0xa -> :sswitch_e3
1706 + 0xb -> :sswitch_100
1707 + 0x5f4e5446 -> :sswitch_a
1708 + .end sparse-switch
1709 +.end method
1710 diff -Npru stock-framework/smali/android/privacy/PrivacyFileObserver.smali pdroid-framework/smali/android/privacy/PrivacyFileObserver.smali
1711 --- stock-framework/smali/android/privacy/PrivacyFileObserver.smali 1969-12-31 18:00:00.000000000 -0600
1712 +++ pdroid-framework/smali/android/privacy/PrivacyFileObserver.smali 2012-08-22 21:52:53.699715733 -0500
1713 @@ -0,0 +1,217 @@
1714 +.class public Landroid/privacy/PrivacyFileObserver;
1715 +.super Landroid/os/FileObserver;
1716 +.source "PrivacyFileObserver.java"
1719 +# static fields
1720 +.field public static final PACKAGE_PATH_INDEX:I = 0x3
1722 +.field public static final TAG:Ljava/lang/String; = "PrivacyFileObserver"
1725 +# instance fields
1726 +.field public absolutePath:Ljava/lang/String;
1728 +.field public children:Ljava/util/HashMap;
1729 + .annotation system Ldalvik/annotation/Signature;
1730 + value = {
1731 + "Ljava/util/HashMap",
1732 + "<",
1733 + "Ljava/lang/String;",
1734 + "Landroid/privacy/PrivacyFileObserver;",
1735 + ">;"
1737 + .end annotation
1738 +.end field
1740 +.field private pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
1743 +# direct methods
1744 +.method public constructor <init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
1745 + .registers 12
1747 + const/16 v8, 0xfff
1749 + invoke-direct {p0, p1, v8}, Landroid/os/FileObserver;-><init>(Ljava/lang/String;I)V
1751 + iput-object p1, p0, Landroid/privacy/PrivacyFileObserver;->absolutePath:Ljava/lang/String;
1753 + iput-object p2, p0, Landroid/privacy/PrivacyFileObserver;->pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
1755 + new-instance v8, Ljava/util/HashMap;
1757 + invoke-direct {v8}, Ljava/util/HashMap;-><init>()V
1759 + iput-object v8, p0, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap;
1761 + new-instance v7, Ljava/io/File;
1763 + iget-object v8, p0, Landroid/privacy/PrivacyFileObserver;->absolutePath:Ljava/lang/String;
1765 + invoke-direct {v7, v8}, Ljava/io/File;-><init>(Ljava/lang/String;)V
1767 + invoke-virtual {v7}, Ljava/io/File;->isDirectory()Z
1769 + move-result v8
1771 + if-eqz v8, :cond_42
1773 + invoke-virtual {v7}, Ljava/io/File;->listFiles()[Ljava/io/File;
1775 + move-result-object v6
1777 + move-object v0, v6
1779 + array-length v4, v0
1781 + const/4 v3, 0x0
1783 + :goto_24
1784 + if-ge v3, v4, :cond_42
1786 + aget-object v2, v0, v3
1788 + invoke-virtual {v2}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
1790 + move-result-object v5
1792 + new-instance v1, Landroid/privacy/PrivacyFileObserver;
1794 + invoke-direct {v1, v5, p2}, Landroid/privacy/PrivacyFileObserver;-><init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
1796 + iget-object v8, p0, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap;
1798 + invoke-virtual {v8, v5, v1}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
1800 + invoke-virtual {v2}, Ljava/io/File;->isFile()Z
1802 + move-result v8
1804 + if-eqz v8, :cond_3f
1806 + invoke-virtual {v1}, Landroid/privacy/PrivacyFileObserver;->startWatching()V
1808 + :cond_3f
1809 + add-int/lit8 v3, v3, 0x1
1811 + goto :goto_24
1813 + :cond_42
1814 + return-void
1815 +.end method
1818 +# virtual methods
1819 +.method public addObserver(Ljava/lang/String;)V
1820 + .registers 6
1822 + new-instance v2, Ljava/lang/StringBuilder;
1824 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
1826 + iget-object v3, p0, Landroid/privacy/PrivacyFileObserver;->absolutePath:Ljava/lang/String;
1828 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1830 + move-result-object v2
1832 + const-string v3, "/"
1834 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1836 + move-result-object v2
1838 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1840 + move-result-object v2
1842 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
1844 + move-result-object v1
1846 + iget-object v2, p0, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap;
1848 + invoke-virtual {v2, v1}, Ljava/util/HashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
1850 + new-instance v0, Landroid/privacy/PrivacyFileObserver;
1852 + iget-object v2, p0, Landroid/privacy/PrivacyFileObserver;->pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
1854 + invoke-direct {v0, v1, v2}, Landroid/privacy/PrivacyFileObserver;-><init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
1856 + iget-object v2, p0, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap;
1858 + invoke-virtual {v2, v1, v0}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
1860 + return-void
1861 +.end method
1863 +.method public onEvent(ILjava/lang/String;)V
1864 + .registers 11
1866 + and-int/lit8 v4, p1, 0x1
1868 + if-eqz v4, :cond_34
1870 + new-instance v3, Ljava/util/StringTokenizer;
1872 + iget-object v4, p0, Landroid/privacy/PrivacyFileObserver;->absolutePath:Ljava/lang/String;
1874 + const-string v5, "/"
1876 + invoke-direct {v3, v4, v5}, Ljava/util/StringTokenizer;-><init>(Ljava/lang/String;Ljava/lang/String;)V
1878 + const/4 v0, 0x0
1880 + :goto_e
1881 + const/4 v4, 0x3
1883 + if-ge v0, v4, :cond_1d
1885 + invoke-virtual {v3}, Ljava/util/StringTokenizer;->hasMoreElements()Z
1887 + move-result v4
1889 + if-eqz v4, :cond_1d
1891 + invoke-virtual {v3}, Ljava/util/StringTokenizer;->nextToken()Ljava/lang/String;
1893 + add-int/lit8 v0, v0, 0x1
1895 + goto :goto_e
1897 + :cond_1d
1898 + invoke-virtual {v3}, Ljava/util/StringTokenizer;->nextToken()Ljava/lang/String;
1900 + move-result-object v2
1902 + iget-object v4, p0, Landroid/privacy/PrivacyFileObserver;->pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
1904 + invoke-virtual {v4, v2}, Landroid/privacy/PrivacySettingsManagerService;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
1906 + move-result-object v1
1908 + iget-object v4, p0, Landroid/privacy/PrivacyFileObserver;->pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
1910 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getSystemLogsSetting()B
1912 + move-result v5
1914 + const-string/jumbo v6, "systemLogs"
1916 + const/4 v7, 0x0
1918 + invoke-virtual {v4, v2, v5, v6, v7}, Landroid/privacy/PrivacySettingsManagerService;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
1920 + :cond_34
1921 + return-void
1922 +.end method
1924 +.method public startWatching()V
1925 + .registers 1
1927 + invoke-super {p0}, Landroid/os/FileObserver;->startWatching()V
1929 + return-void
1930 +.end method
1931 diff -Npru stock-framework/smali/android/privacy/PrivacyPersistenceAdapter.smali pdroid-framework/smali/android/privacy/PrivacyPersistenceAdapter.smali
1932 --- stock-framework/smali/android/privacy/PrivacyPersistenceAdapter.smali 1969-12-31 18:00:00.000000000 -0600
1933 +++ pdroid-framework/smali/android/privacy/PrivacyPersistenceAdapter.smali 2012-08-22 21:52:53.703715757 -0500
1934 @@ -0,0 +1,4631 @@
1935 +.class public Landroid/privacy/PrivacyPersistenceAdapter;
1936 +.super Ljava/lang/Object;
1937 +.source "PrivacyPersistenceAdapter.java"
1940 +# static fields
1941 +.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) );"
1943 +.field private static final CREATE_TABLE_MAP:Ljava/lang/String; = "CREATE TABLE IF NOT EXISTS map ( name TEXT PRIMARY KEY, value TEXT );"
1945 +.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);"
1947 +.field private static final DATABASE_FIELDS:[Ljava/lang/String; = null
1949 +.field private static final DATABASE_FILE:Ljava/lang/String; = "/data/system/privacy.db"
1951 +.field private static final DATABASE_VERSION:I = 0x3
1953 +.field public static final DUMMY_UID:I = -0x1
1955 +.field private static final INSERT_ENABLED:Ljava/lang/String; = "INSERT OR REPLACE INTO map (name, value) VALUES (\"enabled\", \"1\");"
1957 +.field private static final INSERT_NOTIFICATIONS_ENABLED:Ljava/lang/String; = "INSERT OR REPLACE INTO map (name, value) VALUES (\"notifications_enabled\", \"1\");"
1959 +.field private static final INSERT_VERSION:Ljava/lang/String; = "INSERT OR REPLACE INTO map (name, value) VALUES (\"db_version\", 3);"
1961 +.field private static final RETRY_QUERY_COUNT:I = 0x5
1963 +.field public static final SETTINGS_DIRECTORY:Ljava/lang/String; = "/data/system/privacy"
1965 +.field public static final SETTING_DB_VERSION:Ljava/lang/String; = "db_version"
1967 +.field public static final SETTING_ENABLED:Ljava/lang/String; = "enabled"
1969 +.field public static final SETTING_NOTIFICATIONS_ENABLED:Ljava/lang/String; = "notifications_enabled"
1971 +.field private static final TABLE_ALLOWED_CONTACTS:Ljava/lang/String; = "allowed_contacts"
1973 +.field private static final TABLE_MAP:Ljava/lang/String; = "map"
1975 +.field private static final TABLE_SETTINGS:Ljava/lang/String; = "settings"
1977 +.field private static final TABLE_VERSION:Ljava/lang/String; = "version"
1979 +.field private static final TAG:Ljava/lang/String; = "PrivacyPersistenceAdapter"
1981 +.field public static final VALUE_FALSE:Ljava/lang/String; = "0"
1983 +.field public static final VALUE_TRUE:Ljava/lang/String; = "1"
1985 +.field public static readingThreads:Ljava/lang/Integer;
1988 +# instance fields
1989 +.field private context:Landroid/content/Context;
1991 +.field private db:Landroid/database/sqlite/SQLiteDatabase;
1994 +# direct methods
1995 +.method static constructor <clinit>()V
1996 + .registers 3
1998 + const/4 v2, 0x0
2000 + invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
2002 + move-result-object v0
2004 + sput-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2006 + const/16 v0, 0x23
2008 + new-array v0, v0, [Ljava/lang/String;
2010 + const-string v1, "_id"
2012 + aput-object v1, v0, v2
2014 + const/4 v1, 0x1
2016 + const-string/jumbo v2, "packageName"
2018 + aput-object v2, v0, v1
2020 + const/4 v1, 0x2
2022 + const-string/jumbo v2, "uid"
2024 + aput-object v2, v0, v1
2026 + const/4 v1, 0x3
2028 + const-string v2, "deviceIdSetting"
2030 + aput-object v2, v0, v1
2032 + const/4 v1, 0x4
2034 + const-string v2, "deviceId"
2036 + aput-object v2, v0, v1
2038 + const/4 v1, 0x5
2040 + const-string v2, "line1NumberSetting"
2042 + aput-object v2, v0, v1
2044 + const/4 v1, 0x6
2046 + const-string v2, "line1Number"
2048 + aput-object v2, v0, v1
2050 + const/4 v1, 0x7
2052 + const-string v2, "locationGpsSetting"
2054 + aput-object v2, v0, v1
2056 + const/16 v1, 0x8
2058 + const-string v2, "locationGpsLat"
2060 + aput-object v2, v0, v1
2062 + const/16 v1, 0x9
2064 + const-string v2, "locationGpsLon"
2066 + aput-object v2, v0, v1
2068 + const/16 v1, 0xa
2070 + const-string v2, "locationNetworkSetting"
2072 + aput-object v2, v0, v1
2074 + const/16 v1, 0xb
2076 + const-string v2, "locationNetworkLat"
2078 + aput-object v2, v0, v1
2080 + const/16 v1, 0xc
2082 + const-string v2, "locationNetworkLon"
2084 + aput-object v2, v0, v1
2086 + const/16 v1, 0xd
2088 + const-string/jumbo v2, "networkInfoSetting"
2090 + aput-object v2, v0, v1
2092 + const/16 v1, 0xe
2094 + const-string/jumbo v2, "simInfoSetting"
2096 + aput-object v2, v0, v1
2098 + const/16 v1, 0xf
2100 + const-string/jumbo v2, "simSerialNumberSetting"
2102 + aput-object v2, v0, v1
2104 + const/16 v1, 0x10
2106 + const-string/jumbo v2, "simSerialNumber"
2108 + aput-object v2, v0, v1
2110 + const/16 v1, 0x11
2112 + const-string/jumbo v2, "subscriberIdSetting"
2114 + aput-object v2, v0, v1
2116 + const/16 v1, 0x12
2118 + const-string/jumbo v2, "subscriberId"
2120 + aput-object v2, v0, v1
2122 + const/16 v1, 0x13
2124 + const-string v2, "accountsSetting"
2126 + aput-object v2, v0, v1
2128 + const/16 v1, 0x14
2130 + const-string v2, "accountsAuthTokensSetting"
2132 + aput-object v2, v0, v1
2134 + const/16 v1, 0x15
2136 + const-string/jumbo v2, "outgoingCallsSetting"
2138 + aput-object v2, v0, v1
2140 + const/16 v1, 0x16
2142 + const-string v2, "incomingCallsSetting"
2144 + aput-object v2, v0, v1
2146 + const/16 v1, 0x17
2148 + const-string v2, "contactsSetting"
2150 + aput-object v2, v0, v1
2152 + const/16 v1, 0x18
2154 + const-string v2, "calendarSetting"
2156 + aput-object v2, v0, v1
2158 + const/16 v1, 0x19
2160 + const-string/jumbo v2, "mmsSetting"
2162 + aput-object v2, v0, v1
2164 + const/16 v1, 0x1a
2166 + const-string/jumbo v2, "smsSetting"
2168 + aput-object v2, v0, v1
2170 + const/16 v1, 0x1b
2172 + const-string v2, "callLogSetting"
2174 + aput-object v2, v0, v1
2176 + const/16 v1, 0x1c
2178 + const-string v2, "bookmarksSetting"
2180 + aput-object v2, v0, v1
2182 + const/16 v1, 0x1d
2184 + const-string/jumbo v2, "systemLogsSetting"
2186 + aput-object v2, v0, v1
2188 + const/16 v1, 0x1e
2190 + const-string v2, "externalStorageSetting"
2192 + aput-object v2, v0, v1
2194 + const/16 v1, 0x1f
2196 + const-string v2, "cameraSetting"
2198 + aput-object v2, v0, v1
2200 + const/16 v1, 0x20
2202 + const-string/jumbo v2, "recordAudioSetting"
2204 + aput-object v2, v0, v1
2206 + const/16 v1, 0x21
2208 + const-string/jumbo v2, "notificationSetting"
2210 + aput-object v2, v0, v1
2212 + const/16 v1, 0x22
2214 + const-string v2, "intentBootCompletedSetting"
2216 + aput-object v2, v0, v1
2218 + sput-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->DATABASE_FIELDS:[Ljava/lang/String;
2220 + return-void
2221 +.end method
2223 +.method public constructor <init>(Landroid/content/Context;)V
2224 + .registers 6
2226 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
2228 + iput-object p1, p0, Landroid/privacy/PrivacyPersistenceAdapter;->context:Landroid/content/Context;
2230 + new-instance v2, Ljava/io/File;
2232 + const-string v3, "/data/system/"
2234 + invoke-direct {v2, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
2236 + invoke-virtual {v2}, Ljava/io/File;->canWrite()Z
2238 + move-result v0
2240 + if-eqz v0, :cond_3c
2242 + new-instance v2, Ljava/io/File;
2244 + const-string v3, "/data/system/privacy.db"
2246 + invoke-direct {v2, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
2248 + invoke-virtual {v2}, Ljava/io/File;->exists()Z
2250 + move-result v2
2252 + if-nez v2, :cond_22
2254 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->createDatabase()V
2256 + :cond_22
2257 + new-instance v2, Ljava/io/File;
2259 + const-string v3, "/data/system/privacy"
2261 + invoke-direct {v2, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
2263 + invoke-virtual {v2}, Ljava/io/File;->exists()Z
2265 + move-result v2
2267 + if-nez v2, :cond_32
2269 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->createSettingsDir()V
2271 + :cond_32
2272 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getDbVersion()I
2274 + move-result v1
2276 + const/4 v2, 0x3
2278 + if-ge v1, v2, :cond_3c
2280 + invoke-direct {p0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->upgradeDatabase(I)V
2282 + :cond_3c
2283 + return-void
2284 +.end method
2286 +.method private declared-synchronized createDatabase()V
2287 + .registers 6
2289 + monitor-enter p0
2291 + :try_start_1
2292 + const-string v2, "PrivacyPersistenceAdapter"
2294 + const-string v3, "createDatabase - creating privacy database file"
2296 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
2297 + :try_end_8
2298 + .catchall {:try_start_1 .. :try_end_8} :catchall_4c
2300 + :try_start_8
2301 + const-string v2, "/data/system/privacy.db"
2303 + const/4 v3, 0x0
2305 + const/high16 v4, 0x1000
2307 + invoke-static {v2, v3, v4}, Landroid/database/sqlite/SQLiteDatabase;->openDatabase(Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;I)Landroid/database/sqlite/SQLiteDatabase;
2309 + move-result-object v0
2311 + const-string v2, "PrivacyPersistenceAdapter"
2313 + const-string v3, "createDatabase - creating privacy database"
2315 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
2317 + 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);"
2319 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
2321 + const-string v2, "CREATE TABLE IF NOT EXISTS allowed_contacts ( settings_id, contact_id, PRIMARY KEY(settings_id, contact_id) );"
2323 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
2325 + const-string v2, "CREATE TABLE IF NOT EXISTS map ( name TEXT PRIMARY KEY, value TEXT );"
2327 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
2329 + const-string v2, "INSERT OR REPLACE INTO map (name, value) VALUES (\"db_version\", 3);"
2331 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
2333 + const-string v2, "INSERT OR REPLACE INTO map (name, value) VALUES (\"enabled\", \"1\");"
2335 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
2337 + const-string v2, "INSERT OR REPLACE INTO map (name, value) VALUES (\"notifications_enabled\", \"1\");"
2339 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
2341 + if-eqz v0, :cond_41
2343 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
2345 + move-result v2
2347 + if-eqz v2, :cond_41
2349 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
2350 + :try_end_41
2351 + .catchall {:try_start_8 .. :try_end_41} :catchall_4c
2352 + .catch Landroid/database/SQLException; {:try_start_8 .. :try_end_41} :catch_43
2354 + :cond_41
2355 + :goto_41
2356 + monitor-exit p0
2358 + return-void
2360 + :catch_43
2361 + move-exception v1
2363 + :try_start_44
2364 + const-string v2, "PrivacyPersistenceAdapter"
2366 + const-string v3, "createDatabase - failed to create privacy database"
2368 + invoke-static {v2, v3, v1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
2369 + :try_end_4b
2370 + .catchall {:try_start_44 .. :try_end_4b} :catchall_4c
2372 + goto :goto_41
2374 + :catchall_4c
2375 + move-exception v2
2377 + monitor-exit p0
2379 + throw v2
2380 +.end method
2382 +.method private declared-synchronized createSettingsDir()V
2383 + .registers 4
2385 + monitor-enter p0
2387 + :try_start_1
2388 + new-instance v0, Ljava/io/File;
2390 + const-string v1, "/data/system/privacy/"
2392 + invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
2394 + invoke-virtual {v0}, Ljava/io/File;->mkdirs()Z
2396 + const/4 v1, 0x1
2398 + const/4 v2, 0x0
2400 + invoke-virtual {v0, v1, v2}, Ljava/io/File;->setReadable(ZZ)Z
2402 + const/4 v1, 0x1
2404 + const/4 v2, 0x0
2406 + invoke-virtual {v0, v1, v2}, Ljava/io/File;->setExecutable(ZZ)Z
2407 + :try_end_15
2408 + .catchall {:try_start_1 .. :try_end_15} :catchall_17
2410 + monitor-exit p0
2412 + return-void
2414 + :catchall_17
2415 + move-exception v1
2417 + monitor-exit p0
2419 + throw v1
2420 +.end method
2422 +.method private deleteRecursive(Ljava/io/File;)V
2423 + .registers 7
2425 + invoke-virtual {p1}, Ljava/io/File;->isDirectory()Z
2427 + move-result v4
2429 + if-eqz v4, :cond_16
2431 + invoke-virtual {p1}, Ljava/io/File;->listFiles()[Ljava/io/File;
2433 + move-result-object v0
2435 + array-length v3, v0
2437 + const/4 v2, 0x0
2439 + :goto_c
2440 + if-ge v2, v3, :cond_16
2442 + aget-object v1, v0, v2
2444 + invoke-direct {p0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteRecursive(Ljava/io/File;)V
2446 + add-int/lit8 v2, v2, 0x1
2448 + goto :goto_c
2450 + :cond_16
2451 + invoke-virtual {p1}, Ljava/io/File;->delete()Z
2453 + return-void
2454 +.end method
2456 +.method private getDbVersion()I
2457 + .registers 9
2459 + const/4 v4, 0x1
2461 + const/4 v3, -0x1
2463 + sget-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2465 + sget-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2467 + invoke-virtual {v6}, Ljava/lang/Integer;->intValue()I
2469 + move-result v6
2471 + add-int/lit8 v6, v6, 0x1
2473 + invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
2475 + move-result-object v6
2477 + sput-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2479 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
2481 + move-result-object v1
2483 + :try_start_16
2484 + const-string v6, "SELECT name FROM sqlite_master WHERE type=\'table\' AND name=\'map\';"
2486 + invoke-direct {p0, v1, v6}, Landroid/privacy/PrivacyPersistenceAdapter;->rawQuery(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;)Landroid/database/Cursor;
2488 + move-result-object v0
2490 + if-eqz v0, :cond_5e
2492 + invoke-interface {v0}, Landroid/database/Cursor;->getCount()I
2494 + move-result v6
2496 + if-nez v6, :cond_25
2498 + const/4 v3, 0x1
2500 + :cond_25
2501 + invoke-interface {v0}, Landroid/database/Cursor;->close()V
2503 + sget-object v7, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2505 + monitor-enter v7
2506 + :try_end_2b
2507 + .catch Ljava/lang/Exception; {:try_start_16 .. :try_end_2b} :catch_55
2509 + :try_start_2b
2510 + sget-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2512 + sget-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2514 + invoke-virtual {v6}, Ljava/lang/Integer;->intValue()I
2516 + move-result v6
2518 + add-int/lit8 v6, v6, -0x1
2520 + invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
2522 + move-result-object v6
2524 + sput-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2526 + sget-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2528 + invoke-virtual {v6}, Ljava/lang/Integer;->intValue()I
2530 + move-result v6
2532 + if-nez v6, :cond_4e
2534 + if-eqz v1, :cond_4e
2536 + invoke-virtual {v1}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
2538 + move-result v6
2540 + if-eqz v6, :cond_4e
2542 + invoke-virtual {v1}, Landroid/database/sqlite/SQLiteDatabase;->close()V
2544 + :cond_4e
2545 + monitor-exit v7
2547 + :goto_4f
2548 + if-ne v3, v4, :cond_66
2550 + :goto_51
2551 + return v3
2553 + :catchall_52
2554 + move-exception v6
2556 + monitor-exit v7
2557 + :try_end_54
2558 + .catchall {:try_start_2b .. :try_end_54} :catchall_52
2560 + :try_start_54
2561 + throw v6
2562 + :try_end_55
2563 + .catch Ljava/lang/Exception; {:try_start_54 .. :try_end_55} :catch_55
2565 + :catch_55
2566 + move-exception v2
2568 + const-string v6, "PrivacyPersistenceAdapter"
2570 + const-string v7, "getDbVersion - failed to check if table map exists (exception)"
2572 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
2574 + goto :goto_4f
2576 + :cond_5e
2577 + :try_start_5e
2578 + const-string v6, "PrivacyPersistenceAdapter"
2580 + const-string v7, "getDbVersion - failed to check if table map exists (cursor is null)"
2582 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
2583 + :try_end_65
2584 + .catch Ljava/lang/Exception; {:try_start_5e .. :try_end_65} :catch_55
2586 + goto :goto_4f
2588 + :cond_66
2589 + const-string v6, "db_version"
2591 + invoke-virtual {p0, v6}, Landroid/privacy/PrivacyPersistenceAdapter;->getValue(Ljava/lang/String;)Ljava/lang/String;
2593 + move-result-object v5
2595 + if-nez v5, :cond_70
2597 + move v3, v4
2599 + goto :goto_51
2601 + :cond_70
2602 + :try_start_70
2603 + invoke-static {v5}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
2604 + :try_end_73
2605 + .catch Ljava/lang/Exception; {:try_start_70 .. :try_end_73} :catch_76
2607 + move-result v4
2609 + move v3, v4
2611 + goto :goto_51
2613 + :catch_76
2614 + move-exception v2
2616 + const-string v6, "PrivacyPersistenceAdapter"
2618 + const-string v7, "getDbVersion - failed to parse database version; returning 1"
2620 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
2622 + move v3, v4
2624 + goto :goto_51
2625 +.end method
2627 +.method private declared-synchronized getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
2628 + .registers 4
2630 + monitor-enter p0
2632 + :try_start_1
2633 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2635 + if-eqz v0, :cond_11
2637 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2639 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
2641 + move-result v0
2643 + if-eqz v0, :cond_11
2645 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2646 + :try_end_f
2647 + .catchall {:try_start_1 .. :try_end_f} :catchall_1e
2649 + :goto_f
2650 + monitor-exit p0
2652 + return-object v0
2654 + :cond_11
2655 + :try_start_11
2656 + const-string v0, "/data/system/privacy.db"
2658 + const/4 v1, 0x0
2660 + const/4 v2, 0x1
2662 + invoke-static {v0, v1, v2}, Landroid/database/sqlite/SQLiteDatabase;->openDatabase(Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;I)Landroid/database/sqlite/SQLiteDatabase;
2664 + move-result-object v0
2666 + iput-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2668 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2669 + :try_end_1d
2670 + .catchall {:try_start_11 .. :try_end_1d} :catchall_1e
2672 + goto :goto_f
2674 + :catchall_1e
2675 + move-exception v0
2677 + monitor-exit p0
2679 + throw v0
2680 +.end method
2682 +.method private declared-synchronized getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
2683 + .registers 4
2685 + monitor-enter p0
2687 + :try_start_1
2688 + new-instance v0, Ljava/io/File;
2690 + const-string v1, "/data/system/privacy.db"
2692 + invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
2694 + invoke-virtual {v0}, Ljava/io/File;->exists()Z
2696 + move-result v0
2698 + if-nez v0, :cond_11
2700 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->createDatabase()V
2702 + :cond_11
2703 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2705 + if-eqz v0, :cond_29
2707 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2709 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
2711 + move-result v0
2713 + if-eqz v0, :cond_29
2715 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2717 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isReadOnly()Z
2719 + move-result v0
2721 + if-nez v0, :cond_29
2723 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2724 + :try_end_27
2725 + .catchall {:try_start_1 .. :try_end_27} :catchall_36
2727 + :goto_27
2728 + monitor-exit p0
2730 + return-object v0
2732 + :cond_29
2733 + :try_start_29
2734 + const-string v0, "/data/system/privacy.db"
2736 + const/4 v1, 0x0
2738 + const/4 v2, 0x0
2740 + invoke-static {v0, v1, v2}, Landroid/database/sqlite/SQLiteDatabase;->openDatabase(Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;I)Landroid/database/sqlite/SQLiteDatabase;
2742 + move-result-object v0
2744 + iput-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2746 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2747 + :try_end_35
2748 + .catchall {:try_start_29 .. :try_end_35} :catchall_36
2750 + goto :goto_27
2752 + :catchall_36
2753 + move-exception v0
2755 + monitor-exit p0
2757 + throw v0
2758 +.end method
2760 +.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;
2761 + .registers 16
2762 + .annotation system Ldalvik/annotation/Throws;
2763 + value = {
2764 + Ljava/lang/Exception;
2766 + .end annotation
2768 + const/4 v0, 0x0
2770 + const/4 v3, 0x0
2772 + const/4 v2, 0x0
2774 + :goto_3
2775 + if-nez v3, :cond_27
2777 + const/4 v4, 0x5
2779 + if-ge v2, v4, :cond_27
2781 + if-eqz v0, :cond_d
2783 + :try_start_a
2784 + invoke-interface {v0}, Landroid/database/Cursor;->close()V
2786 + :cond_d
2787 + 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;
2788 + :try_end_10
2789 + .catch Ljava/lang/IllegalStateException; {:try_start_a .. :try_end_10} :catch_15
2791 + move-result-object v0
2793 + const/4 v3, 0x1
2795 + :goto_12
2796 + add-int/lit8 v2, v2, 0x1
2798 + goto :goto_3
2800 + :catch_15
2801 + move-exception v1
2803 + const/4 v3, 0x0
2805 + if-eqz p1, :cond_22
2807 + invoke-virtual {p1}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
2809 + move-result v4
2811 + if-eqz v4, :cond_22
2813 + invoke-virtual {p1}, Landroid/database/sqlite/SQLiteDatabase;->close()V
2815 + :cond_22
2816 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
2818 + move-result-object p1
2820 + goto :goto_12
2822 + :cond_27
2823 + if-nez v3, :cond_32
2825 + new-instance v4, Ljava/lang/Exception;
2827 + const-string/jumbo v5, "query - failed to execute query on the DB"
2829 + invoke-direct {v4, v5}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
2831 + throw v4
2833 + :cond_32
2834 + return-object v0
2835 +.end method
2837 +.method private rawQuery(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;)Landroid/database/Cursor;
2838 + .registers 9
2839 + .annotation system Ldalvik/annotation/Throws;
2840 + value = {
2841 + Ljava/lang/Exception;
2843 + .end annotation
2845 + const/4 v0, 0x0
2847 + const/4 v3, 0x0
2849 + const/4 v2, 0x0
2851 + :goto_3
2852 + if-nez v3, :cond_28
2854 + const/4 v4, 0x5
2856 + if-ge v2, v4, :cond_28
2858 + if-eqz v0, :cond_d
2860 + :try_start_a
2861 + invoke-interface {v0}, Landroid/database/Cursor;->close()V
2863 + :cond_d
2864 + const/4 v4, 0x0
2866 + invoke-virtual {p1, p2, v4}, Landroid/database/sqlite/SQLiteDatabase;->rawQuery(Ljava/lang/String;[Ljava/lang/String;)Landroid/database/Cursor;
2867 + :try_end_11
2868 + .catch Ljava/lang/IllegalStateException; {:try_start_a .. :try_end_11} :catch_16
2870 + move-result-object v0
2872 + const/4 v3, 0x1
2874 + :goto_13
2875 + add-int/lit8 v2, v2, 0x1
2877 + goto :goto_3
2879 + :catch_16
2880 + move-exception v1
2882 + const/4 v3, 0x0
2884 + if-eqz p1, :cond_23
2886 + invoke-virtual {p1}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
2888 + move-result v4
2890 + if-eqz v4, :cond_23
2892 + invoke-virtual {p1}, Landroid/database/sqlite/SQLiteDatabase;->close()V
2894 + :cond_23
2895 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
2897 + move-result-object p1
2899 + goto :goto_13
2901 + :cond_28
2902 + if-nez v3, :cond_33
2904 + new-instance v4, Ljava/lang/Exception;
2906 + const-string/jumbo v5, "query - failed to execute query on the DB"
2908 + invoke-direct {v4, v5}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
2910 + throw v4
2912 + :cond_33
2913 + return-object v0
2914 +.end method
2916 +.method private declared-synchronized upgradeDatabase(I)V
2917 + .registers 23
2919 + monitor-enter p0
2921 + :try_start_1
2922 + const-string v17, "PrivacyPersistenceAdapter"
2924 + new-instance v18, Ljava/lang/StringBuilder;
2926 + invoke-direct/range {v18 .. v18}, Ljava/lang/StringBuilder;-><init>()V
2928 + const-string/jumbo v19, "upgradeDatabase - upgrading DB from version "
2930 + invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2932 + move-result-object v18
2934 + move-object/from16 v0, v18
2936 + move/from16 v1, p1
2938 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
2940 + move-result-object v18
2942 + const-string v19, " to "
2944 + invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2946 + move-result-object v18
2948 + const/16 v19, 0x3
2950 + invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
2952 + move-result-object v18
2954 + invoke-virtual/range {v18 .. v18}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2956 + move-result-object v18
2958 + invoke-static/range {v17 .. v18}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
2960 + new-instance v6, Ljava/io/File;
2962 + const-string v17, "/data/system/privacy.db"
2964 + move-object/from16 v0, v17
2966 + invoke-direct {v6, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
2968 + new-instance v5, Ljava/io/File;
2970 + const-string v17, "/data/system/privacy.db.bak"
2972 + move-object/from16 v0, v17
2974 + invoke-direct {v5, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
2975 + :try_end_3c
2976 + .catchall {:try_start_1 .. :try_end_3c} :catchall_66
2978 + :try_start_3c
2979 + invoke-virtual {v5}, Ljava/io/File;->delete()Z
2980 + :try_end_3f
2981 + .catchall {:try_start_3c .. :try_end_3f} :catchall_66
2982 + .catch Ljava/lang/SecurityException; {:try_start_3c .. :try_end_3f} :catch_5c
2984 + :goto_3f
2985 + :try_start_3f
2986 + invoke-static {v6, v5}, Landroid/os/FileUtils;->copyFile(Ljava/io/File;Ljava/io/File;)Z
2988 + invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
2990 + move-result-wide v17
2992 + invoke-virtual {v5}, Ljava/io/File;->lastModified()J
2994 + move-result-wide v19
2996 + sub-long v17, v17, v19
2998 + const-wide/16 v19, 0x7d0
3000 + cmp-long v17, v17, v19
3002 + if-lez v17, :cond_69
3004 + const-string v17, "PrivacyPersistenceAdapter"
3006 + const-string/jumbo v18, "upgradeDatabase - could not create a database backup, aborting..."
3008 + invoke-static/range {v17 .. v18}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
3009 + :try_end_5a
3010 + .catchall {:try_start_3f .. :try_end_5a} :catchall_66
3012 + :goto_5a
3013 + monitor-exit p0
3015 + return-void
3017 + :catch_5c
3018 + move-exception v7
3020 + :try_start_5d
3021 + const-string v17, "PrivacyPersistenceAdapter"
3023 + const-string/jumbo v18, "upgradeDatabase - could not remove old backup"
3025 + invoke-static/range {v17 .. v18}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
3026 + :try_end_65
3027 + .catchall {:try_start_5d .. :try_end_65} :catchall_66
3029 + goto :goto_3f
3031 + :catchall_66
3032 + move-exception v17
3034 + monitor-exit p0
3036 + throw v17
3038 + :cond_69
3039 + :try_start_69
3040 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
3042 + move-result-object v4
3044 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->beginTransaction()V
3046 + packed-switch p1, :pswitch_data_164
3048 + :cond_73
3049 + :goto_73
3050 + if-eqz v4, :cond_159
3052 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3054 + move-result v17
3056 + if-eqz v17, :cond_159
3058 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
3060 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3062 + :goto_81
3063 + invoke-virtual/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->purgeSettings()Z
3064 + :try_end_84
3065 + .catchall {:try_start_69 .. :try_end_84} :catchall_66
3067 + goto :goto_5a
3069 + :pswitch_85
3070 + if-eqz v4, :cond_73
3072 + :try_start_87
3073 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3075 + move-result v17
3077 + if-eqz v17, :cond_73
3079 + const-string v17, "DROP TABLE IF EXISTS version;"
3081 + move-object/from16 v0, v17
3083 + invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
3085 + const-string v17, "CREATE TABLE IF NOT EXISTS allowed_contacts ( settings_id, contact_id, PRIMARY KEY(settings_id, contact_id) );"
3087 + move-object/from16 v0, v17
3089 + invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
3091 + const-string v17, "CREATE TABLE IF NOT EXISTS map ( name TEXT PRIMARY KEY, value TEXT );"
3093 + move-object/from16 v0, v17
3095 + invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
3097 + const-string v17, "INSERT OR REPLACE INTO map (name, value) VALUES (\"db_version\", 3);"
3099 + move-object/from16 v0, v17
3101 + invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
3103 + const-string v17, "INSERT OR REPLACE INTO map (name, value) VALUES (\"enabled\", \"1\");"
3105 + move-object/from16 v0, v17
3107 + invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
3109 + const-string v17, "INSERT OR REPLACE INTO map (name, value) VALUES (\"notifications_enabled\", \"1\");"
3111 + move-object/from16 v0, v17
3113 + invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
3115 + new-instance v14, Ljava/io/File;
3117 + const-string v17, "/data/system/privacy"
3119 + move-object/from16 v0, v17
3121 + invoke-direct {v14, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
3123 + invoke-virtual {v14}, Ljava/io/File;->listFiles()[Ljava/io/File;
3125 + move-result-object v2
3127 + array-length v10, v2
3129 + const/4 v8, 0x0
3131 + move v9, v8
3133 + :goto_c7
3134 + if-ge v9, v10, :cond_127
3136 + aget-object v13, v2, v9
3138 + invoke-virtual {v13}, Ljava/io/File;->listFiles()[Ljava/io/File;
3140 + move-result-object v3
3142 + array-length v11, v3
3144 + const/4 v8, 0x0
3146 + :goto_d1
3147 + if-ge v8, v11, :cond_123
3149 + aget-object v16, v3, v8
3151 + invoke-virtual/range {v16 .. v16}, Ljava/io/File;->isDirectory()Z
3153 + move-result v17
3155 + if-eqz v17, :cond_120
3157 + invoke-virtual/range {v16 .. v16}, Ljava/io/File;->listFiles()[Ljava/io/File;
3159 + move-result-object v15
3161 + const/16 v17, 0x0
3163 + aget-object v17, v15, v17
3165 + if-eqz v17, :cond_120
3167 + new-instance v12, Ljava/io/File;
3169 + new-instance v17, Ljava/lang/StringBuilder;
3171 + invoke-direct/range {v17 .. v17}, Ljava/lang/StringBuilder;-><init>()V
3173 + move-object/from16 v0, v17
3175 + invoke-virtual {v0, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
3177 + move-result-object v17
3179 + const-string v18, "/"
3181 + invoke-virtual/range {v17 .. v18}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3183 + move-result-object v17
3185 + const/16 v18, 0x0
3187 + aget-object v18, v15, v18
3189 + invoke-virtual/range {v18 .. v18}, Ljava/io/File;->getName()Ljava/lang/String;
3191 + move-result-object v18
3193 + invoke-virtual/range {v17 .. v18}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3195 + move-result-object v17
3197 + invoke-virtual/range {v17 .. v17}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3199 + move-result-object v17
3201 + move-object/from16 v0, v17
3203 + invoke-direct {v12, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
3205 + invoke-virtual {v12}, Ljava/io/File;->delete()Z
3207 + const/16 v17, 0x0
3209 + aget-object v17, v15, v17
3211 + move-object/from16 v0, v17
3213 + invoke-virtual {v0, v12}, Ljava/io/File;->renameTo(Ljava/io/File;)Z
3215 + move-object/from16 v0, p0
3217 + move-object/from16 v1, v16
3219 + invoke-direct {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteRecursive(Ljava/io/File;)V
3221 + :cond_120
3222 + add-int/lit8 v8, v8, 0x1
3224 + goto :goto_d1
3226 + :cond_123
3227 + add-int/lit8 v8, v9, 0x1
3229 + move v9, v8
3231 + goto :goto_c7
3233 + :cond_127
3234 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->setTransactionSuccessful()V
3235 + :try_end_12a
3236 + .catchall {:try_start_87 .. :try_end_12a} :catchall_66
3237 + .catch Ljava/lang/Exception; {:try_start_87 .. :try_end_12a} :catch_12c
3239 + goto/16 :goto_73
3241 + :catch_12c
3242 + move-exception v7
3244 + if-eqz v4, :cond_13b
3246 + :try_start_12f
3247 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3249 + move-result v17
3251 + if-eqz v17, :cond_13b
3253 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
3255 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3257 + :cond_13b
3258 + const-string v17, "PrivacyPersistenceAdapter"
3260 + const-string/jumbo v18, "upgradeDatabase - could not upgrade DB; will restore backup"
3262 + move-object/from16 v0, v17
3264 + move-object/from16 v1, v18
3266 + invoke-static {v0, v1, v7}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
3268 + invoke-static {v5, v6}, Landroid/os/FileUtils;->copyFile(Ljava/io/File;Ljava/io/File;)Z
3270 + invoke-virtual {v5}, Ljava/io/File;->delete()Z
3272 + goto/16 :goto_73
3274 + :pswitch_14f
3275 + const-string v17, "PrivacyPersistenceAdapter"
3277 + const-string/jumbo v18, "upgradeDatabase - trying to upgrade most current DB version"
3279 + invoke-static/range {v17 .. v18}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
3281 + goto/16 :goto_73
3283 + :cond_159
3284 + const-string v17, "PrivacyPersistenceAdapter"
3286 + const-string/jumbo v18, "upgradeDatabase - database is null or closed; cant call endTransaction()"
3288 + invoke-static/range {v17 .. v18}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
3289 + :try_end_161
3290 + .catchall {:try_start_12f .. :try_end_161} :catchall_66
3292 + goto/16 :goto_81
3294 + nop
3296 + :pswitch_data_164
3297 + .packed-switch 0x1
3298 + :pswitch_85
3299 + :pswitch_85
3300 + :pswitch_14f
3301 + .end packed-switch
3302 +.end method
3305 +# virtual methods
3306 +.method public declared-synchronized deleteSettings(Ljava/lang/String;)Z
3307 + .registers 16
3309 + monitor-enter p0
3311 + const/4 v11, 0x1
3313 + :try_start_2
3314 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
3316 + move-result-object v0
3318 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->beginTransaction()V
3319 + :try_end_9
3320 + .catchall {:try_start_2 .. :try_end_9} :catchall_107
3322 + :try_start_9
3323 + const-string/jumbo v1, "settings"
3325 + const/4 v2, 0x1
3327 + new-array v2, v2, [Ljava/lang/String;
3329 + const/4 v3, 0x0
3331 + const-string v4, "_id"
3333 + aput-object v4, v2, v3
3335 + const-string/jumbo v3, "packageName=?"
3337 + const/4 v4, 0x1
3339 + new-array v4, v4, [Ljava/lang/String;
3341 + const/4 v5, 0x0
3343 + aput-object p1, v4, v5
3345 + const/4 v5, 0x0
3347 + const/4 v6, 0x0
3349 + const/4 v7, 0x0
3351 + 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;
3353 + move-result-object v8
3355 + if-eqz v8, :cond_4c
3357 + invoke-interface {v8}, Landroid/database/Cursor;->getCount()I
3359 + move-result v1
3361 + if-lez v1, :cond_4c
3363 + invoke-interface {v8}, Landroid/database/Cursor;->moveToFirst()Z
3365 + move-result v1
3367 + if-eqz v1, :cond_4c
3369 + const/4 v1, 0x0
3371 + invoke-interface {v8, v1}, Landroid/database/Cursor;->getInt(I)I
3373 + move-result v10
3375 + const-string v1, "allowed_contacts"
3377 + const-string/jumbo v2, "settings_id=?"
3379 + const/4 v3, 0x1
3381 + new-array v3, v3, [Ljava/lang/String;
3383 + const/4 v4, 0x0
3385 + invoke-static {v10}, Ljava/lang/Integer;->toString(I)Ljava/lang/String;
3387 + move-result-object v5
3389 + aput-object v5, 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 + invoke-interface {v8}, Landroid/database/Cursor;->close()V
3395 + :cond_4c
3396 + const-string/jumbo v1, "settings"
3398 + const-string/jumbo v2, "packageName=?"
3400 + const/4 v3, 0x1
3402 + new-array v3, v3, [Ljava/lang/String;
3404 + const/4 v4, 0x0
3406 + aput-object p1, v3, v4
3408 + invoke-virtual {v0, v1, v2, v3}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
3410 + move-result v1
3412 + if-nez v1, :cond_8d
3414 + const-string v1, "PrivacyPersistenceAdapter"
3416 + new-instance v2, Ljava/lang/StringBuilder;
3418 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
3420 + const-string v3, "deleteSettings - database entry for "
3422 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3424 + move-result-object v2
3426 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3428 + move-result-object v2
3430 + const-string v3, " not found"
3432 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3434 + move-result-object v2
3436 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3438 + move-result-object v2
3440 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
3441 + :try_end_7c
3442 + .catchall {:try_start_9 .. :try_end_7c} :catchall_10a
3443 + .catch Ljava/lang/Exception; {:try_start_9 .. :try_end_7c} :catch_ef
3445 + const/4 v1, 0x0
3447 + :try_start_7d
3448 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
3450 + if-eqz v0, :cond_8b
3452 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3454 + move-result v2
3456 + if-eqz v2, :cond_8b
3458 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3459 + :try_end_8b
3460 + .catchall {:try_start_7d .. :try_end_8b} :catchall_107
3462 + :cond_8b
3463 + :goto_8b
3464 + monitor-exit p0
3466 + return v1
3468 + :cond_8d
3469 + :try_start_8d
3470 + new-instance v12, Ljava/io/File;
3472 + new-instance v1, Ljava/lang/StringBuilder;
3474 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
3476 + const-string v2, "/data/system/privacy/"
3478 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3480 + move-result-object v1
3482 + invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3484 + move-result-object v1
3486 + const-string v2, "/"
3488 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3490 + move-result-object v1
3492 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3494 + move-result-object v1
3496 + invoke-direct {v12, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
3498 + new-instance v13, Ljava/io/File;
3500 + new-instance v1, Ljava/lang/StringBuilder;
3502 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
3504 + const-string v2, "/data/system/privacy/"
3506 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3508 + move-result-object v1
3510 + invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3512 + move-result-object v1
3514 + const-string v2, "/systemLogsSetting"
3516 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3518 + move-result-object v1
3520 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3522 + move-result-object v1
3524 + invoke-direct {v13, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
3526 + invoke-virtual {v13}, Ljava/io/File;->delete()Z
3528 + invoke-virtual {v12}, Ljava/io/File;->list()[Ljava/lang/String;
3530 + move-result-object v1
3532 + if-eqz v1, :cond_d9
3534 + invoke-virtual {v12}, Ljava/io/File;->list()[Ljava/lang/String;
3536 + move-result-object v1
3538 + array-length v1, v1
3540 + if-nez v1, :cond_dc
3542 + :cond_d9
3543 + invoke-virtual {v12}, Ljava/io/File;->delete()Z
3545 + :cond_dc
3546 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->setTransactionSuccessful()V
3547 + :try_end_df
3548 + .catchall {:try_start_8d .. :try_end_df} :catchall_10a
3549 + .catch Ljava/lang/Exception; {:try_start_8d .. :try_end_df} :catch_ef
3551 + :try_start_df
3552 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
3554 + if-eqz v0, :cond_ed
3556 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3558 + move-result v1
3560 + if-eqz v1, :cond_ed
3562 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3563 + :try_end_ed
3564 + .catchall {:try_start_df .. :try_end_ed} :catchall_107
3566 + :cond_ed
3567 + :goto_ed
3568 + move v1, v11
3570 + goto :goto_8b
3572 + :catch_ef
3573 + move-exception v9
3575 + const/4 v11, 0x0
3577 + :try_start_f1
3578 + const-string v1, "PrivacyPersistenceAdapter"
3580 + const-string v2, "deleteSettings - could not delete settings"
3582 + invoke-static {v1, v2, v9}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
3583 + :try_end_f8
3584 + .catchall {:try_start_f1 .. :try_end_f8} :catchall_10a
3586 + :try_start_f8
3587 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
3589 + if-eqz v0, :cond_ed
3591 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3593 + move-result v1
3595 + if-eqz v1, :cond_ed
3597 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3598 + :try_end_106
3599 + .catchall {:try_start_f8 .. :try_end_106} :catchall_107
3601 + goto :goto_ed
3603 + :catchall_107
3604 + move-exception v1
3606 + monitor-exit p0
3608 + throw v1
3610 + :catchall_10a
3611 + move-exception v1
3613 + :try_start_10b
3614 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
3616 + if-eqz v0, :cond_119
3618 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3620 + move-result v2
3622 + if-eqz v2, :cond_119
3624 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3626 + :cond_119
3627 + throw v1
3628 + :try_end_11a
3629 + .catchall {:try_start_10b .. :try_end_11a} :catchall_107
3630 +.end method
3632 +.method public declared-synchronized getSettings(Ljava/lang/String;Z)Landroid/privacy/PrivacySettings;
3633 + .registers 47
3635 + monitor-enter p0
3637 + const/16 v43, 0x0
3639 + if-nez p1, :cond_10
3641 + :try_start_5
3642 + const-string v1, "PrivacyPersistenceAdapter"
3644 + const-string v4, "getSettings - insufficient application identifier - package name is required"
3646 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
3647 + :try_end_c
3648 + .catchall {:try_start_5 .. :try_end_c} :catchall_2d8
3650 + move-object/from16 v3, v43
3652 + :goto_e
3653 + monitor-exit p0
3655 + return-object v43
3657 + :cond_10
3658 + :try_start_10
3659 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
3661 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
3663 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
3665 + move-result v1
3667 + add-int/lit8 v1, v1, 0x1
3669 + invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
3671 + move-result-object v1
3673 + sput-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
3674 + :try_end_20
3675 + .catchall {:try_start_10 .. :try_end_20} :catchall_2d8
3677 + :try_start_20
3678 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
3679 + :try_end_23
3680 + .catchall {:try_start_20 .. :try_end_23} :catchall_2d8
3681 + .catch Landroid/database/sqlite/SQLiteException; {:try_start_20 .. :try_end_23} :catch_245
3683 + move-result-object v2
3685 + const/16 v41, 0x0
3687 + :try_start_26
3688 + const-string/jumbo v3, "settings"
3690 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->DATABASE_FIELDS:[Ljava/lang/String;
3692 + const-string/jumbo v5, "packageName=?"
3694 + const/4 v1, 0x1
3696 + new-array v6, v1, [Ljava/lang/String;
3698 + const/4 v1, 0x0
3700 + aput-object p1, v6, v1
3702 + const/4 v7, 0x0
3704 + const/4 v8, 0x0
3706 + const/4 v9, 0x0
3708 + const/4 v10, 0x0
3710 + move-object/from16 v1, p0
3712 + 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;
3714 + move-result-object v41
3716 + if-eqz v41, :cond_2dc
3718 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->moveToFirst()Z
3720 + move-result v1
3722 + if-eqz v1, :cond_2dc
3724 + new-instance v3, Landroid/privacy/PrivacySettings;
3726 + const/4 v1, 0x0
3728 + move-object/from16 v0, v41
3730 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getInt(I)I
3732 + move-result v1
3734 + invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
3736 + move-result-object v4
3738 + const/4 v1, 0x1
3740 + move-object/from16 v0, v41
3742 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
3744 + move-result-object v5
3746 + const/4 v1, 0x2
3748 + move-object/from16 v0, v41
3750 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getInt(I)I
3752 + move-result v6
3754 + const/4 v1, 0x3
3756 + move-object/from16 v0, v41
3758 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3760 + move-result v1
3762 + int-to-byte v7, v1
3764 + const/4 v1, 0x4
3766 + move-object/from16 v0, v41
3768 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
3770 + move-result-object v8
3772 + const/4 v1, 0x5
3774 + move-object/from16 v0, v41
3776 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3778 + move-result v1
3780 + int-to-byte v9, v1
3782 + const/4 v1, 0x6
3784 + move-object/from16 v0, v41
3786 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
3788 + move-result-object v10
3790 + const/4 v1, 0x7
3792 + move-object/from16 v0, v41
3794 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3796 + move-result v1
3798 + int-to-byte v11, v1
3800 + const/16 v1, 0x8
3802 + move-object/from16 v0, v41
3804 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
3806 + move-result-object v12
3808 + const/16 v1, 0x9
3810 + move-object/from16 v0, v41
3812 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
3814 + move-result-object v13
3816 + const/16 v1, 0xa
3818 + move-object/from16 v0, v41
3820 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3822 + move-result v1
3824 + int-to-byte v14, v1
3826 + const/16 v1, 0xb
3828 + move-object/from16 v0, v41
3830 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
3832 + move-result-object v15
3834 + const/16 v1, 0xc
3836 + move-object/from16 v0, v41
3838 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
3840 + move-result-object v16
3842 + const/16 v1, 0xd
3844 + move-object/from16 v0, v41
3846 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3848 + move-result v1
3850 + int-to-byte v0, v1
3852 + move/from16 v17, v0
3854 + const/16 v1, 0xe
3856 + move-object/from16 v0, v41
3858 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3860 + move-result v1
3862 + int-to-byte v0, v1
3864 + move/from16 v18, v0
3866 + const/16 v1, 0xf
3868 + move-object/from16 v0, v41
3870 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3872 + move-result v1
3874 + int-to-byte v0, v1
3876 + move/from16 v19, v0
3878 + const/16 v1, 0x10
3880 + move-object/from16 v0, v41
3882 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
3884 + move-result-object v20
3886 + const/16 v1, 0x11
3888 + move-object/from16 v0, v41
3890 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3892 + move-result v1
3894 + int-to-byte v0, v1
3896 + move/from16 v21, v0
3898 + const/16 v1, 0x12
3900 + move-object/from16 v0, v41
3902 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
3904 + move-result-object v22
3906 + const/16 v1, 0x13
3908 + move-object/from16 v0, v41
3910 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3912 + move-result v1
3914 + int-to-byte v0, v1
3916 + move/from16 v23, v0
3918 + const/16 v1, 0x14
3920 + move-object/from16 v0, v41
3922 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3924 + move-result v1
3926 + int-to-byte v0, v1
3928 + move/from16 v24, v0
3930 + const/16 v1, 0x15
3932 + move-object/from16 v0, v41
3934 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3936 + move-result v1
3938 + int-to-byte v0, v1
3940 + move/from16 v25, v0
3942 + const/16 v1, 0x16
3944 + move-object/from16 v0, v41
3946 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3948 + move-result v1
3950 + int-to-byte v0, v1
3952 + move/from16 v26, v0
3954 + const/16 v1, 0x17
3956 + move-object/from16 v0, v41
3958 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3960 + move-result v1
3962 + int-to-byte v0, v1
3964 + move/from16 v27, v0
3966 + const/16 v1, 0x18
3968 + move-object/from16 v0, v41
3970 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3972 + move-result v1
3974 + int-to-byte v0, v1
3976 + move/from16 v28, v0
3978 + const/16 v1, 0x19
3980 + move-object/from16 v0, v41
3982 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3984 + move-result v1
3986 + int-to-byte v0, v1
3988 + move/from16 v29, v0
3990 + const/16 v1, 0x1a
3992 + move-object/from16 v0, v41
3994 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3996 + move-result v1
3998 + int-to-byte v0, v1
4000 + move/from16 v30, v0
4002 + const/16 v1, 0x1b
4004 + move-object/from16 v0, v41
4006 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4008 + move-result v1
4010 + int-to-byte v0, v1
4012 + move/from16 v31, v0
4014 + const/16 v1, 0x1c
4016 + move-object/from16 v0, v41
4018 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4020 + move-result v1
4022 + int-to-byte v0, v1
4024 + move/from16 v32, v0
4026 + const/16 v1, 0x1d
4028 + move-object/from16 v0, v41
4030 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4032 + move-result v1
4034 + int-to-byte v0, v1
4036 + move/from16 v33, v0
4038 + const/16 v1, 0x1e
4040 + move-object/from16 v0, v41
4042 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4044 + move-result v1
4046 + int-to-byte v0, v1
4048 + move/from16 v34, v0
4050 + const/16 v1, 0x1f
4052 + move-object/from16 v0, v41
4054 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4056 + move-result v1
4058 + int-to-byte v0, v1
4060 + move/from16 v35, v0
4062 + const/16 v1, 0x20
4064 + move-object/from16 v0, v41
4066 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4068 + move-result v1
4070 + int-to-byte v0, v1
4072 + move/from16 v36, v0
4074 + const/16 v1, 0x21
4076 + move-object/from16 v0, v41
4078 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4080 + move-result v1
4082 + int-to-byte v0, v1
4084 + move/from16 v37, v0
4086 + const/16 v1, 0x22
4088 + move-object/from16 v0, v41
4090 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4092 + move-result v1
4094 + int-to-byte v0, v1
4096 + move/from16 v38, v0
4098 + const/16 v39, 0x0
4100 + 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
4101 + :try_end_1a1
4102 + .catchall {:try_start_26 .. :try_end_1a1} :catchall_29b
4103 + .catch Ljava/lang/Exception; {:try_start_26 .. :try_end_1a1} :catch_2d3
4105 + :try_start_1a1
4106 + new-instance v1, Ljava/lang/StringBuilder;
4108 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
4110 + const-string v4, "SELECT * FROM allowed_contacts WHERE settings_id="
4112 + invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4114 + move-result-object v1
4116 + invoke-virtual {v3}, Landroid/privacy/PrivacySettings;->get_id()Ljava/lang/Integer;
4118 + move-result-object v4
4120 + invoke-virtual {v4}, Ljava/lang/Integer;->intValue()I
4122 + move-result v4
4124 + invoke-static {v4}, Ljava/lang/Integer;->toString(I)Ljava/lang/String;
4126 + move-result-object v4
4128 + invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4130 + move-result-object v1
4132 + const-string v4, ";"
4134 + invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4136 + move-result-object v1
4138 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4140 + move-result-object v1
4142 + move-object/from16 v0, p0
4144 + invoke-direct {v0, v2, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->rawQuery(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;)Landroid/database/Cursor;
4146 + move-result-object v41
4148 + if-eqz v41, :cond_268
4150 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->getCount()I
4152 + move-result v1
4154 + if-lez v1, :cond_268
4156 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->getCount()I
4158 + move-result v1
4160 + new-array v0, v1, [I
4162 + move-object/from16 v40, v0
4164 + :goto_1dc
4165 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->moveToNext()Z
4167 + move-result v1
4169 + if-eqz v1, :cond_263
4171 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->getPosition()I
4173 + move-result v1
4175 + const/4 v4, 0x1
4177 + move-object/from16 v0, v41
4179 + invoke-interface {v0, v4}, Landroid/database/Cursor;->getInt(I)I
4181 + move-result v4
4183 + aput v4, v40, v1
4184 + :try_end_1ef
4185 + .catchall {:try_start_1a1 .. :try_end_1ef} :catchall_2d1
4186 + .catch Ljava/lang/Exception; {:try_start_1a1 .. :try_end_1ef} :catch_1f0
4188 + goto :goto_1dc
4190 + :catch_1f0
4191 + move-exception v42
4193 + :goto_1f1
4194 + :try_start_1f1
4195 + const-string v1, "PrivacyPersistenceAdapter"
4197 + new-instance v4, Ljava/lang/StringBuilder;
4199 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
4201 + const-string v5, "getSettings - failed to get settings for package: "
4203 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4205 + move-result-object v4
4207 + move-object/from16 v0, p1
4209 + invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4211 + move-result-object v4
4213 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4215 + move-result-object v4
4217 + move-object/from16 v0, v42
4219 + invoke-static {v1, v4, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
4221 + invoke-virtual/range {v42 .. v42}, Ljava/lang/Exception;->printStackTrace()V
4223 + if-eqz v41, :cond_215
4225 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->close()V
4226 + :try_end_215
4227 + .catchall {:try_start_1f1 .. :try_end_215} :catchall_2d1
4229 + :cond_215
4230 + if-eqz v41, :cond_21a
4232 + :try_start_217
4233 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->close()V
4235 + :cond_21a
4236 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4238 + monitor-enter v4
4239 + :try_end_21d
4240 + .catchall {:try_start_217 .. :try_end_21d} :catchall_298
4242 + :try_start_21d
4243 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4245 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4247 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
4249 + move-result v1
4251 + add-int/lit8 v1, v1, -0x1
4253 + invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4255 + move-result-object v1
4257 + sput-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4259 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4261 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
4263 + move-result v1
4265 + if-nez v1, :cond_240
4267 + if-eqz v2, :cond_240
4269 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
4271 + move-result v1
4273 + if-eqz v1, :cond_240
4275 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
4277 + :cond_240
4278 + monitor-exit v4
4279 + :try_end_241
4280 + .catchall {:try_start_21d .. :try_end_241} :catchall_2ce
4282 + :goto_241
4283 + move-object/from16 v43, v3
4285 + goto/16 :goto_e
4287 + :catch_245
4288 + move-exception v42
4290 + :try_start_246
4291 + const-string v1, "PrivacyPersistenceAdapter"
4293 + const-string v4, "getSettings - database could not be opened"
4295 + move-object/from16 v0, v42
4297 + invoke-static {v1, v4, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
4299 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4301 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4303 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
4305 + move-result v1
4307 + add-int/lit8 v1, v1, -0x1
4309 + invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4311 + move-result-object v1
4313 + sput-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4314 + :try_end_25f
4315 + .catchall {:try_start_246 .. :try_end_25f} :catchall_2d8
4317 + move-object/from16 v3, v43
4319 + goto/16 :goto_e
4321 + :cond_263
4322 + :try_start_263
4323 + move-object/from16 v0, v40
4325 + invoke-virtual {v3, v0}, Landroid/privacy/PrivacySettings;->setAllowedContacts([I)V
4326 + :try_end_268
4327 + .catchall {:try_start_263 .. :try_end_268} :catchall_2d1
4328 + .catch Ljava/lang/Exception; {:try_start_263 .. :try_end_268} :catch_1f0
4330 + :cond_268
4331 + :goto_268
4332 + if-eqz v41, :cond_26d
4334 + :try_start_26a
4335 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->close()V
4337 + :cond_26d
4338 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4340 + monitor-enter v4
4341 + :try_end_270
4342 + .catchall {:try_start_26a .. :try_end_270} :catchall_298
4344 + :try_start_270
4345 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4347 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4349 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
4351 + move-result v1
4353 + add-int/lit8 v1, v1, -0x1
4355 + invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4357 + move-result-object v1
4359 + sput-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4361 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4363 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
4365 + move-result v1
4367 + if-nez v1, :cond_293
4369 + if-eqz v2, :cond_293
4371 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
4373 + move-result v1
4375 + if-eqz v1, :cond_293
4377 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
4379 + :cond_293
4380 + monitor-exit v4
4382 + goto :goto_241
4384 + :catchall_295
4385 + move-exception v1
4387 + monitor-exit v4
4388 + :try_end_297
4389 + .catchall {:try_start_270 .. :try_end_297} :catchall_295
4391 + :try_start_297
4392 + throw v1
4393 + :try_end_298
4394 + .catchall {:try_start_297 .. :try_end_298} :catchall_298
4396 + :catchall_298
4397 + move-exception v1
4399 + :goto_299
4400 + monitor-exit p0
4402 + throw v1
4404 + :catchall_29b
4405 + move-exception v1
4407 + move-object/from16 v3, v43
4409 + :goto_29e
4410 + if-eqz v41, :cond_2a3
4412 + :try_start_2a0
4413 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->close()V
4415 + :cond_2a3
4416 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4418 + monitor-enter v4
4419 + :try_end_2a6
4420 + .catchall {:try_start_2a0 .. :try_end_2a6} :catchall_298
4422 + :try_start_2a6
4423 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4425 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4427 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
4429 + move-result v5
4431 + add-int/lit8 v5, v5, -0x1
4433 + invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4435 + move-result-object v5
4437 + sput-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4439 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4441 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
4443 + move-result v5
4445 + if-nez v5, :cond_2c9
4447 + if-eqz v2, :cond_2c9
4449 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
4451 + move-result v5
4453 + if-eqz v5, :cond_2c9
4455 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
4457 + :cond_2c9
4458 + monitor-exit v4
4459 + :try_end_2ca
4460 + .catchall {:try_start_2a6 .. :try_end_2ca} :catchall_2cb
4462 + :try_start_2ca
4463 + throw v1
4464 + :try_end_2cb
4465 + .catchall {:try_start_2ca .. :try_end_2cb} :catchall_298
4467 + :catchall_2cb
4468 + move-exception v1
4470 + :try_start_2cc
4471 + monitor-exit v4
4472 + :try_end_2cd
4473 + .catchall {:try_start_2cc .. :try_end_2cd} :catchall_2cb
4475 + :try_start_2cd
4476 + throw v1
4477 + :try_end_2ce
4478 + .catchall {:try_start_2cd .. :try_end_2ce} :catchall_298
4480 + :catchall_2ce
4481 + move-exception v1
4483 + :try_start_2cf
4484 + monitor-exit v4
4485 + :try_end_2d0
4486 + .catchall {:try_start_2cf .. :try_end_2d0} :catchall_2ce
4488 + :try_start_2d0
4489 + throw v1
4490 + :try_end_2d1
4491 + .catchall {:try_start_2d0 .. :try_end_2d1} :catchall_298
4493 + :catchall_2d1
4494 + move-exception v1
4496 + goto :goto_29e
4498 + :catch_2d3
4499 + move-exception v42
4501 + move-object/from16 v3, v43
4503 + goto/16 :goto_1f1
4505 + :catchall_2d8
4506 + move-exception v1
4508 + move-object/from16 v3, v43
4510 + goto :goto_299
4512 + :cond_2dc
4513 + move-object/from16 v3, v43
4515 + goto :goto_268
4516 +.end method
4518 +.method public getValue(Ljava/lang/String;)Ljava/lang/String;
4519 + .registers 15
4521 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4523 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4525 + invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
4527 + move-result v0
4529 + add-int/lit8 v0, v0, 0x1
4531 + invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4533 + move-result-object v0
4535 + sput-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4537 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
4539 + move-result-object v1
4541 + const/4 v12, 0x0
4543 + :try_start_15
4544 + const-string/jumbo v2, "map"
4546 + const/4 v0, 0x1
4548 + new-array v3, v0, [Ljava/lang/String;
4550 + const/4 v0, 0x0
4552 + const-string/jumbo v4, "value"
4554 + aput-object v4, v3, v0
4556 + const-string/jumbo v4, "name=?"
4558 + const/4 v0, 0x1
4560 + new-array v5, v0, [Ljava/lang/String;
4562 + const/4 v0, 0x0
4564 + aput-object p1, v5, v0
4566 + const/4 v6, 0x0
4568 + const/4 v7, 0x0
4570 + const/4 v8, 0x0
4572 + const/4 v9, 0x0
4574 + move-object v0, p0
4576 + 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;
4578 + move-result-object v10
4580 + if-eqz v10, :cond_77
4582 + invoke-interface {v10}, Landroid/database/Cursor;->getCount()I
4584 + move-result v0
4586 + if-lez v0, :cond_77
4588 + invoke-interface {v10}, Landroid/database/Cursor;->moveToFirst()Z
4590 + move-result v0
4592 + if-eqz v0, :cond_77
4594 + const-string/jumbo v0, "value"
4596 + invoke-interface {v10, v0}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
4598 + move-result v0
4600 + invoke-interface {v10, v0}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
4602 + move-result-object v12
4604 + invoke-interface {v10}, Landroid/database/Cursor;->close()V
4605 + :try_end_4f
4606 + .catch Ljava/lang/Exception; {:try_start_15 .. :try_end_4f} :catch_90
4608 + :goto_4f
4609 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4611 + monitor-enter v2
4613 + :try_start_52
4614 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4616 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4618 + invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
4620 + move-result v0
4622 + add-int/lit8 v0, v0, -0x1
4624 + invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4626 + move-result-object v0
4628 + sput-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4630 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4632 + invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
4634 + move-result v0
4636 + if-nez v0, :cond_75
4638 + if-eqz v1, :cond_75
4640 + invoke-virtual {v1}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
4642 + move-result v0
4644 + if-eqz v0, :cond_75
4646 + invoke-virtual {v1}, Landroid/database/sqlite/SQLiteDatabase;->close()V
4648 + :cond_75
4649 + monitor-exit v2
4650 + :try_end_76
4651 + .catchall {:try_start_52 .. :try_end_76} :catchall_aa
4653 + return-object v12
4655 + :cond_77
4656 + :try_start_77
4657 + const-string v0, "PrivacyPersistenceAdapter"
4659 + new-instance v2, Ljava/lang/StringBuilder;
4661 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
4663 + const-string v3, "getValue - could not get value for name: "
4665 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4667 + move-result-object v2
4669 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4671 + move-result-object v2
4673 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4675 + move-result-object v2
4677 + invoke-static {v0, v2}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
4678 + :try_end_8f
4679 + .catch Ljava/lang/Exception; {:try_start_77 .. :try_end_8f} :catch_90
4681 + goto :goto_4f
4683 + :catch_90
4684 + move-exception v11
4686 + const-string v0, "PrivacyPersistenceAdapter"
4688 + new-instance v2, Ljava/lang/StringBuilder;
4690 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
4692 + const-string v3, "getValue - could not get value for name: "
4694 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4696 + move-result-object v2
4698 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4700 + move-result-object v2
4702 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4704 + move-result-object v2
4706 + invoke-static {v0, v2, v11}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
4708 + goto :goto_4f
4710 + :catchall_aa
4711 + move-exception v0
4713 + :try_start_ab
4714 + monitor-exit v2
4715 + :try_end_ac
4716 + .catchall {:try_start_ab .. :try_end_ac} :catchall_aa
4718 + throw v0
4719 +.end method
4721 +.method public purgeSettings()Z
4722 + .registers 28
4724 + const/16 v25, 0x1
4726 + new-instance v13, Ljava/util/ArrayList;
4728 + invoke-direct {v13}, Ljava/util/ArrayList;-><init>()V
4730 + move-object/from16 v0, p0
4732 + iget-object v2, v0, Landroid/privacy/PrivacyPersistenceAdapter;->context:Landroid/content/Context;
4734 + invoke-virtual {v2}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
4736 + move-result-object v21
4738 + const/16 v2, 0x80
4740 + move-object/from16 v0, v21
4742 + invoke-virtual {v0, v2}, Landroid/content/pm/PackageManager;->getInstalledApplications(I)Ljava/util/List;
4744 + move-result-object v19
4746 + invoke-interface/range {v19 .. v19}, Ljava/util/List;->iterator()Ljava/util/Iterator;
4748 + move-result-object v18
4750 + :goto_1b
4751 + invoke-interface/range {v18 .. v18}, Ljava/util/Iterator;->hasNext()Z
4753 + move-result v2
4755 + if-eqz v2, :cond_2d
4757 + invoke-interface/range {v18 .. v18}, Ljava/util/Iterator;->next()Ljava/lang/Object;
4759 + move-result-object v12
4761 + check-cast v12, Landroid/content/pm/ApplicationInfo;
4763 + iget-object v2, v12, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
4765 + invoke-interface {v13, v2}, Ljava/util/List;->add(Ljava/lang/Object;)Z
4767 + goto :goto_1b
4769 + :cond_2d
4770 + new-instance v26, Ljava/io/File;
4772 + const-string v2, "/data/system/privacy"
4774 + move-object/from16 v0, v26
4776 + invoke-direct {v0, v2}, Ljava/io/File;-><init>(Ljava/lang/String;)V
4778 + invoke-virtual/range {v26 .. v26}, Ljava/io/File;->listFiles()[Ljava/io/File;
4780 + move-result-object v15
4782 + array-length v0, v15
4784 + move/from16 v20, v0
4786 + const/16 v18, 0x0
4788 + :goto_3f
4789 + move/from16 v0, v18
4791 + move/from16 v1, v20
4793 + if-ge v0, v1, :cond_5d
4795 + aget-object v23, v15, v18
4797 + invoke-virtual/range {v23 .. v23}, Ljava/io/File;->getName()Ljava/lang/String;
4799 + move-result-object v24
4801 + move-object/from16 v0, v24
4803 + invoke-interface {v13, v0}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
4805 + move-result v2
4807 + if-nez v2, :cond_5a
4809 + move-object/from16 v0, p0
4811 + move-object/from16 v1, v23
4813 + invoke-direct {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteRecursive(Ljava/io/File;)V
4815 + :cond_5a
4816 + add-int/lit8 v18, v18, 0x1
4818 + goto :goto_3f
4820 + :cond_5d
4821 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4823 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4825 + invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
4827 + move-result v2
4829 + add-int/lit8 v2, v2, 0x1
4831 + invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4833 + move-result-object v2
4835 + sput-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4837 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
4839 + move-result-object v3
4841 + const/16 v16, 0x0
4843 + :try_start_73
4844 + const-string/jumbo v4, "settings"
4846 + const/4 v2, 0x1
4848 + new-array v5, v2, [Ljava/lang/String;
4850 + const/4 v2, 0x0
4852 + const-string/jumbo v6, "packageName"
4854 + aput-object v6, v5, v2
4856 + const/4 v6, 0x0
4858 + const/4 v7, 0x0
4860 + const/4 v8, 0x0
4862 + const/4 v9, 0x0
4864 + const/4 v10, 0x0
4866 + const/4 v11, 0x0
4868 + move-object/from16 v2, p0
4870 + 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;
4872 + move-result-object v16
4874 + new-instance v14, Ljava/util/ArrayList;
4876 + invoke-direct {v14}, Ljava/util/ArrayList;-><init>()V
4878 + :goto_90
4879 + invoke-interface/range {v16 .. v16}, Landroid/database/Cursor;->moveToNext()Z
4881 + move-result v2
4883 + if-eqz v2, :cond_142
4885 + const/4 v2, 0x0
4887 + move-object/from16 v0, v16
4889 + invoke-interface {v0, v2}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
4891 + move-result-object v24
4893 + move-object/from16 v0, v24
4895 + invoke-interface {v13, v0}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
4897 + move-result v2
4899 + if-nez v2, :cond_e7
4901 + move-object/from16 v0, p0
4903 + move-object/from16 v1, v24
4905 + invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteSettings(Ljava/lang/String;)Z
4906 + :try_end_ac
4907 + .catchall {:try_start_73 .. :try_end_ac} :catchall_107
4908 + .catch Ljava/lang/Exception; {:try_start_73 .. :try_end_ac} :catch_ad
4910 + goto :goto_90
4912 + :catch_ad
4913 + move-exception v17
4915 + :try_start_ae
4916 + const-string v2, "PrivacyPersistenceAdapter"
4918 + const-string/jumbo v4, "purgeSettings - purging DB failed"
4920 + move-object/from16 v0, v17
4922 + invoke-static {v2, v4, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
4923 + :try_end_b8
4924 + .catchall {:try_start_ae .. :try_end_b8} :catchall_107
4926 + const/16 v25, 0x0
4928 + if-eqz v16, :cond_bf
4930 + invoke-interface/range {v16 .. v16}, Landroid/database/Cursor;->close()V
4932 + :cond_bf
4933 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4935 + monitor-enter v4
4937 + :try_start_c2
4938 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4940 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4942 + invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
4944 + move-result v2
4946 + add-int/lit8 v2, v2, -0x1
4948 + invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4950 + move-result-object v2
4952 + sput-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4954 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4956 + invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
4958 + move-result v2
4960 + if-nez v2, :cond_e5
4962 + if-eqz v3, :cond_e5
4964 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
4966 + move-result v2
4968 + if-eqz v2, :cond_e5
4970 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->close()V
4972 + :cond_e5
4973 + monitor-exit v4
4974 + :try_end_e6
4975 + .catchall {:try_start_c2 .. :try_end_e6} :catchall_13f
4977 + :goto_e6
4978 + return v25
4980 + :cond_e7
4981 + :try_start_e7
4982 + move-object/from16 v0, v24
4984 + invoke-interface {v14, v0}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
4986 + move-result v2
4988 + if-eqz v2, :cond_135
4990 + const/4 v2, 0x0
4992 + move-object/from16 v0, p0
4994 + move-object/from16 v1, v24
4996 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacyPersistenceAdapter;->getSettings(Ljava/lang/String;Z)Landroid/privacy/PrivacySettings;
4998 + move-result-object v22
5000 + move-object/from16 v0, p0
5002 + move-object/from16 v1, v24
5004 + invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteSettings(Ljava/lang/String;)Z
5006 + move-object/from16 v0, p0
5008 + move-object/from16 v1, v22
5010 + invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->saveSettings(Landroid/privacy/PrivacySettings;)Z
5011 + :try_end_106
5012 + .catchall {:try_start_e7 .. :try_end_106} :catchall_107
5013 + .catch Ljava/lang/Exception; {:try_start_e7 .. :try_end_106} :catch_ad
5015 + goto :goto_90
5017 + :catchall_107
5018 + move-exception v2
5020 + if-eqz v16, :cond_10d
5022 + invoke-interface/range {v16 .. v16}, Landroid/database/Cursor;->close()V
5024 + :cond_10d
5025 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5027 + monitor-enter v4
5029 + :try_start_110
5030 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5032 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5034 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
5036 + move-result v5
5038 + add-int/lit8 v5, v5, -0x1
5040 + invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5042 + move-result-object v5
5044 + sput-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5046 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5048 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
5050 + move-result v5
5052 + if-nez v5, :cond_133
5054 + if-eqz v3, :cond_133
5056 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
5058 + move-result v5
5060 + if-eqz v5, :cond_133
5062 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->close()V
5064 + :cond_133
5065 + monitor-exit v4
5066 + :try_end_134
5067 + .catchall {:try_start_110 .. :try_end_134} :catchall_13c
5069 + throw v2
5071 + :cond_135
5072 + :try_start_135
5073 + move-object/from16 v0, v24
5075 + invoke-interface {v14, v0}, Ljava/util/List;->add(Ljava/lang/Object;)Z
5076 + :try_end_13a
5077 + .catchall {:try_start_135 .. :try_end_13a} :catchall_107
5078 + .catch Ljava/lang/Exception; {:try_start_135 .. :try_end_13a} :catch_ad
5080 + goto/16 :goto_90
5082 + :catchall_13c
5083 + move-exception v2
5085 + :try_start_13d
5086 + monitor-exit v4
5087 + :try_end_13e
5088 + .catchall {:try_start_13d .. :try_end_13e} :catchall_13c
5090 + throw v2
5092 + :catchall_13f
5093 + move-exception v2
5095 + :try_start_140
5096 + monitor-exit v4
5097 + :try_end_141
5098 + .catchall {:try_start_140 .. :try_end_141} :catchall_13f
5100 + throw v2
5102 + :cond_142
5103 + if-eqz v16, :cond_147
5105 + invoke-interface/range {v16 .. v16}, Landroid/database/Cursor;->close()V
5107 + :cond_147
5108 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5110 + monitor-enter v4
5112 + :try_start_14a
5113 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5115 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5117 + invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
5119 + move-result v2
5121 + add-int/lit8 v2, v2, -0x1
5123 + invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5125 + move-result-object v2
5127 + sput-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5129 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5131 + invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
5133 + move-result v2
5135 + if-nez v2, :cond_16d
5137 + if-eqz v3, :cond_16d
5139 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
5141 + move-result v2
5143 + if-eqz v2, :cond_16d
5145 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->close()V
5147 + :cond_16d
5148 + monitor-exit v4
5150 + goto/16 :goto_e6
5152 + :catchall_170
5153 + move-exception v2
5155 + monitor-exit v4
5156 + :try_end_172
5157 + .catchall {:try_start_14a .. :try_end_172} :catchall_170
5159 + throw v2
5160 +.end method
5162 +.method public declared-synchronized saveSettings(Landroid/privacy/PrivacySettings;)Z
5163 + .registers 27
5165 + monitor-enter p0
5167 + const/16 v18, 0x1
5169 + :try_start_3
5170 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getPackageName()Ljava/lang/String;
5172 + move-result-object v17
5174 + if-eqz v17, :cond_f
5176 + invoke-virtual/range {v17 .. v17}, Ljava/lang/String;->isEmpty()Z
5178 + move-result v3
5180 + if-eqz v3, :cond_1a
5182 + :cond_f
5183 + const-string v3, "PrivacyPersistenceAdapter"
5185 + const-string/jumbo v4, "saveSettings - either package name, UID or both is missing"
5187 + invoke-static {v3, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
5188 + :try_end_17
5189 + .catchall {:try_start_3 .. :try_end_17} :catchall_2c2
5191 + const/4 v3, 0x0
5193 + :goto_18
5194 + monitor-exit p0
5196 + return v3
5198 + :cond_1a
5199 + :try_start_1a
5200 + new-instance v23, Landroid/content/ContentValues;
5202 + invoke-direct/range {v23 .. v23}, Landroid/content/ContentValues;-><init>()V
5204 + const-string/jumbo v3, "packageName"
5206 + move-object/from16 v0, v23
5208 + move-object/from16 v1, v17
5210 + invoke-virtual {v0, v3, v1}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5212 + const-string/jumbo v3, "uid"
5214 + const/4 v4, -0x1
5216 + invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5218 + move-result-object v4
5220 + move-object/from16 v0, v23
5222 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
5224 + const-string v3, "deviceIdSetting"
5226 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
5228 + move-result v4
5230 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5232 + move-result-object v4
5234 + move-object/from16 v0, v23
5236 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5238 + const-string v3, "deviceId"
5240 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getDeviceId()Ljava/lang/String;
5242 + move-result-object v4
5244 + move-object/from16 v0, v23
5246 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5248 + const-string v3, "line1NumberSetting"
5250 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
5252 + move-result v4
5254 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5256 + move-result-object v4
5258 + move-object/from16 v0, v23
5260 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5262 + const-string v3, "line1Number"
5264 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLine1Number()Ljava/lang/String;
5266 + move-result-object v4
5268 + move-object/from16 v0, v23
5270 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5272 + const-string v3, "locationGpsSetting"
5274 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
5276 + move-result v4
5278 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5280 + move-result-object v4
5282 + move-object/from16 v0, v23
5284 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5286 + const-string v3, "locationGpsLat"
5288 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
5290 + move-result-object v4
5292 + move-object/from16 v0, v23
5294 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5296 + const-string v3, "locationGpsLon"
5298 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
5300 + move-result-object v4
5302 + move-object/from16 v0, v23
5304 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5306 + const-string v3, "locationNetworkSetting"
5308 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
5310 + move-result v4
5312 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5314 + move-result-object v4
5316 + move-object/from16 v0, v23
5318 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5320 + const-string v3, "locationNetworkLat"
5322 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
5324 + move-result-object v4
5326 + move-object/from16 v0, v23
5328 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5330 + const-string v3, "locationNetworkLon"
5332 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
5334 + move-result-object v4
5336 + move-object/from16 v0, v23
5338 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5340 + const-string/jumbo v3, "networkInfoSetting"
5342 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
5344 + move-result v4
5346 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5348 + move-result-object v4
5350 + move-object/from16 v0, v23
5352 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5354 + const-string/jumbo v3, "simInfoSetting"
5356 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSimInfoSetting()B
5358 + move-result v4
5360 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5362 + move-result-object v4
5364 + move-object/from16 v0, v23
5366 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5368 + const-string/jumbo v3, "simSerialNumberSetting"
5370 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSimSerialNumberSetting()B
5372 + move-result v4
5374 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5376 + move-result-object v4
5378 + move-object/from16 v0, v23
5380 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5382 + const-string/jumbo v3, "simSerialNumber"
5384 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSimSerialNumber()Ljava/lang/String;
5386 + move-result-object v4
5388 + move-object/from16 v0, v23
5390 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5392 + const-string/jumbo v3, "subscriberIdSetting"
5394 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSubscriberIdSetting()B
5396 + move-result v4
5398 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5400 + move-result-object v4
5402 + move-object/from16 v0, v23
5404 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5406 + const-string/jumbo v3, "subscriberId"
5408 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSubscriberId()Ljava/lang/String;
5410 + move-result-object v4
5412 + move-object/from16 v0, v23
5414 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5416 + const-string v3, "accountsSetting"
5418 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
5420 + move-result v4
5422 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5424 + move-result-object v4
5426 + move-object/from16 v0, v23
5428 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5430 + const-string v3, "accountsAuthTokensSetting"
5432 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
5434 + move-result v4
5436 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5438 + move-result-object v4
5440 + move-object/from16 v0, v23
5442 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5444 + const-string/jumbo v3, "outgoingCallsSetting"
5446 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getOutgoingCallsSetting()B
5448 + move-result v4
5450 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5452 + move-result-object v4
5454 + move-object/from16 v0, v23
5456 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5458 + const-string v3, "incomingCallsSetting"
5460 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getIncomingCallsSetting()B
5462 + move-result v4
5464 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5466 + move-result-object v4
5468 + move-object/from16 v0, v23
5470 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5472 + const-string v3, "contactsSetting"
5474 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getContactsSetting()B
5476 + move-result v4
5478 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5480 + move-result-object v4
5482 + move-object/from16 v0, v23
5484 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5486 + const-string v3, "calendarSetting"
5488 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getCalendarSetting()B
5490 + move-result v4
5492 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5494 + move-result-object v4
5496 + move-object/from16 v0, v23
5498 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5500 + const-string/jumbo v3, "mmsSetting"
5502 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getMmsSetting()B
5504 + move-result v4
5506 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5508 + move-result-object v4
5510 + move-object/from16 v0, v23
5512 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5514 + const-string/jumbo v3, "smsSetting"
5516 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSmsSetting()B
5518 + move-result v4
5520 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5522 + move-result-object v4
5524 + move-object/from16 v0, v23
5526 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5528 + const-string v3, "callLogSetting"
5530 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getCallLogSetting()B
5532 + move-result v4
5534 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5536 + move-result-object v4
5538 + move-object/from16 v0, v23
5540 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5542 + const-string v3, "bookmarksSetting"
5544 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getBookmarksSetting()B
5546 + move-result v4
5548 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5550 + move-result-object v4
5552 + move-object/from16 v0, v23
5554 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5556 + const-string/jumbo v3, "systemLogsSetting"
5558 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSystemLogsSetting()B
5560 + move-result v4
5562 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5564 + move-result-object v4
5566 + move-object/from16 v0, v23
5568 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5570 + const-string/jumbo v3, "notificationSetting"
5572 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getNotificationSetting()B
5574 + move-result v4
5576 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5578 + move-result-object v4
5580 + move-object/from16 v0, v23
5582 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5584 + const-string v3, "intentBootCompletedSetting"
5586 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getIntentBootCompletedSetting()B
5588 + move-result v4
5590 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5592 + move-result-object v4
5594 + move-object/from16 v0, v23
5596 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5598 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5600 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5602 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
5604 + move-result v3
5606 + add-int/lit8 v3, v3, 0x1
5608 + invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5610 + move-result-object v3
5612 + sput-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5614 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
5616 + move-result-object v2
5618 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->beginTransaction()V
5619 + :try_end_1eb
5620 + .catchall {:try_start_1a .. :try_end_1eb} :catchall_2c2
5622 + const/4 v11, 0x0
5624 + :try_start_1ec
5625 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->get_id()Ljava/lang/Integer;
5627 + move-result-object v15
5629 + if-eqz v15, :cond_2c8
5631 + const-string/jumbo v3, "settings"
5633 + const-string v4, "_id=?"
5635 + const/4 v5, 0x1
5637 + new-array v5, v5, [Ljava/lang/String;
5639 + const/4 v6, 0x0
5641 + invoke-virtual {v15}, Ljava/lang/Integer;->toString()Ljava/lang/String;
5643 + move-result-object v7
5645 + aput-object v7, v5, v6
5647 + move-object/from16 v0, v23
5649 + 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
5651 + move-result v3
5653 + const/4 v4, 0x1
5655 + if-ge v3, v4, :cond_249
5657 + new-instance v3, Ljava/lang/Exception;
5659 + const-string/jumbo v4, "saveSettings - failed to update database entry"
5661 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
5663 + throw v3
5664 + :try_end_213
5665 + .catchall {:try_start_1ec .. :try_end_213} :catchall_291
5666 + .catch Ljava/lang/Exception; {:try_start_1ec .. :try_end_213} :catch_213
5668 + :catch_213
5669 + move-exception v13
5671 + const/16 v18, 0x0
5673 + :try_start_216
5674 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
5676 + if-eqz v11, :cond_21e
5678 + invoke-interface {v11}, Landroid/database/Cursor;->close()V
5680 + :cond_21e
5681 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5683 + monitor-enter v4
5684 + :try_end_221
5685 + .catchall {:try_start_216 .. :try_end_221} :catchall_2c2
5687 + :try_start_221
5688 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5690 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5692 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
5694 + move-result v3
5696 + add-int/lit8 v3, v3, -0x1
5698 + invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5700 + move-result-object v3
5702 + sput-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5704 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5706 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
5708 + move-result v3
5710 + if-nez v3, :cond_244
5712 + if-eqz v2, :cond_244
5714 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
5716 + move-result v3
5718 + if-eqz v3, :cond_244
5720 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
5722 + :cond_244
5723 + monitor-exit v4
5724 + :try_end_245
5725 + .catchall {:try_start_221 .. :try_end_245} :catchall_4ca
5727 + :goto_245
5728 + move/from16 v3, v18
5730 + goto/16 :goto_18
5732 + :cond_249
5733 + :try_start_249
5734 + const-string v3, "allowed_contacts"
5736 + const-string/jumbo v4, "settings_id=?"
5738 + const/4 v5, 0x1
5740 + new-array v5, v5, [Ljava/lang/String;
5742 + const/4 v6, 0x0
5744 + invoke-virtual {v15}, Ljava/lang/Integer;->toString()Ljava/lang/String;
5746 + move-result-object v7
5748 + aput-object v7, v5, v6
5750 + invoke-virtual {v2, v3, v4, v5}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
5752 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAllowedContacts()[I
5754 + move-result-object v10
5756 + if-eqz v10, :cond_3f2
5758 + new-instance v12, Landroid/content/ContentValues;
5760 + invoke-direct {v12}, Landroid/content/ContentValues;-><init>()V
5762 + const/4 v14, 0x0
5764 + :goto_267
5765 + array-length v3, v10
5767 + if-ge v14, v3, :cond_3f2
5769 + const-string/jumbo v3, "settings_id"
5771 + invoke-virtual {v12, v3, v15}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
5773 + const-string v3, "contact_id"
5775 + aget v4, v10, v14
5777 + invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5779 + move-result-object v4
5781 + invoke-virtual {v12, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
5783 + const-string v3, "allowed_contacts"
5785 + const/4 v4, 0x0
5787 + invoke-virtual {v2, v3, v4, v12}, Landroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
5789 + move-result-wide v3
5791 + const-wide/16 v5, -0x1
5793 + cmp-long v3, v3, v5
5795 + if-nez v3, :cond_2c5
5797 + new-instance v3, Ljava/lang/Exception;
5799 + const-string/jumbo v4, "saveSettings - failed to update database entry (contacts)"
5801 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
5803 + throw v3
5804 + :try_end_291
5805 + .catchall {:try_start_249 .. :try_end_291} :catchall_291
5806 + .catch Ljava/lang/Exception; {:try_start_249 .. :try_end_291} :catch_213
5808 + :catchall_291
5809 + move-exception v3
5811 + :try_start_292
5812 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
5814 + if-eqz v11, :cond_29a
5816 + invoke-interface {v11}, Landroid/database/Cursor;->close()V
5818 + :cond_29a
5819 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5821 + monitor-enter v4
5822 + :try_end_29d
5823 + .catchall {:try_start_292 .. :try_end_29d} :catchall_2c2
5825 + :try_start_29d
5826 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5828 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5830 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
5832 + move-result v5
5834 + add-int/lit8 v5, v5, -0x1
5836 + invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5838 + move-result-object v5
5840 + sput-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5842 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5844 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
5846 + move-result v5
5848 + if-nez v5, :cond_2c0
5850 + if-eqz v2, :cond_2c0
5852 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
5854 + move-result v5
5856 + if-eqz v5, :cond_2c0
5858 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
5860 + :cond_2c0
5861 + monitor-exit v4
5862 + :try_end_2c1
5863 + .catchall {:try_start_29d .. :try_end_2c1} :catchall_4cd
5865 + :try_start_2c1
5866 + throw v3
5867 + :try_end_2c2
5868 + .catchall {:try_start_2c1 .. :try_end_2c2} :catchall_2c2
5870 + :catchall_2c2
5871 + move-exception v3
5873 + monitor-exit p0
5875 + throw v3
5877 + :cond_2c5
5878 + add-int/lit8 v14, v14, 0x1
5880 + goto :goto_267
5882 + :cond_2c8
5883 + :try_start_2c8
5884 + const-string/jumbo v3, "settings"
5886 + const/4 v4, 0x1
5888 + new-array v4, v4, [Ljava/lang/String;
5890 + const/4 v5, 0x0
5892 + const-string v6, "_id"
5894 + aput-object v6, v4, v5
5896 + const-string/jumbo v5, "packageName=?"
5898 + const/4 v6, 0x1
5900 + new-array v6, v6, [Ljava/lang/String;
5902 + const/4 v7, 0x0
5904 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getPackageName()Ljava/lang/String;
5906 + move-result-object v8
5908 + aput-object v8, v6, v7
5910 + const/4 v7, 0x0
5912 + const/4 v8, 0x0
5914 + const/4 v9, 0x0
5916 + 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;
5918 + move-result-object v11
5920 + if-eqz v11, :cond_3e7
5922 + invoke-interface {v11}, Landroid/database/Cursor;->getCount()I
5924 + move-result v3
5926 + const/4 v4, 0x1
5928 + if-ne v3, v4, :cond_36e
5930 + const-string/jumbo v3, "settings"
5932 + const-string/jumbo v4, "packageName=?"
5934 + const/4 v5, 0x1
5936 + new-array v5, v5, [Ljava/lang/String;
5938 + const/4 v6, 0x0
5940 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getPackageName()Ljava/lang/String;
5942 + move-result-object v7
5944 + aput-object v7, v5, v6
5946 + move-object/from16 v0, v23
5948 + 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
5950 + move-result v3
5952 + const/4 v4, 0x1
5954 + if-ge v3, v4, :cond_312
5956 + new-instance v3, Ljava/lang/Exception;
5958 + const-string/jumbo v4, "saveSettings - failed to update database entry"
5960 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
5962 + throw v3
5964 + :cond_312
5965 + invoke-interface {v11}, Landroid/database/Cursor;->moveToFirst()Z
5967 + move-result v3
5969 + if-eqz v3, :cond_3f2
5971 + const/4 v3, 0x0
5973 + invoke-interface {v11, v3}, Landroid/database/Cursor;->getInt(I)I
5975 + move-result v3
5977 + invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5979 + move-result-object v16
5981 + const-string v3, "allowed_contacts"
5983 + const-string/jumbo v4, "settings_id=?"
5985 + const/4 v5, 0x1
5987 + new-array v5, v5, [Ljava/lang/String;
5989 + const/4 v6, 0x0
5991 + invoke-virtual/range {v16 .. v16}, Ljava/lang/Integer;->toString()Ljava/lang/String;
5993 + move-result-object v7
5995 + aput-object v7, v5, v6
5997 + invoke-virtual {v2, v3, v4, v5}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
5999 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAllowedContacts()[I
6001 + move-result-object v10
6003 + if-eqz v10, :cond_3f2
6005 + new-instance v12, Landroid/content/ContentValues;
6007 + invoke-direct {v12}, Landroid/content/ContentValues;-><init>()V
6009 + const/4 v14, 0x0
6011 + :goto_33f
6012 + array-length v3, v10
6014 + if-ge v14, v3, :cond_3f2
6016 + const-string/jumbo v3, "settings_id"
6018 + move-object/from16 v0, v16
6020 + invoke-virtual {v12, v3, v0}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
6022 + const-string v3, "contact_id"
6024 + aget v4, v10, v14
6026 + invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
6028 + move-result-object v4
6030 + invoke-virtual {v12, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
6032 + const-string v3, "allowed_contacts"
6034 + const/4 v4, 0x0
6036 + invoke-virtual {v2, v3, v4, v12}, Landroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
6038 + move-result-wide v3
6040 + const-wide/16 v5, -0x1
6042 + cmp-long v3, v3, v5
6044 + if-nez v3, :cond_36b
6046 + new-instance v3, Ljava/lang/Exception;
6048 + const-string/jumbo v4, "saveSettings - failed to update database entry (contacts)"
6050 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
6052 + throw v3
6054 + :cond_36b
6055 + add-int/lit8 v14, v14, 0x1
6057 + goto :goto_33f
6059 + :cond_36e
6060 + invoke-interface {v11}, Landroid/database/Cursor;->getCount()I
6062 + move-result v3
6064 + if-nez v3, :cond_3dc
6066 + const-string/jumbo v3, "settings"
6068 + const/4 v4, 0x0
6070 + move-object/from16 v0, v23
6072 + invoke-virtual {v2, v3, v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
6074 + move-result-wide v19
6076 + const-wide/16 v3, -0x1
6078 + cmp-long v3, v19, v3
6080 + if-nez v3, :cond_38d
6082 + new-instance v3, Ljava/lang/Exception;
6084 + const-string/jumbo v4, "saveSettings - failed to insert new record into DB"
6086 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
6088 + throw v3
6090 + :cond_38d
6091 + const-string v3, "allowed_contacts"
6093 + const-string/jumbo v4, "settings_id=?"
6095 + const/4 v5, 0x1
6097 + new-array v5, v5, [Ljava/lang/String;
6099 + const/4 v6, 0x0
6101 + invoke-static/range {v19 .. v20}, Ljava/lang/Long;->toString(J)Ljava/lang/String;
6103 + move-result-object v7
6105 + aput-object v7, v5, v6
6107 + invoke-virtual {v2, v3, v4, v5}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
6109 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAllowedContacts()[I
6111 + move-result-object v10
6113 + if-eqz v10, :cond_3f2
6115 + new-instance v12, Landroid/content/ContentValues;
6117 + invoke-direct {v12}, Landroid/content/ContentValues;-><init>()V
6119 + const/4 v14, 0x0
6121 + :goto_3ab
6122 + array-length v3, v10
6124 + if-ge v14, v3, :cond_3f2
6126 + const-string/jumbo v3, "settings_id"
6128 + invoke-static/range {v19 .. v20}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
6130 + move-result-object v4
6132 + invoke-virtual {v12, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Long;)V
6134 + const-string v3, "contact_id"
6136 + aget v4, v10, v14
6138 + invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
6140 + move-result-object v4
6142 + invoke-virtual {v12, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
6144 + const-string v3, "allowed_contacts"
6146 + const/4 v4, 0x0
6148 + invoke-virtual {v2, v3, v4, v12}, Landroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
6150 + move-result-wide v3
6152 + const-wide/16 v5, -0x1
6154 + cmp-long v3, v3, v5
6156 + if-nez v3, :cond_3d9
6158 + new-instance v3, Ljava/lang/Exception;
6160 + const-string/jumbo v4, "saveSettings - failed to update database entry (contacts)"
6162 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
6164 + throw v3
6166 + :cond_3d9
6167 + add-int/lit8 v14, v14, 0x1
6169 + goto :goto_3ab
6171 + :cond_3dc
6172 + const/16 v18, 0x0
6174 + new-instance v3, Ljava/lang/Exception;
6176 + const-string/jumbo v4, "saveSettings - duplicate entries in the privacy.db"
6178 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
6180 + throw v3
6182 + :cond_3e7
6183 + const/16 v18, 0x0
6185 + new-instance v3, Ljava/lang/Exception;
6187 + const-string/jumbo v4, "saveSettings - cursor is null, database access failed"
6189 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
6191 + throw v3
6193 + :cond_3f2
6194 + new-instance v21, Ljava/io/File;
6196 + new-instance v3, Ljava/lang/StringBuilder;
6198 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
6200 + const-string v4, "/data/system/privacy/"
6202 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6204 + move-result-object v3
6206 + move-object/from16 v0, v17
6208 + invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6210 + move-result-object v3
6212 + const-string v4, "/"
6214 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6216 + move-result-object v3
6218 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6220 + move-result-object v3
6222 + move-object/from16 v0, v21
6224 + invoke-direct {v0, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
6226 + new-instance v22, Ljava/io/File;
6228 + new-instance v3, Ljava/lang/StringBuilder;
6230 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
6232 + const-string v4, "/data/system/privacy/"
6234 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6236 + move-result-object v3
6238 + move-object/from16 v0, v17
6240 + invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6242 + move-result-object v3
6244 + const-string v4, "/"
6246 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6248 + move-result-object v3
6250 + const-string v4, "/systemLogsSetting"
6252 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6254 + move-result-object v3
6256 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6258 + move-result-object v3
6260 + move-object/from16 v0, v22
6262 + invoke-direct {v0, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
6263 + :try_end_43c
6264 + .catchall {:try_start_2c8 .. :try_end_43c} :catchall_291
6265 + .catch Ljava/lang/Exception; {:try_start_2c8 .. :try_end_43c} :catch_213
6267 + :try_start_43c
6268 + invoke-virtual/range {v21 .. v21}, Ljava/io/File;->mkdirs()Z
6270 + const/4 v3, 0x1
6272 + const/4 v4, 0x0
6274 + move-object/from16 v0, v21
6276 + invoke-virtual {v0, v3, v4}, Ljava/io/File;->setReadable(ZZ)Z
6278 + const/4 v3, 0x1
6280 + const/4 v4, 0x0
6282 + move-object/from16 v0, v21
6284 + invoke-virtual {v0, v3, v4}, Ljava/io/File;->setExecutable(ZZ)Z
6286 + invoke-virtual/range {v22 .. v22}, Ljava/io/File;->createNewFile()Z
6288 + const/4 v3, 0x1
6290 + const/4 v4, 0x0
6292 + move-object/from16 v0, v22
6294 + invoke-virtual {v0, v3, v4}, Ljava/io/File;->setReadable(ZZ)Z
6296 + new-instance v24, Ljava/io/OutputStreamWriter;
6298 + new-instance v3, Ljava/io/FileOutputStream;
6300 + move-object/from16 v0, v22
6302 + invoke-direct {v3, v0}, Ljava/io/FileOutputStream;-><init>(Ljava/io/File;)V
6304 + move-object/from16 v0, v24
6306 + invoke-direct {v0, v3}, Ljava/io/OutputStreamWriter;-><init>(Ljava/io/OutputStream;)V
6308 + new-instance v3, Ljava/lang/StringBuilder;
6310 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
6312 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSystemLogsSetting()B
6314 + move-result v4
6316 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
6318 + move-result-object v3
6320 + const-string v4, ""
6322 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6324 + move-result-object v3
6326 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6328 + move-result-object v3
6330 + move-object/from16 v0, v24
6332 + invoke-virtual {v0, v3}, Ljava/io/OutputStreamWriter;->append(Ljava/lang/CharSequence;)Ljava/io/Writer;
6334 + invoke-virtual/range {v24 .. v24}, Ljava/io/OutputStreamWriter;->flush()V
6336 + invoke-virtual/range {v24 .. v24}, Ljava/io/OutputStreamWriter;->close()V
6337 + :try_end_487
6338 + .catchall {:try_start_43c .. :try_end_487} :catchall_291
6339 + .catch Ljava/io/IOException; {:try_start_43c .. :try_end_487} :catch_4be
6340 + .catch Ljava/lang/Exception; {:try_start_43c .. :try_end_487} :catch_213
6342 + :try_start_487
6343 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->setTransactionSuccessful()V
6344 + :try_end_48a
6345 + .catchall {:try_start_487 .. :try_end_48a} :catchall_291
6346 + .catch Ljava/lang/Exception; {:try_start_487 .. :try_end_48a} :catch_213
6348 + :try_start_48a
6349 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
6351 + if-eqz v11, :cond_492
6353 + invoke-interface {v11}, Landroid/database/Cursor;->close()V
6355 + :cond_492
6356 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6358 + monitor-enter v4
6359 + :try_end_495
6360 + .catchall {:try_start_48a .. :try_end_495} :catchall_2c2
6362 + :try_start_495
6363 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6365 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6367 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
6369 + move-result v3
6371 + add-int/lit8 v3, v3, -0x1
6373 + invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
6375 + move-result-object v3
6377 + sput-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6379 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6381 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
6383 + move-result v3
6385 + if-nez v3, :cond_4b8
6387 + if-eqz v2, :cond_4b8
6389 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
6391 + move-result v3
6393 + if-eqz v3, :cond_4b8
6395 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
6397 + :cond_4b8
6398 + monitor-exit v4
6400 + goto/16 :goto_245
6402 + :catchall_4bb
6403 + move-exception v3
6405 + monitor-exit v4
6406 + :try_end_4bd
6407 + .catchall {:try_start_495 .. :try_end_4bd} :catchall_4bb
6409 + :try_start_4bd
6410 + throw v3
6411 + :try_end_4be
6412 + .catchall {:try_start_4bd .. :try_end_4be} :catchall_2c2
6414 + :catch_4be
6415 + move-exception v13
6417 + const/16 v18, 0x0
6419 + :try_start_4c1
6420 + new-instance v3, Ljava/lang/Exception;
6422 + const-string/jumbo v4, "saveSettings - could not write settings to file"
6424 + invoke-direct {v3, v4, v13}, Ljava/lang/Exception;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
6426 + throw v3
6427 + :try_end_4ca
6428 + .catchall {:try_start_4c1 .. :try_end_4ca} :catchall_291
6429 + .catch Ljava/lang/Exception; {:try_start_4c1 .. :try_end_4ca} :catch_213
6431 + :catchall_4ca
6432 + move-exception v3
6434 + :try_start_4cb
6435 + monitor-exit v4
6436 + :try_end_4cc
6437 + .catchall {:try_start_4cb .. :try_end_4cc} :catchall_4ca
6439 + :try_start_4cc
6440 + throw v3
6441 + :try_end_4cd
6442 + .catchall {:try_start_4cc .. :try_end_4cd} :catchall_2c2
6444 + :catchall_4cd
6445 + move-exception v3
6447 + :try_start_4ce
6448 + monitor-exit v4
6449 + :try_end_4cf
6450 + .catchall {:try_start_4ce .. :try_end_4cf} :catchall_4cd
6452 + :try_start_4cf
6453 + throw v3
6454 + :try_end_4d0
6455 + .catchall {:try_start_4cf .. :try_end_4d0} :catchall_2c2
6456 +.end method
6458 +.method public declared-synchronized setValue(Ljava/lang/String;Ljava/lang/String;)Z
6459 + .registers 10
6461 + monitor-enter p0
6463 + :try_start_1
6464 + const-string v3, "PrivacyPersistenceAdapter"
6466 + new-instance v4, Ljava/lang/StringBuilder;
6468 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
6470 + const-string/jumbo v5, "setValue - name "
6472 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6474 + move-result-object v4
6476 + invoke-virtual {v4, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6478 + move-result-object v4
6480 + const-string v5, " value "
6482 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6484 + move-result-object v4
6486 + invoke-virtual {v4, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6488 + move-result-object v4
6490 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6492 + move-result-object v4
6494 + invoke-static {v3, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
6496 + new-instance v2, Landroid/content/ContentValues;
6498 + invoke-direct {v2}, Landroid/content/ContentValues;-><init>()V
6500 + const-string/jumbo v3, "name"
6502 + invoke-virtual {v2, v3, p1}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
6504 + const-string/jumbo v3, "value"
6506 + invoke-virtual {v2, v3, p2}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
6508 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
6510 + move-result-object v0
6512 + const-string/jumbo v3, "map"
6514 + const/4 v4, 0x0
6516 + invoke-virtual {v0, v3, v4, v2}, Landroid/database/sqlite/SQLiteDatabase;->replace(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
6518 + move-result-wide v3
6520 + const-wide/16 v5, -0x1
6522 + cmp-long v3, v3, v5
6524 + if-eqz v3, :cond_5d
6526 + const/4 v1, 0x1
6528 + :goto_48
6529 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6531 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
6533 + move-result v3
6535 + if-nez v3, :cond_5b
6537 + if-eqz v0, :cond_5b
6539 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
6541 + move-result v3
6543 + if-eqz v3, :cond_5b
6545 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
6546 + :try_end_5b
6547 + .catchall {:try_start_1 .. :try_end_5b} :catchall_5f
6549 + :cond_5b
6550 + monitor-exit p0
6552 + return v1
6554 + :cond_5d
6555 + const/4 v1, 0x0
6557 + goto :goto_48
6559 + :catchall_5f
6560 + move-exception v3
6562 + monitor-exit p0
6564 + throw v3
6565 +.end method
6566 diff -Npru stock-framework/smali/android/privacy/PrivacySettings$1.smali pdroid-framework/smali/android/privacy/PrivacySettings$1.smali
6567 --- stock-framework/smali/android/privacy/PrivacySettings$1.smali 1969-12-31 18:00:00.000000000 -0600
6568 +++ pdroid-framework/smali/android/privacy/PrivacySettings$1.smali 2012-08-22 21:52:53.703715757 -0500
6569 @@ -0,0 +1,77 @@
6570 +.class final Landroid/privacy/PrivacySettings$1;
6571 +.super Ljava/lang/Object;
6572 +.source "PrivacySettings.java"
6574 +# interfaces
6575 +.implements Landroid/os/Parcelable$Creator;
6578 +# annotations
6579 +.annotation system Ldalvik/annotation/EnclosingClass;
6580 + value = Landroid/privacy/PrivacySettings;
6581 +.end annotation
6583 +.annotation system Ldalvik/annotation/InnerClass;
6584 + accessFlags = 0x8
6585 + name = null
6586 +.end annotation
6588 +.annotation system Ldalvik/annotation/Signature;
6589 + value = {
6590 + "Ljava/lang/Object;",
6591 + "Landroid/os/Parcelable$Creator",
6592 + "<",
6593 + "Landroid/privacy/PrivacySettings;",
6594 + ">;"
6596 +.end annotation
6599 +# direct methods
6600 +.method constructor <init>()V
6601 + .registers 1
6603 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
6605 + return-void
6606 +.end method
6609 +# virtual methods
6610 +.method public createFromParcel(Landroid/os/Parcel;)Landroid/privacy/PrivacySettings;
6611 + .registers 3
6613 + new-instance v0, Landroid/privacy/PrivacySettings;
6615 + invoke-direct {v0, p1}, Landroid/privacy/PrivacySettings;-><init>(Landroid/os/Parcel;)V
6617 + return-object v0
6618 +.end method
6620 +.method public bridge synthetic createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
6621 + .registers 3
6623 + invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettings$1;->createFromParcel(Landroid/os/Parcel;)Landroid/privacy/PrivacySettings;
6625 + move-result-object v0
6627 + return-object v0
6628 +.end method
6630 +.method public newArray(I)[Landroid/privacy/PrivacySettings;
6631 + .registers 3
6633 + new-array v0, p1, [Landroid/privacy/PrivacySettings;
6635 + return-object v0
6636 +.end method
6638 +.method public bridge synthetic newArray(I)[Ljava/lang/Object;
6639 + .registers 3
6641 + invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettings$1;->newArray(I)[Landroid/privacy/PrivacySettings;
6643 + move-result-object v0
6645 + return-object v0
6646 +.end method
6647 diff -Npru stock-framework/smali/android/privacy/PrivacySettingsManagerService.smali pdroid-framework/smali/android/privacy/PrivacySettingsManagerService.smali
6648 --- stock-framework/smali/android/privacy/PrivacySettingsManagerService.smali 1969-12-31 18:00:00.000000000 -0600
6649 +++ pdroid-framework/smali/android/privacy/PrivacySettingsManagerService.smali 2012-08-22 21:52:53.707715788 -0500
6650 @@ -0,0 +1,535 @@
6651 +.class public final Landroid/privacy/PrivacySettingsManagerService;
6652 +.super Landroid/privacy/IPrivacySettingsManager$Stub;
6653 +.source "PrivacySettingsManagerService.java"
6656 +# static fields
6657 +.field private static final TAG:Ljava/lang/String; = "PrivacySettingsManagerService"
6659 +.field private static final VERSION:D = 1.32
6661 +.field private static final WRITE_PRIVACY_SETTINGS:Ljava/lang/String; = "android.privacy.WRITE_PRIVACY_SETTINGS"
6663 +.field public static obs:Landroid/privacy/PrivacyFileObserver;
6666 +# instance fields
6667 +.field private bootCompleted:Z
6669 +.field private context:Landroid/content/Context;
6671 +.field private enabled:Z
6673 +.field private notificationsEnabled:Z
6675 +.field private persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
6678 +# direct methods
6679 +.method public constructor <init>(Landroid/content/Context;)V
6680 + .registers 5
6682 + invoke-direct {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;-><init>()V
6684 + const-string v0, "PrivacySettingsManagerService"
6686 + new-instance v1, Ljava/lang/StringBuilder;
6688 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
6690 + const-string v2, "PrivacySettingsManagerService - initializing for package: "
6692 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6694 + move-result-object v1
6696 + invoke-virtual {p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
6698 + move-result-object v2
6700 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6702 + move-result-object v1
6704 + const-string v2, " UID: "
6706 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6708 + move-result-object v1
6710 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
6712 + move-result v2
6714 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
6716 + move-result-object v1
6718 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6720 + move-result-object v1
6722 + invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
6724 + iput-object p1, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
6726 + new-instance v0, Landroid/privacy/PrivacyPersistenceAdapter;
6728 + invoke-direct {v0, p1}, Landroid/privacy/PrivacyPersistenceAdapter;-><init>(Landroid/content/Context;)V
6730 + iput-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
6732 + new-instance v0, Landroid/privacy/PrivacyFileObserver;
6734 + const-string v1, "/data/system/privacy"
6736 + invoke-direct {v0, v1, p0}, Landroid/privacy/PrivacyFileObserver;-><init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
6738 + sput-object v0, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
6740 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
6742 + const-string v1, "enabled"
6744 + invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->getValue(Ljava/lang/String;)Ljava/lang/String;
6746 + move-result-object v0
6748 + const-string v1, "1"
6750 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
6752 + move-result v0
6754 + iput-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->enabled:Z
6756 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
6758 + const-string/jumbo v1, "notifications_enabled"
6760 + invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->getValue(Ljava/lang/String;)Ljava/lang/String;
6762 + move-result-object v0
6764 + const-string v1, "1"
6766 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
6768 + move-result v0
6770 + iput-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->notificationsEnabled:Z
6772 + const/4 v0, 0x0
6774 + iput-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->bootCompleted:Z
6776 + return-void
6777 +.end method
6780 +# virtual methods
6781 +.method public addObserver(Ljava/lang/String;)V
6782 + .registers 5
6784 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
6786 + const-string v1, "android.privacy.WRITE_PRIVACY_SETTINGS"
6788 + const-string v2, "Requires WRITE_PRIVACY_SETTINGS"
6790 + invoke-virtual {v0, v1, v2}, Landroid/content/Context;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
6792 + sget-object v0, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
6794 + invoke-virtual {v0, p1}, Landroid/privacy/PrivacyFileObserver;->addObserver(Ljava/lang/String;)V
6796 + return-void
6797 +.end method
6799 +.method public deleteSettings(Ljava/lang/String;)Z
6800 + .registers 8
6802 + const/4 v5, 0x1
6804 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
6806 + move-result v2
6808 + const/16 v3, 0x3e8
6810 + if-eq v2, v3, :cond_12
6812 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
6814 + const-string v3, "android.privacy.WRITE_PRIVACY_SETTINGS"
6816 + const-string v4, "Requires WRITE_PRIVACY_SETTINGS"
6818 + invoke-virtual {v2, v3, v4}, Landroid/content/Context;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
6820 + :cond_12
6821 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
6823 + invoke-virtual {v2, p1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteSettings(Ljava/lang/String;)Z
6825 + move-result v1
6827 + new-instance v2, Ljava/lang/StringBuilder;
6829 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
6831 + const-string v3, "/data/system/privacy/"
6833 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6835 + move-result-object v2
6837 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6839 + move-result-object v2
6841 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6843 + move-result-object v0
6845 + new-instance v2, Ljava/io/File;
6847 + invoke-direct {v2, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
6849 + invoke-virtual {v2}, Ljava/io/File;->exists()Z
6851 + move-result v2
6853 + if-eqz v2, :cond_3e
6855 + if-ne v1, v5, :cond_3e
6857 + sget-object v2, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
6859 + invoke-virtual {v2, v0}, Landroid/privacy/PrivacyFileObserver;->addObserver(Ljava/lang/String;)V
6861 + :cond_3d
6862 + :goto_3d
6863 + return v1
6865 + :cond_3e
6866 + if-ne v1, v5, :cond_3d
6868 + sget-object v2, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
6870 + iget-object v2, v2, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap;
6872 + invoke-virtual {v2, v0}, Ljava/util/HashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
6874 + goto :goto_3d
6875 +.end method
6877 +.method public getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
6878 + .registers 4
6880 + iget-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->enabled:Z
6882 + if-nez v0, :cond_12
6884 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
6886 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
6888 + move-result-object v0
6890 + const-string v1, "com.privacy.pdroid"
6892 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
6894 + move-result v0
6896 + if-eqz v0, :cond_1a
6898 + :cond_12
6899 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
6901 + const/4 v1, 0x0
6903 + invoke-virtual {v0, p1, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->getSettings(Ljava/lang/String;Z)Landroid/privacy/PrivacySettings;
6905 + move-result-object v0
6907 + :goto_19
6908 + return-object v0
6910 + :cond_1a
6911 + const/4 v0, 0x0
6913 + goto :goto_19
6914 +.end method
6916 +.method public getVersion()D
6917 + .registers 3
6919 + const-wide v0, 0x3ff51eb851eb851fL
6921 + return-wide v0
6922 +.end method
6924 +.method public notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
6925 + .registers 8
6927 + iget-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->bootCompleted:Z
6929 + if-eqz v1, :cond_34
6931 + iget-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->notificationsEnabled:Z
6933 + if-eqz v1, :cond_34
6935 + new-instance v0, Landroid/content/Intent;
6937 + invoke-direct {v0}, Landroid/content/Intent;-><init>()V
6939 + const-string v1, "com.privacy.pdroid.PRIVACY_NOTIFICATION"
6941 + invoke-virtual {v0, v1}, Landroid/content/Intent;->setAction(Ljava/lang/String;)Landroid/content/Intent;
6943 + const-string/jumbo v1, "packageName"
6945 + invoke-virtual {v0, v1, p1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
6947 + const-string/jumbo v1, "uid"
6949 + const/4 v2, -0x1
6951 + invoke-virtual {v0, v1, v2}, Landroid/content/Intent;->putExtra(Ljava/lang/String;I)Landroid/content/Intent;
6953 + const-string v1, "accessMode"
6955 + invoke-virtual {v0, v1, p2}, Landroid/content/Intent;->putExtra(Ljava/lang/String;B)Landroid/content/Intent;
6957 + const-string v1, "dataType"
6959 + invoke-virtual {v0, v1, p3}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
6961 + const-string/jumbo v1, "output"
6963 + invoke-virtual {v0, v1, p4}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
6965 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
6967 + invoke-virtual {v1, v0}, Landroid/content/Context;->sendBroadcast(Landroid/content/Intent;)V
6969 + :cond_34
6970 + return-void
6971 +.end method
6973 +.method public purgeSettings()Z
6974 + .registers 2
6976 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
6978 + invoke-virtual {v0}, Landroid/privacy/PrivacyPersistenceAdapter;->purgeSettings()Z
6980 + move-result v0
6982 + return v0
6983 +.end method
6985 +.method public registerObservers()V
6986 + .registers 4
6988 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
6990 + const-string v1, "android.privacy.WRITE_PRIVACY_SETTINGS"
6992 + const-string v2, "Requires WRITE_PRIVACY_SETTINGS"
6994 + invoke-virtual {v0, v1, v2}, Landroid/content/Context;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
6996 + new-instance v0, Landroid/privacy/PrivacyFileObserver;
6998 + const-string v1, "/data/system/privacy"
7000 + invoke-direct {v0, v1, p0}, Landroid/privacy/PrivacyFileObserver;-><init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
7002 + sput-object v0, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
7004 + return-void
7005 +.end method
7007 +.method public saveSettings(Landroid/privacy/PrivacySettings;)Z
7008 + .registers 6
7010 + const-string v1, "PrivacySettingsManagerService"
7012 + new-instance v2, Ljava/lang/StringBuilder;
7014 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
7016 + const-string/jumbo v3, "saveSettings - checking if caller (UID: "
7018 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7020 + move-result-object v2
7022 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
7024 + move-result v3
7026 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
7028 + move-result-object v2
7030 + const-string v3, ") has sufficient permissions"
7032 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7034 + move-result-object v2
7036 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
7038 + move-result-object v2
7040 + invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
7042 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
7044 + move-result v1
7046 + const/16 v2, 0x3e8
7048 + if-eq v1, v2, :cond_34
7050 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
7052 + const-string v2, "android.privacy.WRITE_PRIVACY_SETTINGS"
7054 + const-string v3, "Requires WRITE_PRIVACY_SETTINGS"
7056 + invoke-virtual {v1, v2, v3}, Landroid/content/Context;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
7058 + :cond_34
7059 + const-string v1, "PrivacySettingsManagerService"
7061 + new-instance v2, Ljava/lang/StringBuilder;
7063 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
7065 + const-string/jumbo v3, "saveSettings - "
7067 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7069 + move-result-object v2
7071 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
7073 + move-result-object v2
7075 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
7077 + move-result-object v2
7079 + invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
7081 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
7083 + invoke-virtual {v1, p1}, Landroid/privacy/PrivacyPersistenceAdapter;->saveSettings(Landroid/privacy/PrivacySettings;)Z
7085 + move-result v0
7087 + const/4 v1, 0x1
7089 + if-ne v0, v1, :cond_5f
7091 + sget-object v1, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
7093 + invoke-virtual {p1}, Landroid/privacy/PrivacySettings;->getPackageName()Ljava/lang/String;
7095 + move-result-object v2
7097 + invoke-virtual {v1, v2}, Landroid/privacy/PrivacyFileObserver;->addObserver(Ljava/lang/String;)V
7099 + :cond_5f
7100 + return v0
7101 +.end method
7103 +.method public setBootCompleted()V
7104 + .registers 2
7106 + const/4 v0, 0x1
7108 + iput-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->bootCompleted:Z
7110 + return-void
7111 +.end method
7113 +.method public setEnabled(Z)Z
7114 + .registers 6
7116 + const/4 v1, 0x1
7118 + if-eqz p1, :cond_12
7120 + const-string v0, "1"
7122 + :goto_5
7123 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
7125 + const-string v3, "enabled"
7127 + invoke-virtual {v2, v3, v0}, Landroid/privacy/PrivacyPersistenceAdapter;->setValue(Ljava/lang/String;Ljava/lang/String;)Z
7129 + move-result v2
7131 + if-eqz v2, :cond_15
7133 + iput-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->enabled:Z
7135 + :goto_11
7136 + return v1
7138 + :cond_12
7139 + return v1
7140 + const-string v0, "0"
7142 + goto :goto_5
7144 + :cond_15
7145 + const/4 v1, 0x0
7147 + goto :goto_11
7148 +.end method
7150 +.method public setNotificationsEnabled(Z)Z
7151 + .registers 6
7153 + const/4 v1, 0x1
7155 + if-eqz p1, :cond_15
7157 + const-string v0, "1"
7159 + :goto_5
7160 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
7162 + const-string/jumbo v3, "notifications_enabled"
7164 + invoke-virtual {v2, v3, v0}, Landroid/privacy/PrivacyPersistenceAdapter;->setValue(Ljava/lang/String;Ljava/lang/String;)Z
7166 + move-result v2
7168 + if-eqz v2, :cond_18
7170 + iput-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->notificationsEnabled:Z
7172 + iput-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->bootCompleted:Z
7174 + :goto_14
7175 + return v1
7177 + :cond_15
7178 + const-string v0, "0"
7180 + goto :goto_5
7182 + :cond_18
7183 + const/4 v1, 0x0
7185 + goto :goto_14
7186 +.end method
7187 diff -Npru stock-framework/smali/android/privacy/PrivacySettingsManager.smali pdroid-framework/smali/android/privacy/PrivacySettingsManager.smali
7188 --- stock-framework/smali/android/privacy/PrivacySettingsManager.smali 1969-12-31 18:00:00.000000000 -0600
7189 +++ pdroid-framework/smali/android/privacy/PrivacySettingsManager.smali 2012-08-22 21:52:53.707715788 -0500
7190 @@ -0,0 +1,531 @@
7191 +.class public final Landroid/privacy/PrivacySettingsManager;
7192 +.super Ljava/lang/Object;
7193 +.source "PrivacySettingsManager.java"
7196 +# static fields
7197 +.field public static final ACTION_PRIVACY_NOTIFICATION:Ljava/lang/String; = "com.privacy.pdroid.PRIVACY_NOTIFICATION"
7199 +.field private static final TAG:Ljava/lang/String; = "PrivacySettingsManager"
7202 +# instance fields
7203 +.field private service:Landroid/privacy/IPrivacySettingsManager;
7206 +# direct methods
7207 +.method public constructor <init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
7208 + .registers 3
7210 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
7212 + iput-object p2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7214 + return-void
7215 +.end method
7218 +# virtual methods
7219 +.method public addObserver(Ljava/lang/String;)V
7220 + .registers 5
7222 + :try_start_0
7223 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7225 + if-eqz v1, :cond_a
7227 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7229 + invoke-interface {v1, p1}, Landroid/privacy/IPrivacySettingsManager;->addObserver(Ljava/lang/String;)V
7231 + :goto_9
7232 + return-void
7234 + :cond_a
7235 + const-string v1, "PrivacySettingsManager"
7237 + const-string v2, "deleteSettings - PrivacySettingsManagerService is null"
7239 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7240 + :try_end_11
7241 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_11} :catch_12
7243 + goto :goto_9
7245 + :catch_12
7246 + move-exception v0
7248 + const-string v1, "PrivacySettingsManager"
7250 + const-string v2, "RemoteException in addObserver: "
7252 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7254 + goto :goto_9
7255 +.end method
7257 +.method public deleteSettings(Ljava/lang/String;)Z
7258 + .registers 3
7260 + invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettingsManager;->deleteSettings(Ljava/lang/String;)Z
7262 + move-result v0
7264 + return v0
7265 +.end method
7267 +.method public deleteSettings(Ljava/lang/String;I)Z
7268 + .registers 7
7270 + const/4 v1, 0x0
7272 + :try_start_1
7273 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7275 + if-eqz v2, :cond_c
7277 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7279 + invoke-interface {v2, p1}, Landroid/privacy/IPrivacySettingsManager;->deleteSettings(Ljava/lang/String;)Z
7281 + move-result v1
7283 + :goto_b
7284 + return v1
7286 + :cond_c
7287 + const-string v2, "PrivacySettingsManager"
7289 + const-string v3, "deleteSettings - PrivacySettingsManagerService is null"
7291 + invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7292 + :try_end_13
7293 + .catch Landroid/os/RemoteException; {:try_start_1 .. :try_end_13} :catch_14
7295 + goto :goto_b
7297 + :catch_14
7298 + move-exception v0
7300 + const-string v2, "PrivacySettingsManager"
7302 + const-string v3, "RemoteException in deleteSettings: "
7304 + invoke-static {v2, v3, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7306 + goto :goto_b
7307 +.end method
7309 +.method public getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
7310 + .registers 6
7312 + const/4 v1, 0x0
7314 + :try_start_1
7315 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7317 + if-eqz v2, :cond_c
7319 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7321 + invoke-interface {v2, p1}, Landroid/privacy/IPrivacySettingsManager;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
7323 + move-result-object v1
7325 + :goto_b
7326 + return-object v1
7328 + :cond_c
7329 + const-string v2, "PrivacySettingsManager"
7331 + const-string v3, "getSettings - PrivacySettingsManagerService is null"
7333 + invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7334 + :try_end_13
7335 + .catch Landroid/os/RemoteException; {:try_start_1 .. :try_end_13} :catch_14
7337 + goto :goto_b
7339 + :catch_14
7340 + move-exception v0
7342 + invoke-virtual {v0}, Landroid/os/RemoteException;->printStackTrace()V
7344 + goto :goto_b
7345 +.end method
7347 +.method public getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
7348 + .registers 4
7350 + invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
7352 + move-result-object v0
7354 + return-object v0
7355 +.end method
7357 +.method public getVersion()D
7358 + .registers 4
7360 + :try_start_0
7361 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7363 + if-eqz v1, :cond_b
7365 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7367 + invoke-interface {v1}, Landroid/privacy/IPrivacySettingsManager;->getVersion()D
7369 + move-result-wide v1
7371 + :goto_a
7372 + return-wide v1
7374 + :cond_b
7375 + const-string v1, "PrivacySettingsManager"
7377 + const-string v2, "getVersion - PrivacySettingsManagerService is null"
7379 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7380 + :try_end_12
7381 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_12} :catch_15
7383 + :goto_12
7384 + const-wide/16 v1, 0x0
7386 + goto :goto_a
7388 + :catch_15
7389 + move-exception v0
7391 + const-string v1, "PrivacySettingsManager"
7393 + const-string v2, "RemoteException in getVersion: "
7395 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7397 + goto :goto_12
7398 +.end method
7400 +.method public isServiceAvailable()Z
7401 + .registers 2
7403 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7405 + if-eqz v0, :cond_6
7407 + const/4 v0, 0x1
7409 + :goto_5
7410 + return v0
7412 + :cond_6
7413 + const/4 v0, 0x0
7415 + goto :goto_5
7416 +.end method
7418 +.method public notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
7419 + .registers 9
7421 + :try_start_0
7422 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7424 + if-eqz v1, :cond_a
7426 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7428 + invoke-interface {v1, p1, p2, p3, p4}, Landroid/privacy/IPrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
7430 + :goto_9
7431 + return-void
7433 + :cond_a
7434 + const-string v1, "PrivacySettingsManager"
7436 + const-string v2, "deleteSettings - PrivacySettingsManagerService is null"
7438 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7439 + :try_end_11
7440 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_11} :catch_12
7442 + goto :goto_9
7444 + :catch_12
7445 + move-exception v0
7447 + const-string v1, "PrivacySettingsManager"
7449 + const-string v2, "RemoteException in notification: "
7451 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7453 + goto :goto_9
7454 +.end method
7456 +.method public notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
7457 + .registers 13
7459 + move-object v0, p0
7461 + move-object v1, p1
7463 + move v2, p3
7465 + move-object v3, p4
7467 + move-object v4, p5
7469 + move-object v5, p6
7471 + invoke-virtual/range {v0 .. v5}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
7473 + return-void
7474 +.end method
7476 +.method public purgeSettings()Z
7477 + .registers 4
7479 + :try_start_0
7480 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7482 + if-eqz v1, :cond_b
7484 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7486 + invoke-interface {v1}, Landroid/privacy/IPrivacySettingsManager;->purgeSettings()Z
7488 + move-result v1
7490 + :goto_a
7491 + return v1
7493 + :cond_b
7494 + const-string v1, "PrivacySettingsManager"
7496 + const-string v2, "deleteSettings - PrivacySettingsManagerService is null"
7498 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7499 + :try_end_12
7500 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_12} :catch_14
7502 + :goto_12
7503 + const/4 v1, 0x0
7505 + goto :goto_a
7507 + :catch_14
7508 + move-exception v0
7510 + const-string v1, "PrivacySettingsManager"
7512 + const-string v2, "RemoteException in purgeSettings: "
7514 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7516 + goto :goto_12
7517 +.end method
7519 +.method public registerObservers()V
7520 + .registers 4
7522 + :try_start_0
7523 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7525 + if-eqz v1, :cond_a
7527 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7529 + invoke-interface {v1}, Landroid/privacy/IPrivacySettingsManager;->registerObservers()V
7531 + :goto_9
7532 + return-void
7534 + :cond_a
7535 + const-string v1, "PrivacySettingsManager"
7537 + const-string v2, "deleteSettings - PrivacySettingsManagerService is null"
7539 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7540 + :try_end_11
7541 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_11} :catch_12
7543 + goto :goto_9
7545 + :catch_12
7546 + move-exception v0
7548 + const-string v1, "PrivacySettingsManager"
7550 + const-string v2, "RemoteException in registerObservers: "
7552 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7554 + goto :goto_9
7555 +.end method
7557 +.method public saveSettings(Landroid/privacy/PrivacySettings;)Z
7558 + .registers 6
7560 + const/4 v1, 0x0
7562 + :try_start_1
7563 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7565 + if-eqz v2, :cond_c
7567 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7569 + invoke-interface {v2, p1}, Landroid/privacy/IPrivacySettingsManager;->saveSettings(Landroid/privacy/PrivacySettings;)Z
7571 + move-result v1
7573 + :goto_b
7574 + return v1
7576 + :cond_c
7577 + const-string v2, "PrivacySettingsManager"
7579 + const-string/jumbo v3, "saveSettings - PrivacySettingsManagerService is null"
7581 + invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7582 + :try_end_14
7583 + .catch Landroid/os/RemoteException; {:try_start_1 .. :try_end_14} :catch_15
7585 + goto :goto_b
7587 + :catch_15
7588 + move-exception v0
7590 + const-string v2, "PrivacySettingsManager"
7592 + const-string v3, "RemoteException in saveSettings: "
7594 + invoke-static {v2, v3, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7596 + goto :goto_b
7597 +.end method
7599 +.method public setBootCompleted()V
7600 + .registers 4
7602 + :try_start_0
7603 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7605 + if-eqz v1, :cond_a
7607 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7609 + invoke-interface {v1}, Landroid/privacy/IPrivacySettingsManager;->setBootCompleted()V
7611 + :goto_9
7612 + return-void
7614 + :cond_a
7615 + const-string v1, "PrivacySettingsManager"
7617 + const-string/jumbo v2, "setBootCompleted - PrivacySettingsManagerService is null"
7619 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7620 + :try_end_12
7621 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_12} :catch_13
7623 + goto :goto_9
7625 + :catch_13
7626 + move-exception v0
7628 + const-string v1, "PrivacySettingsManager"
7630 + const-string v2, "RemoteException in setBootCompleted: "
7632 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7634 + goto :goto_9
7635 +.end method
7637 +.method public setEnabled(Z)Z
7638 + .registers 5
7640 + :try_start_0
7641 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7643 + if-eqz v1, :cond_b
7645 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7647 + invoke-interface {v1, p1}, Landroid/privacy/IPrivacySettingsManager;->setEnabled(Z)Z
7649 + move-result v1
7651 + :goto_a
7652 + return v1
7654 + :cond_b
7655 + const-string v1, "PrivacySettingsManager"
7657 + const-string/jumbo v2, "setEnabled - PrivacySettingsManagerService is null"
7659 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7660 + :try_end_13
7661 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_13} :catch_15
7663 + :goto_13
7664 + const/4 v1, 0x0
7666 + goto :goto_a
7668 + :catch_15
7669 + move-exception v0
7671 + const-string v1, "PrivacySettingsManager"
7673 + const-string v2, "RemoteException in setEnabled: "
7675 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7677 + goto :goto_13
7678 +.end method
7680 +.method public setNotificationsEnabled(Z)Z
7681 + .registers 5
7683 + :try_start_0
7684 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7686 + if-eqz v1, :cond_b
7688 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7690 + invoke-interface {v1, p1}, Landroid/privacy/IPrivacySettingsManager;->setNotificationsEnabled(Z)Z
7692 + move-result v1
7694 + :goto_a
7695 + return v1
7697 + :cond_b
7698 + const-string v1, "PrivacySettingsManager"
7700 + const-string/jumbo v2, "setNotificationsEnabled - PrivacySettingsManagerService is null"
7702 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7703 + :try_end_13
7704 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_13} :catch_15
7706 + :goto_13
7707 + const/4 v1, 0x0
7709 + goto :goto_a
7711 + :catch_15
7712 + move-exception v0
7714 + const-string v1, "PrivacySettingsManager"
7716 + const-string v2, "RemoteException in setNotificationsEnabled: "
7718 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7720 + goto :goto_13
7721 +.end method
7722 diff -Npru stock-framework/smali/android/privacy/PrivacySettings.smali pdroid-framework/smali/android/privacy/PrivacySettings.smali
7723 --- stock-framework/smali/android/privacy/PrivacySettings.smali 1969-12-31 18:00:00.000000000 -0600
7724 +++ pdroid-framework/smali/android/privacy/PrivacySettings.smali 2012-08-22 21:52:53.707715788 -0500
7725 @@ -0,0 +1,2109 @@
7726 +.class public final Landroid/privacy/PrivacySettings;
7727 +.super Ljava/lang/Object;
7728 +.source "PrivacySettings.java"
7730 +# interfaces
7731 +.implements Landroid/os/Parcelable;
7734 +# static fields
7735 +.field public static final CREATOR:Landroid/os/Parcelable$Creator; = null
7736 + .annotation system Ldalvik/annotation/Signature;
7737 + value = {
7738 + "Landroid/os/Parcelable$Creator",
7739 + "<",
7740 + "Landroid/privacy/PrivacySettings;",
7741 + ">;"
7743 + .end annotation
7744 +.end field
7746 +.field public static final CUSTOM:B = 0x2t
7748 +.field public static final DATA_ACCOUNTS_LIST:Ljava/lang/String; = "accountsList"
7750 +.field public static final DATA_AUTH_TOKENS:Ljava/lang/String; = "authTokens"
7752 +.field public static final DATA_BOOKMARKS:Ljava/lang/String; = "bookmarks"
7754 +.field public static final DATA_CALENDAR:Ljava/lang/String; = "calendar"
7756 +.field public static final DATA_CALL_LOG:Ljava/lang/String; = "callLog"
7758 +.field public static final DATA_CONTACTS:Ljava/lang/String; = "contacts"
7760 +.field public static final DATA_DEVICE_ID:Ljava/lang/String; = "deviceID"
7762 +.field public static final DATA_INCOMING_CALL:Ljava/lang/String; = "incomingCall"
7764 +.field public static final DATA_INTENT_BOOT_COMPLETED:Ljava/lang/String; = "intentBootCompleted"
7766 +.field public static final DATA_LINE_1_NUMBER:Ljava/lang/String; = "line1Number"
7768 +.field public static final DATA_LOCATION_GPS:Ljava/lang/String; = "locationGPS"
7770 +.field public static final DATA_LOCATION_NETWORK:Ljava/lang/String; = "locationNetwork"
7772 +.field public static final DATA_MMS:Ljava/lang/String; = "mms"
7774 +.field public static final DATA_MMS_SMS:Ljava/lang/String; = "mmsSms"
7776 +.field public static final DATA_NETWORK_INFO_CURRENT:Ljava/lang/String; = "networkInfoCurrent"
7778 +.field public static final DATA_NETWORK_INFO_SIM:Ljava/lang/String; = "networkInfoSIM"
7780 +.field public static final DATA_OUTGOING_CALL:Ljava/lang/String; = "outgoingCall"
7782 +.field public static final DATA_SIM_SERIAL:Ljava/lang/String; = "simSerial"
7784 +.field public static final DATA_SMS:Ljava/lang/String; = "sms"
7786 +.field public static final DATA_SUBSCRIBER_ID:Ljava/lang/String; = "subscriberID"
7788 +.field public static final DATA_SYSTEM_LOGS:Ljava/lang/String; = "systemLogs"
7790 +.field public static final EMPTY:B = 0x1t
7792 +.field public static final RANDOM:B = 0x3t
7794 +.field public static final REAL:B = 0x0t
7796 +.field public static final SETTING_NOTIFY_OFF:B = 0x0t
7798 +.field public static final SETTING_NOTIFY_ON:B = 0x1t
7801 +# instance fields
7802 +.field private final _id:Ljava/lang/Integer;
7804 +.field private accountsAuthTokensSetting:B
7806 +.field private accountsSetting:B
7808 +.field private allowedContacts:[I
7810 +.field private bookmarksSetting:B
7812 +.field private calendarSetting:B
7814 +.field private callLogSetting:B
7816 +.field private contactsSetting:B
7818 +.field private deviceId:Ljava/lang/String;
7820 +.field private deviceIdSetting:B
7822 +.field private incomingCallsSetting:B
7824 +.field private intentBootCompletedSetting:B
7826 +.field private line1Number:Ljava/lang/String;
7828 +.field private line1NumberSetting:B
7830 +.field private locationGpsLat:Ljava/lang/String;
7832 +.field private locationGpsLon:Ljava/lang/String;
7834 +.field private locationGpsSetting:B
7836 +.field private locationNetworkLat:Ljava/lang/String;
7838 +.field private locationNetworkLon:Ljava/lang/String;
7840 +.field private locationNetworkSetting:B
7842 +.field private mmsSetting:B
7844 +.field private networkInfoSetting:B
7846 +.field private notificationSetting:B
7848 +.field private outgoingCallsSetting:B
7850 +.field private packageName:Ljava/lang/String;
7852 +.field private simInfoSetting:B
7854 +.field private simSerialNumber:Ljava/lang/String;
7856 +.field private simSerialNumberSetting:B
7858 +.field private smsSetting:B
7860 +.field private subscriberId:Ljava/lang/String;
7862 +.field private subscriberIdSetting:B
7864 +.field private systemLogsSetting:B
7866 +.field private uid:I
7869 +# direct methods
7870 +.method static constructor <clinit>()V
7871 + .registers 1
7873 + new-instance v0, Landroid/privacy/PrivacySettings$1;
7875 + invoke-direct {v0}, Landroid/privacy/PrivacySettings$1;-><init>()V
7877 + sput-object v0, Landroid/privacy/PrivacySettings;->CREATOR:Landroid/os/Parcelable$Creator;
7879 + return-void
7880 +.end method
7882 +.method public constructor <init>(Landroid/os/Parcel;)V
7883 + .registers 4
7885 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
7887 + invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I
7889 + move-result v0
7891 + const/4 v1, -0x1
7893 + if-ne v0, v1, :cond_ce
7895 + const/4 v1, 0x0
7897 + :goto_b
7898 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
7900 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
7902 + move-result-object v1
7904 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
7906 + invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I
7908 + move-result v1
7910 + iput v1, p0, Landroid/privacy/PrivacySettings;->uid:I
7912 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
7914 + move-result v1
7916 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
7918 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
7920 + move-result-object v1
7922 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
7924 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
7926 + move-result v1
7928 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
7930 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
7932 + move-result-object v1
7934 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
7936 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
7938 + move-result v1
7940 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
7942 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
7944 + move-result-object v1
7946 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
7948 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
7950 + move-result-object v1
7952 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
7954 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
7956 + move-result v1
7958 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
7960 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
7962 + move-result-object v1
7964 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
7966 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
7968 + move-result-object v1
7970 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
7972 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
7974 + move-result v1
7976 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
7978 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
7980 + move-result v1
7982 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
7984 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
7986 + move-result v1
7988 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
7990 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
7992 + move-result-object v1
7994 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
7996 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
7998 + move-result v1
8000 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
8002 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
8004 + move-result-object v1
8006 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
8008 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8010 + move-result v1
8012 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
8014 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8016 + move-result v1
8018 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
8020 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8022 + move-result v1
8024 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
8026 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8028 + move-result v1
8030 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
8032 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8034 + move-result v1
8036 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
8038 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8040 + move-result v1
8042 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
8044 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8046 + move-result v1
8048 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
8050 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8052 + move-result v1
8054 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
8056 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8058 + move-result v1
8060 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
8062 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8064 + move-result v1
8066 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
8068 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8070 + move-result v1
8072 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
8074 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8076 + move-result v1
8078 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
8080 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8082 + move-result v1
8084 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
8086 + invoke-virtual {p1}, Landroid/os/Parcel;->createIntArray()[I
8088 + move-result-object v1
8090 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
8092 + return-void
8094 + :cond_ce
8095 + invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
8097 + move-result-object v1
8099 + goto/16 :goto_b
8100 +.end method
8102 +.method public constructor <init>(Ljava/lang/Integer;Ljava/lang/String;I)V
8103 + .registers 6
8105 + const/4 v1, 0x0
8107 + const/4 v0, 0x0
8109 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
8111 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
8113 + iput-object p2, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
8115 + iput p3, p0, Landroid/privacy/PrivacySettings;->uid:I
8117 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
8119 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
8121 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
8123 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
8125 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8127 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
8129 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
8131 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8133 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
8135 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
8137 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
8139 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
8141 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
8143 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
8145 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
8147 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
8149 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
8151 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
8153 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
8155 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
8157 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
8159 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
8161 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
8163 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
8165 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
8167 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
8169 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
8171 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
8173 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
8175 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
8177 + return-void
8178 +.end method
8180 +.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
8181 + .registers 38
8183 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
8185 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
8187 + iput-object p2, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
8189 + iput p3, p0, Landroid/privacy/PrivacySettings;->uid:I
8191 + iput-byte p4, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
8193 + iput-object p5, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
8195 + iput-byte p6, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
8197 + iput-object p7, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
8199 + iput-byte p8, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8201 + iput-object p9, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
8203 + iput-object p10, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
8205 + iput-byte p11, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8207 + iput-object p12, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
8209 + iput-object p13, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
8211 + iput-byte p14, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
8213 + move/from16 v0, p15
8215 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
8217 + move/from16 v0, p16
8219 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
8221 + move-object/from16 v0, p17
8223 + iput-object v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
8225 + move/from16 v0, p18
8227 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
8229 + move-object/from16 v0, p19
8231 + iput-object v0, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
8233 + move/from16 v0, p20
8235 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
8237 + move/from16 v0, p21
8239 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
8241 + move/from16 v0, p22
8243 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
8245 + move/from16 v0, p23
8247 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
8249 + move/from16 v0, p24
8251 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
8253 + move/from16 v0, p25
8255 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
8257 + move/from16 v0, p26
8259 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
8261 + move/from16 v0, p27
8263 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
8265 + move/from16 v0, p28
8267 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
8269 + move/from16 v0, p29
8271 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
8273 + move/from16 v0, p30
8275 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
8277 + move/from16 v0, p34
8279 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
8281 + move/from16 v0, p35
8283 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
8285 + move-object/from16 v0, p36
8287 + iput-object v0, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
8289 + return-void
8290 +.end method
8292 +.method private getRandomLat()Ljava/lang/String;
8293 + .registers 10
8295 + const-wide v7, 0x4056800000000000L
8297 + invoke-static {}, Ljava/lang/Math;->random()D
8299 + move-result-wide v3
8301 + const-wide v5, 0x4066800000000000L
8303 + mul-double v0, v3, v5
8305 + cmpl-double v3, v0, v7
8307 + if-lez v3, :cond_35
8309 + new-instance v2, Ljava/math/BigDecimal;
8311 + sub-double v3, v0, v7
8313 + invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;-><init>(D)V
8315 + :goto_1b
8316 + new-instance v3, Ljava/lang/StringBuilder;
8318 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
8320 + const/4 v4, 0x6
8322 + const/4 v5, 0x4
8324 + invoke-virtual {v2, v4, v5}, Ljava/math/BigDecimal;->setScale(II)Ljava/math/BigDecimal;
8326 + move-result-object v4
8328 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
8330 + move-result-object v3
8332 + const-string v4, ""
8334 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8336 + move-result-object v3
8338 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8340 + move-result-object v3
8342 + return-object v3
8344 + :cond_35
8345 + new-instance v2, Ljava/math/BigDecimal;
8347 + neg-double v3, v0
8349 + invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;-><init>(D)V
8351 + goto :goto_1b
8352 +.end method
8354 +.method private getRandomLon()Ljava/lang/String;
8355 + .registers 10
8357 + const-wide v7, 0x4066800000000000L
8359 + invoke-static {}, Ljava/lang/Math;->random()D
8361 + move-result-wide v3
8363 + const-wide v5, 0x4076800000000000L
8365 + mul-double v0, v3, v5
8367 + cmpl-double v3, v0, v7
8369 + if-lez v3, :cond_35
8371 + new-instance v2, Ljava/math/BigDecimal;
8373 + sub-double v3, v0, v7
8375 + invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;-><init>(D)V
8377 + :goto_1b
8378 + new-instance v3, Ljava/lang/StringBuilder;
8380 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
8382 + const/4 v4, 0x6
8384 + const/4 v5, 0x4
8386 + invoke-virtual {v2, v4, v5}, Ljava/math/BigDecimal;->setScale(II)Ljava/math/BigDecimal;
8388 + move-result-object v4
8390 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
8392 + move-result-object v3
8394 + const-string v4, ""
8396 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8398 + move-result-object v3
8400 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8402 + move-result-object v3
8404 + return-object v3
8406 + :cond_35
8407 + new-instance v2, Ljava/math/BigDecimal;
8409 + neg-double v3, v0
8411 + invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;-><init>(D)V
8413 + goto :goto_1b
8414 +.end method
8417 +# virtual methods
8418 +.method public describeContents()I
8419 + .registers 2
8421 + const/4 v0, 0x0
8423 + return v0
8424 +.end method
8426 +.method public getAccountsAuthTokensSetting()B
8427 + .registers 2
8429 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
8431 + return v0
8432 +.end method
8434 +.method public getAccountsSetting()B
8435 + .registers 2
8437 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
8439 + return v0
8440 +.end method
8442 +.method public getAllowedContacts()[I
8443 + .registers 2
8445 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
8447 + return-object v0
8448 +.end method
8450 +.method public getBookmarksSetting()B
8451 + .registers 2
8453 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
8455 + return v0
8456 +.end method
8458 +.method public getCalendarSetting()B
8459 + .registers 2
8461 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
8463 + return v0
8464 +.end method
8466 +.method public getCallLogSetting()B
8467 + .registers 2
8469 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
8471 + return v0
8472 +.end method
8474 +.method public getContactsSetting()B
8475 + .registers 2
8477 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
8479 + return v0
8480 +.end method
8482 +.method public getDeviceId()Ljava/lang/String;
8483 + .registers 6
8485 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
8487 + const/4 v3, 0x1
8489 + if-ne v2, v3, :cond_8
8491 + const-string v2, ""
8493 + :goto_7
8494 + return-object v2
8496 + :cond_8
8497 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
8499 + const/4 v3, 0x3
8501 + if-ne v2, v3, :cond_35
8503 + new-instance v0, Ljava/util/Random;
8505 + invoke-direct {v0}, Ljava/util/Random;-><init>()V
8507 + new-instance v2, Ljava/lang/StringBuilder;
8509 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
8511 + invoke-virtual {v0}, Ljava/util/Random;->nextLong()J
8513 + move-result-wide v3
8515 + invoke-static {v3, v4}, Ljava/lang/Math;->abs(J)J
8517 + move-result-wide v3
8519 + invoke-virtual {v2, v3, v4}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
8521 + move-result-object v2
8523 + const-string v3, ""
8525 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8527 + move-result-object v2
8529 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8531 + move-result-object v1
8533 + const/4 v2, 0x0
8535 + const/16 v3, 0xf
8537 + invoke-virtual {v1, v2, v3}, Ljava/lang/String;->substring(II)Ljava/lang/String;
8539 + move-result-object v2
8541 + goto :goto_7
8543 + :cond_35
8544 + iget-object v2, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
8546 + goto :goto_7
8547 +.end method
8549 +.method public getDeviceIdSetting()B
8550 + .registers 2
8552 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
8554 + return v0
8555 +.end method
8557 +.method public getIncomingCallsSetting()B
8558 + .registers 2
8560 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
8562 + return v0
8563 +.end method
8565 +.method public getIntentBootCompletedSetting()B
8566 + .registers 2
8568 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
8570 + return v0
8571 +.end method
8573 +.method public getLine1Number()Ljava/lang/String;
8574 + .registers 6
8576 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
8578 + const/4 v3, 0x1
8580 + if-ne v2, v3, :cond_8
8582 + const-string v2, ""
8584 + :goto_7
8585 + return-object v2
8587 + :cond_8
8588 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
8590 + const/4 v3, 0x3
8592 + if-ne v2, v3, :cond_3b
8594 + new-instance v0, Ljava/util/Random;
8596 + invoke-direct {v0}, Ljava/util/Random;-><init>()V
8598 + new-instance v2, Ljava/lang/StringBuilder;
8600 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
8602 + const-string v3, "+"
8604 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8606 + move-result-object v2
8608 + invoke-virtual {v0}, Ljava/util/Random;->nextLong()J
8610 + move-result-wide v3
8612 + invoke-static {v3, v4}, Ljava/lang/Math;->abs(J)J
8614 + move-result-wide v3
8616 + invoke-virtual {v2, v3, v4}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
8618 + move-result-object v2
8620 + const-string v3, ""
8622 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8624 + move-result-object v2
8626 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8628 + move-result-object v1
8630 + const/4 v2, 0x0
8632 + const/16 v3, 0xd
8634 + invoke-virtual {v1, v2, v3}, Ljava/lang/String;->substring(II)Ljava/lang/String;
8636 + move-result-object v2
8638 + goto :goto_7
8640 + :cond_3b
8641 + iget-object v2, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
8643 + goto :goto_7
8644 +.end method
8646 +.method public getLine1NumberSetting()B
8647 + .registers 2
8649 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
8651 + return v0
8652 +.end method
8654 +.method public getLocationGpsLat()Ljava/lang/String;
8655 + .registers 3
8657 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8659 + const/4 v1, 0x1
8661 + if-ne v0, v1, :cond_8
8663 + const-string v0, ""
8665 + :goto_7
8666 + return-object v0
8668 + :cond_8
8669 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8671 + const/4 v1, 0x3
8673 + if-ne v0, v1, :cond_12
8675 + invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLat()Ljava/lang/String;
8677 + move-result-object v0
8679 + goto :goto_7
8681 + :cond_12
8682 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
8684 + goto :goto_7
8685 +.end method
8687 +.method public getLocationGpsLon()Ljava/lang/String;
8688 + .registers 3
8690 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8692 + const/4 v1, 0x1
8694 + if-ne v0, v1, :cond_8
8696 + const-string v0, ""
8698 + :goto_7
8699 + return-object v0
8701 + :cond_8
8702 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8704 + const/4 v1, 0x3
8706 + if-ne v0, v1, :cond_12
8708 + invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLon()Ljava/lang/String;
8710 + move-result-object v0
8712 + goto :goto_7
8714 + :cond_12
8715 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
8717 + goto :goto_7
8718 +.end method
8720 +.method public getLocationGpsSetting()B
8721 + .registers 2
8723 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8725 + return v0
8726 +.end method
8728 +.method public getLocationNetworkLat()Ljava/lang/String;
8729 + .registers 3
8731 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8733 + const/4 v1, 0x1
8735 + if-ne v0, v1, :cond_8
8737 + const-string v0, ""
8739 + :goto_7
8740 + return-object v0
8742 + :cond_8
8743 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8745 + const/4 v1, 0x3
8747 + if-ne v0, v1, :cond_12
8749 + invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLat()Ljava/lang/String;
8751 + move-result-object v0
8753 + goto :goto_7
8755 + :cond_12
8756 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
8758 + goto :goto_7
8759 +.end method
8761 +.method public getLocationNetworkLon()Ljava/lang/String;
8762 + .registers 3
8764 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8766 + const/4 v1, 0x1
8768 + if-ne v0, v1, :cond_8
8770 + const-string v0, ""
8772 + :goto_7
8773 + return-object v0
8775 + :cond_8
8776 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8778 + const/4 v1, 0x3
8780 + if-ne v0, v1, :cond_12
8782 + invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLon()Ljava/lang/String;
8784 + move-result-object v0
8786 + goto :goto_7
8788 + :cond_12
8789 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
8791 + goto :goto_7
8792 +.end method
8794 +.method public getLocationNetworkSetting()B
8795 + .registers 2
8797 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8799 + return v0
8800 +.end method
8802 +.method public getMmsSetting()B
8803 + .registers 2
8805 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
8807 + return v0
8808 +.end method
8810 +.method public getNetworkInfoSetting()B
8811 + .registers 2
8813 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
8815 + return v0
8816 +.end method
8818 +.method public getNotificationSetting()B
8819 + .registers 2
8821 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
8823 + return v0
8824 +.end method
8826 +.method public getOutgoingCallsSetting()B
8827 + .registers 2
8829 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
8831 + return v0
8832 +.end method
8834 +.method public getPackageName()Ljava/lang/String;
8835 + .registers 2
8837 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
8839 + return-object v0
8840 +.end method
8842 +.method public getSimInfoSetting()B
8843 + .registers 2
8845 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
8847 + return v0
8848 +.end method
8850 +.method public getSimSerialNumber()Ljava/lang/String;
8851 + .registers 5
8853 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
8855 + const/4 v2, 0x1
8857 + if-ne v1, v2, :cond_8
8859 + const-string v1, ""
8861 + :goto_7
8862 + return-object v1
8864 + :cond_8
8865 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
8867 + const/4 v2, 0x3
8869 + if-ne v1, v2, :cond_2e
8871 + new-instance v0, Ljava/util/Random;
8873 + invoke-direct {v0}, Ljava/util/Random;-><init>()V
8875 + new-instance v1, Ljava/lang/StringBuilder;
8877 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
8879 + invoke-virtual {v0}, Ljava/util/Random;->nextLong()J
8881 + move-result-wide v2
8883 + invoke-static {v2, v3}, Ljava/lang/Math;->abs(J)J
8885 + move-result-wide v2
8887 + invoke-virtual {v1, v2, v3}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
8889 + move-result-object v1
8891 + const-string v2, ""
8893 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8895 + move-result-object v1
8897 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8899 + move-result-object v1
8901 + goto :goto_7
8903 + :cond_2e
8904 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
8906 + goto :goto_7
8907 +.end method
8909 +.method public getSimSerialNumberSetting()B
8910 + .registers 2
8912 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
8914 + return v0
8915 +.end method
8917 +.method public getSmsSetting()B
8918 + .registers 2
8920 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
8922 + return v0
8923 +.end method
8925 +.method public getSubscriberId()Ljava/lang/String;
8926 + .registers 6
8928 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
8930 + const/4 v3, 0x1
8932 + if-ne v2, v3, :cond_8
8934 + const-string v2, ""
8936 + :goto_7
8937 + return-object v2
8939 + :cond_8
8940 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
8942 + const/4 v3, 0x3
8944 + if-ne v2, v3, :cond_35
8946 + new-instance v0, Ljava/util/Random;
8948 + invoke-direct {v0}, Ljava/util/Random;-><init>()V
8950 + new-instance v2, Ljava/lang/StringBuilder;
8952 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
8954 + invoke-virtual {v0}, Ljava/util/Random;->nextLong()J
8956 + move-result-wide v3
8958 + invoke-static {v3, v4}, Ljava/lang/Math;->abs(J)J
8960 + move-result-wide v3
8962 + invoke-virtual {v2, v3, v4}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
8964 + move-result-object v2
8966 + const-string v3, ""
8968 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8970 + move-result-object v2
8972 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8974 + move-result-object v1
8976 + const/4 v2, 0x0
8978 + const/16 v3, 0xf
8980 + invoke-virtual {v1, v2, v3}, Ljava/lang/String;->substring(II)Ljava/lang/String;
8982 + move-result-object v2
8984 + goto :goto_7
8986 + :cond_35
8987 + iget-object v2, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
8989 + goto :goto_7
8990 +.end method
8992 +.method public getSubscriberIdSetting()B
8993 + .registers 2
8995 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
8997 + return v0
8998 +.end method
9000 +.method public getSystemLogsSetting()B
9001 + .registers 2
9003 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
9005 + return v0
9006 +.end method
9008 +.method public getUid()I
9009 + .registers 2
9011 + iget v0, p0, Landroid/privacy/PrivacySettings;->uid:I
9013 + return v0
9014 +.end method
9016 +.method public get_id()Ljava/lang/Integer;
9017 + .registers 2
9019 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
9021 + return-object v0
9022 +.end method
9024 +.method public setAccountsAuthTokensSetting(B)V
9025 + .registers 2
9027 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
9029 + return-void
9030 +.end method
9032 +.method public setAccountsSetting(B)V
9033 + .registers 2
9035 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
9037 + return-void
9038 +.end method
9040 +.method public setAllowedContacts([I)V
9041 + .registers 2
9043 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
9045 + return-void
9046 +.end method
9048 +.method public setBookmarksSetting(B)V
9049 + .registers 2
9051 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
9053 + return-void
9054 +.end method
9056 +.method public setCalendarSetting(B)V
9057 + .registers 2
9059 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
9061 + return-void
9062 +.end method
9064 +.method public setCallLogSetting(B)V
9065 + .registers 2
9067 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
9069 + return-void
9070 +.end method
9072 +.method public setContactsSetting(B)V
9073 + .registers 2
9075 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
9077 + return-void
9078 +.end method
9080 +.method public setDeviceId(Ljava/lang/String;)V
9081 + .registers 2
9083 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
9085 + return-void
9086 +.end method
9088 +.method public setDeviceIdSetting(B)V
9089 + .registers 2
9091 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
9093 + return-void
9094 +.end method
9096 +.method public setIncomingCallsSetting(B)V
9097 + .registers 2
9099 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
9101 + return-void
9102 +.end method
9104 +.method public setIntentBootCompletedSetting(B)V
9105 + .registers 2
9107 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
9109 + return-void
9110 +.end method
9112 +.method public setLine1Number(Ljava/lang/String;)V
9113 + .registers 2
9115 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
9117 + return-void
9118 +.end method
9120 +.method public setLine1NumberSetting(B)V
9121 + .registers 2
9123 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
9125 + return-void
9126 +.end method
9128 +.method public setLocationGpsLat(Ljava/lang/String;)V
9129 + .registers 2
9131 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
9133 + return-void
9134 +.end method
9136 +.method public setLocationGpsLon(Ljava/lang/String;)V
9137 + .registers 2
9139 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
9141 + return-void
9142 +.end method
9144 +.method public setLocationGpsSetting(B)V
9145 + .registers 2
9147 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
9149 + return-void
9150 +.end method
9152 +.method public setLocationNetworkLat(Ljava/lang/String;)V
9153 + .registers 2
9155 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
9157 + return-void
9158 +.end method
9160 +.method public setLocationNetworkLon(Ljava/lang/String;)V
9161 + .registers 2
9163 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
9165 + return-void
9166 +.end method
9168 +.method public setLocationNetworkSetting(B)V
9169 + .registers 2
9171 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
9173 + return-void
9174 +.end method
9176 +.method public setMmsSetting(B)V
9177 + .registers 2
9179 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
9181 + return-void
9182 +.end method
9184 +.method public setNetworkInfoSetting(B)V
9185 + .registers 2
9187 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
9189 + return-void
9190 +.end method
9192 +.method public setNotificationSetting(B)V
9193 + .registers 2
9195 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
9197 + return-void
9198 +.end method
9200 +.method public setOutgoingCallsSetting(B)V
9201 + .registers 2
9203 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
9205 + return-void
9206 +.end method
9208 +.method public setPackageName(Ljava/lang/String;)V
9209 + .registers 2
9211 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
9213 + return-void
9214 +.end method
9216 +.method public setSimInfoSetting(B)V
9217 + .registers 2
9219 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
9221 + return-void
9222 +.end method
9224 +.method public setSimSerialNumber(Ljava/lang/String;)V
9225 + .registers 2
9227 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
9229 + return-void
9230 +.end method
9232 +.method public setSimSerialNumberSetting(B)V
9233 + .registers 2
9235 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
9237 + return-void
9238 +.end method
9240 +.method public setSmsSetting(B)V
9241 + .registers 2
9243 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
9245 + return-void
9246 +.end method
9248 +.method public setSubscriberId(Ljava/lang/String;)V
9249 + .registers 2
9251 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
9253 + return-void
9254 +.end method
9256 +.method public setSubscriberIdSetting(B)V
9257 + .registers 2
9259 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
9261 + return-void
9262 +.end method
9264 +.method public setSystemLogsSetting(B)V
9265 + .registers 2
9267 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
9269 + return-void
9270 +.end method
9272 +.method public setUid(I)V
9273 + .registers 2
9275 + iput p1, p0, Landroid/privacy/PrivacySettings;->uid:I
9277 + return-void
9278 +.end method
9280 +.method public toString()Ljava/lang/String;
9281 + .registers 3
9283 + new-instance v0, Ljava/lang/StringBuilder;
9285 + invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
9287 + const-string v1, "PrivacySettings [_id="
9289 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9291 + move-result-object v0
9293 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
9295 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
9297 + move-result-object v0
9299 + const-string v1, ", accountsAuthTokensSetting="
9301 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9303 + move-result-object v0
9305 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
9307 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9309 + move-result-object v0
9311 + const-string v1, ", accountsSetting="
9313 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9315 + move-result-object v0
9317 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
9319 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9321 + move-result-object v0
9323 + const-string v1, ", bookmarksSetting="
9325 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9327 + move-result-object v0
9329 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
9331 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9333 + move-result-object v0
9335 + const-string v1, ", calendarSetting="
9337 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9339 + move-result-object v0
9341 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
9343 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9345 + move-result-object v0
9347 + const-string v1, ", callLogSetting="
9349 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9351 + move-result-object v0
9353 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
9355 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9357 + move-result-object v0
9359 + const-string v1, ", contactsSetting="
9361 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9363 + move-result-object v0
9365 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
9367 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9369 + move-result-object v0
9371 + const-string v1, ", deviceId="
9373 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9375 + move-result-object v0
9377 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
9379 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9381 + move-result-object v0
9383 + const-string v1, ", deviceIdSetting="
9385 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9387 + move-result-object v0
9389 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
9391 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9393 + move-result-object v0
9395 + const-string v1, ", incomingCallsSetting="
9397 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9399 + move-result-object v0
9401 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
9403 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9405 + move-result-object v0
9407 + const-string v1, ", intentBootCompletedSetting="
9409 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9411 + move-result-object v0
9413 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
9415 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9417 + move-result-object v0
9419 + const-string v1, ", line1Number="
9421 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9423 + move-result-object v0
9425 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
9427 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9429 + move-result-object v0
9431 + const-string v1, ", line1NumberSetting="
9433 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9435 + move-result-object v0
9437 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
9439 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9441 + move-result-object v0
9443 + const-string v1, ", locationGpsLat="
9445 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9447 + move-result-object v0
9449 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
9451 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9453 + move-result-object v0
9455 + const-string v1, ", locationGpsLon="
9457 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9459 + move-result-object v0
9461 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
9463 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9465 + move-result-object v0
9467 + const-string v1, ", locationGpsSetting="
9469 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9471 + move-result-object v0
9473 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
9475 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9477 + move-result-object v0
9479 + const-string v1, ", locationNetworkLat="
9481 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9483 + move-result-object v0
9485 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
9487 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9489 + move-result-object v0
9491 + const-string v1, ", locationNetworkLon="
9493 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9495 + move-result-object v0
9497 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
9499 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9501 + move-result-object v0
9503 + const-string v1, ", locationNetworkSetting="
9505 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9507 + move-result-object v0
9509 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
9511 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9513 + move-result-object v0
9515 + const-string v1, ", mmsSetting="
9517 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9519 + move-result-object v0
9521 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
9523 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9525 + move-result-object v0
9527 + const-string v1, ", networkInfoSetting="
9529 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9531 + move-result-object v0
9533 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
9535 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9537 + move-result-object v0
9539 + const-string v1, ", notificationSetting="
9541 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9543 + move-result-object v0
9545 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
9547 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9549 + move-result-object v0
9551 + const-string v1, ", outgoingCallsSetting="
9553 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9555 + move-result-object v0
9557 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
9559 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9561 + move-result-object v0
9563 + const-string v1, ", packageName="
9565 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9567 + move-result-object v0
9569 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
9571 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9573 + move-result-object v0
9575 + const-string v1, ", simInfoSetting="
9577 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9579 + move-result-object v0
9581 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
9583 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9585 + move-result-object v0
9587 + const-string v1, ", simSerialNumber="
9589 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9591 + move-result-object v0
9593 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
9595 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9597 + move-result-object v0
9599 + const-string v1, ", simSerialNumberSetting="
9601 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9603 + move-result-object v0
9605 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
9607 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9609 + move-result-object v0
9611 + const-string v1, ", smsSetting="
9613 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9615 + move-result-object v0
9617 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
9619 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9621 + move-result-object v0
9623 + const-string v1, ", subscriberId="
9625 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9627 + move-result-object v0
9629 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
9631 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9633 + move-result-object v0
9635 + const-string v1, ", subscriberIdSetting="
9637 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9639 + move-result-object v0
9641 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
9643 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9645 + move-result-object v0
9647 + const-string v1, ", systemLogsSetting="
9649 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9651 + move-result-object v0
9653 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
9655 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9657 + move-result-object v0
9659 + const-string v1, ", uid="
9661 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9663 + move-result-object v0
9665 + iget v1, p0, Landroid/privacy/PrivacySettings;->uid:I
9667 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9669 + move-result-object v0
9671 + const-string v1, "]"
9673 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9675 + move-result-object v0
9677 + invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
9679 + move-result-object v0
9681 + return-object v0
9682 +.end method
9684 +.method public writeToParcel(Landroid/os/Parcel;I)V
9685 + .registers 4
9687 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
9689 + if-nez v0, :cond_a9
9691 + const/4 v0, -0x1
9693 + :goto_5
9694 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeInt(I)V
9696 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
9698 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9700 + iget v0, p0, Landroid/privacy/PrivacySettings;->uid:I
9702 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeInt(I)V
9704 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
9706 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9708 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
9710 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9712 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
9714 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9716 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
9718 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9720 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
9722 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9724 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
9726 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9728 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
9730 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9732 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
9734 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9736 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
9738 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9740 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
9742 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9744 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
9746 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9748 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
9750 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9752 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
9754 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9756 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
9758 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9760 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
9762 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9764 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
9766 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9768 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
9770 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9772 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
9774 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9776 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
9778 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9780 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
9782 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9784 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
9786 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9788 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
9790 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9792 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
9794 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9796 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
9798 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9800 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
9802 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9804 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
9806 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9808 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
9810 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9812 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
9814 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9816 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
9818 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9820 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
9822 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeIntArray([I)V
9824 + return-void
9826 + :cond_a9
9827 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
9829 + invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
9831 + move-result v0
9833 + goto/16 :goto_5
9834 +.end method
9835 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali
9836 --- stock-framework/smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali 1969-12-31 18:00:00.000000000 -0600
9837 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali 2012-08-22 21:52:53.707715788 -0500
9838 @@ -0,0 +1,129 @@
9839 +.class Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
9840 +.super Ljava/lang/Object;
9841 +.source "PrivacyAccountManager.java"
9843 +# interfaces
9844 +.implements Landroid/accounts/AccountManagerFuture;
9847 +# annotations
9848 +.annotation system Ldalvik/annotation/EnclosingClass;
9849 + value = Landroid/privacy/surrogate/PrivacyAccountManager;
9850 +.end annotation
9852 +.annotation system Ldalvik/annotation/InnerClass;
9853 + accessFlags = 0x2
9854 + name = "PrivacyAccountManagerFuture"
9855 +.end annotation
9857 +.annotation system Ldalvik/annotation/Signature;
9858 + value = {
9859 + "<V:",
9860 + "Ljava/lang/Object;",
9861 + ">",
9862 + "Ljava/lang/Object;",
9863 + "Landroid/accounts/AccountManagerFuture",
9864 + "<TV;>;"
9866 +.end annotation
9869 +# instance fields
9870 +.field private result:Ljava/lang/Object;
9871 + .annotation system Ldalvik/annotation/Signature;
9872 + value = {
9873 + "TV;"
9875 + .end annotation
9876 +.end field
9878 +.field final synthetic this$0:Landroid/privacy/surrogate/PrivacyAccountManager;
9881 +# direct methods
9882 +.method public constructor <init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
9883 + .registers 3
9884 + .annotation system Ldalvik/annotation/Signature;
9885 + value = {
9886 + "(TV;)V"
9888 + .end annotation
9890 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->this$0:Landroid/privacy/surrogate/PrivacyAccountManager;
9892 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
9894 + iput-object p2, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->result:Ljava/lang/Object;
9896 + return-void
9897 +.end method
9900 +# virtual methods
9901 +.method public cancel(Z)Z
9902 + .registers 3
9904 + const/4 v0, 0x0
9906 + return v0
9907 +.end method
9909 +.method public getResult()Ljava/lang/Object;
9910 + .registers 2
9911 + .annotation system Ldalvik/annotation/Signature;
9912 + value = {
9913 + "()TV;"
9915 + .end annotation
9917 + .annotation system Ldalvik/annotation/Throws;
9918 + value = {
9919 + Landroid/accounts/OperationCanceledException;,
9920 + Ljava/io/IOException;,
9921 + Landroid/accounts/AuthenticatorException;
9923 + .end annotation
9925 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->result:Ljava/lang/Object;
9927 + return-object v0
9928 +.end method
9930 +.method public getResult(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;
9931 + .registers 5
9932 + .annotation system Ldalvik/annotation/Signature;
9933 + value = {
9934 + "(J",
9935 + "Ljava/util/concurrent/TimeUnit;",
9936 + ")TV;"
9938 + .end annotation
9940 + .annotation system Ldalvik/annotation/Throws;
9941 + value = {
9942 + Landroid/accounts/OperationCanceledException;,
9943 + Ljava/io/IOException;,
9944 + Landroid/accounts/AuthenticatorException;
9946 + .end annotation
9948 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->result:Ljava/lang/Object;
9950 + return-object v0
9951 +.end method
9953 +.method public isCancelled()Z
9954 + .registers 2
9956 + const/4 v0, 0x0
9958 + return v0
9959 +.end method
9961 +.method public isDone()Z
9962 + .registers 2
9964 + const/4 v0, 0x1
9966 + return v0
9967 +.end method
9968 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyAccountManager.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyAccountManager.smali
9969 --- stock-framework/smali/android/privacy/surrogate/PrivacyAccountManager.smali 1969-12-31 18:00:00.000000000 -0600
9970 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyAccountManager.smali 2012-08-22 21:52:53.711715812 -0500
9971 @@ -0,0 +1,701 @@
9972 +.class public final Landroid/privacy/surrogate/PrivacyAccountManager;
9973 +.super Landroid/accounts/AccountManager;
9974 +.source "PrivacyAccountManager.java"
9977 +# annotations
9978 +.annotation system Ldalvik/annotation/MemberClasses;
9979 + value = {
9980 + Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
9982 +.end annotation
9985 +# static fields
9986 +.field private static final TAG:Ljava/lang/String; = "PrivacyAccountManager"
9989 +# instance fields
9990 +.field private context:Landroid/content/Context;
9992 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
9995 +# direct methods
9996 +.method public constructor <init>(Landroid/content/Context;Landroid/accounts/IAccountManager;)V
9997 + .registers 5
9999 + invoke-direct {p0, p1, p2}, Landroid/accounts/AccountManager;-><init>(Landroid/content/Context;Landroid/accounts/IAccountManager;)V
10001 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10003 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
10005 + const-string/jumbo v1, "privacy"
10007 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
10009 + move-result-object v1
10011 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
10013 + move-result-object v1
10015 + invoke-direct {v0, p1, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
10017 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10019 + return-void
10020 +.end method
10022 +.method public constructor <init>(Landroid/content/Context;Landroid/accounts/IAccountManager;Landroid/os/Handler;)V
10023 + .registers 6
10025 + invoke-direct {p0, p1, p2, p3}, Landroid/accounts/AccountManager;-><init>(Landroid/content/Context;Landroid/accounts/IAccountManager;Landroid/os/Handler;)V
10027 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10029 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
10031 + const-string/jumbo v1, "privacy"
10033 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
10035 + move-result-object v1
10037 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
10039 + move-result-object v1
10041 + invoke-direct {v0, p1, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
10043 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10045 + return-void
10046 +.end method
10049 +# virtual methods
10050 +.method public blockingGetAuthToken(Landroid/accounts/Account;Ljava/lang/String;Z)Ljava/lang/String;
10051 + .registers 12
10052 + .annotation system Ldalvik/annotation/Throws;
10053 + value = {
10054 + Landroid/accounts/OperationCanceledException;,
10055 + Ljava/io/IOException;,
10056 + Landroid/accounts/AuthenticatorException;
10058 + .end annotation
10060 + const/4 v5, 0x0
10062 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10064 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10066 + move-result-object v1
10068 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10070 + move-result v2
10072 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10074 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10076 + move-result-object v6
10078 + if-eqz v6, :cond_23
10080 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
10082 + move-result v0
10084 + if-eqz v0, :cond_23
10086 + const/4 v7, 0x0
10088 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10090 + const/4 v3, 0x1
10092 + const-string v4, "authTokens"
10094 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10096 + :goto_22
10097 + return-object v7
10099 + :cond_23
10100 + invoke-super {p0, p1, p2, p3}, Landroid/accounts/AccountManager;->blockingGetAuthToken(Landroid/accounts/Account;Ljava/lang/String;Z)Ljava/lang/String;
10102 + move-result-object v7
10104 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10106 + const/4 v3, 0x0
10108 + const-string v4, "authTokens"
10110 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10112 + goto :goto_22
10113 +.end method
10115 +.method public getAccounts()[Landroid/accounts/Account;
10116 + .registers 10
10118 + const/4 v5, 0x0
10120 + const/4 v3, 0x0
10122 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10124 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10126 + move-result-object v1
10128 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10130 + move-result v2
10132 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10134 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10136 + move-result-object v6
10138 + if-eqz v6, :cond_27
10140 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
10142 + move-result v0
10144 + if-eqz v0, :cond_27
10146 + const-string v8, "[empty accounts list]"
10148 + new-array v7, v3, [Landroid/accounts/Account;
10150 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10152 + const/4 v3, 0x1
10154 + const-string v4, "accountsList"
10156 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10158 + :goto_26
10159 + return-object v7
10161 + :cond_27
10162 + const-string v8, "[real value]"
10164 + invoke-super {p0}, Landroid/accounts/AccountManager;->getAccounts()[Landroid/accounts/Account;
10166 + move-result-object v7
10168 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10170 + const-string v4, "accountsList"
10172 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10174 + goto :goto_26
10175 +.end method
10177 +.method public getAccountsByType(Ljava/lang/String;)[Landroid/accounts/Account;
10178 + .registers 11
10180 + const/4 v5, 0x0
10182 + const/4 v3, 0x0
10184 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10186 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10188 + move-result-object v1
10190 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10192 + move-result v2
10194 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10196 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10198 + move-result-object v6
10200 + if-eqz v6, :cond_27
10202 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
10204 + move-result v0
10206 + if-eqz v0, :cond_27
10208 + const-string v8, "[empty accounts list]"
10210 + new-array v7, v3, [Landroid/accounts/Account;
10212 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10214 + const/4 v3, 0x1
10216 + const-string v4, "accountsList"
10218 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10220 + :goto_26
10221 + return-object v7
10223 + :cond_27
10224 + const-string v8, "[real value]"
10226 + invoke-super {p0, p1}, Landroid/accounts/AccountManager;->getAccountsByType(Ljava/lang/String;)[Landroid/accounts/Account;
10228 + move-result-object v7
10230 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10232 + const-string v4, "accountsList"
10234 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10236 + goto :goto_26
10237 +.end method
10239 +.method public getAccountsByTypeAndFeatures(Ljava/lang/String;[Ljava/lang/String;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
10240 + .registers 14
10241 + .annotation system Ldalvik/annotation/Signature;
10242 + value = {
10243 + "(",
10244 + "Ljava/lang/String;",
10245 + "[",
10246 + "Ljava/lang/String;",
10247 + "Landroid/accounts/AccountManagerCallback",
10248 + "<[",
10249 + "Landroid/accounts/Account;",
10250 + ">;",
10251 + "Landroid/os/Handler;",
10252 + ")",
10253 + "Landroid/accounts/AccountManagerFuture",
10254 + "<[",
10255 + "Landroid/accounts/Account;",
10256 + ">;"
10258 + .end annotation
10260 + const/4 v5, 0x0
10262 + const/4 v3, 0x0
10264 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10266 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10268 + move-result-object v1
10270 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10272 + move-result v2
10274 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10276 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10278 + move-result-object v6
10280 + if-eqz v6, :cond_2c
10282 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
10284 + move-result v0
10286 + if-eqz v0, :cond_2c
10288 + const-string v8, "[false]"
10290 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10292 + new-array v0, v3, [Landroid/accounts/Account;
10294 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
10296 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10298 + const/4 v3, 0x1
10300 + const-string v4, "accountsList"
10302 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10304 + :goto_2b
10305 + return-object v7
10307 + :cond_2c
10308 + const-string v8, "[real value]"
10310 + 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;
10312 + move-result-object v7
10314 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10316 + const-string v4, "accountsList"
10318 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10320 + goto :goto_2b
10321 +.end method
10323 +.method public getAuthToken(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;Landroid/app/Activity;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
10324 + .registers 16
10325 + .annotation system Ldalvik/annotation/Signature;
10326 + value = {
10327 + "(",
10328 + "Landroid/accounts/Account;",
10329 + "Ljava/lang/String;",
10330 + "Landroid/os/Bundle;",
10331 + "Landroid/app/Activity;",
10332 + "Landroid/accounts/AccountManagerCallback",
10333 + "<",
10334 + "Landroid/os/Bundle;",
10335 + ">;",
10336 + "Landroid/os/Handler;",
10337 + ")",
10338 + "Landroid/accounts/AccountManagerFuture",
10339 + "<",
10340 + "Landroid/os/Bundle;",
10341 + ">;"
10343 + .end annotation
10345 + const/4 v5, 0x0
10347 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10349 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10351 + move-result-object v1
10353 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10355 + move-result v2
10357 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10359 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10361 + move-result-object v6
10363 + if-eqz v6, :cond_2e
10365 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
10367 + move-result v0
10369 + if-eqz v0, :cond_2e
10371 + const-string v8, "[empty]"
10373 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10375 + new-instance v0, Landroid/os/Bundle;
10377 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
10379 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
10381 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10383 + const/4 v3, 0x1
10385 + const-string v4, "authTokens"
10387 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10389 + :goto_2d
10390 + return-object v7
10392 + :cond_2e
10393 + const-string v8, "[real value]"
10395 + 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;
10397 + move-result-object v7
10399 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10401 + const/4 v3, 0x0
10403 + const-string v4, "authTokens"
10405 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10407 + goto :goto_2d
10408 +.end method
10410 +.method public getAuthToken(Landroid/accounts/Account;Ljava/lang/String;ZLandroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
10411 + .registers 15
10412 + .annotation system Ldalvik/annotation/Signature;
10413 + value = {
10414 + "(",
10415 + "Landroid/accounts/Account;",
10416 + "Ljava/lang/String;",
10417 + "Z",
10418 + "Landroid/accounts/AccountManagerCallback",
10419 + "<",
10420 + "Landroid/os/Bundle;",
10421 + ">;",
10422 + "Landroid/os/Handler;",
10423 + ")",
10424 + "Landroid/accounts/AccountManagerFuture",
10425 + "<",
10426 + "Landroid/os/Bundle;",
10427 + ">;"
10429 + .end annotation
10431 + const/4 v5, 0x0
10433 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10435 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10437 + move-result-object v1
10439 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10441 + move-result v2
10443 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10445 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10447 + move-result-object v6
10449 + if-eqz v6, :cond_2e
10451 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
10453 + move-result v0
10455 + if-eqz v0, :cond_2e
10457 + const-string v8, "[empty]"
10459 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10461 + new-instance v0, Landroid/os/Bundle;
10463 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
10465 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
10467 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10469 + const/4 v3, 0x1
10471 + const-string v4, "authTokens"
10473 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10475 + :goto_2d
10476 + return-object v7
10478 + :cond_2e
10479 + const-string v8, "[real value]"
10481 + invoke-super/range {p0 .. p5}, Landroid/accounts/AccountManager;->getAuthToken(Landroid/accounts/Account;Ljava/lang/String;ZLandroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
10483 + move-result-object v7
10485 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10487 + const/4 v3, 0x0
10489 + const-string v4, "authTokens"
10491 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10493 + goto :goto_2d
10494 +.end method
10496 +.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;
10497 + .registers 18
10498 + .annotation system Ldalvik/annotation/Signature;
10499 + value = {
10500 + "(",
10501 + "Ljava/lang/String;",
10502 + "Ljava/lang/String;",
10503 + "[",
10504 + "Ljava/lang/String;",
10505 + "Landroid/app/Activity;",
10506 + "Landroid/os/Bundle;",
10507 + "Landroid/os/Bundle;",
10508 + "Landroid/accounts/AccountManagerCallback",
10509 + "<",
10510 + "Landroid/os/Bundle;",
10511 + ">;",
10512 + "Landroid/os/Handler;",
10513 + ")",
10514 + "Landroid/accounts/AccountManagerFuture",
10515 + "<",
10516 + "Landroid/os/Bundle;",
10517 + ">;"
10519 + .end annotation
10521 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10523 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10525 + move-result-object v1
10527 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10529 + move-result v2
10531 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10533 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10535 + move-result-object v6
10537 + if-eqz v6, :cond_2e
10539 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
10541 + move-result v0
10543 + if-eqz v0, :cond_2e
10545 + const-string v8, "[empty]"
10547 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10549 + new-instance v0, Landroid/os/Bundle;
10551 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
10553 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
10555 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10557 + const/4 v3, 0x1
10559 + const-string v4, "authTokens"
10561 + const/4 v5, 0x0
10563 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10565 + :goto_2d
10566 + return-object v7
10568 + :cond_2e
10569 + const-string v8, "[real value]"
10571 + 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;
10573 + move-result-object v7
10575 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10577 + const/4 v3, 0x0
10579 + const-string v4, "authTokens"
10581 + const/4 v5, 0x0
10583 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10585 + goto :goto_2d
10586 +.end method
10588 +.method public hasFeatures(Landroid/accounts/Account;[Ljava/lang/String;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
10589 + .registers 14
10590 + .annotation system Ldalvik/annotation/Signature;
10591 + value = {
10592 + "(",
10593 + "Landroid/accounts/Account;",
10594 + "[",
10595 + "Ljava/lang/String;",
10596 + "Landroid/accounts/AccountManagerCallback",
10597 + "<",
10598 + "Ljava/lang/Boolean;",
10599 + ">;",
10600 + "Landroid/os/Handler;",
10601 + ")",
10602 + "Landroid/accounts/AccountManagerFuture",
10603 + "<",
10604 + "Ljava/lang/Boolean;",
10605 + ">;"
10607 + .end annotation
10609 + const/4 v5, 0x0
10611 + const/4 v3, 0x0
10613 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10615 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10617 + move-result-object v1
10619 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10621 + move-result v2
10623 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10625 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10627 + move-result-object v6
10629 + if-eqz v6, :cond_2e
10631 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
10633 + move-result v0
10635 + if-eqz v0, :cond_2e
10637 + const-string v8, "[false]"
10639 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10641 + invoke-static {v3}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
10643 + move-result-object v0
10645 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
10647 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10649 + const/4 v3, 0x1
10651 + const-string v4, "accountsList"
10653 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10655 + :goto_2d
10656 + return-object v7
10658 + :cond_2e
10659 + const-string v8, "[real value]"
10661 + 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;
10663 + move-result-object v7
10665 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10667 + const-string v4, "accountsList"
10669 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10671 + goto :goto_2d
10672 +.end method
10673 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyActivityManagerService.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyActivityManagerService.smali
10674 --- stock-framework/smali/android/privacy/surrogate/PrivacyActivityManagerService.smali 1969-12-31 18:00:00.000000000 -0600
10675 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyActivityManagerService.smali 2012-08-22 21:52:53.711715812 -0500
10676 @@ -0,0 +1,1087 @@
10677 +.class public final Landroid/privacy/surrogate/PrivacyActivityManagerService;
10678 +.super Ljava/lang/Object;
10679 +.source "PrivacyActivityManagerService.java"
10682 +# static fields
10683 +.field private static final TAG:Ljava/lang/String; = "PrivacyActivityManagerService"
10685 +.field private static pSetMan:Landroid/privacy/PrivacySettingsManager;
10687 +.field private static tmpIn:Landroid/content/Intent;
10689 +.field private static tmpInHash:J
10691 +.field private static tmpInReceivers:I
10693 +.field private static tmpMms:Landroid/content/Intent;
10695 +.field private static tmpMmsHash:J
10697 +.field private static tmpMmsReceivers:I
10699 +.field private static tmpOut:Landroid/content/Intent;
10701 +.field private static tmpOutHash:J
10703 +.field private static tmpOutReceivers:I
10705 +.field private static tmpPackageAddedHash:J
10707 +.field private static tmpSms:Landroid/content/Intent;
10709 +.field private static tmpSmsHash:J
10711 +.field private static tmpSmsReceivers:I
10714 +# direct methods
10715 +.method static constructor <clinit>()V
10716 + .registers 3
10718 + const/4 v2, 0x0
10720 + const-wide/16 v0, 0x0
10722 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInHash:J
10724 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
10726 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutHash:J
10728 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
10730 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsHash:J
10732 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
10734 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsHash:J
10736 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
10738 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpPackageAddedHash:J
10740 + return-void
10741 +.end method
10743 +.method public constructor <init>()V
10744 + .registers 1
10746 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
10748 + return-void
10749 +.end method
10751 +.method public static enforcePrivacyPermission(Ljava/lang/String;ILandroid/content/Intent;Landroid/content/Context;I)V
10752 + .registers 22
10754 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10756 + if-nez v2, :cond_11
10758 + const-string/jumbo v2, "privacy"
10760 + move-object/from16 v0, p3
10762 + invoke-virtual {v0, v2}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
10764 + move-result-object v2
10766 + check-cast v2, Landroid/privacy/PrivacySettingsManager;
10768 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10770 + :cond_11
10771 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->getAction()Ljava/lang/String;
10773 + move-result-object v9
10775 + const-string v2, "android.intent.action.NEW_OUTGOING_CALL"
10777 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
10779 + move-result v2
10781 + if-eqz v2, :cond_ad
10783 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10785 + move-object/from16 v0, p0
10787 + move/from16 v1, p1
10789 + invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10791 + move-result-object v8
10793 + const-string v2, "android.intent.extra.PHONE_NUMBER"
10795 + move-object/from16 v0, p2
10797 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
10799 + move-result-object v16
10801 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutHash:J
10803 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
10805 + move-result-wide v4
10807 + cmp-long v2, v2, v4
10809 + if-eqz v2, :cond_49
10811 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->clone()Ljava/lang/Object;
10813 + move-result-object v2
10815 + check-cast v2, Landroid/content/Intent;
10817 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOut:Landroid/content/Intent;
10819 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
10821 + move-result-wide v2
10823 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutHash:J
10825 + sput p4, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
10827 + :cond_49
10828 + if-eqz v8, :cond_76
10830 + :try_start_4b
10831 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getOutgoingCallsSetting()B
10833 + move-result v2
10835 + if-eqz v2, :cond_76
10837 + const-string v16, ""
10839 + const-string v2, "android.intent.extra.PHONE_NUMBER"
10841 + move-object/from16 v0, p2
10843 + move-object/from16 v1, v16
10845 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
10847 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10849 + const/4 v5, 0x1
10851 + const-string/jumbo v6, "outgoingCall"
10853 + const/4 v7, 0x0
10855 + move-object/from16 v3, p0
10857 + move/from16 v4, p1
10859 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10860 + :try_end_6a
10861 + .catch Ljava/lang/Exception; {:try_start_4b .. :try_end_6a} :catch_a0
10863 + :cond_6a
10864 + :goto_6a
10865 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
10867 + const/4 v3, 0x1
10869 + if-le v2, v3, :cond_a9
10871 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
10873 + add-int/lit8 v2, v2, -0x1
10875 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
10877 + :cond_75
10878 + :goto_75
10879 + return-void
10881 + :cond_76
10882 + :try_start_76
10883 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutHash:J
10885 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
10887 + move-result-wide v4
10889 + cmp-long v2, v2, v4
10891 + if-nez v2, :cond_6a
10893 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOut:Landroid/content/Intent;
10895 + const-string v3, "android.intent.extra.PHONE_NUMBER"
10897 + invoke-virtual {v2, v3}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
10899 + move-result-object v16
10901 + const-string v2, "android.intent.extra.PHONE_NUMBER"
10903 + move-object/from16 v0, p2
10905 + move-object/from16 v1, v16
10907 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
10909 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10911 + const/4 v5, 0x0
10913 + const-string/jumbo v6, "outgoingCall"
10915 + const/4 v7, 0x0
10917 + move-object/from16 v3, p0
10919 + move/from16 v4, p1
10921 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10922 + :try_end_9f
10923 + .catch Ljava/lang/Exception; {:try_start_76 .. :try_end_9f} :catch_a0
10925 + goto :goto_6a
10927 + :catch_a0
10928 + move-exception v13
10930 + const-string v2, "PrivacyActivityManagerService"
10932 + const-string v3, "failed to enforce intent broadcast permission"
10934 + invoke-static {v2, v3, v13}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
10936 + goto :goto_6a
10938 + :cond_a9
10939 + const/4 v2, 0x0
10941 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOut:Landroid/content/Intent;
10943 + goto :goto_75
10945 + :cond_ad
10946 + const-string v2, "android.intent.action.PHONE_STATE"
10948 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
10950 + move-result v2
10952 + if-eqz v2, :cond_14d
10954 + const-string v2, "incoming_number"
10956 + move-object/from16 v0, p2
10958 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
10960 + move-result-object v16
10962 + if-eqz v16, :cond_75
10964 + invoke-virtual/range {v16 .. v16}, Ljava/lang/String;->isEmpty()Z
10966 + move-result v2
10968 + if-nez v2, :cond_75
10970 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10972 + move-object/from16 v0, p0
10974 + move/from16 v1, p1
10976 + invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10978 + move-result-object v8
10980 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInHash:J
10982 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
10984 + move-result-wide v4
10986 + cmp-long v2, v2, v4
10988 + if-eqz v2, :cond_e9
10990 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->clone()Ljava/lang/Object;
10992 + move-result-object v2
10994 + check-cast v2, Landroid/content/Intent;
10996 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpIn:Landroid/content/Intent;
10998 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11000 + move-result-wide v2
11002 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInHash:J
11004 + sput p4, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
11006 + :cond_e9
11007 + if-eqz v8, :cond_116
11009 + :try_start_eb
11010 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getIncomingCallsSetting()B
11012 + move-result v2
11014 + if-eqz v2, :cond_116
11016 + const-string v16, ""
11018 + const-string v2, "incoming_number"
11020 + move-object/from16 v0, p2
11022 + move-object/from16 v1, v16
11024 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
11026 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11028 + const/4 v5, 0x1
11030 + const-string v6, "incomingCall"
11032 + const/4 v7, 0x0
11034 + move-object/from16 v3, p0
11036 + move/from16 v4, p1
11038 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11039 + :try_end_109
11040 + .catch Ljava/lang/Exception; {:try_start_eb .. :try_end_109} :catch_13f
11042 + :cond_109
11043 + :goto_109
11044 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
11046 + const/4 v3, 0x1
11048 + if-le v2, v3, :cond_148
11050 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
11052 + add-int/lit8 v2, v2, -0x1
11054 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
11056 + goto/16 :goto_75
11058 + :cond_116
11059 + :try_start_116
11060 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInHash:J
11062 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11064 + move-result-wide v4
11066 + cmp-long v2, v2, v4
11068 + if-nez v2, :cond_109
11070 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpIn:Landroid/content/Intent;
11072 + const-string v3, "incoming_number"
11074 + invoke-virtual {v2, v3}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
11076 + move-result-object v16
11078 + const-string v2, "incoming_number"
11080 + move-object/from16 v0, p2
11082 + move-object/from16 v1, v16
11084 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
11086 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11088 + const/4 v5, 0x0
11090 + const-string v6, "incomingCall"
11092 + const/4 v7, 0x0
11094 + move-object/from16 v3, p0
11096 + move/from16 v4, p1
11098 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11099 + :try_end_13e
11100 + .catch Ljava/lang/Exception; {:try_start_116 .. :try_end_13e} :catch_13f
11102 + goto :goto_109
11104 + :catch_13f
11105 + move-exception v13
11107 + const-string v2, "PrivacyActivityManagerService"
11109 + const-string v3, "failed to enforce intent broadcast permission"
11111 + invoke-static {v2, v3, v13}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
11113 + goto :goto_109
11115 + :cond_148
11116 + const/4 v2, 0x0
11118 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpIn:Landroid/content/Intent;
11120 + goto/16 :goto_75
11122 + :cond_14d
11123 + const-string v2, "android.provider.Telephony.SMS_RECEIVED"
11125 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11127 + move-result v2
11129 + if-eqz v2, :cond_222
11131 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11133 + move-object/from16 v0, p0
11135 + move/from16 v1, p1
11137 + invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
11139 + move-result-object v8
11141 + const-string v16, "[real]"
11143 + const-string/jumbo v2, "pdus"
11145 + move-object/from16 v0, p2
11147 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
11149 + move-result-object v2
11151 + check-cast v2, [Ljava/lang/Object;
11153 + move-object v15, v2
11155 + check-cast v15, [Ljava/lang/Object;
11157 + if-eqz v15, :cond_1cd
11159 + const/4 v2, 0x0
11161 + aget-object v2, v15, v2
11163 + check-cast v2, [B
11165 + check-cast v2, [B
11167 + move-object v12, v2
11169 + :goto_179
11170 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsHash:J
11172 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11174 + move-result-wide v4
11176 + cmp-long v2, v2, v4
11178 + if-eqz v2, :cond_193
11180 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->clone()Ljava/lang/Object;
11182 + move-result-object v2
11184 + check-cast v2, Landroid/content/Intent;
11186 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSms:Landroid/content/Intent;
11188 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11190 + move-result-wide v2
11192 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsHash:J
11194 + sput p4, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
11196 + :cond_193
11197 + if-eqz v8, :cond_1cf
11199 + :try_start_195
11200 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getSmsSetting()B
11202 + move-result v2
11204 + if-eqz v2, :cond_1cf
11206 + const-string v16, "[empty]"
11208 + const/4 v2, 0x1
11210 + new-array v14, v2, [Ljava/lang/Object;
11212 + const/4 v2, 0x0
11214 + const/16 v3, 0x10
11216 + new-array v3, v3, [B
11218 + fill-array-data v3, :array_350
11220 + aput-object v3, v14, v2
11222 + const-string/jumbo v2, "pdus"
11224 + move-object/from16 v0, p2
11226 + invoke-virtual {v0, v2, v14}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent;
11228 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11230 + const/4 v5, 0x1
11232 + const-string/jumbo v6, "sms"
11234 + const/4 v7, 0x0
11236 + move-object/from16 v3, p0
11238 + move/from16 v4, p1
11240 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11241 + :try_end_1c0
11242 + .catch Ljava/lang/Exception; {:try_start_195 .. :try_end_1c0} :catch_212
11244 + :cond_1c0
11245 + :goto_1c0
11246 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
11248 + const/4 v3, 0x1
11250 + if-le v2, v3, :cond_21d
11252 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
11254 + add-int/lit8 v2, v2, -0x1
11256 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
11258 + goto/16 :goto_75
11260 + :cond_1cd
11261 + const/4 v12, 0x0
11263 + goto :goto_179
11265 + :cond_1cf
11266 + :try_start_1cf
11267 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsHash:J
11269 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11271 + move-result-wide v4
11273 + cmp-long v2, v2, v4
11275 + if-nez v2, :cond_1c0
11277 + const-string/jumbo v2, "pdus"
11279 + sget-object v3, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSms:Landroid/content/Intent;
11281 + const-string/jumbo v4, "pdus"
11283 + invoke-virtual {v3, v4}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
11285 + move-result-object v3
11287 + move-object/from16 v0, p2
11289 + invoke-virtual {v0, v2, v3}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent;
11291 + const-string/jumbo v2, "pdus"
11293 + move-object/from16 v0, p2
11295 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
11297 + move-result-object v2
11299 + check-cast v2, [Ljava/lang/Object;
11301 + move-object v0, v2
11303 + check-cast v0, [Ljava/lang/Object;
11305 + move-object v15, v0
11307 + if-eqz v15, :cond_21b
11309 + const/4 v2, 0x0
11311 + aget-object v2, v15, v2
11313 + check-cast v2, [B
11315 + check-cast v2, [B
11317 + move-object v12, v2
11319 + :goto_203
11320 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11322 + const/4 v5, 0x0
11324 + const-string/jumbo v6, "sms"
11326 + const/4 v7, 0x0
11328 + move-object/from16 v3, p0
11330 + move/from16 v4, p1
11332 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11333 + :try_end_211
11334 + .catch Ljava/lang/Exception; {:try_start_1cf .. :try_end_211} :catch_212
11336 + goto :goto_1c0
11338 + :catch_212
11339 + move-exception v13
11341 + const-string v2, "PrivacyActivityManagerService"
11343 + const-string v3, "failed to enforce intent broadcast permission"
11345 + invoke-static {v2, v3, v13}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
11347 + goto :goto_1c0
11349 + :cond_21b
11350 + const/4 v12, 0x0
11352 + goto :goto_203
11354 + :cond_21d
11355 + const/4 v2, 0x0
11357 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSms:Landroid/content/Intent;
11359 + goto/16 :goto_75
11361 + :cond_222
11362 + const-string v2, "android.provider.Telephony.WAP_PUSH_RECEIVED"
11364 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11366 + move-result v2
11368 + if-nez v2, :cond_232
11370 + const-string v2, "android.intent.action.DATA_SMS_RECEIVED"
11372 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11374 + move-result v2
11376 + if-eqz v2, :cond_2ff
11378 + :cond_232
11379 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11381 + move-object/from16 v0, p0
11383 + move/from16 v1, p1
11385 + invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
11387 + move-result-object v8
11389 + const-string v16, "[real]"
11391 + const-string/jumbo v2, "pdus"
11393 + move-object/from16 v0, p2
11395 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
11397 + move-result-object v2
11399 + check-cast v2, [Ljava/lang/Object;
11401 + move-object v15, v2
11403 + check-cast v15, [Ljava/lang/Object;
11405 + if-eqz v15, :cond_2aa
11407 + const/4 v2, 0x0
11409 + aget-object v2, v15, v2
11411 + check-cast v2, [B
11413 + check-cast v2, [B
11415 + move-object v12, v2
11417 + :goto_256
11418 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsHash:J
11420 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11422 + move-result-wide v4
11424 + cmp-long v2, v2, v4
11426 + if-eqz v2, :cond_270
11428 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->clone()Ljava/lang/Object;
11430 + move-result-object v2
11432 + check-cast v2, Landroid/content/Intent;
11434 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMms:Landroid/content/Intent;
11436 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11438 + move-result-wide v2
11440 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsHash:J
11442 + sput p4, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
11444 + :cond_270
11445 + if-eqz v8, :cond_2ac
11447 + :try_start_272
11448 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getMmsSetting()B
11450 + move-result v2
11452 + if-eqz v2, :cond_2ac
11454 + const-string v16, "[empty]"
11456 + const/4 v2, 0x1
11458 + new-array v14, v2, [Ljava/lang/Object;
11460 + const/4 v2, 0x0
11462 + const/16 v3, 0x10
11464 + new-array v3, v3, [B
11466 + fill-array-data v3, :array_35c
11468 + aput-object v3, v14, v2
11470 + const-string/jumbo v2, "pdus"
11472 + move-object/from16 v0, p2
11474 + invoke-virtual {v0, v2, v14}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent;
11476 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11478 + const/4 v5, 0x1
11480 + const-string/jumbo v6, "mms"
11482 + const/4 v7, 0x0
11484 + move-object/from16 v3, p0
11486 + move/from16 v4, p1
11488 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11489 + :try_end_29d
11490 + .catch Ljava/lang/Exception; {:try_start_272 .. :try_end_29d} :catch_2ef
11492 + :cond_29d
11493 + :goto_29d
11494 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
11496 + const/4 v3, 0x1
11498 + if-le v2, v3, :cond_2fa
11500 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
11502 + add-int/lit8 v2, v2, -0x1
11504 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
11506 + goto/16 :goto_75
11508 + :cond_2aa
11509 + const/4 v12, 0x0
11511 + goto :goto_256
11513 + :cond_2ac
11514 + :try_start_2ac
11515 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsHash:J
11517 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11519 + move-result-wide v4
11521 + cmp-long v2, v2, v4
11523 + if-nez v2, :cond_29d
11525 + const-string/jumbo v2, "pdus"
11527 + sget-object v3, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMms:Landroid/content/Intent;
11529 + const-string/jumbo v4, "pdus"
11531 + invoke-virtual {v3, v4}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
11533 + move-result-object v3
11535 + move-object/from16 v0, p2
11537 + invoke-virtual {v0, v2, v3}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent;
11539 + const-string/jumbo v2, "pdus"
11541 + move-object/from16 v0, p2
11543 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
11545 + move-result-object v2
11547 + check-cast v2, [Ljava/lang/Object;
11549 + move-object v0, v2
11551 + check-cast v0, [Ljava/lang/Object;
11553 + move-object v15, v0
11555 + if-eqz v15, :cond_2f8
11557 + const/4 v2, 0x0
11559 + aget-object v2, v15, v2
11561 + check-cast v2, [B
11563 + check-cast v2, [B
11565 + move-object v12, v2
11567 + :goto_2e0
11568 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11570 + const/4 v5, 0x0
11572 + const-string/jumbo v6, "mms"
11574 + const/4 v7, 0x0
11576 + move-object/from16 v3, p0
11578 + move/from16 v4, p1
11580 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11581 + :try_end_2ee
11582 + .catch Ljava/lang/Exception; {:try_start_2ac .. :try_end_2ee} :catch_2ef
11584 + goto :goto_29d
11586 + :catch_2ef
11587 + move-exception v13
11589 + const-string v2, "PrivacyActivityManagerService"
11591 + const-string v3, "failed to enforce intent broadcast permission"
11593 + invoke-static {v2, v3, v13}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
11595 + goto :goto_29d
11597 + :cond_2f8
11598 + const/4 v12, 0x0
11600 + goto :goto_2e0
11602 + :cond_2fa
11603 + const/4 v2, 0x0
11605 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMms:Landroid/content/Intent;
11607 + goto/16 :goto_75
11609 + :cond_2ff
11610 + const-string v2, "android.intent.action.BOOT_COMPLETED"
11612 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11614 + move-result v2
11616 + if-eqz v2, :cond_30e
11618 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11620 + invoke-virtual {v2}, Landroid/privacy/PrivacySettingsManager;->setBootCompleted()V
11622 + goto/16 :goto_75
11624 + :cond_30e
11625 + const-string v2, "android.intent.action.PACKAGE_ADDED"
11627 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11629 + move-result v2
11631 + if-eqz v2, :cond_75
11633 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpPackageAddedHash:J
11635 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11637 + move-result-wide v4
11639 + cmp-long v2, v2, v4
11641 + if-eqz v2, :cond_75
11643 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11645 + move-result-wide v2
11647 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpPackageAddedHash:J
11649 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->getData()Landroid/net/Uri;
11651 + move-result-object v2
11653 + invoke-virtual {v2}, Landroid/net/Uri;->getSchemeSpecificPart()Ljava/lang/String;
11655 + move-result-object v10
11657 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->getExtras()Landroid/os/Bundle;
11659 + move-result-object v2
11661 + const-string v3, "android.intent.extra.UID"
11663 + invoke-virtual {v2, v3}, Landroid/os/Bundle;->getInt(Ljava/lang/String;)I
11665 + move-result v11
11667 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11669 + invoke-virtual {v2, v10, v11}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
11671 + move-result-object v8
11673 + if-eqz v8, :cond_75
11675 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getUid()I
11677 + move-result v2
11679 + if-eq v2, v11, :cond_75
11681 + invoke-virtual {v8, v11}, Landroid/privacy/PrivacySettings;->setUid(I)V
11683 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11685 + invoke-virtual {v2, v8}, Landroid/privacy/PrivacySettingsManager;->saveSettings(Landroid/privacy/PrivacySettings;)Z
11687 + goto/16 :goto_75
11689 + :array_350
11690 + .array-data 0x1
11691 + 0x0t
11692 + 0x20t
11693 + 0x1t
11694 + 0x81t
11695 + 0xf0t
11696 + 0x0t
11697 + 0x0t
11698 + 0x11t
11699 + 0x90t
11700 + 0x1t
11701 + 0x30t
11702 + 0x22t
11703 + 0x22t
11704 + 0x80t
11705 + 0x1t
11706 + 0x20t
11707 + .end array-data
11709 + :array_35c
11710 + .array-data 0x1
11711 + 0x0t
11712 + 0x20t
11713 + 0x1t
11714 + 0x81t
11715 + 0xf0t
11716 + 0x0t
11717 + 0x0t
11718 + 0x11t
11719 + 0x90t
11720 + 0x1t
11721 + 0x30t
11722 + 0x22t
11723 + 0x22t
11724 + 0x80t
11725 + 0x1t
11726 + 0x20t
11727 + .end array-data
11728 +.end method
11730 +.method private static hashCode(Landroid/content/Intent;)J
11731 + .registers 7
11733 + const-wide/16 v3, 0x0
11735 + const-string/jumbo v2, "privacy_hash"
11737 + invoke-virtual {p0, v2, v3, v4}, Landroid/content/Intent;->getLongExtra(Ljava/lang/String;J)J
11739 + move-result-wide v0
11741 + cmp-long v2, v0, v3
11743 + if-nez v2, :cond_1e
11745 + invoke-virtual {p0}, Landroid/content/Intent;->filterHashCode()I
11747 + move-result v2
11749 + int-to-long v2, v2
11751 + invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
11753 + move-result-wide v4
11755 + add-long v0, v2, v4
11757 + const-string/jumbo v2, "privacy_hash"
11759 + invoke-virtual {p0, v2, v0, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;J)Landroid/content/Intent;
11761 + :cond_1e
11762 + return-wide v0
11763 +.end method
11764 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyContentResolver.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyContentResolver.smali
11765 --- stock-framework/smali/android/privacy/surrogate/PrivacyContentResolver.smali 1969-12-31 18:00:00.000000000 -0600
11766 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyContentResolver.smali 2012-08-22 21:52:53.711715812 -0500
11767 @@ -0,0 +1,624 @@
11768 +.class public final Landroid/privacy/surrogate/PrivacyContentResolver;
11769 +.super Ljava/lang/Object;
11770 +.source "PrivacyContentResolver.java"
11773 +# static fields
11774 +.field private static final TAG:Ljava/lang/String; = "PrivacyContentResolver"
11776 +.field private static pSetMan:Landroid/privacy/PrivacySettingsManager;
11779 +# direct methods
11780 +.method public constructor <init>()V
11781 + .registers 1
11783 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
11785 + return-void
11786 +.end method
11788 +.method private static arrayToString([Ljava/lang/String;)Ljava/lang/String;
11789 + .registers 8
11791 + new-instance v4, Ljava/lang/StringBuffer;
11793 + invoke-direct {v4}, Ljava/lang/StringBuffer;-><init>()V
11795 + if-eqz p0, :cond_2d
11797 + move-object v0, p0
11799 + array-length v3, v0
11801 + const/4 v2, 0x0
11803 + :goto_a
11804 + if-ge v2, v3, :cond_30
11806 + aget-object v1, v0, v2
11808 + new-instance v5, Ljava/lang/StringBuilder;
11810 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
11812 + const-string v6, "["
11814 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
11816 + move-result-object v5
11818 + invoke-virtual {v5, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
11820 + move-result-object v5
11822 + const-string v6, "]"
11824 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
11826 + move-result-object v5
11828 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
11830 + move-result-object v5
11832 + invoke-virtual {v4, v5}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
11834 + add-int/lit8 v2, v2, 0x1
11836 + goto :goto_a
11838 + :cond_2d
11839 + const-string v5, ""
11841 + :goto_2f
11842 + return-object v5
11844 + :cond_30
11845 + invoke-virtual {v4}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String;
11847 + move-result-object v5
11849 + goto :goto_2f
11850 +.end method
11852 +.method public static enforcePrivacyPermission(Landroid/net/Uri;[Ljava/lang/String;Landroid/content/Context;Landroid/database/Cursor;)Landroid/database/Cursor;
11853 + .registers 21
11854 + .annotation system Ldalvik/annotation/Throws;
11855 + value = {
11856 + Landroid/os/RemoteException;
11858 + .end annotation
11860 + if-eqz p0, :cond_1e4
11862 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11864 + if-nez v1, :cond_13
11866 + const-string/jumbo v1, "privacy"
11868 + move-object/from16 v0, p2
11870 + invoke-virtual {v0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
11872 + move-result-object v1
11874 + check-cast v1, Landroid/privacy/PrivacySettingsManager;
11876 + sput-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11878 + :cond_13
11879 + invoke-virtual/range {p2 .. p2}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
11881 + move-result-object v2
11883 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
11885 + move-result v3
11887 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11889 + invoke-virtual {v1, v2, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
11891 + move-result-object v7
11893 + invoke-virtual/range {p0 .. p0}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
11895 + move-result-object v9
11897 + const-string v15, "[real]"
11899 + move-object/from16 v13, p3
11901 + if-eqz v9, :cond_54
11903 + const-string v1, "contacts"
11905 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11907 + move-result v1
11909 + if-nez v1, :cond_3b
11911 + const-string v1, "com.android.contacts"
11913 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11915 + move-result v1
11917 + if-eqz v1, :cond_ab
11919 + :cond_3b
11920 + if-eqz v7, :cond_54
11922 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getContactsSetting()B
11924 + move-result v1
11926 + const/4 v4, 0x1
11928 + if-ne v1, v4, :cond_55
11930 + const-string v15, "[empty]"
11932 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
11934 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
11936 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11938 + const/4 v4, 0x1
11940 + const-string v5, "contacts"
11942 + const/4 v6, 0x0
11944 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11946 + :cond_54
11947 + :goto_54
11948 + return-object v13
11950 + :cond_55
11951 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getContactsSetting()B
11953 + move-result v1
11955 + const/4 v4, 0x2
11957 + if-ne v1, v4, :cond_a1
11959 + invoke-virtual/range {p0 .. p0}, Landroid/net/Uri;->toString()Ljava/lang/String;
11961 + move-result-object v1
11963 + sget-object v4, Landroid/provider/ContactsContract$Contacts;->CONTENT_URI:Landroid/net/Uri;
11965 + invoke-virtual {v4}, Landroid/net/Uri;->toString()Ljava/lang/String;
11967 + move-result-object v4
11969 + invoke-virtual {v1, v4}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
11971 + move-result v1
11973 + if-eqz v1, :cond_a1
11975 + const/4 v11, 0x0
11977 + if-eqz p1, :cond_82
11979 + move-object/from16 v8, p1
11981 + array-length v12, v8
11983 + const/4 v10, 0x0
11985 + :goto_73
11986 + if-ge v10, v12, :cond_82
11988 + aget-object v16, v8, v10
11990 + const-string v1, "_id"
11992 + move-object/from16 v0, v16
11994 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11996 + move-result v1
11998 + if-eqz v1, :cond_93
12000 + const/4 v11, 0x1
12002 + :cond_82
12003 + if-nez v11, :cond_96
12005 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12007 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12009 + :goto_89
12010 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12012 + const/4 v4, 0x2
12014 + const-string v5, "contacts"
12016 + const/4 v6, 0x0
12018 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12020 + goto :goto_54
12022 + :cond_93
12023 + add-int/lit8 v10, v10, 0x1
12025 + goto :goto_73
12027 + :cond_96
12028 + new-instance v14, Landroid/privacy/surrogate/PrivacyCursor;
12030 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getAllowedContacts()[I
12032 + move-result-object v1
12034 + invoke-direct {v14, v13, v1}, Landroid/privacy/surrogate/PrivacyCursor;-><init>(Landroid/database/Cursor;[I)V
12036 + move-object v13, v14
12038 + goto :goto_89
12040 + :cond_a1
12041 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12043 + const/4 v4, 0x0
12045 + const-string v5, "contacts"
12047 + const/4 v6, 0x0
12049 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12051 + goto :goto_54
12053 + :cond_ab
12054 + const-string v1, "com.android.calendar"
12056 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12058 + move-result v1
12060 + if-eqz v1, :cond_d8
12062 + if-eqz v7, :cond_cd
12064 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getCalendarSetting()B
12066 + move-result v1
12068 + const/4 v4, 0x1
12070 + if-ne v1, v4, :cond_cd
12072 + const-string v15, "[empty]"
12074 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12076 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12078 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12080 + const/4 v4, 0x1
12082 + const-string v5, "calendar"
12084 + const/4 v6, 0x0
12086 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12088 + goto :goto_54
12090 + :cond_cd
12091 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12093 + const/4 v4, 0x0
12095 + const-string v5, "calendar"
12097 + const/4 v6, 0x0
12099 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12101 + goto/16 :goto_54
12103 + :cond_d8
12104 + sget-object v1, Landroid/provider/Telephony$Mms;->CONTENT_URI:Landroid/net/Uri;
12106 + invoke-virtual {v1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
12108 + move-result-object v1
12110 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12112 + move-result v1
12114 + if-eqz v1, :cond_10c
12116 + if-eqz v7, :cond_100
12118 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getMmsSetting()B
12120 + move-result v1
12122 + const/4 v4, 0x1
12124 + if-ne v1, v4, :cond_100
12126 + const-string v15, "[empty]"
12128 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12130 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12132 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12134 + const/4 v4, 0x1
12136 + const-string/jumbo v5, "mms"
12138 + const/4 v6, 0x0
12140 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12142 + goto/16 :goto_54
12144 + :cond_100
12145 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12147 + const/4 v4, 0x0
12149 + const-string/jumbo v5, "mms"
12151 + const/4 v6, 0x0
12153 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12155 + goto/16 :goto_54
12157 + :cond_10c
12158 + sget-object v1, Landroid/provider/Telephony$Sms;->CONTENT_URI:Landroid/net/Uri;
12160 + invoke-virtual {v1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
12162 + move-result-object v1
12164 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12166 + move-result v1
12168 + if-eqz v1, :cond_140
12170 + if-eqz v7, :cond_134
12172 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getSmsSetting()B
12174 + move-result v1
12176 + const/4 v4, 0x1
12178 + if-ne v1, v4, :cond_134
12180 + const-string v15, "[empty]"
12182 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12184 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12186 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12188 + const/4 v4, 0x1
12190 + const-string/jumbo v5, "sms"
12192 + const/4 v6, 0x0
12194 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12196 + goto/16 :goto_54
12198 + :cond_134
12199 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12201 + const/4 v4, 0x0
12203 + const-string/jumbo v5, "sms"
12205 + const/4 v6, 0x0
12207 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12209 + goto/16 :goto_54
12211 + :cond_140
12212 + sget-object v1, Landroid/provider/Telephony$MmsSms;->CONTENT_URI:Landroid/net/Uri;
12214 + invoke-virtual {v1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
12216 + move-result-object v1
12218 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12220 + move-result v1
12222 + if-nez v1, :cond_155
12224 + const-string/jumbo v1, "mms-sms-v2"
12226 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12228 + move-result v1
12230 + if-eqz v1, :cond_184
12232 + :cond_155
12233 + if-eqz v7, :cond_178
12235 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getMmsSetting()B
12237 + move-result v1
12239 + const/4 v4, 0x1
12241 + if-eq v1, v4, :cond_165
12243 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getSmsSetting()B
12245 + move-result v1
12247 + const/4 v4, 0x1
12249 + if-ne v1, v4, :cond_178
12251 + :cond_165
12252 + const-string v15, "[empty]"
12254 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12256 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12258 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12260 + const/4 v4, 0x1
12262 + const-string/jumbo v5, "mmsSms"
12264 + const/4 v6, 0x0
12266 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12268 + goto/16 :goto_54
12270 + :cond_178
12271 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12273 + const/4 v4, 0x0
12275 + const-string/jumbo v5, "mmsSms"
12277 + const/4 v6, 0x0
12279 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12281 + goto/16 :goto_54
12283 + :cond_184
12284 + const-string v1, "call_log"
12286 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12288 + move-result v1
12290 + if-eqz v1, :cond_1b2
12292 + if-eqz v7, :cond_1a7
12294 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getCallLogSetting()B
12296 + move-result v1
12298 + const/4 v4, 0x1
12300 + if-ne v1, v4, :cond_1a7
12302 + const-string v15, "[empty]"
12304 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12306 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12308 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12310 + const/4 v4, 0x1
12312 + const-string v5, "callLog"
12314 + const/4 v6, 0x0
12316 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12318 + goto/16 :goto_54
12320 + :cond_1a7
12321 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12323 + const/4 v4, 0x0
12325 + const-string v5, "callLog"
12327 + const/4 v6, 0x0
12329 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12331 + goto/16 :goto_54
12333 + :cond_1b2
12334 + sget-object v1, Landroid/provider/Browser;->BOOKMARKS_URI:Landroid/net/Uri;
12336 + invoke-virtual {v1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
12338 + move-result-object v1
12340 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12342 + move-result v1
12344 + if-eqz v1, :cond_54
12346 + if-eqz v7, :cond_1d9
12348 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getBookmarksSetting()B
12350 + move-result v1
12352 + const/4 v4, 0x1
12354 + if-ne v1, v4, :cond_1d9
12356 + const-string v15, "[empty]"
12358 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12360 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12362 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12364 + const/4 v4, 0x1
12366 + const-string v5, "bookmarks"
12368 + const/4 v6, 0x0
12370 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12372 + goto/16 :goto_54
12374 + :cond_1d9
12375 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12377 + const/4 v4, 0x0
12379 + const-string v5, "bookmarks"
12381 + const/4 v6, 0x0
12383 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12385 + goto/16 :goto_54
12387 + :cond_1e4
12388 + move-object/from16 v13, p3
12390 + goto/16 :goto_54
12391 +.end method
12392 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyCursor.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyCursor.smali
12393 --- stock-framework/smali/android/privacy/surrogate/PrivacyCursor.smali 1969-12-31 18:00:00.000000000 -0600
12394 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyCursor.smali 2012-08-22 21:52:53.715715815 -0500
12395 @@ -0,0 +1,1225 @@
12396 +.class public Landroid/privacy/surrogate/PrivacyCursor;
12397 +.super Ljava/lang/Object;
12398 +.source "PrivacyCursor.java"
12400 +# interfaces
12401 +.implements Landroid/database/Cursor;
12404 +# static fields
12405 +.field private static final TAG:Ljava/lang/String; = "PrivacyCursor"
12408 +# instance fields
12409 +.field private allowedIdMapping:[I
12411 +.field private allowedIds:[I
12413 +.field private realCursor:Landroid/database/Cursor;
12416 +# direct methods
12417 +.method public constructor <init>()V
12418 + .registers 1
12420 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
12422 + return-void
12423 +.end method
12425 +.method public constructor <init>(Landroid/database/Cursor;[I)V
12426 + .registers 7
12428 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
12430 + if-eqz p2, :cond_8
12432 + array-length v2, p2
12434 + if-nez v2, :cond_9
12436 + :cond_8
12437 + const/4 p1, 0x0
12439 + :cond_9
12440 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12442 + iput-object p2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIds:[I
12444 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12446 + if-eqz v2, :cond_3f
12448 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12450 + invoke-interface {v2}, Landroid/database/Cursor;->getPosition()I
12452 + move-result v0
12454 + array-length v2, p2
12456 + new-array v2, v2, [I
12458 + iput-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
12460 + const/4 v1, 0x0
12462 + :cond_1d
12463 + :goto_1d
12464 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12466 + invoke-interface {v2}, Landroid/database/Cursor;->moveToNext()Z
12468 + move-result v2
12470 + if-eqz v2, :cond_3a
12472 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12474 + invoke-direct {p0, v2}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(Landroid/database/Cursor;)Z
12476 + move-result v2
12478 + if-eqz v2, :cond_1d
12480 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
12482 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12484 + invoke-interface {v3}, Landroid/database/Cursor;->getPosition()I
12486 + move-result v3
12488 + aput v3, v2, v1
12490 + add-int/lit8 v1, v1, 0x1
12492 + goto :goto_1d
12494 + :cond_3a
12495 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12497 + invoke-interface {v2, v0}, Landroid/database/Cursor;->moveToPosition(I)Z
12499 + :cond_3f
12500 + return-void
12501 +.end method
12503 +.method private getContactId(Landroid/database/Cursor;)I
12504 + .registers 5
12506 + const-string v2, "_id"
12508 + invoke-interface {p1, v2}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
12510 + move-result v0
12512 + const/4 v1, -0x1
12514 + const/4 v2, -0x1
12516 + if-eq v0, v2, :cond_e
12518 + invoke-interface {p1, v0}, Landroid/database/Cursor;->getInt(I)I
12520 + move-result v1
12522 + :cond_e
12523 + return v1
12524 +.end method
12526 +.method private getMappedPos(I)I
12527 + .registers 4
12529 + const/4 v0, 0x0
12531 + :goto_1
12532 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
12534 + array-length v1, v1
12536 + if-ge v0, v1, :cond_10
12538 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
12540 + aget v1, v1, v0
12542 + if-ne v1, p1, :cond_d
12544 + :goto_c
12545 + return v0
12547 + :cond_d
12548 + add-int/lit8 v0, v0, 0x1
12550 + goto :goto_1
12552 + :cond_10
12553 + const/4 v0, -0x1
12555 + goto :goto_c
12556 +.end method
12558 +.method private isAllowed(I)Z
12559 + .registers 7
12561 + const/4 v4, 0x0
12563 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIds:[I
12565 + array-length v3, v0
12567 + const/4 v2, 0x0
12569 + :goto_5
12570 + if-ge v2, v3, :cond_c
12572 + aget v1, v0, v2
12574 + if-ne p1, v1, :cond_d
12576 + const/4 v4, 0x1
12578 + :cond_c
12579 + return v4
12581 + :cond_d
12582 + add-int/lit8 v2, v2, 0x1
12584 + goto :goto_5
12585 +.end method
12587 +.method private isAllowed(Landroid/database/Cursor;)Z
12588 + .registers 3
12590 + invoke-direct {p0, p1}, Landroid/privacy/surrogate/PrivacyCursor;->getContactId(Landroid/database/Cursor;)I
12592 + move-result v0
12594 + invoke-direct {p0, v0}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(I)Z
12596 + move-result v0
12598 + return v0
12599 +.end method
12602 +# virtual methods
12603 +.method public close()V
12604 + .registers 2
12606 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12608 + if-eqz v0, :cond_9
12610 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12612 + invoke-interface {v0}, Landroid/database/Cursor;->close()V
12614 + :cond_9
12615 + return-void
12616 +.end method
12618 +.method public copyStringToBuffer(ILandroid/database/CharArrayBuffer;)V
12619 + .registers 4
12621 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12623 + if-eqz v0, :cond_9
12625 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12627 + invoke-interface {v0, p1, p2}, Landroid/database/Cursor;->copyStringToBuffer(ILandroid/database/CharArrayBuffer;)V
12629 + :cond_9
12630 + return-void
12631 +.end method
12633 +.method public deactivate()V
12634 + .registers 2
12636 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12638 + if-eqz v0, :cond_9
12640 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12642 + invoke-interface {v0}, Landroid/database/Cursor;->deactivate()V
12644 + :cond_9
12645 + return-void
12646 +.end method
12648 +.method public getBlob(I)[B
12649 + .registers 3
12651 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12653 + if-eqz v0, :cond_b
12655 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12657 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getBlob(I)[B
12659 + move-result-object v0
12661 + :goto_a
12662 + return-object v0
12664 + :cond_b
12665 + const/4 v0, 0x0
12667 + new-array v0, v0, [B
12669 + goto :goto_a
12670 +.end method
12672 +.method public getColumnCount()I
12673 + .registers 2
12675 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12677 + if-eqz v0, :cond_b
12679 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12681 + invoke-interface {v0}, Landroid/database/Cursor;->getColumnCount()I
12683 + move-result v0
12685 + :goto_a
12686 + return v0
12688 + :cond_b
12689 + const/4 v0, 0x0
12691 + goto :goto_a
12692 +.end method
12694 +.method public getColumnIndex(Ljava/lang/String;)I
12695 + .registers 3
12697 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12699 + if-eqz v0, :cond_b
12701 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12703 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
12705 + move-result v0
12707 + :goto_a
12708 + return v0
12710 + :cond_b
12711 + const/4 v0, -0x1
12713 + goto :goto_a
12714 +.end method
12716 +.method public getColumnIndexOrThrow(Ljava/lang/String;)I
12717 + .registers 3
12718 + .annotation system Ldalvik/annotation/Throws;
12719 + value = {
12720 + Ljava/lang/IllegalArgumentException;
12722 + .end annotation
12724 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12726 + if-eqz v0, :cond_b
12728 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12730 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getColumnIndexOrThrow(Ljava/lang/String;)I
12732 + move-result v0
12734 + :goto_a
12735 + return v0
12737 + :cond_b
12738 + const/4 v0, -0x1
12740 + goto :goto_a
12741 +.end method
12743 +.method public getColumnName(I)Ljava/lang/String;
12744 + .registers 3
12746 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12748 + if-eqz v0, :cond_b
12750 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12752 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getColumnName(I)Ljava/lang/String;
12754 + move-result-object v0
12756 + :goto_a
12757 + return-object v0
12759 + :cond_b
12760 + const-string v0, ""
12762 + goto :goto_a
12763 +.end method
12765 +.method public getColumnNames()[Ljava/lang/String;
12766 + .registers 4
12768 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12770 + if-eqz v0, :cond_b
12772 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12774 + invoke-interface {v0}, Landroid/database/Cursor;->getColumnNames()[Ljava/lang/String;
12776 + move-result-object v0
12778 + :goto_a
12779 + return-object v0
12781 + :cond_b
12782 + const/4 v0, 0x1
12784 + new-array v0, v0, [Ljava/lang/String;
12786 + const/4 v1, 0x0
12788 + const-string v2, ""
12790 + aput-object v2, v0, v1
12792 + goto :goto_a
12793 +.end method
12795 +.method public getCount()I
12796 + .registers 4
12798 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12800 + if-eqz v0, :cond_23
12802 + const-string v0, "PrivacyCursor"
12804 + new-instance v1, Ljava/lang/StringBuilder;
12806 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
12808 + const-string v2, "getCount: "
12810 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
12812 + move-result-object v1
12814 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
12816 + array-length v2, v2
12818 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
12820 + move-result-object v1
12822 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
12824 + move-result-object v1
12826 + invoke-static {v0, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
12828 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
12830 + array-length v0, v0
12832 + :goto_22
12833 + return v0
12835 + :cond_23
12836 + const/4 v0, 0x0
12838 + goto :goto_22
12839 +.end method
12841 +.method public getDouble(I)D
12842 + .registers 4
12844 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12846 + if-eqz v0, :cond_b
12848 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12850 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getDouble(I)D
12852 + move-result-wide v0
12854 + :goto_a
12855 + return-wide v0
12857 + :cond_b
12858 + const-wide/16 v0, 0x0
12860 + goto :goto_a
12861 +.end method
12863 +.method public getExtras()Landroid/os/Bundle;
12864 + .registers 2
12866 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12868 + if-eqz v0, :cond_b
12870 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12872 + invoke-interface {v0}, Landroid/database/Cursor;->getExtras()Landroid/os/Bundle;
12874 + move-result-object v0
12876 + :goto_a
12877 + return-object v0
12879 + :cond_b
12880 + new-instance v0, Landroid/os/Bundle;
12882 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
12884 + goto :goto_a
12885 +.end method
12887 +.method public getFloat(I)F
12888 + .registers 3
12890 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12892 + if-eqz v0, :cond_b
12894 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12896 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getFloat(I)F
12898 + move-result v0
12900 + :goto_a
12901 + return v0
12903 + :cond_b
12904 + const/4 v0, 0x0
12906 + goto :goto_a
12907 +.end method
12909 +.method public getInt(I)I
12910 + .registers 4
12912 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12914 + if-eqz v1, :cond_b
12916 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12918 + invoke-interface {v1, p1}, Landroid/database/Cursor;->getInt(I)I
12920 + move-result v0
12922 + :goto_a
12923 + return v0
12925 + :cond_b
12926 + const/4 v0, 0x0
12928 + goto :goto_a
12929 +.end method
12931 +.method public getLong(I)J
12932 + .registers 4
12934 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12936 + if-eqz v0, :cond_b
12938 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12940 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getLong(I)J
12942 + move-result-wide v0
12944 + :goto_a
12945 + return-wide v0
12947 + :cond_b
12948 + const-wide/16 v0, 0x0
12950 + goto :goto_a
12951 +.end method
12953 +.method public getPosition()I
12954 + .registers 5
12956 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12958 + if-eqz v1, :cond_37
12960 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12962 + invoke-interface {v1}, Landroid/database/Cursor;->getPosition()I
12964 + move-result v1
12966 + invoke-direct {p0, v1}, Landroid/privacy/surrogate/PrivacyCursor;->getMappedPos(I)I
12968 + move-result v0
12970 + const-string v1, "PrivacyCursor"
12972 + new-instance v2, Ljava/lang/StringBuilder;
12974 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
12976 + const-string v3, "getPosition - mapped position: "
12978 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
12980 + move-result-object v2
12982 + invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
12984 + move-result-object v2
12986 + const-string v3, " real position: "
12988 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
12990 + move-result-object v2
12992 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12994 + invoke-interface {v3}, Landroid/database/Cursor;->getPosition()I
12996 + move-result v3
12998 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
13000 + move-result-object v2
13002 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
13004 + move-result-object v2
13006 + invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
13008 + :goto_36
13009 + return v0
13011 + :cond_37
13012 + const/4 v0, -0x1
13014 + goto :goto_36
13015 +.end method
13017 +.method public getShort(I)S
13018 + .registers 3
13020 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13022 + if-eqz v0, :cond_b
13024 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13026 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getShort(I)S
13028 + move-result v0
13030 + :goto_a
13031 + return v0
13033 + :cond_b
13034 + const/4 v0, 0x0
13036 + goto :goto_a
13037 +.end method
13039 +.method public getString(I)Ljava/lang/String;
13040 + .registers 3
13042 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13044 + if-eqz v0, :cond_b
13046 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13048 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
13050 + move-result-object v0
13052 + :goto_a
13053 + return-object v0
13055 + :cond_b
13056 + const-string v0, ""
13058 + goto :goto_a
13059 +.end method
13061 +.method public getType(I)I
13062 + .registers 3
13064 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13066 + if-eqz v0, :cond_b
13068 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13070 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getType(I)I
13072 + move-result v0
13074 + :goto_a
13075 + return v0
13077 + :cond_b
13078 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13080 + const/4 v0, 0x0
13082 + goto :goto_a
13083 +.end method
13085 +.method public getWantsAllOnMoveCalls()Z
13086 + .registers 2
13088 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13090 + if-eqz v0, :cond_b
13092 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13094 + invoke-interface {v0}, Landroid/database/Cursor;->getWantsAllOnMoveCalls()Z
13096 + move-result v0
13098 + :goto_a
13099 + return v0
13101 + :cond_b
13102 + const/4 v0, 0x0
13104 + goto :goto_a
13105 +.end method
13107 +.method public isAfterLast()Z
13108 + .registers 2
13110 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13112 + if-eqz v0, :cond_b
13114 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13116 + invoke-interface {v0}, Landroid/database/Cursor;->isAfterLast()Z
13118 + move-result v0
13120 + :goto_a
13121 + return v0
13123 + :cond_b
13124 + const/4 v0, 0x0
13126 + goto :goto_a
13127 +.end method
13129 +.method public isBeforeFirst()Z
13130 + .registers 2
13132 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13134 + if-eqz v0, :cond_b
13136 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13138 + invoke-interface {v0}, Landroid/database/Cursor;->isBeforeFirst()Z
13140 + move-result v0
13142 + :goto_a
13143 + return v0
13145 + :cond_b
13146 + const/4 v0, 0x0
13148 + goto :goto_a
13149 +.end method
13151 +.method public isClosed()Z
13152 + .registers 2
13154 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13156 + if-eqz v0, :cond_b
13158 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13160 + invoke-interface {v0}, Landroid/database/Cursor;->isClosed()Z
13162 + move-result v0
13164 + :goto_a
13165 + return v0
13167 + :cond_b
13168 + const/4 v0, 0x0
13170 + goto :goto_a
13171 +.end method
13173 +.method public isFirst()Z
13174 + .registers 4
13176 + const/4 v0, 0x0
13178 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13180 + if-eqz v1, :cond_12
13182 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13184 + invoke-interface {v1}, Landroid/database/Cursor;->getPosition()I
13186 + move-result v1
13188 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13190 + aget v2, v2, v0
13192 + if-ne v1, v2, :cond_12
13194 + const/4 v0, 0x1
13196 + :cond_12
13197 + return v0
13198 +.end method
13200 +.method public isLast()Z
13201 + .registers 4
13203 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13205 + if-eqz v0, :cond_17
13207 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13209 + invoke-interface {v0}, Landroid/database/Cursor;->getPosition()I
13211 + move-result v0
13213 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13215 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13217 + array-length v2, v2
13219 + add-int/lit8 v2, v2, -0x1
13221 + aget v1, v1, v2
13223 + if-ne v0, v1, :cond_17
13225 + const/4 v0, 0x1
13227 + :goto_16
13228 + return v0
13230 + :cond_17
13231 + const/4 v0, 0x0
13233 + goto :goto_16
13234 +.end method
13236 +.method public isNull(I)Z
13237 + .registers 3
13239 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13241 + if-eqz v0, :cond_b
13243 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13245 + invoke-interface {v0, p1}, Landroid/database/Cursor;->isNull(I)Z
13247 + move-result v0
13249 + :goto_a
13250 + return v0
13252 + :cond_b
13253 + const/4 v0, 0x0
13255 + goto :goto_a
13256 +.end method
13258 +.method public move(I)Z
13259 + .registers 8
13261 + const/4 v2, 0x0
13263 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13265 + if-eqz v3, :cond_33
13267 + const-string v3, "PrivacyCursor"
13269 + new-instance v4, Ljava/lang/StringBuilder;
13271 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
13273 + const-string/jumbo v5, "move - offset: "
13275 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13277 + move-result-object v4
13279 + invoke-virtual {v4, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
13281 + move-result-object v4
13283 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
13285 + move-result-object v4
13287 + invoke-static {v3, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
13289 + :try_start_1e
13290 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13292 + iget-object v4, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13294 + invoke-interface {v4}, Landroid/database/Cursor;->getPosition()I
13296 + move-result v4
13298 + invoke-direct {p0, v4}, Landroid/privacy/surrogate/PrivacyCursor;->getMappedPos(I)I
13300 + move-result v4
13302 + add-int/2addr v4, p1
13304 + aget v1, v3, v4
13306 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13308 + invoke-interface {v3, v1}, Landroid/database/Cursor;->moveToPosition(I)Z
13309 + :try_end_32
13310 + .catch Ljava/lang/ArrayIndexOutOfBoundsException; {:try_start_1e .. :try_end_32} :catch_34
13312 + move-result v2
13314 + :cond_33
13315 + :goto_33
13316 + return v2
13318 + :catch_34
13319 + move-exception v0
13321 + goto :goto_33
13322 +.end method
13324 +.method public moveToFirst()Z
13325 + .registers 4
13327 + const/4 v0, 0x0
13329 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13331 + if-eqz v1, :cond_f
13333 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13335 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13337 + aget v2, v2, v0
13339 + invoke-interface {v1, v2}, Landroid/database/Cursor;->moveToPosition(I)Z
13341 + move-result v0
13343 + :cond_f
13344 + return v0
13345 +.end method
13347 +.method public moveToLast()Z
13348 + .registers 5
13350 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13352 + if-eqz v1, :cond_14
13354 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13356 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13358 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13360 + array-length v3, v3
13362 + add-int/lit8 v3, v3, -0x1
13364 + aget v2, v2, v3
13366 + invoke-interface {v1, v2}, Landroid/database/Cursor;->moveToPosition(I)Z
13368 + move-result v0
13370 + :goto_13
13371 + return v0
13373 + :cond_14
13374 + const/4 v0, 0x0
13376 + goto :goto_13
13377 +.end method
13379 +.method public moveToNext()Z
13380 + .registers 3
13382 + const/4 v0, 0x0
13384 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13386 + if-eqz v1, :cond_d
13388 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13390 + invoke-interface {v1}, Landroid/database/Cursor;->moveToNext()Z
13392 + move-result v1
13394 + if-nez v1, :cond_e
13396 + :cond_d
13397 + return v0
13399 + :cond_e
13400 + const/4 v0, 0x1
13402 + :goto_f
13403 + const/4 v1, 0x1
13405 + if-ne v0, v1, :cond_d
13407 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13409 + invoke-direct {p0, v1}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(Landroid/database/Cursor;)Z
13411 + move-result v1
13413 + if-nez v1, :cond_d
13415 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13417 + invoke-interface {v1}, Landroid/database/Cursor;->moveToNext()Z
13419 + move-result v0
13421 + goto :goto_f
13422 +.end method
13424 +.method public moveToPosition(I)Z
13425 + .registers 6
13427 + const/4 v1, 0x0
13429 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13431 + if-eqz v2, :cond_f
13433 + :try_start_5
13434 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13436 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13438 + aget v3, v3, p1
13440 + invoke-interface {v2, v3}, Landroid/database/Cursor;->moveToPosition(I)Z
13441 + :try_end_e
13442 + .catch Ljava/lang/ArrayIndexOutOfBoundsException; {:try_start_5 .. :try_end_e} :catch_10
13444 + move-result v1
13446 + :cond_f
13447 + :goto_f
13448 + return v1
13450 + :catch_10
13451 + move-exception v0
13453 + goto :goto_f
13454 +.end method
13456 +.method public moveToPrevious()Z
13457 + .registers 3
13459 + const/4 v0, 0x0
13461 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13463 + if-eqz v1, :cond_d
13465 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13467 + invoke-interface {v1}, Landroid/database/Cursor;->moveToPrevious()Z
13469 + move-result v1
13471 + if-nez v1, :cond_e
13473 + :cond_d
13474 + return v0
13476 + :cond_e
13477 + const/4 v0, 0x1
13479 + :goto_f
13480 + const/4 v1, 0x1
13482 + if-ne v0, v1, :cond_d
13484 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13486 + invoke-direct {p0, v1}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(Landroid/database/Cursor;)Z
13488 + move-result v1
13490 + if-nez v1, :cond_d
13492 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13494 + invoke-interface {v1}, Landroid/database/Cursor;->moveToPrevious()Z
13496 + move-result v0
13498 + goto :goto_f
13499 +.end method
13501 +.method public registerContentObserver(Landroid/database/ContentObserver;)V
13502 + .registers 3
13504 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13506 + if-eqz v0, :cond_9
13508 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13510 + invoke-interface {v0, p1}, Landroid/database/Cursor;->registerContentObserver(Landroid/database/ContentObserver;)V
13512 + :cond_9
13513 + return-void
13514 +.end method
13516 +.method public registerDataSetObserver(Landroid/database/DataSetObserver;)V
13517 + .registers 3
13519 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13521 + if-eqz v0, :cond_9
13523 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13525 + invoke-interface {v0, p1}, Landroid/database/Cursor;->registerDataSetObserver(Landroid/database/DataSetObserver;)V
13527 + :cond_9
13528 + return-void
13529 +.end method
13531 +.method public requery()Z
13532 + .registers 2
13534 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13536 + if-eqz v0, :cond_b
13538 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13540 + invoke-interface {v0}, Landroid/database/Cursor;->requery()Z
13542 + move-result v0
13544 + :goto_a
13545 + return v0
13547 + :cond_b
13548 + const/4 v0, 0x0
13550 + goto :goto_a
13551 +.end method
13553 +.method public respond(Landroid/os/Bundle;)Landroid/os/Bundle;
13554 + .registers 3
13556 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13558 + if-eqz v0, :cond_b
13560 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13562 + invoke-interface {v0, p1}, Landroid/database/Cursor;->respond(Landroid/os/Bundle;)Landroid/os/Bundle;
13564 + move-result-object v0
13566 + :goto_a
13567 + return-object v0
13569 + :cond_b
13570 + new-instance v0, Landroid/os/Bundle;
13572 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
13574 + goto :goto_a
13575 +.end method
13577 +.method public setNotificationUri(Landroid/content/ContentResolver;Landroid/net/Uri;)V
13578 + .registers 4
13580 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13582 + if-eqz v0, :cond_9
13584 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13586 + invoke-interface {v0, p1, p2}, Landroid/database/Cursor;->setNotificationUri(Landroid/content/ContentResolver;Landroid/net/Uri;)V
13588 + :cond_9
13589 + return-void
13590 +.end method
13592 +.method public unregisterContentObserver(Landroid/database/ContentObserver;)V
13593 + .registers 3
13595 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13597 + if-eqz v0, :cond_9
13599 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13601 + invoke-interface {v0, p1}, Landroid/database/Cursor;->unregisterContentObserver(Landroid/database/ContentObserver;)V
13603 + :cond_9
13604 + return-void
13605 +.end method
13607 +.method public unregisterDataSetObserver(Landroid/database/DataSetObserver;)V
13608 + .registers 3
13610 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13612 + if-eqz v0, :cond_9
13614 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13616 + invoke-interface {v0, p1}, Landroid/database/Cursor;->unregisterDataSetObserver(Landroid/database/DataSetObserver;)V
13618 + :cond_9
13619 + return-void
13620 +.end method
13621 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali
13622 --- stock-framework/smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali 1969-12-31 18:00:00.000000000 -0600
13623 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali 2012-08-22 21:52:53.715715815 -0500
13624 @@ -0,0 +1,134 @@
13625 +.class Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
13626 +.super Ljava/lang/Thread;
13627 +.source "PrivacyLocationManager.java"
13630 +# annotations
13631 +.annotation system Ldalvik/annotation/EnclosingClass;
13632 + value = Landroid/privacy/surrogate/PrivacyLocationManager;
13633 +.end annotation
13635 +.annotation system Ldalvik/annotation/InnerClass;
13636 + accessFlags = 0x2
13637 + name = "PrivacyLocationUpdater"
13638 +.end annotation
13641 +# instance fields
13642 +.field private intent:Landroid/app/PendingIntent;
13644 +.field private latitude:D
13646 +.field private listener:Landroid/location/LocationListener;
13648 +.field private longitude:D
13650 +.field private provider:Ljava/lang/String;
13652 +.field final synthetic this$0:Landroid/privacy/surrogate/PrivacyLocationManager;
13655 +# direct methods
13656 +.method public constructor <init>(Landroid/privacy/surrogate/PrivacyLocationManager;Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;DD)V
13657 + .registers 9
13659 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->this$0:Landroid/privacy/surrogate/PrivacyLocationManager;
13661 + invoke-direct {p0}, Ljava/lang/Thread;-><init>()V
13663 + iput-object p2, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->provider:Ljava/lang/String;
13665 + iput-object p3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->listener:Landroid/location/LocationListener;
13667 + iput-object p4, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->intent:Landroid/app/PendingIntent;
13669 + iput-wide p5, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->latitude:D
13671 + iput-wide p7, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->longitude:D
13673 + return-void
13674 +.end method
13677 +# virtual methods
13678 +.method public run()V
13679 + .registers 8
13681 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->provider:Ljava/lang/String;
13683 + if-eqz v3, :cond_43
13685 + new-instance v2, Landroid/location/Location;
13687 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->provider:Ljava/lang/String;
13689 + invoke-direct {v2, v3}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
13691 + iget-wide v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->latitude:D
13693 + invoke-virtual {v2, v3, v4}, Landroid/location/Location;->setLatitude(D)V
13695 + iget-wide v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->longitude:D
13697 + invoke-virtual {v2, v3, v4}, Landroid/location/Location;->setLongitude(D)V
13699 + const/4 v1, 0x0
13701 + :goto_16
13702 + const/4 v3, 0x5
13704 + if-ge v1, v3, :cond_43
13706 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->listener:Landroid/location/LocationListener;
13708 + if-eqz v3, :cond_34
13710 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->listener:Landroid/location/LocationListener;
13712 + invoke-interface {v3, v2}, Landroid/location/LocationListener;->onLocationChanged(Landroid/location/Location;)V
13714 + :cond_22
13715 + :goto_22
13716 + :try_start_22
13717 + invoke-static {}, Ljava/lang/Math;->random()D
13719 + move-result-wide v3
13721 + const-wide v5, 0x408f400000000000L
13723 + mul-double/2addr v3, v5
13725 + double-to-int v3, v3
13727 + int-to-long v3, v3
13729 + invoke-static {v3, v4}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->sleep(J)V
13730 + :try_end_31
13731 + .catch Ljava/lang/InterruptedException; {:try_start_22 .. :try_end_31} :catch_3e
13733 + :goto_31
13734 + add-int/lit8 v1, v1, 0x1
13736 + goto :goto_16
13738 + :cond_34
13739 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->intent:Landroid/app/PendingIntent;
13741 + if-eqz v3, :cond_22
13743 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->intent:Landroid/app/PendingIntent;
13745 + invoke-virtual {v3}, Landroid/app/PendingIntent;->cancel()V
13747 + goto :goto_22
13749 + :catch_3e
13750 + move-exception v0
13752 + invoke-virtual {v0}, Ljava/lang/InterruptedException;->printStackTrace()V
13754 + goto :goto_31
13756 + :cond_43
13757 + return-void
13758 +.end method
13759 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyLocationManager.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyLocationManager.smali
13760 --- stock-framework/smali/android/privacy/surrogate/PrivacyLocationManager.smali 1969-12-31 18:00:00.000000000 -0600
13761 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyLocationManager.smali 2012-08-22 21:52:53.715715815 -0500
13762 @@ -0,0 +1,2091 @@
13763 +.class public final Landroid/privacy/surrogate/PrivacyLocationManager;
13764 +.super Landroid/location/LocationManager;
13765 +.source "PrivacyLocationManager.java"
13768 +# annotations
13769 +.annotation system Ldalvik/annotation/MemberClasses;
13770 + value = {
13771 + Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
13773 +.end annotation
13776 +# static fields
13777 +.field private static final CUSTOM_LOCATION_UPDATE_COUNT:I = 0x5
13779 +.field private static final TAG:Ljava/lang/String; = "PrivacyLocationManager"
13782 +# instance fields
13783 +.field private context:Landroid/content/Context;
13785 +.field private lock:Ljava/lang/Object;
13787 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
13790 +# direct methods
13791 +.method public constructor <init>(Landroid/location/ILocationManager;Landroid/content/Context;)V
13792 + .registers 5
13794 + invoke-direct {p0, p1}, Landroid/location/LocationManager;-><init>(Landroid/location/ILocationManager;)V
13796 + new-instance v0, Ljava/lang/Object;
13798 + invoke-direct {v0}, Ljava/lang/Object;-><init>()V
13800 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->lock:Ljava/lang/Object;
13802 + iput-object p2, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
13804 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
13806 + const-string/jumbo v1, "privacy"
13808 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
13810 + move-result-object v1
13812 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
13814 + move-result-object v1
13816 + invoke-direct {v0, p2, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
13818 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
13820 + return-void
13821 +.end method
13823 +.method private requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
13824 + .registers 7
13826 + const/4 v2, 0x3
13828 + if-nez p1, :cond_5
13830 + const/4 v0, 0x0
13832 + :goto_4
13833 + return v0
13835 + :cond_5
13836 + invoke-virtual {p1}, Landroid/location/Criteria;->getAccuracy()I
13838 + move-result v0
13840 + const/4 v1, 0x1
13842 + if-eq v0, v1, :cond_24
13844 + invoke-virtual {p1}, Landroid/location/Criteria;->getBearingAccuracy()I
13846 + move-result v0
13848 + if-eq v0, v2, :cond_24
13850 + invoke-virtual {p1}, Landroid/location/Criteria;->getHorizontalAccuracy()I
13852 + move-result v0
13854 + if-eq v0, v2, :cond_24
13856 + invoke-virtual {p1}, Landroid/location/Criteria;->getVerticalAccuracy()I
13858 + move-result v0
13860 + if-eq v0, v2, :cond_24
13862 + invoke-virtual {p1}, Landroid/location/Criteria;->getSpeedAccuracy()I
13864 + move-result v0
13866 + if-ne v0, v2, :cond_2b
13868 + :cond_24
13869 + const-string v0, "gps"
13871 + invoke-direct {p0, v0, p2, p3}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
13873 + move-result v0
13875 + goto :goto_4
13877 + :cond_2b
13878 + const-string/jumbo v0, "network"
13880 + invoke-direct {p0, v0, p2, p3}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
13882 + move-result v0
13884 + goto :goto_4
13885 +.end method
13887 +.method private requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
13888 + .registers 24
13890 + move-object/from16 v0, p0
13892 + iget-object v0, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->lock:Ljava/lang/Object;
13894 + move-object/from16 v19, v0
13896 + monitor-enter v19
13898 + :try_start_7
13899 + move-object/from16 v0, p0
13901 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
13903 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
13905 + move-result-object v2
13907 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
13909 + move-result v3
13911 + move-object/from16 v0, p0
13913 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
13915 + invoke-virtual {v1, v2, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
13917 + move-result-object v7
13919 + const/16 v18, 0x0
13921 + if-eqz v7, :cond_239
13923 + const-string v1, "gps"
13925 + move-object/from16 v0, p1
13927 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
13929 + move-result v1
13931 + if-eqz v1, :cond_111
13933 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
13935 + move-result v1
13937 + packed-switch v1, :pswitch_data_25e
13939 + :cond_30
13940 + :goto_30
13941 + monitor-exit v19
13943 + return v18
13945 + :pswitch_32
13946 + move-object/from16 v0, p0
13948 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
13950 + const/4 v4, 0x0
13952 + const-string v5, "locationGPS"
13954 + const/4 v6, 0x0
13956 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
13958 + goto :goto_30
13960 + :catchall_3e
13961 + move-exception v1
13963 + monitor-exit v19
13964 + :try_end_40
13965 + .catchall {:try_start_7 .. :try_end_40} :catchall_3e
13967 + throw v1
13969 + :pswitch_41
13970 + if-eqz p3, :cond_46
13972 + :try_start_43
13973 + invoke-virtual/range {p3 .. p3}, Landroid/app/PendingIntent;->cancel()V
13975 + :cond_46
13976 + const/16 v18, 0x1
13978 + move-object/from16 v0, p0
13980 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
13982 + const/4 v4, 0x1
13984 + const-string v5, "locationGPS"
13986 + const/4 v6, 0x0
13988 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
13989 + :try_end_53
13990 + .catchall {:try_start_43 .. :try_end_53} :catchall_3e
13992 + goto :goto_30
13994 + :pswitch_54
13995 + :try_start_54
13996 + new-instance v8, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
13998 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
14000 + move-result-object v1
14002 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14004 + move-result-wide v13
14006 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
14008 + move-result-object v1
14010 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14012 + move-result-wide v15
14014 + move-object/from16 v9, p0
14016 + move-object/from16 v10, p1
14018 + move-object/from16 v11, p2
14020 + move-object/from16 v12, p3
14022 + 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
14024 + invoke-virtual {v8}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->start()V
14025 + :try_end_74
14026 + .catchall {:try_start_54 .. :try_end_74} :catchall_3e
14027 + .catch Ljava/lang/NumberFormatException; {:try_start_54 .. :try_end_74} :catch_a6
14029 + const/16 v18, 0x1
14031 + :goto_76
14032 + :try_start_76
14033 + move-object/from16 v0, p0
14035 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14037 + const/4 v4, 0x2
14039 + const-string v5, "locationGPS"
14041 + new-instance v6, Ljava/lang/StringBuilder;
14043 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
14045 + const-string v8, "Lat: "
14047 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14049 + move-result-object v6
14051 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
14053 + move-result-object v8
14055 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14057 + move-result-object v6
14059 + const-string v8, " Lon: "
14061 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14063 + move-result-object v6
14065 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
14067 + move-result-object v8
14069 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14071 + move-result-object v6
14073 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14075 + move-result-object v6
14077 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14079 + goto :goto_30
14081 + :catch_a6
14082 + move-exception v17
14084 + const-string v1, "PrivacyLocationManager"
14086 + const-string/jumbo v4, "requestLocationUpdates: invalid coordinates"
14088 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
14089 + :try_end_af
14090 + .catchall {:try_start_76 .. :try_end_af} :catchall_3e
14092 + const/16 v18, 0x1
14094 + goto :goto_76
14096 + :pswitch_b2
14097 + :try_start_b2
14098 + new-instance v8, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
14100 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
14102 + move-result-object v1
14104 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14106 + move-result-wide v13
14108 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
14110 + move-result-object v1
14112 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14114 + move-result-wide v15
14116 + move-object/from16 v9, p0
14118 + move-object/from16 v10, p1
14120 + move-object/from16 v11, p2
14122 + move-object/from16 v12, p3
14124 + 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
14126 + invoke-virtual {v8}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->start()V
14127 + :try_end_d2
14128 + .catchall {:try_start_b2 .. :try_end_d2} :catchall_3e
14129 + .catch Ljava/lang/NumberFormatException; {:try_start_b2 .. :try_end_d2} :catch_105
14131 + const/16 v18, 0x1
14133 + :goto_d4
14134 + :try_start_d4
14135 + move-object/from16 v0, p0
14137 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14139 + const/4 v4, 0x3
14141 + const-string v5, "locationGPS"
14143 + new-instance v6, Ljava/lang/StringBuilder;
14145 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
14147 + const-string v8, "Lat: "
14149 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14151 + move-result-object v6
14153 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
14155 + move-result-object v8
14157 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14159 + move-result-object v6
14161 + const-string v8, " Lon: "
14163 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14165 + move-result-object v6
14167 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
14169 + move-result-object v8
14171 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14173 + move-result-object v6
14175 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14177 + move-result-object v6
14179 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14181 + goto/16 :goto_30
14183 + :catch_105
14184 + move-exception v17
14186 + const-string v1, "PrivacyLocationManager"
14188 + const-string/jumbo v4, "requestLocationUpdates: invalid coordinates"
14190 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
14192 + const/16 v18, 0x1
14194 + goto :goto_d4
14196 + :cond_111
14197 + const-string/jumbo v1, "network"
14199 + move-object/from16 v0, p1
14201 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
14203 + move-result v1
14205 + if-eqz v1, :cond_204
14207 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
14209 + move-result v1
14211 + packed-switch v1, :pswitch_data_26a
14213 + goto/16 :goto_30
14215 + :pswitch_125
14216 + move-object/from16 v0, p0
14218 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14220 + const/4 v4, 0x0
14222 + const-string v5, "locationNetwork"
14224 + const/4 v6, 0x0
14226 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14228 + goto/16 :goto_30
14230 + :pswitch_132
14231 + if-eqz p3, :cond_137
14233 + invoke-virtual/range {p3 .. p3}, Landroid/app/PendingIntent;->cancel()V
14235 + :cond_137
14236 + const/16 v18, 0x1
14238 + move-object/from16 v0, p0
14240 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14242 + const/4 v4, 0x1
14244 + const-string v5, "locationNetwork"
14246 + const/4 v6, 0x0
14248 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14249 + :try_end_144
14250 + .catchall {:try_start_d4 .. :try_end_144} :catchall_3e
14252 + goto/16 :goto_30
14254 + :pswitch_146
14255 + :try_start_146
14256 + new-instance v8, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
14258 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
14260 + move-result-object v1
14262 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14264 + move-result-wide v13
14266 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
14268 + move-result-object v1
14270 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14272 + move-result-wide v15
14274 + move-object/from16 v9, p0
14276 + move-object/from16 v10, p1
14278 + move-object/from16 v11, p2
14280 + move-object/from16 v12, p3
14282 + 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
14284 + invoke-virtual {v8}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->start()V
14285 + :try_end_166
14286 + .catchall {:try_start_146 .. :try_end_166} :catchall_3e
14287 + .catch Ljava/lang/NumberFormatException; {:try_start_146 .. :try_end_166} :catch_199
14289 + const/16 v18, 0x1
14291 + :goto_168
14292 + :try_start_168
14293 + move-object/from16 v0, p0
14295 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14297 + const/4 v4, 0x2
14299 + const-string v5, "locationNetwork"
14301 + new-instance v6, Ljava/lang/StringBuilder;
14303 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
14305 + const-string v8, "Lat: "
14307 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14309 + move-result-object v6
14311 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
14313 + move-result-object v8
14315 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14317 + move-result-object v6
14319 + const-string v8, " Lon: "
14321 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14323 + move-result-object v6
14325 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
14327 + move-result-object v8
14329 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14331 + move-result-object v6
14333 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14335 + move-result-object v6
14337 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14339 + goto/16 :goto_30
14341 + :catch_199
14342 + move-exception v17
14344 + const-string v1, "PrivacyLocationManager"
14346 + const-string/jumbo v4, "requestLocationUpdates: invalid coordinates"
14348 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
14349 + :try_end_1a2
14350 + .catchall {:try_start_168 .. :try_end_1a2} :catchall_3e
14352 + const/16 v18, 0x1
14354 + goto :goto_168
14356 + :pswitch_1a5
14357 + :try_start_1a5
14358 + new-instance v8, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
14360 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
14362 + move-result-object v1
14364 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14366 + move-result-wide v13
14368 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
14370 + move-result-object v1
14372 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14374 + move-result-wide v15
14376 + move-object/from16 v9, p0
14378 + move-object/from16 v10, p1
14380 + move-object/from16 v11, p2
14382 + move-object/from16 v12, p3
14384 + 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
14386 + invoke-virtual {v8}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->start()V
14387 + :try_end_1c5
14388 + .catchall {:try_start_1a5 .. :try_end_1c5} :catchall_3e
14389 + .catch Ljava/lang/NumberFormatException; {:try_start_1a5 .. :try_end_1c5} :catch_1f8
14391 + const/16 v18, 0x1
14393 + :goto_1c7
14394 + :try_start_1c7
14395 + move-object/from16 v0, p0
14397 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14399 + const/4 v4, 0x3
14401 + const-string v5, "locationNetwork"
14403 + new-instance v6, Ljava/lang/StringBuilder;
14405 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
14407 + const-string v8, "Lat: "
14409 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14411 + move-result-object v6
14413 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
14415 + move-result-object v8
14417 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14419 + move-result-object v6
14421 + const-string v8, " Lon: "
14423 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14425 + move-result-object v6
14427 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
14429 + move-result-object v8
14431 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14433 + move-result-object v6
14435 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14437 + move-result-object v6
14439 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14441 + goto/16 :goto_30
14443 + :catch_1f8
14444 + move-exception v17
14446 + const-string v1, "PrivacyLocationManager"
14448 + const-string/jumbo v4, "requestLocationUpdates: invalid coordinates"
14450 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
14452 + const/16 v18, 0x1
14454 + goto :goto_1c7
14456 + :cond_204
14457 + const-string/jumbo v1, "passive"
14459 + move-object/from16 v0, p1
14461 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
14463 + move-result v1
14465 + if-eqz v1, :cond_30
14467 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
14469 + move-result v1
14471 + if-nez v1, :cond_22a
14473 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
14475 + move-result v1
14477 + if-nez v1, :cond_22a
14479 + const/16 v18, 0x0
14481 + move-object/from16 v0, p0
14483 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14485 + const/4 v4, 0x0
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_22a
14496 + const/16 v18, 0x1
14498 + move-object/from16 v0, p0
14500 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14502 + const/4 v4, 0x1
14504 + const-string v5, "locationGPS"
14506 + const/4 v6, 0x0
14508 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14510 + goto/16 :goto_30
14512 + :cond_239
14513 + const-string/jumbo v1, "network"
14515 + move-object/from16 v0, p1
14517 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
14519 + move-result v1
14521 + if-eqz v1, :cond_251
14523 + move-object/from16 v0, p0
14525 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14527 + const/4 v4, 0x0
14529 + const-string v5, "locationNetwork"
14531 + const/4 v6, 0x0
14533 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14535 + goto/16 :goto_30
14537 + :cond_251
14538 + move-object/from16 v0, p0
14540 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14542 + const/4 v4, 0x0
14544 + const-string v5, "locationGPS"
14546 + const/4 v6, 0x0
14548 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14549 + :try_end_25c
14550 + .catchall {:try_start_1c7 .. :try_end_25c} :catchall_3e
14552 + goto/16 :goto_30
14554 + :pswitch_data_25e
14555 + .packed-switch 0x0
14556 + :pswitch_32
14557 + :pswitch_41
14558 + :pswitch_54
14559 + :pswitch_b2
14560 + .end packed-switch
14562 + :pswitch_data_26a
14563 + .packed-switch 0x0
14564 + :pswitch_125
14565 + :pswitch_132
14566 + :pswitch_146
14567 + :pswitch_1a5
14568 + .end packed-switch
14569 +.end method
14572 +# virtual methods
14573 +.method public addNmeaListener(Landroid/location/GpsStatus$NmeaListener;)Z
14574 + .registers 10
14576 + const/4 v5, 0x0
14578 + const/4 v7, 0x0
14580 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
14582 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
14584 + move-result-object v1
14586 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
14588 + move-result v2
14590 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14592 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
14594 + move-result-object v6
14596 + if-eqz v6, :cond_24
14598 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
14600 + move-result v0
14602 + if-eqz v0, :cond_24
14604 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14606 + const/4 v3, 0x1
14608 + const-string v4, "locationGPS"
14610 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14612 + move v0, v7
14614 + :goto_23
14615 + return v0
14617 + :cond_24
14618 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14620 + const-string v4, "locationGPS"
14622 + move v3, v7
14624 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14626 + invoke-super {p0, p1}, Landroid/location/LocationManager;->addNmeaListener(Landroid/location/GpsStatus$NmeaListener;)Z
14628 + move-result v0
14630 + goto :goto_23
14631 +.end method
14633 +.method public getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
14634 + .registers 14
14636 + const/4 v11, 0x3
14638 + const/4 v10, 0x2
14640 + const/4 v8, 0x1
14642 + const/4 v3, 0x0
14644 + const/4 v5, 0x0
14646 + if-nez p1, :cond_c
14648 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
14650 + move-result-object v7
14652 + :cond_b
14653 + :goto_b
14654 + return-object v7
14656 + :cond_c
14657 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
14659 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
14661 + move-result-object v1
14663 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
14665 + move-result v2
14667 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14669 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
14671 + move-result-object v6
14673 + const/4 v7, 0x0
14675 + if-eqz v6, :cond_22c
14677 + const-string v0, "gps"
14679 + invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
14681 + move-result v0
14683 + if-eqz v0, :cond_ff
14685 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
14687 + move-result v0
14689 + packed-switch v0, :pswitch_data_29a
14691 + goto :goto_b
14693 + :pswitch_2f
14694 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
14696 + move-result-object v7
14698 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14700 + const-string v4, "locationGPS"
14702 + if-eqz v7, :cond_5e
14704 + new-instance v5, Ljava/lang/StringBuilder;
14706 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
14708 + const-string v8, "Lat: "
14710 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14712 + move-result-object v5
14714 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
14716 + move-result-wide v8
14718 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
14720 + move-result-object v5
14722 + const-string v8, " Lon: "
14724 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14726 + move-result-object v5
14728 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
14730 + move-result-wide v8
14732 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
14734 + move-result-object v5
14736 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14738 + move-result-object v5
14740 + :cond_5e
14741 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14743 + goto :goto_b
14745 + :pswitch_62
14746 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14748 + const-string v4, "locationGPS"
14750 + move v3, v8
14752 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14754 + goto :goto_b
14756 + :pswitch_6b
14757 + new-instance v7, Landroid/location/Location;
14759 + invoke-direct {v7, p1}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
14761 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
14763 + move-result-object v0
14765 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14767 + move-result-wide v3
14769 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLatitude(D)V
14771 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
14773 + move-result-object v0
14775 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14777 + move-result-wide v3
14779 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLongitude(D)V
14781 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14783 + const-string v4, "locationGPS"
14785 + new-instance v3, Ljava/lang/StringBuilder;
14787 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
14789 + const-string v5, "Lat: "
14791 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14793 + move-result-object v3
14795 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
14797 + move-result-wide v8
14799 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
14801 + move-result-object v3
14803 + const-string v5, " Lon: "
14805 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14807 + move-result-object v3
14809 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
14811 + move-result-wide v8
14813 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
14815 + move-result-object v3
14817 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14819 + move-result-object v5
14821 + move v3, v10
14823 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14825 + goto/16 :goto_b
14827 + :pswitch_b5
14828 + new-instance v7, Landroid/location/Location;
14830 + invoke-direct {v7, p1}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
14832 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
14834 + move-result-object v0
14836 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14838 + move-result-wide v3
14840 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLatitude(D)V
14842 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
14844 + move-result-object v0
14846 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14848 + move-result-wide v3
14850 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLongitude(D)V
14852 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14854 + const-string v4, "locationGPS"
14856 + new-instance v3, Ljava/lang/StringBuilder;
14858 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
14860 + const-string v5, "Lat: "
14862 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14864 + move-result-object v3
14866 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
14868 + move-result-wide v8
14870 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
14872 + move-result-object v3
14874 + const-string v5, " Lon: "
14876 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14878 + move-result-object v3
14880 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
14882 + move-result-wide v8
14884 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
14886 + move-result-object v3
14888 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14890 + move-result-object v5
14892 + move v3, v11
14894 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14896 + goto/16 :goto_b
14898 + :cond_ff
14899 + const-string/jumbo v0, "network"
14901 + invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
14903 + move-result v0
14905 + if-eqz v0, :cond_1e3
14907 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
14909 + move-result v0
14911 + packed-switch v0, :pswitch_data_2a6
14913 + goto/16 :goto_b
14915 + :pswitch_111
14916 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
14918 + move-result-object v7
14920 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14922 + const-string v4, "locationNetwork"
14924 + if-eqz v7, :cond_140
14926 + new-instance v5, Ljava/lang/StringBuilder;
14928 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
14930 + const-string v8, "Lat: "
14932 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14934 + move-result-object v5
14936 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
14938 + move-result-wide v8
14940 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
14942 + move-result-object v5
14944 + const-string v8, " Lon: "
14946 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14948 + move-result-object v5
14950 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
14952 + move-result-wide v8
14954 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
14956 + move-result-object v5
14958 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14960 + move-result-object v5
14962 + :cond_140
14963 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14965 + goto/16 :goto_b
14967 + :pswitch_145
14968 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14970 + const-string v4, "locationNetwork"
14972 + move v3, v8
14974 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14976 + goto/16 :goto_b
14978 + :pswitch_14f
14979 + new-instance v7, Landroid/location/Location;
14981 + invoke-direct {v7, p1}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
14983 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
14985 + move-result-object v0
14987 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14989 + move-result-wide v3
14991 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLatitude(D)V
14993 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
14995 + move-result-object v0
14997 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14999 + move-result-wide v3
15001 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLongitude(D)V
15003 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15005 + const-string v4, "locationNetwork"
15007 + new-instance v3, Ljava/lang/StringBuilder;
15009 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
15011 + const-string v5, "Lat: "
15013 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15015 + move-result-object v3
15017 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15019 + move-result-wide v8
15021 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15023 + move-result-object v3
15025 + const-string v5, " Lon: "
15027 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15029 + move-result-object v3
15031 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15033 + move-result-wide v8
15035 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15037 + move-result-object v3
15039 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15041 + move-result-object v5
15043 + move v3, v10
15045 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15047 + goto/16 :goto_b
15049 + :pswitch_199
15050 + new-instance v7, Landroid/location/Location;
15052 + invoke-direct {v7, p1}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
15054 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
15056 + move-result-object v0
15058 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
15060 + move-result-wide v3
15062 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLatitude(D)V
15064 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
15066 + move-result-object v0
15068 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
15070 + move-result-wide v3
15072 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLongitude(D)V
15074 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15076 + const-string v4, "locationNetwork"
15078 + new-instance v3, Ljava/lang/StringBuilder;
15080 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
15082 + const-string v5, "Lat: "
15084 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15086 + move-result-object v3
15088 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15090 + move-result-wide v8
15092 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15094 + move-result-object v3
15096 + const-string v5, " Lon: "
15098 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15100 + move-result-object v3
15102 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15104 + move-result-wide v8
15106 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15108 + move-result-object v3
15110 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15112 + move-result-object v5
15114 + move v3, v11
15116 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15118 + goto/16 :goto_b
15120 + :cond_1e3
15121 + const-string/jumbo v0, "passive"
15123 + invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15125 + move-result v0
15127 + if-eqz v0, :cond_b
15129 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
15131 + move-result v0
15133 + if-nez v0, :cond_b
15135 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15137 + move-result v0
15139 + if-nez v0, :cond_b
15141 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
15143 + move-result-object v7
15145 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15147 + const-string v4, "locationGPS"
15149 + if-eqz v7, :cond_227
15151 + new-instance v5, Ljava/lang/StringBuilder;
15153 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
15155 + const-string v8, "Lat: "
15157 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15159 + move-result-object v5
15161 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15163 + move-result-wide v8
15165 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15167 + move-result-object v5
15169 + const-string v8, " Lon: "
15171 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15173 + move-result-object v5
15175 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15177 + move-result-wide v8
15179 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15181 + move-result-object v5
15183 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15185 + move-result-object v5
15187 + :cond_227
15188 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15190 + goto/16 :goto_b
15192 + :cond_22c
15193 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
15195 + move-result-object v7
15197 + const-string/jumbo v0, "network"
15199 + invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15201 + move-result v0
15203 + if-eqz v0, :cond_269
15205 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15207 + const-string v4, "locationNetwork"
15209 + if-eqz v7, :cond_264
15211 + new-instance v5, Ljava/lang/StringBuilder;
15213 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
15215 + const-string v8, "Lat: "
15217 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15219 + move-result-object v5
15221 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15223 + move-result-wide v8
15225 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15227 + move-result-object v5
15229 + const-string v8, " Lon: "
15231 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15233 + move-result-object v5
15235 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15237 + move-result-wide v8
15239 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15241 + move-result-object v5
15243 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15245 + move-result-object v5
15247 + :cond_264
15248 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15250 + goto/16 :goto_b
15252 + :cond_269
15253 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15255 + const-string v4, "locationGPS"
15257 + if-eqz v7, :cond_294
15259 + new-instance v5, Ljava/lang/StringBuilder;
15261 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
15263 + const-string v8, "Lat: "
15265 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15267 + move-result-object v5
15269 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15271 + move-result-wide v8
15273 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15275 + move-result-object v5
15277 + const-string v8, " Lon: "
15279 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15281 + move-result-object v5
15283 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15285 + move-result-wide v8
15287 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15289 + move-result-object v5
15291 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15293 + move-result-object v5
15295 + :cond_294
15296 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15298 + goto/16 :goto_b
15300 + nop
15302 + :pswitch_data_29a
15303 + .packed-switch 0x0
15304 + :pswitch_2f
15305 + :pswitch_62
15306 + :pswitch_6b
15307 + :pswitch_b5
15308 + .end packed-switch
15310 + :pswitch_data_2a6
15311 + .packed-switch 0x0
15312 + :pswitch_111
15313 + :pswitch_145
15314 + :pswitch_14f
15315 + :pswitch_199
15316 + .end packed-switch
15317 +.end method
15319 +.method public getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15320 + .registers 7
15322 + if-nez p1, :cond_7
15324 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15326 + move-result-object v0
15328 + :cond_6
15329 + :goto_6
15330 + return-object v0
15332 + :cond_7
15333 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15335 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
15337 + invoke-virtual {v3}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
15339 + move-result-object v3
15341 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
15343 + move-result v4
15345 + invoke-virtual {v2, v3, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
15347 + move-result-object v1
15349 + const/4 v0, 0x0
15351 + if-eqz v1, :cond_5f
15353 + const-string v2, "gps"
15355 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15357 + move-result v2
15359 + if-eqz v2, :cond_2f
15361 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
15363 + move-result v2
15365 + packed-switch v2, :pswitch_data_64
15367 + :pswitch_29
15368 + goto :goto_6
15370 + :pswitch_2a
15371 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15373 + move-result-object v0
15375 + goto :goto_6
15377 + :cond_2f
15378 + const-string/jumbo v2, "network"
15380 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15382 + move-result v2
15384 + if-eqz v2, :cond_45
15386 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15388 + move-result v2
15390 + packed-switch v2, :pswitch_data_70
15392 + :pswitch_3f
15393 + goto :goto_6
15395 + :pswitch_40
15396 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15398 + move-result-object v0
15400 + goto :goto_6
15402 + :cond_45
15403 + const-string/jumbo v2, "passive"
15405 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15407 + move-result v2
15409 + if-eqz v2, :cond_6
15411 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
15413 + move-result v2
15415 + if-eqz v2, :cond_5a
15417 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15419 + move-result v2
15421 + if-nez v2, :cond_6
15423 + :cond_5a
15424 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15426 + move-result-object v0
15428 + goto :goto_6
15430 + :cond_5f
15431 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15433 + move-result-object v0
15435 + goto :goto_6
15437 + :pswitch_data_64
15438 + .packed-switch 0x0
15439 + :pswitch_2a
15440 + :pswitch_29
15441 + :pswitch_2a
15442 + :pswitch_2a
15443 + .end packed-switch
15445 + :pswitch_data_70
15446 + .packed-switch 0x0
15447 + :pswitch_40
15448 + :pswitch_3f
15449 + :pswitch_40
15450 + :pswitch_40
15451 + .end packed-switch
15452 +.end method
15454 +.method public isProviderEnabled(Ljava/lang/String;)Z
15455 + .registers 7
15457 + if-nez p1, :cond_7
15459 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
15461 + move-result v0
15463 + :cond_6
15464 + :goto_6
15465 + :pswitch_6
15466 + return v0
15468 + :cond_7
15469 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15471 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
15473 + invoke-virtual {v3}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
15475 + move-result-object v3
15477 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
15479 + move-result v4
15481 + invoke-virtual {v2, v3, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
15483 + move-result-object v1
15485 + const/4 v0, 0x0
15487 + if-eqz v1, :cond_65
15489 + const-string v2, "gps"
15491 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15493 + move-result v2
15495 + if-eqz v2, :cond_31
15497 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
15499 + move-result v2
15501 + packed-switch v2, :pswitch_data_6a
15503 + goto :goto_6
15505 + :pswitch_2a
15506 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
15508 + move-result v0
15510 + goto :goto_6
15512 + :pswitch_2f
15513 + const/4 v0, 0x1
15515 + goto :goto_6
15517 + :cond_31
15518 + const-string/jumbo v2, "network"
15520 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15522 + move-result v2
15524 + if-eqz v2, :cond_49
15526 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15528 + move-result v2
15530 + packed-switch v2, :pswitch_data_76
15532 + goto :goto_6
15534 + :pswitch_42
15535 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
15537 + move-result v0
15539 + goto :goto_6
15541 + :pswitch_47
15542 + const/4 v0, 0x1
15544 + goto :goto_6
15546 + :cond_49
15547 + const-string/jumbo v2, "passive"
15549 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15551 + move-result v2
15553 + if-eqz v2, :cond_6
15555 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
15557 + move-result v2
15559 + if-eqz v2, :cond_5e
15561 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15563 + move-result v2
15565 + if-nez v2, :cond_63
15567 + :cond_5e
15568 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
15570 + move-result v0
15572 + goto :goto_6
15574 + :cond_63
15575 + const/4 v0, 0x0
15577 + goto :goto_6
15579 + :cond_65
15580 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
15582 + move-result v0
15584 + goto :goto_6
15586 + :pswitch_data_6a
15587 + .packed-switch 0x0
15588 + :pswitch_2a
15589 + :pswitch_6
15590 + :pswitch_2f
15591 + :pswitch_2f
15592 + .end packed-switch
15594 + :pswitch_data_76
15595 + .packed-switch 0x0
15596 + :pswitch_42
15597 + :pswitch_6
15598 + :pswitch_47
15599 + :pswitch_47
15600 + .end packed-switch
15601 +.end method
15603 +.method public requestLocationUpdates(JFLandroid/location/Criteria;Landroid/app/PendingIntent;)V
15604 + .registers 7
15606 + if-eqz p4, :cond_4
15608 + if-nez p5, :cond_8
15610 + :cond_4
15611 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/app/PendingIntent;)V
15613 + :cond_7
15614 + :goto_7
15615 + return-void
15617 + :cond_8
15618 + const/4 v0, 0x0
15620 + invoke-direct {p0, p4, v0, p5}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15622 + move-result v0
15624 + if-nez v0, :cond_7
15626 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/app/PendingIntent;)V
15628 + goto :goto_7
15629 +.end method
15631 +.method public requestLocationUpdates(JFLandroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
15632 + .registers 8
15634 + if-eqz p4, :cond_4
15636 + if-nez p5, :cond_8
15638 + :cond_4
15639 + invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
15641 + :cond_7
15642 + :goto_7
15643 + return-void
15645 + :cond_8
15646 + const/4 v0, 0x0
15648 + invoke-direct {p0, p4, p5, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15650 + move-result v0
15652 + if-nez v0, :cond_7
15654 + invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
15656 + goto :goto_7
15657 +.end method
15659 +.method public requestLocationUpdates(Ljava/lang/String;JFLandroid/app/PendingIntent;)V
15660 + .registers 7
15662 + if-eqz p1, :cond_4
15664 + if-nez p5, :cond_8
15666 + :cond_4
15667 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/app/PendingIntent;)V
15669 + :cond_7
15670 + :goto_7
15671 + return-void
15673 + :cond_8
15674 + const/4 v0, 0x0
15676 + invoke-direct {p0, p1, v0, p5}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15678 + move-result v0
15680 + if-nez v0, :cond_7
15682 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/app/PendingIntent;)V
15684 + goto :goto_7
15685 +.end method
15687 +.method public requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;)V
15688 + .registers 7
15690 + if-eqz p1, :cond_4
15692 + if-nez p5, :cond_8
15694 + :cond_4
15695 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;)V
15697 + :cond_7
15698 + :goto_7
15699 + return-void
15701 + :cond_8
15702 + const/4 v0, 0x0
15704 + invoke-direct {p0, p1, p5, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15706 + move-result v0
15708 + if-nez v0, :cond_7
15710 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;)V
15712 + goto :goto_7
15713 +.end method
15715 +.method public requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;Landroid/os/Looper;)V
15716 + .registers 8
15718 + if-eqz p1, :cond_4
15720 + if-nez p5, :cond_8
15722 + :cond_4
15723 + invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;Landroid/os/Looper;)V
15725 + :cond_7
15726 + :goto_7
15727 + return-void
15729 + :cond_8
15730 + const/4 v0, 0x0
15732 + invoke-direct {p0, p1, p5, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15734 + move-result v0
15736 + if-nez v0, :cond_7
15738 + invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;Landroid/os/Looper;)V
15740 + goto :goto_7
15741 +.end method
15743 +.method public requestSingleUpdate(Landroid/location/Criteria;Landroid/app/PendingIntent;)V
15744 + .registers 4
15746 + if-eqz p1, :cond_4
15748 + if-nez p2, :cond_8
15750 + :cond_4
15751 + invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/app/PendingIntent;)V
15753 + :cond_7
15754 + :goto_7
15755 + return-void
15757 + :cond_8
15758 + const/4 v0, 0x0
15760 + invoke-direct {p0, p1, v0, p2}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15762 + move-result v0
15764 + if-nez v0, :cond_7
15766 + invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/app/PendingIntent;)V
15768 + goto :goto_7
15769 +.end method
15771 +.method public requestSingleUpdate(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
15772 + .registers 5
15774 + if-eqz p1, :cond_4
15776 + if-nez p2, :cond_8
15778 + :cond_4
15779 + invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
15781 + :cond_7
15782 + :goto_7
15783 + return-void
15785 + :cond_8
15786 + const/4 v0, 0x0
15788 + invoke-direct {p0, p1, p2, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15790 + move-result v0
15792 + if-nez v0, :cond_7
15794 + invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
15796 + goto :goto_7
15797 +.end method
15799 +.method public requestSingleUpdate(Ljava/lang/String;Landroid/app/PendingIntent;)V
15800 + .registers 4
15802 + if-eqz p1, :cond_4
15804 + if-nez p2, :cond_8
15806 + :cond_4
15807 + invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/app/PendingIntent;)V
15809 + :cond_7
15810 + :goto_7
15811 + return-void
15813 + :cond_8
15814 + const/4 v0, 0x0
15816 + invoke-direct {p0, p1, v0, p2}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15818 + move-result v0
15820 + if-nez v0, :cond_7
15822 + invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/app/PendingIntent;)V
15824 + goto :goto_7
15825 +.end method
15827 +.method public requestSingleUpdate(Ljava/lang/String;Landroid/location/LocationListener;Landroid/os/Looper;)V
15828 + .registers 5
15830 + if-eqz p1, :cond_4
15832 + if-nez p2, :cond_8
15834 + :cond_4
15835 + invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/location/LocationListener;Landroid/os/Looper;)V
15837 + :cond_7
15838 + :goto_7
15839 + return-void
15841 + :cond_8
15842 + const/4 v0, 0x0
15844 + invoke-direct {p0, p1, p2, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15846 + move-result v0
15848 + if-nez v0, :cond_7
15850 + invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/location/LocationListener;Landroid/os/Looper;)V
15852 + goto :goto_7
15853 +.end method
15854 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyTelephonyManager.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyTelephonyManager.smali
15855 --- stock-framework/smali/android/privacy/surrogate/PrivacyTelephonyManager.smali 1969-12-31 18:00:00.000000000 -0600
15856 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyTelephonyManager.smali 2012-08-22 21:52:53.719715825 -0500
15857 @@ -0,0 +1,731 @@
15858 +.class public final Landroid/privacy/surrogate/PrivacyTelephonyManager;
15859 +.super Landroid/telephony/TelephonyManager;
15860 +.source "PrivacyTelephonyManager.java"
15863 +# static fields
15864 +.field private static final TAG:Ljava/lang/String; = "PrivacyTelephonyManager"
15867 +# instance fields
15868 +.field private context:Landroid/content/Context;
15870 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
15873 +# direct methods
15874 +.method public constructor <init>(Landroid/content/Context;)V
15875 + .registers 4
15877 + invoke-direct {p0, p1}, Landroid/telephony/TelephonyManager;-><init>(Landroid/content/Context;)V
15879 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
15881 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
15883 + const-string/jumbo v1, "privacy"
15885 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
15887 + move-result-object v1
15889 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
15891 + move-result-object v1
15893 + invoke-direct {v0, p1, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
15895 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15897 + return-void
15898 +.end method
15900 +.method private getNetworkInfo()Ljava/lang/String;
15901 + .registers 8
15903 + const/4 v5, 0x0
15905 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
15907 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
15909 + move-result-object v1
15911 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
15913 + move-result v2
15915 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15917 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
15919 + move-result-object v6
15921 + if-eqz v6, :cond_25
15923 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
15925 + move-result v0
15927 + if-eqz v0, :cond_25
15929 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15931 + const/4 v3, 0x1
15933 + const-string/jumbo v4, "networkInfoCurrent"
15935 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15937 + const-string v5, ""
15939 + :goto_24
15940 + return-object v5
15942 + :cond_25
15943 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15945 + const/4 v3, 0x0
15947 + const-string/jumbo v4, "networkInfoCurrent"
15949 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15951 + goto :goto_24
15952 +.end method
15954 +.method private getSimInfo()Ljava/lang/String;
15955 + .registers 8
15957 + const/4 v5, 0x0
15959 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
15961 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
15963 + move-result-object v1
15965 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
15967 + move-result v2
15969 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15971 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
15973 + move-result-object v6
15975 + if-eqz v6, :cond_25
15977 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSimInfoSetting()B
15979 + move-result v0
15981 + if-eqz v0, :cond_25
15983 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15985 + const/4 v3, 0x1
15987 + const-string/jumbo v4, "networkInfoSIM"
15989 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15991 + const-string v5, ""
15993 + :goto_24
15994 + return-object v5
15996 + :cond_25
15997 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15999 + const/4 v3, 0x0
16001 + const-string/jumbo v4, "networkInfoSIM"
16003 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16005 + goto :goto_24
16006 +.end method
16009 +# virtual methods
16010 +.method public getDeviceId()Ljava/lang/String;
16011 + .registers 8
16013 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16015 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16017 + move-result-object v1
16019 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16021 + move-result v2
16023 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16025 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16027 + move-result-object v6
16029 + if-eqz v6, :cond_28
16031 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
16033 + move-result v0
16035 + if-eqz v0, :cond_28
16037 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceId()Ljava/lang/String;
16039 + move-result-object v5
16041 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16043 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
16045 + move-result v3
16047 + const-string v4, "deviceID"
16049 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16051 + :goto_27
16052 + return-object v5
16054 + :cond_28
16055 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getDeviceId()Ljava/lang/String;
16057 + move-result-object v5
16059 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16061 + const/4 v3, 0x0
16063 + const-string v4, "deviceID"
16065 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16067 + goto :goto_27
16068 +.end method
16070 +.method public getLine1Number()Ljava/lang/String;
16071 + .registers 8
16073 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16075 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16077 + move-result-object v1
16079 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16081 + move-result v2
16083 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16085 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16087 + move-result-object v6
16089 + if-eqz v6, :cond_28
16091 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
16093 + move-result v0
16095 + if-eqz v0, :cond_28
16097 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1Number()Ljava/lang/String;
16099 + move-result-object v5
16101 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16103 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
16105 + move-result v3
16107 + const-string v4, "line1Number"
16109 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16111 + :goto_27
16112 + return-object v5
16114 + :cond_28
16115 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getLine1Number()Ljava/lang/String;
16117 + move-result-object v5
16119 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16121 + const/4 v3, 0x0
16123 + const-string v4, "line1Number"
16125 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16127 + goto :goto_27
16128 +.end method
16130 +.method public getNeighboringCellInfo()Ljava/util/List;
16131 + .registers 10
16132 + .annotation system Ldalvik/annotation/Signature;
16133 + value = {
16134 + "()",
16135 + "Ljava/util/List",
16136 + "<",
16137 + "Landroid/telephony/NeighboringCellInfo;",
16138 + ">;"
16140 + .end annotation
16142 + iget-object v6, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16144 + iget-object v7, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16146 + invoke-virtual {v7}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16148 + move-result-object v7
16150 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16152 + move-result v8
16154 + invoke-virtual {v6, v7, v8}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16156 + move-result-object v5
16158 + const/4 v3, 0x0
16160 + const-string v4, "[null]"
16162 + if-eqz v5, :cond_1c
16164 + invoke-virtual {v5}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
16166 + move-result v6
16168 + const/4 v7, 0x1
16170 + if-ne v6, v7, :cond_1d
16172 + :cond_1c
16173 + :goto_1c
16174 + return-object v3
16176 + :cond_1d
16177 + invoke-virtual {v5}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
16179 + move-result v6
16181 + if-eqz v6, :cond_2b
16183 + new-instance v3, Ljava/util/ArrayList;
16185 + invoke-direct {v3}, Ljava/util/ArrayList;-><init>()V
16187 + const-string v4, "[empty list of cells]"
16189 + goto :goto_1c
16191 + :cond_2b
16192 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNeighboringCellInfo()Ljava/util/List;
16194 + move-result-object v3
16196 + const-string v0, ""
16198 + invoke-interface {v3}, Ljava/util/List;->iterator()Ljava/util/Iterator;
16200 + move-result-object v2
16202 + :goto_35
16203 + invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z
16205 + move-result v6
16207 + if-eqz v6, :cond_5f
16209 + invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
16211 + move-result-object v1
16213 + check-cast v1, Landroid/telephony/NeighboringCellInfo;
16215 + new-instance v6, Ljava/lang/StringBuilder;
16217 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
16219 + invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16221 + move-result-object v6
16223 + const-string v7, "\t"
16225 + invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16227 + move-result-object v6
16229 + invoke-virtual {v6, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
16231 + move-result-object v6
16233 + const-string v7, "\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}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
16241 + move-result-object v0
16243 + goto :goto_35
16245 + :cond_5f
16246 + new-instance v6, Ljava/lang/StringBuilder;
16248 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
16250 + const-string v7, "[real value]:\n"
16252 + invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16254 + move-result-object v6
16256 + invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16258 + move-result-object v6
16260 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
16262 + move-result-object v4
16264 + goto :goto_1c
16265 +.end method
16267 +.method public getNetworkCountryIso()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;->getNetworkCountryIso()Ljava/lang/String;
16278 + move-result-object v0
16280 + :cond_a
16281 + return-object v0
16282 +.end method
16284 +.method public getNetworkOperator()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;->getNetworkOperator()Ljava/lang/String;
16295 + move-result-object v0
16297 + :cond_a
16298 + return-object v0
16299 +.end method
16301 +.method public getNetworkOperatorName()Ljava/lang/String;
16302 + .registers 2
16304 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getNetworkInfo()Ljava/lang/String;
16306 + move-result-object v0
16308 + if-nez v0, :cond_a
16310 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNetworkOperatorName()Ljava/lang/String;
16312 + move-result-object v0
16314 + :cond_a
16315 + return-object v0
16316 +.end method
16318 +.method public getSimCountryIso()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;->getSimCountryIso()Ljava/lang/String;
16329 + move-result-object v0
16331 + :cond_a
16332 + return-object v0
16333 +.end method
16335 +.method public getSimOperator()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;->getSimOperator()Ljava/lang/String;
16346 + move-result-object v0
16348 + :cond_a
16349 + return-object v0
16350 +.end method
16352 +.method public getSimOperatorName()Ljava/lang/String;
16353 + .registers 2
16355 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getSimInfo()Ljava/lang/String;
16357 + move-result-object v0
16359 + if-nez v0, :cond_a
16361 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSimOperatorName()Ljava/lang/String;
16363 + move-result-object v0
16365 + :cond_a
16366 + return-object v0
16367 +.end method
16369 +.method public getSimSerialNumber()Ljava/lang/String;
16370 + .registers 8
16372 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16374 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16376 + move-result-object v1
16378 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16380 + move-result v2
16382 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16384 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16386 + move-result-object v6
16388 + if-eqz v6, :cond_29
16390 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSimSerialNumberSetting()B
16392 + move-result v0
16394 + if-eqz v0, :cond_29
16396 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSimSerialNumber()Ljava/lang/String;
16398 + move-result-object v5
16400 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16402 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSimSerialNumberSetting()B
16404 + move-result v3
16406 + const-string/jumbo v4, "simSerial"
16408 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16410 + :goto_28
16411 + return-object v5
16413 + :cond_29
16414 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSimSerialNumber()Ljava/lang/String;
16416 + move-result-object v5
16418 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16420 + const/4 v3, 0x0
16422 + const-string/jumbo v4, "simSerial"
16424 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16426 + goto :goto_28
16427 +.end method
16429 +.method public getSubscriberId()Ljava/lang/String;
16430 + .registers 8
16432 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16434 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16436 + move-result-object v1
16438 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16440 + move-result v2
16442 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16444 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16446 + move-result-object v6
16448 + if-eqz v6, :cond_29
16450 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberIdSetting()B
16452 + move-result v0
16454 + if-eqz v0, :cond_29
16456 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberId()Ljava/lang/String;
16458 + move-result-object v5
16460 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16462 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberIdSetting()B
16464 + move-result v3
16466 + const-string/jumbo v4, "subscriberID"
16468 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16470 + :goto_28
16471 + return-object v5
16473 + :cond_29
16474 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSubscriberId()Ljava/lang/String;
16476 + move-result-object v5
16478 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16480 + const/4 v3, 0x0
16482 + const-string/jumbo v4, "subscriberID"
16484 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16486 + goto :goto_28
16487 +.end method
16489 +.method public getVoiceMailNumber()Ljava/lang/String;
16490 + .registers 8
16492 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16494 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16496 + move-result-object v1
16498 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16500 + move-result v2
16502 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16504 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16506 + move-result-object v6
16508 + if-eqz v6, :cond_28
16510 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
16512 + move-result v0
16514 + if-eqz v0, :cond_28
16516 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1Number()Ljava/lang/String;
16518 + move-result-object v5
16520 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16522 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
16524 + move-result v3
16526 + const-string v4, "line1Number"
16528 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16530 + :goto_27
16531 + return-object v5
16533 + :cond_28
16534 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getVoiceMailNumber()Ljava/lang/String;
16536 + move-result-object v5
16538 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16540 + const/4 v3, 0x0
16542 + const-string v4, "line1Number"
16544 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16546 + goto :goto_27
16547 +.end method
16549 +.method public listen(Landroid/telephony/PhoneStateListener;I)V
16550 + .registers 4
16552 + and-int/lit8 v0, p2, 0x10
16554 + if-nez v0, :cond_8
16556 + and-int/lit8 v0, p2, 0x20
16558 + if-eqz v0, :cond_21
16560 + :cond_8
16561 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16563 + invoke-virtual {p1, v0}, Landroid/telephony/PhoneStateListener;->setContext(Landroid/content/Context;)V
16565 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16567 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16569 + move-result-object v0
16571 + invoke-virtual {p1, v0}, Landroid/telephony/PhoneStateListener;->setPackageName(Ljava/lang/String;)V
16573 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16575 + move-result v0
16577 + invoke-virtual {p1, v0}, Landroid/telephony/PhoneStateListener;->setUid(I)V
16579 + invoke-super {p0, p1, p2}, Landroid/telephony/TelephonyManager;->listen(Landroid/telephony/PhoneStateListener;I)V
16581 + :goto_20
16582 + return-void
16584 + :cond_21
16585 + invoke-super {p0, p1, p2}, Landroid/telephony/TelephonyManager;->listen(Landroid/telephony/PhoneStateListener;I)V
16587 + goto :goto_20
16588 +.end method
16589 diff -Npru stock-framework/smali/android/telephony/PhoneStateListener$1.smali pdroid-framework/smali/android/telephony/PhoneStateListener$1.smali
16590 --- stock-framework/smali/android/telephony/PhoneStateListener$1.smali 2012-08-22 21:52:33.939617755 -0500
16591 +++ pdroid-framework/smali/android/telephony/PhoneStateListener$1.smali 2012-08-22 21:52:54.115717797 -0500
16592 @@ -64,23 +64,196 @@
16593 .end method
16595 .method public onCallStateChanged(ILjava/lang/String;)V
16596 - .registers 6
16597 + .registers 19
16599 - iget-object v0, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16600 + move-object/from16 v0, p0
16602 - iget-object v0, v0, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
16603 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16605 - const/16 v1, 0x20
16606 + #getter for: Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
16607 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
16609 - const/4 v2, 0x0
16610 + move-result-object v3
16612 - invoke-static {v0, v1, p1, v2, p2}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
16613 + if-eqz v3, :cond_99
16615 - move-result-object v0
16616 + if-eqz p2, :cond_99
16618 - invoke-virtual {v0}, Landroid/os/Message;->sendToTarget()V
16619 + invoke-virtual/range {p2 .. p2}, Ljava/lang/String;->isEmpty()Z
16621 + move-result v3
16623 + if-nez v3, :cond_99
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;->context:Landroid/content/Context;
16630 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
16632 + move-result-object v3
16634 + const-string/jumbo v4, "privacy"
16636 + invoke-virtual {v3, v4}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
16638 + move-result-object v2
16640 + check-cast v2, Landroid/privacy/PrivacySettingsManager;
16642 + move-object/from16 v0, p0
16644 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16646 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
16647 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
16649 + move-result-object v3
16651 + move-object/from16 v0, p0
16653 + iget-object v4, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16655 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
16656 + invoke-static {v4}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
16658 + move-result v4
16660 + invoke-virtual {v2, v3, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16662 + move-result-object v8
16664 + if-eqz v8, :cond_6a
16666 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getIncomingCallsSetting()B
16668 + move-result v3
16670 + if-eqz v3, :cond_6a
16672 + const-string v7, ""
16674 + move-object/from16 v0, p0
16676 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16678 + iget-object v3, v3, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
16680 + const/16 v4, 0x20
16682 + const/4 v5, 0x0
16684 + move/from16 v0, p1
16686 + invoke-static {v3, v4, v0, v5, v7}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
16688 + move-result-object v3
16690 + invoke-virtual {v3}, Landroid/os/Message;->sendToTarget()V
16692 + move-object/from16 v0, p0
16694 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16696 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
16697 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
16699 + move-result-object v3
16701 + move-object/from16 v0, p0
16703 + iget-object v4, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16705 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
16706 + invoke-static {v4}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
16708 + move-result v4
16710 + const/4 v5, 0x1
16712 + const-string v6, "incomingCall"
16714 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16716 + :goto_69
16717 return-void
16719 + :cond_6a
16720 + move-object/from16 v0, p0
16722 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16724 + iget-object v3, v3, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
16726 + const/16 v4, 0x20
16728 + const/4 v5, 0x0
16730 + move/from16 v0, p1
16732 + move-object/from16 v1, p2
16734 + invoke-static {v3, v4, v0, v5, v1}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
16736 + move-result-object v3
16738 + invoke-virtual {v3}, Landroid/os/Message;->sendToTarget()V
16740 + move-object/from16 v0, p0
16742 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16744 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
16745 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
16747 + move-result-object v10
16749 + move-object/from16 v0, p0
16751 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16753 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
16754 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
16756 + move-result v11
16758 + const/4 v12, 0x0
16760 + const-string v13, "incomingCall"
16762 + move-object v9, v2
16764 + move-object/from16 v14, p2
16766 + move-object v15, v8
16768 + invoke-virtual/range {v9 .. v15}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16770 + goto :goto_69
16772 + :cond_99
16773 + move-object/from16 v0, p0
16775 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16777 + iget-object v3, v3, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
16779 + const/16 v4, 0x20
16781 + const/4 v5, 0x0
16783 + move/from16 v0, p1
16785 + move-object/from16 v1, p2
16787 + invoke-static {v3, v4, v0, v5, v1}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
16789 + move-result-object v3
16791 + invoke-virtual {v3}, Landroid/os/Message;->sendToTarget()V
16793 + goto :goto_69
16794 .end method
16796 .method public onCellInfoChanged(Landroid/telephony/CellInfo;)V
16797 @@ -104,27 +277,124 @@
16798 .end method
16800 .method public onCellLocationChanged(Landroid/os/Bundle;)V
16801 - .registers 6
16802 + .registers 10
16804 + const/4 v5, 0x0
16806 const/4 v3, 0x0
16808 invoke-static {p1}, Landroid/telephony/CellLocation;->newFromBundle(Landroid/os/Bundle;)Landroid/telephony/CellLocation;
16810 + move-result-object v7
16812 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16814 + #getter for: Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
16815 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
16817 + move-result-object v1
16819 + if-eqz v1, :cond_4a
16821 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16823 + #getter for: Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
16824 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
16826 + move-result-object v1
16828 + const-string/jumbo v2, "privacy"
16830 + invoke-virtual {v1, v2}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
16832 move-result-object v0
16834 + check-cast v0, Landroid/privacy/PrivacySettingsManager;
16836 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16838 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
16839 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
16841 + move-result-object v1
16843 + iget-object v2, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16845 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
16846 + invoke-static {v2}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
16848 + move-result v2
16850 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16852 + move-result-object v6
16854 + if-eqz v6, :cond_4b
16856 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
16858 + move-result v1
16860 + if-eqz v1, :cond_4b
16862 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16864 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
16865 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
16867 + move-result-object v1
16869 + iget-object v2, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16871 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
16872 + invoke-static {v2}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
16874 + move-result v2
16876 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
16878 + move-result v3
16880 + const-string v4, "locationNetwork"
16882 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16884 + :cond_4a
16885 + :goto_4a
16886 + return-void
16888 + :cond_4b
16889 iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16891 iget-object v1, v1, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
16893 const/16 v2, 0x10
16895 - invoke-static {v1, v2, v3, v3, v0}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
16896 + invoke-static {v1, v2, v3, v3, v7}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
16898 move-result-object v1
16900 invoke-virtual {v1}, Landroid/os/Message;->sendToTarget()V
16902 - return-void
16903 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16905 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
16906 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
16908 + move-result-object v1
16910 + iget-object v2, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16912 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
16913 + invoke-static {v2}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
16915 + move-result v2
16917 + const-string v4, "locationNetwork"
16919 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16921 + goto :goto_4a
16922 .end method
16924 .method public onDataActivity(I)V
16925 diff -Npru stock-framework/smali/android/telephony/PhoneStateListener.smali pdroid-framework/smali/android/telephony/PhoneStateListener.smali
16926 --- stock-framework/smali/android/telephony/PhoneStateListener.smali 2012-08-22 21:52:32.995613075 -0500
16927 +++ pdroid-framework/smali/android/telephony/PhoneStateListener.smali 2012-08-22 21:52:53.007712296 -0500
16928 @@ -31,12 +31,20 @@
16930 .field public static final LISTEN_SIGNAL_STRENGTHS:I = 0x100
16932 +.field private static final TAG:Ljava/lang/String; = "PhoneStateListener"
16935 # instance fields
16936 .field callback:Lcom/android/internal/telephony/IPhoneStateListener;
16938 +.field private context:Landroid/content/Context;
16940 .field mHandler:Landroid/os/Handler;
16942 +.field private packageName:Ljava/lang/String;
16944 +.field private uid:I
16947 # direct methods
16948 .method public constructor <init>()V
16949 @@ -59,6 +67,30 @@
16950 return-void
16951 .end method
16953 +.method static synthetic access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
16954 + .registers 2
16956 + iget-object v0, p0, Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
16958 + return-object v0
16959 +.end method
16961 +.method static synthetic access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
16962 + .registers 2
16964 + iget-object v0, p0, Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
16966 + return-object v0
16967 +.end method
16969 +.method static synthetic access$200(Landroid/telephony/PhoneStateListener;)I
16970 + .registers 2
16972 + iget v0, p0, Landroid/telephony/PhoneStateListener;->uid:I
16974 + return v0
16975 +.end method
16978 # virtual methods
16979 .method public onCallForwardingIndicatorChanged(Z)V
16980 @@ -134,3 +166,27 @@
16982 return-void
16983 .end method
16985 +.method public setContext(Landroid/content/Context;)V
16986 + .registers 2
16988 + iput-object p1, p0, Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
16990 + return-void
16991 +.end method
16993 +.method public setPackageName(Ljava/lang/String;)V
16994 + .registers 2
16996 + iput-object p1, p0, Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
16998 + return-void
16999 +.end method
17001 +.method public setUid(I)V
17002 + .registers 2
17004 + iput p1, p0, Landroid/telephony/PhoneStateListener;->uid:I
17006 + return-void
17007 +.end method
17008 diff -Npru stock-framework/smali/android/text/SpannableStringBuilder.smali pdroid-framework/smali/android/text/SpannableStringBuilder.smali
17009 --- stock-framework/smali/android/text/SpannableStringBuilder.smali 2012-08-22 21:52:33.991618012 -0500
17010 +++ pdroid-framework/smali/android/text/SpannableStringBuilder.smali 2012-08-22 21:52:54.159718032 -0500
17011 @@ -681,17 +681,17 @@
17013 const/4 v5, 0x1
17015 - if-ge v4, v5, :cond_18f
17016 + if-ge v4, v5, :cond_190
17018 new-instance v4, Ljava/lang/Exception;
17020 - const-string v5, "mGapLength < 1"
17021 + const-string/jumbo v5, "mGapLength < 1"
17023 invoke-direct {v4, v5}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
17025 invoke-virtual {v4}, Ljava/lang/Exception;->printStackTrace()V
17027 - :cond_18f
17028 + :cond_190
17029 move-object/from16 v0, p0
17031 iget-object v4, v0, Landroid/text/SpannableStringBuilder;->mText:[C
17032 @@ -706,7 +706,7 @@
17034 invoke-static {v0, v1, v2, v4, v3}, Landroid/text/TextUtils;->getChars(Ljava/lang/CharSequence;II[CI)V
17036 - if-lez v33, :cond_200
17037 + if-lez v33, :cond_201
17039 move-object/from16 v0, p0
17041 @@ -724,21 +724,21 @@
17043 array-length v5, v5
17045 - if-ne v4, v5, :cond_1fe
17046 + if-ne v4, v5, :cond_1ff
17048 const/4 v14, 0x1
17050 - :goto_1b1
17051 + :goto_1b2
17052 const/16 v30, 0x0
17054 - :goto_1b3
17055 + :goto_1b4
17056 move-object/from16 v0, p0
17058 iget v4, v0, Landroid/text/SpannableStringBuilder;->mSpanCount:I
17060 move/from16 v0, v30
17062 - if-ge v0, v4, :cond_200
17063 + if-ge v0, v4, :cond_201
17065 move-object/from16 v0, p0
17067 @@ -806,14 +806,14 @@
17069 add-int/lit8 v30, v30, 0x1
17071 - goto :goto_1b3
17072 + goto :goto_1b4
17074 - :cond_1fe
17075 + :cond_1ff
17076 const/4 v14, 0x0
17078 - goto :goto_1b1
17079 + goto :goto_1b2
17081 - :cond_200
17082 + :cond_201
17083 move-object/from16 v0, p0
17085 iget v4, v0, Landroid/text/SpannableStringBuilder;->mSpanCount:I
17086 @@ -826,7 +826,7 @@
17088 instance-of v4, v0, Landroid/text/Spanned;
17090 - if-eqz v4, :cond_26d
17091 + if-eqz v4, :cond_26e
17093 move-object/from16 v35, p3
17095 @@ -846,14 +846,14 @@
17097 const/16 v30, 0x0
17099 - :goto_220
17100 + :goto_221
17101 move-object/from16 v0, v36
17103 array-length v4, v0
17105 move/from16 v0, v30
17107 - if-ge v0, v4, :cond_26d
17108 + if-ge v0, v4, :cond_26e
17110 aget-object v4, v36, v30
17112 @@ -875,20 +875,20 @@
17114 move/from16 v1, p4
17116 - if-ge v0, v1, :cond_23f
17117 + if-ge v0, v1, :cond_240
17119 move/from16 v37, p4
17121 - :cond_23f
17122 + :cond_240
17123 move/from16 v0, v28
17125 move/from16 v1, p5
17127 - if-le v0, v1, :cond_247
17128 + if-le v0, v1, :cond_248
17130 move/from16 v28, p5
17132 - :cond_247
17133 + :cond_248
17134 aget-object v4, v36, v30
17136 move-object/from16 v0, p0
17137 @@ -897,7 +897,7 @@
17139 move-result v4
17141 - if-gez v4, :cond_26a
17142 + if-gez v4, :cond_26b
17144 const/16 v22, 0x0
17146 @@ -923,12 +923,12 @@
17148 invoke-direct/range {v21 .. v26}, Landroid/text/SpannableStringBuilder;->setSpan(ZLjava/lang/Object;III)V
17150 - :cond_26a
17151 + :cond_26b
17152 add-int/lit8 v30, v30, 0x1
17154 - goto :goto_220
17155 + goto :goto_221
17157 - :cond_26d
17158 + :cond_26e
17159 return-void
17160 .end method
17162 @@ -1500,20 +1500,20 @@
17164 const/4 v7, 0x1
17166 - if-ge v6, v7, :cond_3e
17167 + if-ge v6, v7, :cond_3f
17169 new-instance v6, Ljava/lang/Exception;
17171 - const-string v7, "mGapLength < 1"
17172 + const-string/jumbo v7, "mGapLength < 1"
17174 invoke-direct {v6, v7}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
17176 invoke-virtual {v6}, Ljava/lang/Exception;->printStackTrace()V
17178 - :cond_3e
17179 + :cond_3f
17180 const/4 v2, 0x0
17182 - :goto_3f
17183 + :goto_40
17184 iget v6, p0, Landroid/text/SpannableStringBuilder;->mSpanCount:I
17186 if-ge v2, v6, :cond_e
17187 @@ -1524,7 +1524,7 @@
17189 iget v7, p0, Landroid/text/SpannableStringBuilder;->mGapStart:I
17191 - if-le v6, v7, :cond_52
17192 + if-le v6, v7, :cond_53
17194 iget-object v6, p0, Landroid/text/SpannableStringBuilder;->mSpanStarts:[I
17196 @@ -1534,14 +1534,14 @@
17198 aput v7, v6, v2
17200 - :cond_52
17201 + :cond_53
17202 iget-object v6, p0, Landroid/text/SpannableStringBuilder;->mSpanEnds:[I
17204 aget v6, v6, v2
17206 iget v7, p0, Landroid/text/SpannableStringBuilder;->mGapStart:I
17208 - if-le v6, v7, :cond_61
17209 + if-le v6, v7, :cond_62
17211 iget-object v6, p0, Landroid/text/SpannableStringBuilder;->mSpanEnds:[I
17213 @@ -1551,10 +1551,10 @@
17215 aput v7, v6, v2
17217 - :cond_61
17218 + :cond_62
17219 add-int/lit8 v2, v2, 0x1
17221 - goto :goto_3f
17222 + goto :goto_40
17223 .end method
17225 .method private sendAfterTextChanged([Landroid/text/TextWatcher;)V