Fixed pdroid security hole (ported from OpenPDroid)
[auto-patcher.git] / patches / pdroid / 4.1 / aokp / 20120809 / framework.patch
bloba26abd4afc83641b16c43200c9c6dd57459a64ee
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-10 00:09:33.149498478 -0500
3 +++ pdroid-framework/smali/android/app/ContextImpl$20.smali 2012-08-10 00:09:11.657391909 -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-10 00:09:33.153498502 -0500
40 +++ pdroid-framework/smali/android/app/ContextImpl$29.smali 2012-08-10 00:09:11.661391925 -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-10 00:09:11.665391945 -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-10 00:09:33.157498518 -0500
113 +++ pdroid-framework/smali/android/app/ContextImpl$3.smali 2012-08-10 00:09:11.665391945 -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-10 00:09:33.189498676 -0500
128 +++ pdroid-framework/smali/android/app/ContextImpl.smali 2012-08-10 00:09:11.697392106 -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-10 00:09:33.201498740 -0500
197 +++ pdroid-framework/smali/android/app/Fragment.smali 2012-08-10 00:09:11.705392146 -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-10 00:09:33.605500743 -0500
357 +++ pdroid-framework/smali/android/app/LoaderManagerImpl$LoaderInfo.smali 2012-08-10 00:09:12.097394087 -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/content/ContentResolver.smali pdroid-framework/smali/android/content/ContentResolver.smali
401 --- stock-framework/smali/android/content/ContentResolver.smali 2012-08-10 00:09:33.173498601 -0500
402 +++ pdroid-framework/smali/android/content/ContentResolver.smali 2012-08-10 00:09:11.681392026 -0500
403 @@ -3506,8 +3506,8 @@
405 invoke-virtual {v0, v9}, Landroid/os/CancellationSignal;->setRemote(Landroid/os/ICancellationSignal;)V
406 :try_end_1d
407 - .catchall {:try_start_a .. :try_end_1d} :catchall_a8
408 - .catch Landroid/os/RemoteException; {:try_start_a .. :try_end_1d} :catch_9b
409 + .catchall {:try_start_a .. :try_end_1d} :catchall_b6
410 + .catch Landroid/os/RemoteException; {:try_start_a .. :try_end_1d} :catch_a9
412 :cond_1d
413 move-object/from16 v4, p1
414 @@ -3523,64 +3523,82 @@
415 :try_start_27
416 invoke-interface/range {v3 .. v9}, Landroid/content/IContentProvider;->query(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Landroid/os/ICancellationSignal;)Landroid/database/Cursor;
417 :try_end_2a
418 - .catchall {:try_start_27 .. :try_end_2a} :catchall_a8
419 - .catch Landroid/os/DeadObjectException; {:try_start_27 .. :try_end_2a} :catch_3e
420 - .catch Landroid/os/RemoteException; {:try_start_27 .. :try_end_2a} :catch_9b
421 + .catchall {:try_start_27 .. :try_end_2a} :catchall_b6
422 + .catch Landroid/os/DeadObjectException; {:try_start_27 .. :try_end_2a} :catch_4c
423 + .catch Landroid/os/RemoteException; {:try_start_27 .. :try_end_2a} :catch_a9
425 move-result-object v19
427 :goto_2b
428 - if-nez v19, :cond_67
429 + :try_start_2b
430 + move-object/from16 v0, p0
432 + iget-object v4, v0, Landroid/content/ContentResolver;->mContext:Landroid/content/Context;
434 + move-object/from16 v0, p1
436 + move-object/from16 v1, p2
438 + move-object/from16 v2, v19
440 + invoke-static {v0, v1, v4, v2}, Landroid/privacy/surrogate/PrivacyContentResolver;->enforcePrivacyPermission(Landroid/net/Uri;[Ljava/lang/String;Landroid/content/Context;Landroid/database/Cursor;)Landroid/database/Cursor;
441 + :try_end_38
442 + .catchall {:try_start_2b .. :try_end_38} :catchall_b6
443 + .catch Landroid/os/RemoteException; {:try_start_2b .. :try_end_38} :catch_a9
445 + move-result-object v19
447 + if-nez v19, :cond_75
449 const/16 v22, 0x0
451 - if-eqz v3, :cond_36
452 + if-eqz v3, :cond_44
454 move-object/from16 v0, p0
456 invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
458 - :cond_36
459 + :cond_44
460 if-eqz v10, :cond_8
462 - :goto_38
463 + :goto_46
464 move-object/from16 v0, p0
466 invoke-virtual {v0, v10}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
468 goto :goto_8
470 - :catch_3e
471 + :catch_4c
472 move-exception v18
474 - :try_start_3f
475 + :try_start_4d
476 move-object/from16 v0, p0
478 invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->unstableProviderDied(Landroid/content/IContentProvider;)V
480 invoke-virtual/range {p0 .. p1}, Landroid/content/ContentResolver;->acquireProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
481 - :try_end_47
482 - .catchall {:try_start_3f .. :try_end_47} :catchall_a8
483 - .catch Landroid/os/RemoteException; {:try_start_3f .. :try_end_47} :catch_9b
484 + :try_end_55
485 + .catchall {:try_start_4d .. :try_end_55} :catchall_b6
486 + .catch Landroid/os/RemoteException; {:try_start_4d .. :try_end_55} :catch_a9
488 move-result-object v10
490 - if-nez v10, :cond_56
491 + if-nez v10, :cond_64
493 const/16 v22, 0x0
495 - if-eqz v3, :cond_53
496 + if-eqz v3, :cond_61
498 move-object/from16 v0, p0
500 invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
502 - :cond_53
503 + :cond_61
504 if-eqz v10, :cond_8
506 - goto :goto_38
507 + goto :goto_46
509 - :cond_56
510 + :cond_64
511 move-object/from16 v11, p1
513 move-object/from16 v12, p2
514 @@ -3593,14 +3611,14 @@
516 move-object/from16 v16, v9
518 - :try_start_62
519 + :try_start_70
520 invoke-interface/range {v10 .. v16}, Landroid/content/IContentProvider;->query(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Landroid/os/ICancellationSignal;)Landroid/database/Cursor;
522 move-result-object v19
524 goto :goto_2b
526 - :cond_67
527 + :cond_75
528 invoke-interface/range {v19 .. v19}, Landroid/database/Cursor;->getCount()I
530 invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
531 @@ -3623,11 +3641,11 @@
533 new-instance v22, Landroid/content/ContentResolver$CursorWrapperInner;
535 - if-eqz v10, :cond_96
536 + if-eqz v10, :cond_a4
538 move-object v4, v10
540 - :goto_82
541 + :goto_90
542 move-object/from16 v0, v22
544 move-object/from16 v1, p0
545 @@ -3635,67 +3653,67 @@
546 move-object/from16 v2, v19
548 invoke-direct {v0, v1, v2, v4}, Landroid/content/ContentResolver$CursorWrapperInner;-><init>(Landroid/content/ContentResolver;Landroid/database/Cursor;Landroid/content/IContentProvider;)V
549 - :try_end_8b
550 - .catchall {:try_start_62 .. :try_end_8b} :catchall_a8
551 - .catch Landroid/os/RemoteException; {:try_start_62 .. :try_end_8b} :catch_9b
552 + :try_end_99
553 + .catchall {:try_start_70 .. :try_end_99} :catchall_b6
554 + .catch Landroid/os/RemoteException; {:try_start_70 .. :try_end_99} :catch_a9
556 const/4 v10, 0x0
558 - if-eqz v3, :cond_93
559 + if-eqz v3, :cond_a1
561 move-object/from16 v0, p0
563 invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
565 - :cond_93
566 + :cond_a1
567 if-eqz v10, :cond_8
569 - goto :goto_38
570 + goto :goto_46
572 - :cond_96
573 - :try_start_96
574 + :cond_a4
575 + :try_start_a4
576 invoke-virtual/range {p0 .. p1}, Landroid/content/ContentResolver;->acquireProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
577 - :try_end_99
578 - .catchall {:try_start_96 .. :try_end_99} :catchall_a8
579 - .catch Landroid/os/RemoteException; {:try_start_96 .. :try_end_99} :catch_9b
580 + :try_end_a7
581 + .catchall {:try_start_a4 .. :try_end_a7} :catchall_b6
582 + .catch Landroid/os/RemoteException; {:try_start_a4 .. :try_end_a7} :catch_a9
584 move-result-object v4
586 - goto :goto_82
587 + goto :goto_90
589 - :catch_9b
590 + :catch_a9
591 move-exception v18
593 const/16 v22, 0x0
595 - if-eqz v3, :cond_a5
596 + if-eqz v3, :cond_b3
598 move-object/from16 v0, p0
600 invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
602 - :cond_a5
603 + :cond_b3
604 if-eqz v10, :cond_8
606 - goto :goto_38
607 + goto :goto_46
609 - :catchall_a8
610 + :catchall_b6
611 move-exception v4
613 - if-eqz v3, :cond_b0
614 + if-eqz v3, :cond_be
616 move-object/from16 v0, p0
618 invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
620 - :cond_b0
621 - if-eqz v10, :cond_b7
622 + :cond_be
623 + if-eqz v10, :cond_c5
625 move-object/from16 v0, p0
627 invoke-virtual {v0, v10}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
629 - :cond_b7
630 + :cond_c5
631 throw v4
632 .end method
634 diff -Npru stock-framework/smali/android/location/Location.smali pdroid-framework/smali/android/location/Location.smali
635 --- stock-framework/smali/android/location/Location.smali 2012-08-10 00:09:35.429509784 -0500
636 +++ pdroid-framework/smali/android/location/Location.smali 2012-08-10 00:09:13.881402936 -0500
637 @@ -1707,7 +1707,7 @@
639 move-result-object v0
641 - const-string v1, "mHasAltitude="
642 + const-string/jumbo v1, "mHasAltitude="
644 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
646 @@ -1745,7 +1745,7 @@
648 move-result-object v0
650 - const-string v1, "mHasSpeed="
651 + const-string/jumbo v1, "mHasSpeed="
653 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
655 @@ -1783,7 +1783,7 @@
657 move-result-object v0
659 - const-string v1, "mHasBearing="
660 + const-string/jumbo v1, "mHasBearing="
662 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
664 @@ -1821,7 +1821,7 @@
666 move-result-object v0
668 - const-string v1, "mHasAccuracy="
669 + const-string/jumbo v1, "mHasAccuracy="
671 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
673 diff -Npru stock-framework/smali/android/privacy/IPrivacySettingsManager.smali pdroid-framework/smali/android/privacy/IPrivacySettingsManager.smali
674 --- stock-framework/smali/android/privacy/IPrivacySettingsManager.smali 1969-12-31 18:00:00.000000000 -0600
675 +++ pdroid-framework/smali/android/privacy/IPrivacySettingsManager.smali 2012-08-10 00:09:14.701407003 -0500
676 @@ -0,0 +1,104 @@
677 +.class public interface abstract Landroid/privacy/IPrivacySettingsManager;
678 +.super Ljava/lang/Object;
679 +.source "IPrivacySettingsManager.java"
681 +# interfaces
682 +.implements Landroid/os/IInterface;
685 +# annotations
686 +.annotation system Ldalvik/annotation/MemberClasses;
687 + value = {
688 + Landroid/privacy/IPrivacySettingsManager$Stub;
690 +.end annotation
693 +# virtual methods
694 +.method public abstract addObserver(Ljava/lang/String;)V
695 + .annotation system Ldalvik/annotation/Throws;
696 + value = {
697 + Landroid/os/RemoteException;
699 + .end annotation
700 +.end method
702 +.method public abstract deleteSettings(Ljava/lang/String;)Z
703 + .annotation system Ldalvik/annotation/Throws;
704 + value = {
705 + Landroid/os/RemoteException;
707 + .end annotation
708 +.end method
710 +.method public abstract getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
711 + .annotation system Ldalvik/annotation/Throws;
712 + value = {
713 + Landroid/os/RemoteException;
715 + .end annotation
716 +.end method
718 +.method public abstract getVersion()D
719 + .annotation system Ldalvik/annotation/Throws;
720 + value = {
721 + Landroid/os/RemoteException;
723 + .end annotation
724 +.end method
726 +.method public abstract notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
727 + .annotation system Ldalvik/annotation/Throws;
728 + value = {
729 + Landroid/os/RemoteException;
731 + .end annotation
732 +.end method
734 +.method public abstract purgeSettings()Z
735 + .annotation system Ldalvik/annotation/Throws;
736 + value = {
737 + Landroid/os/RemoteException;
739 + .end annotation
740 +.end method
742 +.method public abstract registerObservers()V
743 + .annotation system Ldalvik/annotation/Throws;
744 + value = {
745 + Landroid/os/RemoteException;
747 + .end annotation
748 +.end method
750 +.method public abstract saveSettings(Landroid/privacy/PrivacySettings;)Z
751 + .annotation system Ldalvik/annotation/Throws;
752 + value = {
753 + Landroid/os/RemoteException;
755 + .end annotation
756 +.end method
758 +.method public abstract setBootCompleted()V
759 + .annotation system Ldalvik/annotation/Throws;
760 + value = {
761 + Landroid/os/RemoteException;
763 + .end annotation
764 +.end method
766 +.method public abstract setEnabled(Z)Z
767 + .annotation system Ldalvik/annotation/Throws;
768 + value = {
769 + Landroid/os/RemoteException;
771 + .end annotation
772 +.end method
774 +.method public abstract setNotificationsEnabled(Z)Z
775 + .annotation system Ldalvik/annotation/Throws;
776 + value = {
777 + Landroid/os/RemoteException;
779 + .end annotation
780 +.end method
781 diff -Npru stock-framework/smali/android/privacy/IPrivacySettingsManager$Stub$Proxy.smali pdroid-framework/smali/android/privacy/IPrivacySettingsManager$Stub$Proxy.smali
782 --- stock-framework/smali/android/privacy/IPrivacySettingsManager$Stub$Proxy.smali 1969-12-31 18:00:00.000000000 -0600
783 +++ pdroid-framework/smali/android/privacy/IPrivacySettingsManager$Stub$Proxy.smali 2012-08-10 00:09:14.701407003 -0500
784 @@ -0,0 +1,743 @@
785 +.class Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;
786 +.super Ljava/lang/Object;
787 +.source "IPrivacySettingsManager.java"
789 +# interfaces
790 +.implements Landroid/privacy/IPrivacySettingsManager;
793 +# annotations
794 +.annotation system Ldalvik/annotation/EnclosingClass;
795 + value = Landroid/privacy/IPrivacySettingsManager$Stub;
796 +.end annotation
798 +.annotation system Ldalvik/annotation/InnerClass;
799 + accessFlags = 0xa
800 + name = "Proxy"
801 +.end annotation
804 +# instance fields
805 +.field private mRemote:Landroid/os/IBinder;
808 +# direct methods
809 +.method constructor <init>(Landroid/os/IBinder;)V
810 + .registers 2
812 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
814 + iput-object p1, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
816 + return-void
817 +.end method
820 +# virtual methods
821 +.method public addObserver(Ljava/lang/String;)V
822 + .registers 7
823 + .annotation system Ldalvik/annotation/Throws;
824 + value = {
825 + Landroid/os/RemoteException;
827 + .end annotation
829 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
831 + move-result-object v0
833 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
835 + move-result-object v1
837 + :try_start_8
838 + const-string v2, "android.privacy.IPrivacySettingsManager"
840 + invoke-virtual {v0, v2}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
842 + invoke-virtual {v0, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
844 + iget-object v2, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
846 + const/4 v3, 0x6
848 + const/4 v4, 0x0
850 + invoke-interface {v2, v3, v0, v1, v4}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
852 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
853 + :try_end_1a
854 + .catchall {:try_start_8 .. :try_end_1a} :catchall_21
856 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
858 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
860 + return-void
862 + :catchall_21
863 + move-exception v2
865 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
867 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
869 + throw v2
870 +.end method
872 +.method public asBinder()Landroid/os/IBinder;
873 + .registers 2
875 + iget-object v0, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
877 + return-object v0
878 +.end method
880 +.method public deleteSettings(Ljava/lang/String;)Z
881 + .registers 8
882 + .annotation system Ldalvik/annotation/Throws;
883 + value = {
884 + Landroid/os/RemoteException;
886 + .end annotation
888 + const/4 v2, 0x0
890 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
892 + move-result-object v0
894 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
896 + move-result-object v1
898 + :try_start_9
899 + const-string v3, "android.privacy.IPrivacySettingsManager"
901 + invoke-virtual {v0, v3}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
903 + invoke-virtual {v0, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
905 + iget-object v3, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
907 + const/4 v4, 0x3
909 + const/4 v5, 0x0
911 + invoke-interface {v3, v4, v0, v1, v5}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
913 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
915 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
916 + :try_end_1e
917 + .catchall {:try_start_9 .. :try_end_1e} :catchall_29
919 + move-result v3
921 + if-eqz v3, :cond_22
923 + const/4 v2, 0x1
925 + :cond_22
926 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
928 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
930 + return v2
932 + :catchall_29
933 + move-exception v3
935 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
937 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
939 + throw v3
940 +.end method
942 +.method public getInterfaceDescriptor()Ljava/lang/String;
943 + .registers 2
945 + const-string v0, "android.privacy.IPrivacySettingsManager"
947 + return-object v0
948 +.end method
950 +.method public getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
951 + .registers 8
952 + .annotation system Ldalvik/annotation/Throws;
953 + value = {
954 + Landroid/os/RemoteException;
956 + .end annotation
958 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
960 + move-result-object v0
962 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
964 + move-result-object v1
966 + :try_start_8
967 + const-string v3, "android.privacy.IPrivacySettingsManager"
969 + invoke-virtual {v0, v3}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
971 + invoke-virtual {v0, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
973 + iget-object v3, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
975 + const/4 v4, 0x1
977 + const/4 v5, 0x0
979 + invoke-interface {v3, v4, v0, v1, v5}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
981 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
983 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
985 + move-result v3
987 + if-eqz v3, :cond_2f
989 + sget-object v3, Landroid/privacy/PrivacySettings;->CREATOR:Landroid/os/Parcelable$Creator;
991 + invoke-interface {v3, v1}, Landroid/os/Parcelable$Creator;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
993 + move-result-object v2
995 + check-cast v2, Landroid/privacy/PrivacySettings;
996 + :try_end_28
997 + .catchall {:try_start_8 .. :try_end_28} :catchall_31
999 + :goto_28
1000 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1002 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1004 + return-object v2
1006 + :cond_2f
1007 + const/4 v2, 0x0
1009 + goto :goto_28
1011 + :catchall_31
1012 + move-exception v3
1014 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1016 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1018 + throw v3
1019 +.end method
1021 +.method public getVersion()D
1022 + .registers 8
1023 + .annotation system Ldalvik/annotation/Throws;
1024 + value = {
1025 + Landroid/os/RemoteException;
1027 + .end annotation
1029 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1031 + move-result-object v0
1033 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1035 + move-result-object v1
1037 + :try_start_8
1038 + const-string v4, "android.privacy.IPrivacySettingsManager"
1040 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
1042 + iget-object v4, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
1044 + const/16 v5, 0x8
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;->readDouble()D
1053 + :try_end_1b
1054 + .catchall {:try_start_8 .. :try_end_1b} :catchall_23
1056 + move-result-wide v2
1058 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1060 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1062 + return-wide v2
1064 + :catchall_23
1065 + move-exception v4
1067 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1069 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1071 + throw v4
1072 +.end method
1074 +.method public notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
1075 + .registers 10
1076 + .annotation system Ldalvik/annotation/Throws;
1077 + value = {
1078 + Landroid/os/RemoteException;
1080 + .end annotation
1082 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1084 + move-result-object v0
1086 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1088 + move-result-object v1
1090 + :try_start_8
1091 + const-string v2, "android.privacy.IPrivacySettingsManager"
1093 + invoke-virtual {v0, v2}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
1095 + invoke-virtual {v0, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
1097 + invoke-virtual {v0, p2}, Landroid/os/Parcel;->writeByte(B)V
1099 + invoke-virtual {v0, p3}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
1101 + invoke-virtual {v0, p4}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
1103 + iget-object v2, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
1105 + const/4 v3, 0x4
1107 + const/4 v4, 0x0
1109 + invoke-interface {v2, v3, v0, v1, v4}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1111 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
1112 + :try_end_23
1113 + .catchall {:try_start_8 .. :try_end_23} :catchall_2a
1115 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1117 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1119 + return-void
1121 + :catchall_2a
1122 + move-exception v2
1124 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1126 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1128 + throw v2
1129 +.end method
1131 +.method public purgeSettings()Z
1132 + .registers 7
1133 + .annotation system Ldalvik/annotation/Throws;
1134 + value = {
1135 + Landroid/os/RemoteException;
1137 + .end annotation
1139 + const/4 v2, 0x0
1141 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1143 + move-result-object v0
1145 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1147 + move-result-object v1
1149 + :try_start_9
1150 + const-string v3, "android.privacy.IPrivacySettingsManager"
1152 + invoke-virtual {v0, v3}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
1154 + iget-object v3, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
1156 + const/4 v4, 0x7
1158 + const/4 v5, 0x0
1160 + invoke-interface {v3, v4, v0, v1, v5}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1162 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
1164 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
1165 + :try_end_1b
1166 + .catchall {:try_start_9 .. :try_end_1b} :catchall_26
1168 + move-result v3
1170 + if-eqz v3, :cond_1f
1172 + const/4 v2, 0x1
1174 + :cond_1f
1175 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1177 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1179 + return v2
1181 + :catchall_26
1182 + move-exception v3
1184 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1186 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1188 + throw v3
1189 +.end method
1191 +.method public registerObservers()V
1192 + .registers 6
1193 + .annotation system Ldalvik/annotation/Throws;
1194 + value = {
1195 + Landroid/os/RemoteException;
1197 + .end annotation
1199 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1201 + move-result-object v0
1203 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1205 + move-result-object v1
1207 + :try_start_8
1208 + const-string v2, "android.privacy.IPrivacySettingsManager"
1210 + invoke-virtual {v0, v2}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
1212 + iget-object v2, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
1214 + const/4 v3, 0x5
1216 + const/4 v4, 0x0
1218 + invoke-interface {v2, v3, v0, v1, v4}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1220 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
1221 + :try_end_17
1222 + .catchall {:try_start_8 .. :try_end_17} :catchall_1e
1224 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1226 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1228 + return-void
1230 + :catchall_1e
1231 + move-exception v2
1233 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1235 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1237 + throw v2
1238 +.end method
1240 +.method public saveSettings(Landroid/privacy/PrivacySettings;)Z
1241 + .registers 9
1242 + .annotation system Ldalvik/annotation/Throws;
1243 + value = {
1244 + Landroid/os/RemoteException;
1246 + .end annotation
1248 + const/4 v2, 0x1
1250 + const/4 v3, 0x0
1252 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1254 + move-result-object v0
1256 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1258 + move-result-object v1
1260 + :try_start_a
1261 + const-string v4, "android.privacy.IPrivacySettingsManager"
1263 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
1265 + if-eqz p1, :cond_30
1267 + const/4 v4, 0x1
1269 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInt(I)V
1271 + const/4 v4, 0x0
1273 + invoke-virtual {p1, v0, v4}, Landroid/privacy/PrivacySettings;->writeToParcel(Landroid/os/Parcel;I)V
1275 + :goto_19
1276 + iget-object v4, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
1278 + const/4 v5, 0x2
1280 + const/4 v6, 0x0
1282 + invoke-interface {v4, v5, v0, v1, v6}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1284 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
1286 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
1287 + :try_end_26
1288 + .catchall {:try_start_a .. :try_end_26} :catchall_35
1290 + move-result v4
1292 + if-eqz v4, :cond_3d
1294 + :goto_29
1295 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1297 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1299 + return v2
1301 + :cond_30
1302 + const/4 v4, 0x0
1304 + :try_start_31
1305 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInt(I)V
1306 + :try_end_34
1307 + .catchall {:try_start_31 .. :try_end_34} :catchall_35
1309 + goto :goto_19
1311 + :catchall_35
1312 + move-exception v3
1314 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1316 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1318 + throw v3
1320 + :cond_3d
1321 + move v2, v3
1323 + goto :goto_29
1324 +.end method
1326 +.method public setBootCompleted()V
1327 + .registers 6
1328 + .annotation system Ldalvik/annotation/Throws;
1329 + value = {
1330 + Landroid/os/RemoteException;
1332 + .end annotation
1334 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1336 + move-result-object v0
1338 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1340 + move-result-object v1
1342 + :try_start_8
1343 + const-string v2, "android.privacy.IPrivacySettingsManager"
1345 + invoke-virtual {v0, v2}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
1347 + iget-object v2, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
1349 + const/16 v3, 0xb
1351 + const/4 v4, 0x0
1353 + invoke-interface {v2, v3, v0, v1, v4}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1355 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
1356 + :try_end_18
1357 + .catchall {:try_start_8 .. :try_end_18} :catchall_1f
1359 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1361 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1363 + return-void
1365 + :catchall_1f
1366 + move-exception v2
1368 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1370 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1372 + throw v2
1373 +.end method
1375 +.method public setEnabled(Z)Z
1376 + .registers 9
1377 + .annotation system Ldalvik/annotation/Throws;
1378 + value = {
1379 + Landroid/os/RemoteException;
1381 + .end annotation
1383 + const/4 v2, 0x1
1385 + const/4 v3, 0x0
1387 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1389 + move-result-object v0
1391 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1393 + move-result-object v1
1395 + :try_start_a
1396 + const-string v4, "android.privacy.IPrivacySettingsManager"
1398 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
1400 + if-eqz p1, :cond_2d
1402 + move v4, v2
1404 + :goto_12
1405 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInt(I)V
1407 + iget-object v4, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
1409 + const/16 v5, 0x9
1411 + const/4 v6, 0x0
1413 + invoke-interface {v4, v5, v0, v1, v6}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1415 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
1417 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
1418 + :try_end_23
1419 + .catchall {:try_start_a .. :try_end_23} :catchall_31
1421 + move-result v4
1423 + if-eqz v4, :cond_2f
1425 + :goto_26
1426 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1428 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1430 + return v2
1432 + :cond_2d
1433 + move v4, v3
1435 + goto :goto_12
1437 + :cond_2f
1438 + move v2, v3
1440 + goto :goto_26
1442 + :catchall_31
1443 + move-exception v3
1445 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1447 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1449 + throw v3
1450 +.end method
1452 +.method public setNotificationsEnabled(Z)Z
1453 + .registers 9
1454 + .annotation system Ldalvik/annotation/Throws;
1455 + value = {
1456 + Landroid/os/RemoteException;
1458 + .end annotation
1460 + const/4 v2, 0x1
1462 + const/4 v3, 0x0
1464 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1466 + move-result-object v0
1468 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1470 + move-result-object v1
1472 + :try_start_a
1473 + const-string v4, "android.privacy.IPrivacySettingsManager"
1475 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
1477 + if-eqz p1, :cond_2d
1479 + move v4, v2
1481 + :goto_12
1482 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInt(I)V
1484 + iget-object v4, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
1486 + const/16 v5, 0xa
1488 + const/4 v6, 0x0
1490 + invoke-interface {v4, v5, v0, v1, v6}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1492 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
1494 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
1495 + :try_end_23
1496 + .catchall {:try_start_a .. :try_end_23} :catchall_31
1498 + move-result v4
1500 + if-eqz v4, :cond_2f
1502 + :goto_26
1503 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1505 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1507 + return v2
1509 + :cond_2d
1510 + move v4, v3
1512 + goto :goto_12
1514 + :cond_2f
1515 + move v2, v3
1517 + goto :goto_26
1519 + :catchall_31
1520 + move-exception v3
1522 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1524 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1526 + throw v3
1527 +.end method
1528 diff -Npru stock-framework/smali/android/privacy/IPrivacySettingsManager$Stub.smali pdroid-framework/smali/android/privacy/IPrivacySettingsManager$Stub.smali
1529 --- stock-framework/smali/android/privacy/IPrivacySettingsManager$Stub.smali 1969-12-31 18:00:00.000000000 -0600
1530 +++ pdroid-framework/smali/android/privacy/IPrivacySettingsManager$Stub.smali 2012-08-10 00:09:14.705407019 -0500
1531 @@ -0,0 +1,412 @@
1532 +.class public abstract Landroid/privacy/IPrivacySettingsManager$Stub;
1533 +.super Landroid/os/Binder;
1534 +.source "IPrivacySettingsManager.java"
1536 +# interfaces
1537 +.implements Landroid/privacy/IPrivacySettingsManager;
1540 +# annotations
1541 +.annotation system Ldalvik/annotation/EnclosingClass;
1542 + value = Landroid/privacy/IPrivacySettingsManager;
1543 +.end annotation
1545 +.annotation system Ldalvik/annotation/InnerClass;
1546 + accessFlags = 0x409
1547 + name = "Stub"
1548 +.end annotation
1550 +.annotation system Ldalvik/annotation/MemberClasses;
1551 + value = {
1552 + Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;
1554 +.end annotation
1557 +# static fields
1558 +.field private static final DESCRIPTOR:Ljava/lang/String; = "android.privacy.IPrivacySettingsManager"
1560 +.field static final TRANSACTION_addObserver:I = 0x6
1562 +.field static final TRANSACTION_deleteSettings:I = 0x3
1564 +.field static final TRANSACTION_getSettings:I = 0x1
1566 +.field static final TRANSACTION_getVersion:I = 0x8
1568 +.field static final TRANSACTION_notification:I = 0x4
1570 +.field static final TRANSACTION_purgeSettings:I = 0x7
1572 +.field static final TRANSACTION_registerObservers:I = 0x5
1574 +.field static final TRANSACTION_saveSettings:I = 0x2
1576 +.field static final TRANSACTION_setBootCompleted:I = 0xb
1578 +.field static final TRANSACTION_setEnabled:I = 0x9
1580 +.field static final TRANSACTION_setNotificationsEnabled:I = 0xa
1583 +# direct methods
1584 +.method public constructor <init>()V
1585 + .registers 2
1587 + invoke-direct {p0}, Landroid/os/Binder;-><init>()V
1589 + const-string v0, "android.privacy.IPrivacySettingsManager"
1591 + invoke-virtual {p0, p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->attachInterface(Landroid/os/IInterface;Ljava/lang/String;)V
1593 + return-void
1594 +.end method
1596 +.method public static asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
1597 + .registers 3
1599 + if-nez p0, :cond_4
1601 + const/4 v0, 0x0
1603 + :goto_3
1604 + return-object v0
1606 + :cond_4
1607 + const-string v1, "android.privacy.IPrivacySettingsManager"
1609 + invoke-interface {p0, v1}, Landroid/os/IBinder;->queryLocalInterface(Ljava/lang/String;)Landroid/os/IInterface;
1611 + move-result-object v0
1613 + if-eqz v0, :cond_13
1615 + instance-of v1, v0, Landroid/privacy/IPrivacySettingsManager;
1617 + if-eqz v1, :cond_13
1619 + check-cast v0, Landroid/privacy/IPrivacySettingsManager;
1621 + goto :goto_3
1623 + :cond_13
1624 + new-instance v0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;
1626 + invoke-direct {v0, p0}, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
1628 + goto :goto_3
1629 +.end method
1632 +# virtual methods
1633 +.method public asBinder()Landroid/os/IBinder;
1634 + .registers 1
1636 + return-object p0
1637 +.end method
1639 +.method public onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1640 + .registers 14
1641 + .annotation system Ldalvik/annotation/Throws;
1642 + value = {
1643 + Landroid/os/RemoteException;
1645 + .end annotation
1647 + const/4 v6, 0x0
1649 + const/4 v7, 0x1
1651 + sparse-switch p1, :sswitch_data_10e
1653 + invoke-super {p0, p1, p2, p3, p4}, Landroid/os/Binder;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1655 + move-result v7
1657 + :goto_9
1658 + return v7
1660 + :sswitch_a
1661 + const-string v6, "android.privacy.IPrivacySettingsManager"
1663 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
1665 + goto :goto_9
1667 + :sswitch_10
1668 + const-string v8, "android.privacy.IPrivacySettingsManager"
1670 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1672 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
1674 + move-result-object v0
1676 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
1678 + move-result-object v4
1680 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1682 + if-eqz v4, :cond_29
1684 + invoke-virtual {p3, v7}, Landroid/os/Parcel;->writeInt(I)V
1686 + invoke-virtual {v4, p3, v7}, Landroid/privacy/PrivacySettings;->writeToParcel(Landroid/os/Parcel;I)V
1688 + goto :goto_9
1690 + :cond_29
1691 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
1693 + goto :goto_9
1695 + :sswitch_2d
1696 + const-string v8, "android.privacy.IPrivacySettingsManager"
1698 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1700 + invoke-virtual {p2}, Landroid/os/Parcel;->readInt()I
1702 + move-result v8
1704 + if-eqz v8, :cond_4e
1706 + sget-object v8, Landroid/privacy/PrivacySettings;->CREATOR:Landroid/os/Parcelable$Creator;
1708 + invoke-interface {v8, p2}, Landroid/os/Parcelable$Creator;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
1710 + move-result-object v0
1712 + check-cast v0, Landroid/privacy/PrivacySettings;
1714 + :goto_40
1715 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->saveSettings(Landroid/privacy/PrivacySettings;)Z
1717 + move-result v4
1719 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1721 + if-eqz v4, :cond_4a
1723 + move v6, v7
1725 + :cond_4a
1726 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
1728 + goto :goto_9
1730 + :cond_4e
1731 + const/4 v0, 0x0
1733 + goto :goto_40
1735 + :sswitch_50
1736 + const-string v8, "android.privacy.IPrivacySettingsManager"
1738 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1740 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
1742 + move-result-object v0
1744 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->deleteSettings(Ljava/lang/String;)Z
1746 + move-result v4
1748 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1750 + if-eqz v4, :cond_63
1752 + move v6, v7
1754 + :cond_63
1755 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
1757 + goto :goto_9
1759 + :sswitch_67
1760 + const-string v6, "android.privacy.IPrivacySettingsManager"
1762 + invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1764 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
1766 + move-result-object v0
1768 + invoke-virtual {p2}, Landroid/os/Parcel;->readByte()B
1770 + move-result v1
1772 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
1774 + move-result-object v2
1776 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
1778 + move-result-object v3
1780 + invoke-virtual {p0, v0, v1, v2, v3}, Landroid/privacy/IPrivacySettingsManager$Stub;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
1782 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1784 + goto :goto_9
1786 + :sswitch_83
1787 + const-string v6, "android.privacy.IPrivacySettingsManager"
1789 + invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1791 + invoke-virtual {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;->registerObservers()V
1793 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1795 + goto/16 :goto_9
1797 + :sswitch_90
1798 + const-string v6, "android.privacy.IPrivacySettingsManager"
1800 + invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1802 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
1804 + move-result-object v0
1806 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->addObserver(Ljava/lang/String;)V
1808 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1810 + goto/16 :goto_9
1812 + :sswitch_a1
1813 + const-string v8, "android.privacy.IPrivacySettingsManager"
1815 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1817 + invoke-virtual {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;->purgeSettings()Z
1819 + move-result v4
1821 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1823 + if-eqz v4, :cond_b0
1825 + move v6, v7
1827 + :cond_b0
1828 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
1830 + goto/16 :goto_9
1832 + :sswitch_b5
1833 + const-string v6, "android.privacy.IPrivacySettingsManager"
1835 + invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1837 + invoke-virtual {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;->getVersion()D
1839 + move-result-wide v4
1841 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1843 + invoke-virtual {p3, v4, v5}, Landroid/os/Parcel;->writeDouble(D)V
1845 + goto/16 :goto_9
1847 + :sswitch_c6
1848 + const-string v8, "android.privacy.IPrivacySettingsManager"
1850 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1852 + invoke-virtual {p2}, Landroid/os/Parcel;->readInt()I
1854 + move-result v8
1856 + if-eqz v8, :cond_e1
1858 + move v0, v7
1860 + :goto_d2
1861 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->setEnabled(Z)Z
1863 + move-result v4
1865 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1867 + if-eqz v4, :cond_dc
1869 + move v6, v7
1871 + :cond_dc
1872 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
1874 + goto/16 :goto_9
1876 + :cond_e1
1877 + move v0, v6
1879 + goto :goto_d2
1881 + :sswitch_e3
1882 + const-string v8, "android.privacy.IPrivacySettingsManager"
1884 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1886 + invoke-virtual {p2}, Landroid/os/Parcel;->readInt()I
1888 + move-result v8
1890 + if-eqz v8, :cond_fe
1892 + move v0, v7
1894 + :goto_ef
1895 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->setNotificationsEnabled(Z)Z
1897 + move-result v4
1899 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1901 + if-eqz v4, :cond_f9
1903 + move v6, v7
1905 + :cond_f9
1906 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
1908 + goto/16 :goto_9
1910 + :cond_fe
1911 + move v0, v6
1913 + goto :goto_ef
1915 + :sswitch_100
1916 + const-string v6, "android.privacy.IPrivacySettingsManager"
1918 + invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1920 + invoke-virtual {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;->setBootCompleted()V
1922 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1924 + goto/16 :goto_9
1926 + nop
1928 + :sswitch_data_10e
1929 + .sparse-switch
1930 + 0x1 -> :sswitch_10
1931 + 0x2 -> :sswitch_2d
1932 + 0x3 -> :sswitch_50
1933 + 0x4 -> :sswitch_67
1934 + 0x5 -> :sswitch_83
1935 + 0x6 -> :sswitch_90
1936 + 0x7 -> :sswitch_a1
1937 + 0x8 -> :sswitch_b5
1938 + 0x9 -> :sswitch_c6
1939 + 0xa -> :sswitch_e3
1940 + 0xb -> :sswitch_100
1941 + 0x5f4e5446 -> :sswitch_a
1942 + .end sparse-switch
1943 +.end method
1944 diff -Npru stock-framework/smali/android/privacy/PrivacyFileObserver.smali pdroid-framework/smali/android/privacy/PrivacyFileObserver.smali
1945 --- stock-framework/smali/android/privacy/PrivacyFileObserver.smali 1969-12-31 18:00:00.000000000 -0600
1946 +++ pdroid-framework/smali/android/privacy/PrivacyFileObserver.smali 2012-08-10 00:09:14.705407019 -0500
1947 @@ -0,0 +1,217 @@
1948 +.class public Landroid/privacy/PrivacyFileObserver;
1949 +.super Landroid/os/FileObserver;
1950 +.source "PrivacyFileObserver.java"
1953 +# static fields
1954 +.field public static final PACKAGE_PATH_INDEX:I = 0x3
1956 +.field public static final TAG:Ljava/lang/String; = "PrivacyFileObserver"
1959 +# instance fields
1960 +.field public absolutePath:Ljava/lang/String;
1962 +.field public children:Ljava/util/HashMap;
1963 + .annotation system Ldalvik/annotation/Signature;
1964 + value = {
1965 + "Ljava/util/HashMap",
1966 + "<",
1967 + "Ljava/lang/String;",
1968 + "Landroid/privacy/PrivacyFileObserver;",
1969 + ">;"
1971 + .end annotation
1972 +.end field
1974 +.field private pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
1977 +# direct methods
1978 +.method public constructor <init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
1979 + .registers 12
1981 + const/16 v8, 0xfff
1983 + invoke-direct {p0, p1, v8}, Landroid/os/FileObserver;-><init>(Ljava/lang/String;I)V
1985 + iput-object p1, p0, Landroid/privacy/PrivacyFileObserver;->absolutePath:Ljava/lang/String;
1987 + iput-object p2, p0, Landroid/privacy/PrivacyFileObserver;->pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
1989 + new-instance v8, Ljava/util/HashMap;
1991 + invoke-direct {v8}, Ljava/util/HashMap;-><init>()V
1993 + iput-object v8, p0, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap;
1995 + new-instance v7, Ljava/io/File;
1997 + iget-object v8, p0, Landroid/privacy/PrivacyFileObserver;->absolutePath:Ljava/lang/String;
1999 + invoke-direct {v7, v8}, Ljava/io/File;-><init>(Ljava/lang/String;)V
2001 + invoke-virtual {v7}, Ljava/io/File;->isDirectory()Z
2003 + move-result v8
2005 + if-eqz v8, :cond_42
2007 + invoke-virtual {v7}, Ljava/io/File;->listFiles()[Ljava/io/File;
2009 + move-result-object v6
2011 + move-object v0, v6
2013 + array-length v4, v0
2015 + const/4 v3, 0x0
2017 + :goto_24
2018 + if-ge v3, v4, :cond_42
2020 + aget-object v2, v0, v3
2022 + invoke-virtual {v2}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
2024 + move-result-object v5
2026 + new-instance v1, Landroid/privacy/PrivacyFileObserver;
2028 + invoke-direct {v1, v5, p2}, Landroid/privacy/PrivacyFileObserver;-><init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
2030 + iget-object v8, p0, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap;
2032 + invoke-virtual {v8, v5, v1}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
2034 + invoke-virtual {v2}, Ljava/io/File;->isFile()Z
2036 + move-result v8
2038 + if-eqz v8, :cond_3f
2040 + invoke-virtual {v1}, Landroid/privacy/PrivacyFileObserver;->startWatching()V
2042 + :cond_3f
2043 + add-int/lit8 v3, v3, 0x1
2045 + goto :goto_24
2047 + :cond_42
2048 + return-void
2049 +.end method
2052 +# virtual methods
2053 +.method public addObserver(Ljava/lang/String;)V
2054 + .registers 6
2056 + new-instance v2, Ljava/lang/StringBuilder;
2058 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
2060 + iget-object v3, p0, Landroid/privacy/PrivacyFileObserver;->absolutePath:Ljava/lang/String;
2062 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2064 + move-result-object v2
2066 + const-string v3, "/"
2068 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2070 + move-result-object v2
2072 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2074 + move-result-object v2
2076 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2078 + move-result-object v1
2080 + iget-object v2, p0, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap;
2082 + invoke-virtual {v2, v1}, Ljava/util/HashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
2084 + new-instance v0, Landroid/privacy/PrivacyFileObserver;
2086 + iget-object v2, p0, Landroid/privacy/PrivacyFileObserver;->pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
2088 + invoke-direct {v0, v1, v2}, Landroid/privacy/PrivacyFileObserver;-><init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
2090 + iget-object v2, p0, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap;
2092 + invoke-virtual {v2, v1, v0}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
2094 + return-void
2095 +.end method
2097 +.method public onEvent(ILjava/lang/String;)V
2098 + .registers 11
2100 + and-int/lit8 v4, p1, 0x1
2102 + if-eqz v4, :cond_34
2104 + new-instance v3, Ljava/util/StringTokenizer;
2106 + iget-object v4, p0, Landroid/privacy/PrivacyFileObserver;->absolutePath:Ljava/lang/String;
2108 + const-string v5, "/"
2110 + invoke-direct {v3, v4, v5}, Ljava/util/StringTokenizer;-><init>(Ljava/lang/String;Ljava/lang/String;)V
2112 + const/4 v0, 0x0
2114 + :goto_e
2115 + const/4 v4, 0x3
2117 + if-ge v0, v4, :cond_1d
2119 + invoke-virtual {v3}, Ljava/util/StringTokenizer;->hasMoreElements()Z
2121 + move-result v4
2123 + if-eqz v4, :cond_1d
2125 + invoke-virtual {v3}, Ljava/util/StringTokenizer;->nextToken()Ljava/lang/String;
2127 + add-int/lit8 v0, v0, 0x1
2129 + goto :goto_e
2131 + :cond_1d
2132 + invoke-virtual {v3}, Ljava/util/StringTokenizer;->nextToken()Ljava/lang/String;
2134 + move-result-object v2
2136 + iget-object v4, p0, Landroid/privacy/PrivacyFileObserver;->pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
2138 + invoke-virtual {v4, v2}, Landroid/privacy/PrivacySettingsManagerService;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
2140 + move-result-object v1
2142 + iget-object v4, p0, Landroid/privacy/PrivacyFileObserver;->pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
2144 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getSystemLogsSetting()B
2146 + move-result v5
2148 + const-string/jumbo v6, "systemLogs"
2150 + const/4 v7, 0x0
2152 + invoke-virtual {v4, v2, v5, v6, v7}, Landroid/privacy/PrivacySettingsManagerService;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
2154 + :cond_34
2155 + return-void
2156 +.end method
2158 +.method public startWatching()V
2159 + .registers 1
2161 + invoke-super {p0}, Landroid/os/FileObserver;->startWatching()V
2163 + return-void
2164 +.end method
2165 diff -Npru stock-framework/smali/android/privacy/PrivacyPersistenceAdapter.smali pdroid-framework/smali/android/privacy/PrivacyPersistenceAdapter.smali
2166 --- stock-framework/smali/android/privacy/PrivacyPersistenceAdapter.smali 1969-12-31 18:00:00.000000000 -0600
2167 +++ pdroid-framework/smali/android/privacy/PrivacyPersistenceAdapter.smali 2012-08-10 00:09:14.709407039 -0500
2168 @@ -0,0 +1,4631 @@
2169 +.class public Landroid/privacy/PrivacyPersistenceAdapter;
2170 +.super Ljava/lang/Object;
2171 +.source "PrivacyPersistenceAdapter.java"
2174 +# static fields
2175 +.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) );"
2177 +.field private static final CREATE_TABLE_MAP:Ljava/lang/String; = "CREATE TABLE IF NOT EXISTS map ( name TEXT PRIMARY KEY, value TEXT );"
2179 +.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);"
2181 +.field private static final DATABASE_FIELDS:[Ljava/lang/String; = null
2183 +.field private static final DATABASE_FILE:Ljava/lang/String; = "/data/system/privacy.db"
2185 +.field private static final DATABASE_VERSION:I = 0x3
2187 +.field public static final DUMMY_UID:I = -0x1
2189 +.field private static final INSERT_ENABLED:Ljava/lang/String; = "INSERT OR REPLACE INTO map (name, value) VALUES (\"enabled\", \"1\");"
2191 +.field private static final INSERT_NOTIFICATIONS_ENABLED:Ljava/lang/String; = "INSERT OR REPLACE INTO map (name, value) VALUES (\"notifications_enabled\", \"1\");"
2193 +.field private static final INSERT_VERSION:Ljava/lang/String; = "INSERT OR REPLACE INTO map (name, value) VALUES (\"db_version\", 3);"
2195 +.field private static final RETRY_QUERY_COUNT:I = 0x5
2197 +.field public static final SETTINGS_DIRECTORY:Ljava/lang/String; = "/data/system/privacy"
2199 +.field public static final SETTING_DB_VERSION:Ljava/lang/String; = "db_version"
2201 +.field public static final SETTING_ENABLED:Ljava/lang/String; = "enabled"
2203 +.field public static final SETTING_NOTIFICATIONS_ENABLED:Ljava/lang/String; = "notifications_enabled"
2205 +.field private static final TABLE_ALLOWED_CONTACTS:Ljava/lang/String; = "allowed_contacts"
2207 +.field private static final TABLE_MAP:Ljava/lang/String; = "map"
2209 +.field private static final TABLE_SETTINGS:Ljava/lang/String; = "settings"
2211 +.field private static final TABLE_VERSION:Ljava/lang/String; = "version"
2213 +.field private static final TAG:Ljava/lang/String; = "PrivacyPersistenceAdapter"
2215 +.field public static final VALUE_FALSE:Ljava/lang/String; = "0"
2217 +.field public static final VALUE_TRUE:Ljava/lang/String; = "1"
2219 +.field public static readingThreads:Ljava/lang/Integer;
2222 +# instance fields
2223 +.field private context:Landroid/content/Context;
2225 +.field private db:Landroid/database/sqlite/SQLiteDatabase;
2228 +# direct methods
2229 +.method static constructor <clinit>()V
2230 + .registers 3
2232 + const/4 v2, 0x0
2234 + invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
2236 + move-result-object v0
2238 + sput-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2240 + const/16 v0, 0x23
2242 + new-array v0, v0, [Ljava/lang/String;
2244 + const-string v1, "_id"
2246 + aput-object v1, v0, v2
2248 + const/4 v1, 0x1
2250 + const-string/jumbo v2, "packageName"
2252 + aput-object v2, v0, v1
2254 + const/4 v1, 0x2
2256 + const-string/jumbo v2, "uid"
2258 + aput-object v2, v0, v1
2260 + const/4 v1, 0x3
2262 + const-string v2, "deviceIdSetting"
2264 + aput-object v2, v0, v1
2266 + const/4 v1, 0x4
2268 + const-string v2, "deviceId"
2270 + aput-object v2, v0, v1
2272 + const/4 v1, 0x5
2274 + const-string v2, "line1NumberSetting"
2276 + aput-object v2, v0, v1
2278 + const/4 v1, 0x6
2280 + const-string v2, "line1Number"
2282 + aput-object v2, v0, v1
2284 + const/4 v1, 0x7
2286 + const-string v2, "locationGpsSetting"
2288 + aput-object v2, v0, v1
2290 + const/16 v1, 0x8
2292 + const-string v2, "locationGpsLat"
2294 + aput-object v2, v0, v1
2296 + const/16 v1, 0x9
2298 + const-string v2, "locationGpsLon"
2300 + aput-object v2, v0, v1
2302 + const/16 v1, 0xa
2304 + const-string v2, "locationNetworkSetting"
2306 + aput-object v2, v0, v1
2308 + const/16 v1, 0xb
2310 + const-string v2, "locationNetworkLat"
2312 + aput-object v2, v0, v1
2314 + const/16 v1, 0xc
2316 + const-string v2, "locationNetworkLon"
2318 + aput-object v2, v0, v1
2320 + const/16 v1, 0xd
2322 + const-string/jumbo v2, "networkInfoSetting"
2324 + aput-object v2, v0, v1
2326 + const/16 v1, 0xe
2328 + const-string/jumbo v2, "simInfoSetting"
2330 + aput-object v2, v0, v1
2332 + const/16 v1, 0xf
2334 + const-string/jumbo v2, "simSerialNumberSetting"
2336 + aput-object v2, v0, v1
2338 + const/16 v1, 0x10
2340 + const-string/jumbo v2, "simSerialNumber"
2342 + aput-object v2, v0, v1
2344 + const/16 v1, 0x11
2346 + const-string/jumbo v2, "subscriberIdSetting"
2348 + aput-object v2, v0, v1
2350 + const/16 v1, 0x12
2352 + const-string/jumbo v2, "subscriberId"
2354 + aput-object v2, v0, v1
2356 + const/16 v1, 0x13
2358 + const-string v2, "accountsSetting"
2360 + aput-object v2, v0, v1
2362 + const/16 v1, 0x14
2364 + const-string v2, "accountsAuthTokensSetting"
2366 + aput-object v2, v0, v1
2368 + const/16 v1, 0x15
2370 + const-string/jumbo v2, "outgoingCallsSetting"
2372 + aput-object v2, v0, v1
2374 + const/16 v1, 0x16
2376 + const-string v2, "incomingCallsSetting"
2378 + aput-object v2, v0, v1
2380 + const/16 v1, 0x17
2382 + const-string v2, "contactsSetting"
2384 + aput-object v2, v0, v1
2386 + const/16 v1, 0x18
2388 + const-string v2, "calendarSetting"
2390 + aput-object v2, v0, v1
2392 + const/16 v1, 0x19
2394 + const-string/jumbo v2, "mmsSetting"
2396 + aput-object v2, v0, v1
2398 + const/16 v1, 0x1a
2400 + const-string/jumbo v2, "smsSetting"
2402 + aput-object v2, v0, v1
2404 + const/16 v1, 0x1b
2406 + const-string v2, "callLogSetting"
2408 + aput-object v2, v0, v1
2410 + const/16 v1, 0x1c
2412 + const-string v2, "bookmarksSetting"
2414 + aput-object v2, v0, v1
2416 + const/16 v1, 0x1d
2418 + const-string/jumbo v2, "systemLogsSetting"
2420 + aput-object v2, v0, v1
2422 + const/16 v1, 0x1e
2424 + const-string v2, "externalStorageSetting"
2426 + aput-object v2, v0, v1
2428 + const/16 v1, 0x1f
2430 + const-string v2, "cameraSetting"
2432 + aput-object v2, v0, v1
2434 + const/16 v1, 0x20
2436 + const-string/jumbo v2, "recordAudioSetting"
2438 + aput-object v2, v0, v1
2440 + const/16 v1, 0x21
2442 + const-string/jumbo v2, "notificationSetting"
2444 + aput-object v2, v0, v1
2446 + const/16 v1, 0x22
2448 + const-string v2, "intentBootCompletedSetting"
2450 + aput-object v2, v0, v1
2452 + sput-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->DATABASE_FIELDS:[Ljava/lang/String;
2454 + return-void
2455 +.end method
2457 +.method public constructor <init>(Landroid/content/Context;)V
2458 + .registers 6
2460 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
2462 + iput-object p1, p0, Landroid/privacy/PrivacyPersistenceAdapter;->context:Landroid/content/Context;
2464 + new-instance v2, Ljava/io/File;
2466 + const-string v3, "/data/system/"
2468 + invoke-direct {v2, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
2470 + invoke-virtual {v2}, Ljava/io/File;->canWrite()Z
2472 + move-result v0
2474 + if-eqz v0, :cond_3c
2476 + new-instance v2, Ljava/io/File;
2478 + const-string v3, "/data/system/privacy.db"
2480 + invoke-direct {v2, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
2482 + invoke-virtual {v2}, Ljava/io/File;->exists()Z
2484 + move-result v2
2486 + if-nez v2, :cond_22
2488 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->createDatabase()V
2490 + :cond_22
2491 + new-instance v2, Ljava/io/File;
2493 + const-string v3, "/data/system/privacy"
2495 + invoke-direct {v2, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
2497 + invoke-virtual {v2}, Ljava/io/File;->exists()Z
2499 + move-result v2
2501 + if-nez v2, :cond_32
2503 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->createSettingsDir()V
2505 + :cond_32
2506 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getDbVersion()I
2508 + move-result v1
2510 + const/4 v2, 0x3
2512 + if-ge v1, v2, :cond_3c
2514 + invoke-direct {p0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->upgradeDatabase(I)V
2516 + :cond_3c
2517 + return-void
2518 +.end method
2520 +.method private declared-synchronized createDatabase()V
2521 + .registers 6
2523 + monitor-enter p0
2525 + :try_start_1
2526 + const-string v2, "PrivacyPersistenceAdapter"
2528 + const-string v3, "createDatabase - creating privacy database file"
2530 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
2531 + :try_end_8
2532 + .catchall {:try_start_1 .. :try_end_8} :catchall_4c
2534 + :try_start_8
2535 + const-string v2, "/data/system/privacy.db"
2537 + const/4 v3, 0x0
2539 + const/high16 v4, 0x1000
2541 + invoke-static {v2, v3, v4}, Landroid/database/sqlite/SQLiteDatabase;->openDatabase(Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;I)Landroid/database/sqlite/SQLiteDatabase;
2543 + move-result-object v0
2545 + const-string v2, "PrivacyPersistenceAdapter"
2547 + const-string v3, "createDatabase - creating privacy database"
2549 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
2551 + 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);"
2553 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
2555 + const-string v2, "CREATE TABLE IF NOT EXISTS allowed_contacts ( settings_id, contact_id, PRIMARY KEY(settings_id, contact_id) );"
2557 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
2559 + const-string v2, "CREATE TABLE IF NOT EXISTS map ( name TEXT PRIMARY KEY, value TEXT );"
2561 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
2563 + const-string v2, "INSERT OR REPLACE INTO map (name, value) VALUES (\"db_version\", 3);"
2565 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
2567 + const-string v2, "INSERT OR REPLACE INTO map (name, value) VALUES (\"enabled\", \"1\");"
2569 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
2571 + const-string v2, "INSERT OR REPLACE INTO map (name, value) VALUES (\"notifications_enabled\", \"1\");"
2573 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
2575 + if-eqz v0, :cond_41
2577 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
2579 + move-result v2
2581 + if-eqz v2, :cond_41
2583 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
2584 + :try_end_41
2585 + .catchall {:try_start_8 .. :try_end_41} :catchall_4c
2586 + .catch Landroid/database/SQLException; {:try_start_8 .. :try_end_41} :catch_43
2588 + :cond_41
2589 + :goto_41
2590 + monitor-exit p0
2592 + return-void
2594 + :catch_43
2595 + move-exception v1
2597 + :try_start_44
2598 + const-string v2, "PrivacyPersistenceAdapter"
2600 + const-string v3, "createDatabase - failed to create privacy database"
2602 + invoke-static {v2, v3, v1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
2603 + :try_end_4b
2604 + .catchall {:try_start_44 .. :try_end_4b} :catchall_4c
2606 + goto :goto_41
2608 + :catchall_4c
2609 + move-exception v2
2611 + monitor-exit p0
2613 + throw v2
2614 +.end method
2616 +.method private declared-synchronized createSettingsDir()V
2617 + .registers 4
2619 + monitor-enter p0
2621 + :try_start_1
2622 + new-instance v0, Ljava/io/File;
2624 + const-string v1, "/data/system/privacy/"
2626 + invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
2628 + invoke-virtual {v0}, Ljava/io/File;->mkdirs()Z
2630 + const/4 v1, 0x1
2632 + const/4 v2, 0x0
2634 + invoke-virtual {v0, v1, v2}, Ljava/io/File;->setReadable(ZZ)Z
2636 + const/4 v1, 0x1
2638 + const/4 v2, 0x0
2640 + invoke-virtual {v0, v1, v2}, Ljava/io/File;->setExecutable(ZZ)Z
2641 + :try_end_15
2642 + .catchall {:try_start_1 .. :try_end_15} :catchall_17
2644 + monitor-exit p0
2646 + return-void
2648 + :catchall_17
2649 + move-exception v1
2651 + monitor-exit p0
2653 + throw v1
2654 +.end method
2656 +.method private deleteRecursive(Ljava/io/File;)V
2657 + .registers 7
2659 + invoke-virtual {p1}, Ljava/io/File;->isDirectory()Z
2661 + move-result v4
2663 + if-eqz v4, :cond_16
2665 + invoke-virtual {p1}, Ljava/io/File;->listFiles()[Ljava/io/File;
2667 + move-result-object v0
2669 + array-length v3, v0
2671 + const/4 v2, 0x0
2673 + :goto_c
2674 + if-ge v2, v3, :cond_16
2676 + aget-object v1, v0, v2
2678 + invoke-direct {p0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteRecursive(Ljava/io/File;)V
2680 + add-int/lit8 v2, v2, 0x1
2682 + goto :goto_c
2684 + :cond_16
2685 + invoke-virtual {p1}, Ljava/io/File;->delete()Z
2687 + return-void
2688 +.end method
2690 +.method private getDbVersion()I
2691 + .registers 9
2693 + const/4 v4, 0x1
2695 + const/4 v3, -0x1
2697 + sget-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2699 + sget-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2701 + invoke-virtual {v6}, Ljava/lang/Integer;->intValue()I
2703 + move-result v6
2705 + add-int/lit8 v6, v6, 0x1
2707 + invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
2709 + move-result-object v6
2711 + sput-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2713 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
2715 + move-result-object v1
2717 + :try_start_16
2718 + const-string v6, "SELECT name FROM sqlite_master WHERE type=\'table\' AND name=\'map\';"
2720 + invoke-direct {p0, v1, v6}, Landroid/privacy/PrivacyPersistenceAdapter;->rawQuery(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;)Landroid/database/Cursor;
2722 + move-result-object v0
2724 + if-eqz v0, :cond_5e
2726 + invoke-interface {v0}, Landroid/database/Cursor;->getCount()I
2728 + move-result v6
2730 + if-nez v6, :cond_25
2732 + const/4 v3, 0x1
2734 + :cond_25
2735 + invoke-interface {v0}, Landroid/database/Cursor;->close()V
2737 + sget-object v7, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2739 + monitor-enter v7
2740 + :try_end_2b
2741 + .catch Ljava/lang/Exception; {:try_start_16 .. :try_end_2b} :catch_55
2743 + :try_start_2b
2744 + sget-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2746 + sget-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2748 + invoke-virtual {v6}, Ljava/lang/Integer;->intValue()I
2750 + move-result v6
2752 + add-int/lit8 v6, v6, -0x1
2754 + invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
2756 + move-result-object v6
2758 + sput-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2760 + sget-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2762 + invoke-virtual {v6}, Ljava/lang/Integer;->intValue()I
2764 + move-result v6
2766 + if-nez v6, :cond_4e
2768 + if-eqz v1, :cond_4e
2770 + invoke-virtual {v1}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
2772 + move-result v6
2774 + if-eqz v6, :cond_4e
2776 + invoke-virtual {v1}, Landroid/database/sqlite/SQLiteDatabase;->close()V
2778 + :cond_4e
2779 + monitor-exit v7
2781 + :goto_4f
2782 + if-ne v3, v4, :cond_66
2784 + :goto_51
2785 + return v3
2787 + :catchall_52
2788 + move-exception v6
2790 + monitor-exit v7
2791 + :try_end_54
2792 + .catchall {:try_start_2b .. :try_end_54} :catchall_52
2794 + :try_start_54
2795 + throw v6
2796 + :try_end_55
2797 + .catch Ljava/lang/Exception; {:try_start_54 .. :try_end_55} :catch_55
2799 + :catch_55
2800 + move-exception v2
2802 + const-string v6, "PrivacyPersistenceAdapter"
2804 + const-string v7, "getDbVersion - failed to check if table map exists (exception)"
2806 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
2808 + goto :goto_4f
2810 + :cond_5e
2811 + :try_start_5e
2812 + const-string v6, "PrivacyPersistenceAdapter"
2814 + const-string v7, "getDbVersion - failed to check if table map exists (cursor is null)"
2816 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
2817 + :try_end_65
2818 + .catch Ljava/lang/Exception; {:try_start_5e .. :try_end_65} :catch_55
2820 + goto :goto_4f
2822 + :cond_66
2823 + const-string v6, "db_version"
2825 + invoke-virtual {p0, v6}, Landroid/privacy/PrivacyPersistenceAdapter;->getValue(Ljava/lang/String;)Ljava/lang/String;
2827 + move-result-object v5
2829 + if-nez v5, :cond_70
2831 + move v3, v4
2833 + goto :goto_51
2835 + :cond_70
2836 + :try_start_70
2837 + invoke-static {v5}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
2838 + :try_end_73
2839 + .catch Ljava/lang/Exception; {:try_start_70 .. :try_end_73} :catch_76
2841 + move-result v4
2843 + move v3, v4
2845 + goto :goto_51
2847 + :catch_76
2848 + move-exception v2
2850 + const-string v6, "PrivacyPersistenceAdapter"
2852 + const-string v7, "getDbVersion - failed to parse database version; returning 1"
2854 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
2856 + move v3, v4
2858 + goto :goto_51
2859 +.end method
2861 +.method private declared-synchronized getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
2862 + .registers 4
2864 + monitor-enter p0
2866 + :try_start_1
2867 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2869 + if-eqz v0, :cond_11
2871 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2873 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
2875 + move-result v0
2877 + if-eqz v0, :cond_11
2879 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2880 + :try_end_f
2881 + .catchall {:try_start_1 .. :try_end_f} :catchall_1e
2883 + :goto_f
2884 + monitor-exit p0
2886 + return-object v0
2888 + :cond_11
2889 + :try_start_11
2890 + const-string v0, "/data/system/privacy.db"
2892 + const/4 v1, 0x0
2894 + const/4 v2, 0x1
2896 + invoke-static {v0, v1, v2}, Landroid/database/sqlite/SQLiteDatabase;->openDatabase(Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;I)Landroid/database/sqlite/SQLiteDatabase;
2898 + move-result-object v0
2900 + iput-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2902 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2903 + :try_end_1d
2904 + .catchall {:try_start_11 .. :try_end_1d} :catchall_1e
2906 + goto :goto_f
2908 + :catchall_1e
2909 + move-exception v0
2911 + monitor-exit p0
2913 + throw v0
2914 +.end method
2916 +.method private declared-synchronized getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
2917 + .registers 4
2919 + monitor-enter p0
2921 + :try_start_1
2922 + new-instance v0, Ljava/io/File;
2924 + const-string v1, "/data/system/privacy.db"
2926 + invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
2928 + invoke-virtual {v0}, Ljava/io/File;->exists()Z
2930 + move-result v0
2932 + if-nez v0, :cond_11
2934 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->createDatabase()V
2936 + :cond_11
2937 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2939 + if-eqz v0, :cond_29
2941 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2943 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
2945 + move-result v0
2947 + if-eqz v0, :cond_29
2949 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2951 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isReadOnly()Z
2953 + move-result v0
2955 + if-nez v0, :cond_29
2957 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2958 + :try_end_27
2959 + .catchall {:try_start_1 .. :try_end_27} :catchall_36
2961 + :goto_27
2962 + monitor-exit p0
2964 + return-object v0
2966 + :cond_29
2967 + :try_start_29
2968 + const-string v0, "/data/system/privacy.db"
2970 + const/4 v1, 0x0
2972 + const/4 v2, 0x0
2974 + invoke-static {v0, v1, v2}, Landroid/database/sqlite/SQLiteDatabase;->openDatabase(Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;I)Landroid/database/sqlite/SQLiteDatabase;
2976 + move-result-object v0
2978 + iput-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2980 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2981 + :try_end_35
2982 + .catchall {:try_start_29 .. :try_end_35} :catchall_36
2984 + goto :goto_27
2986 + :catchall_36
2987 + move-exception v0
2989 + monitor-exit p0
2991 + throw v0
2992 +.end method
2994 +.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;
2995 + .registers 16
2996 + .annotation system Ldalvik/annotation/Throws;
2997 + value = {
2998 + Ljava/lang/Exception;
3000 + .end annotation
3002 + const/4 v0, 0x0
3004 + const/4 v3, 0x0
3006 + const/4 v2, 0x0
3008 + :goto_3
3009 + if-nez v3, :cond_27
3011 + const/4 v4, 0x5
3013 + if-ge v2, v4, :cond_27
3015 + if-eqz v0, :cond_d
3017 + :try_start_a
3018 + invoke-interface {v0}, Landroid/database/Cursor;->close()V
3020 + :cond_d
3021 + 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;
3022 + :try_end_10
3023 + .catch Ljava/lang/IllegalStateException; {:try_start_a .. :try_end_10} :catch_15
3025 + move-result-object v0
3027 + const/4 v3, 0x1
3029 + :goto_12
3030 + add-int/lit8 v2, v2, 0x1
3032 + goto :goto_3
3034 + :catch_15
3035 + move-exception v1
3037 + const/4 v3, 0x0
3039 + if-eqz p1, :cond_22
3041 + invoke-virtual {p1}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3043 + move-result v4
3045 + if-eqz v4, :cond_22
3047 + invoke-virtual {p1}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3049 + :cond_22
3050 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
3052 + move-result-object p1
3054 + goto :goto_12
3056 + :cond_27
3057 + if-nez v3, :cond_32
3059 + new-instance v4, Ljava/lang/Exception;
3061 + const-string/jumbo v5, "query - failed to execute query on the DB"
3063 + invoke-direct {v4, v5}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
3065 + throw v4
3067 + :cond_32
3068 + return-object v0
3069 +.end method
3071 +.method private rawQuery(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;)Landroid/database/Cursor;
3072 + .registers 9
3073 + .annotation system Ldalvik/annotation/Throws;
3074 + value = {
3075 + Ljava/lang/Exception;
3077 + .end annotation
3079 + const/4 v0, 0x0
3081 + const/4 v3, 0x0
3083 + const/4 v2, 0x0
3085 + :goto_3
3086 + if-nez v3, :cond_28
3088 + const/4 v4, 0x5
3090 + if-ge v2, v4, :cond_28
3092 + if-eqz v0, :cond_d
3094 + :try_start_a
3095 + invoke-interface {v0}, Landroid/database/Cursor;->close()V
3097 + :cond_d
3098 + const/4 v4, 0x0
3100 + invoke-virtual {p1, p2, v4}, Landroid/database/sqlite/SQLiteDatabase;->rawQuery(Ljava/lang/String;[Ljava/lang/String;)Landroid/database/Cursor;
3101 + :try_end_11
3102 + .catch Ljava/lang/IllegalStateException; {:try_start_a .. :try_end_11} :catch_16
3104 + move-result-object v0
3106 + const/4 v3, 0x1
3108 + :goto_13
3109 + add-int/lit8 v2, v2, 0x1
3111 + goto :goto_3
3113 + :catch_16
3114 + move-exception v1
3116 + const/4 v3, 0x0
3118 + if-eqz p1, :cond_23
3120 + invoke-virtual {p1}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3122 + move-result v4
3124 + if-eqz v4, :cond_23
3126 + invoke-virtual {p1}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3128 + :cond_23
3129 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
3131 + move-result-object p1
3133 + goto :goto_13
3135 + :cond_28
3136 + if-nez v3, :cond_33
3138 + new-instance v4, Ljava/lang/Exception;
3140 + const-string/jumbo v5, "query - failed to execute query on the DB"
3142 + invoke-direct {v4, v5}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
3144 + throw v4
3146 + :cond_33
3147 + return-object v0
3148 +.end method
3150 +.method private declared-synchronized upgradeDatabase(I)V
3151 + .registers 23
3153 + monitor-enter p0
3155 + :try_start_1
3156 + const-string v17, "PrivacyPersistenceAdapter"
3158 + new-instance v18, Ljava/lang/StringBuilder;
3160 + invoke-direct/range {v18 .. v18}, Ljava/lang/StringBuilder;-><init>()V
3162 + const-string/jumbo v19, "upgradeDatabase - upgrading DB from version "
3164 + invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3166 + move-result-object v18
3168 + move-object/from16 v0, v18
3170 + move/from16 v1, p1
3172 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
3174 + move-result-object v18
3176 + const-string v19, " to "
3178 + invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3180 + move-result-object v18
3182 + const/16 v19, 0x3
3184 + invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
3186 + move-result-object v18
3188 + invoke-virtual/range {v18 .. v18}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3190 + move-result-object v18
3192 + invoke-static/range {v17 .. v18}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
3194 + new-instance v6, Ljava/io/File;
3196 + const-string v17, "/data/system/privacy.db"
3198 + move-object/from16 v0, v17
3200 + invoke-direct {v6, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
3202 + new-instance v5, Ljava/io/File;
3204 + const-string v17, "/data/system/privacy.db.bak"
3206 + move-object/from16 v0, v17
3208 + invoke-direct {v5, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
3209 + :try_end_3c
3210 + .catchall {:try_start_1 .. :try_end_3c} :catchall_66
3212 + :try_start_3c
3213 + invoke-virtual {v5}, Ljava/io/File;->delete()Z
3214 + :try_end_3f
3215 + .catchall {:try_start_3c .. :try_end_3f} :catchall_66
3216 + .catch Ljava/lang/SecurityException; {:try_start_3c .. :try_end_3f} :catch_5c
3218 + :goto_3f
3219 + :try_start_3f
3220 + invoke-static {v6, v5}, Landroid/os/FileUtils;->copyFile(Ljava/io/File;Ljava/io/File;)Z
3222 + invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
3224 + move-result-wide v17
3226 + invoke-virtual {v5}, Ljava/io/File;->lastModified()J
3228 + move-result-wide v19
3230 + sub-long v17, v17, v19
3232 + const-wide/16 v19, 0x7d0
3234 + cmp-long v17, v17, v19
3236 + if-lez v17, :cond_69
3238 + const-string v17, "PrivacyPersistenceAdapter"
3240 + const-string/jumbo v18, "upgradeDatabase - could not create a database backup, aborting..."
3242 + invoke-static/range {v17 .. v18}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
3243 + :try_end_5a
3244 + .catchall {:try_start_3f .. :try_end_5a} :catchall_66
3246 + :goto_5a
3247 + monitor-exit p0
3249 + return-void
3251 + :catch_5c
3252 + move-exception v7
3254 + :try_start_5d
3255 + const-string v17, "PrivacyPersistenceAdapter"
3257 + const-string/jumbo v18, "upgradeDatabase - could not remove old backup"
3259 + invoke-static/range {v17 .. v18}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
3260 + :try_end_65
3261 + .catchall {:try_start_5d .. :try_end_65} :catchall_66
3263 + goto :goto_3f
3265 + :catchall_66
3266 + move-exception v17
3268 + monitor-exit p0
3270 + throw v17
3272 + :cond_69
3273 + :try_start_69
3274 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
3276 + move-result-object v4
3278 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->beginTransaction()V
3280 + packed-switch p1, :pswitch_data_164
3282 + :cond_73
3283 + :goto_73
3284 + if-eqz v4, :cond_159
3286 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3288 + move-result v17
3290 + if-eqz v17, :cond_159
3292 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
3294 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3296 + :goto_81
3297 + invoke-virtual/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->purgeSettings()Z
3298 + :try_end_84
3299 + .catchall {:try_start_69 .. :try_end_84} :catchall_66
3301 + goto :goto_5a
3303 + :pswitch_85
3304 + if-eqz v4, :cond_73
3306 + :try_start_87
3307 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3309 + move-result v17
3311 + if-eqz v17, :cond_73
3313 + const-string v17, "DROP TABLE IF EXISTS version;"
3315 + move-object/from16 v0, v17
3317 + invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
3319 + const-string v17, "CREATE TABLE IF NOT EXISTS allowed_contacts ( settings_id, contact_id, PRIMARY KEY(settings_id, contact_id) );"
3321 + move-object/from16 v0, v17
3323 + invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
3325 + const-string v17, "CREATE TABLE IF NOT EXISTS map ( name TEXT PRIMARY KEY, value TEXT );"
3327 + move-object/from16 v0, v17
3329 + invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
3331 + const-string v17, "INSERT OR REPLACE INTO map (name, value) VALUES (\"db_version\", 3);"
3333 + move-object/from16 v0, v17
3335 + invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
3337 + const-string v17, "INSERT OR REPLACE INTO map (name, value) VALUES (\"enabled\", \"1\");"
3339 + move-object/from16 v0, v17
3341 + invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
3343 + const-string v17, "INSERT OR REPLACE INTO map (name, value) VALUES (\"notifications_enabled\", \"1\");"
3345 + move-object/from16 v0, v17
3347 + invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
3349 + new-instance v14, Ljava/io/File;
3351 + const-string v17, "/data/system/privacy"
3353 + move-object/from16 v0, v17
3355 + invoke-direct {v14, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
3357 + invoke-virtual {v14}, Ljava/io/File;->listFiles()[Ljava/io/File;
3359 + move-result-object v2
3361 + array-length v10, v2
3363 + const/4 v8, 0x0
3365 + move v9, v8
3367 + :goto_c7
3368 + if-ge v9, v10, :cond_127
3370 + aget-object v13, v2, v9
3372 + invoke-virtual {v13}, Ljava/io/File;->listFiles()[Ljava/io/File;
3374 + move-result-object v3
3376 + array-length v11, v3
3378 + const/4 v8, 0x0
3380 + :goto_d1
3381 + if-ge v8, v11, :cond_123
3383 + aget-object v16, v3, v8
3385 + invoke-virtual/range {v16 .. v16}, Ljava/io/File;->isDirectory()Z
3387 + move-result v17
3389 + if-eqz v17, :cond_120
3391 + invoke-virtual/range {v16 .. v16}, Ljava/io/File;->listFiles()[Ljava/io/File;
3393 + move-result-object v15
3395 + const/16 v17, 0x0
3397 + aget-object v17, v15, v17
3399 + if-eqz v17, :cond_120
3401 + new-instance v12, Ljava/io/File;
3403 + new-instance v17, Ljava/lang/StringBuilder;
3405 + invoke-direct/range {v17 .. v17}, Ljava/lang/StringBuilder;-><init>()V
3407 + move-object/from16 v0, v17
3409 + invoke-virtual {v0, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
3411 + move-result-object v17
3413 + const-string v18, "/"
3415 + invoke-virtual/range {v17 .. v18}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3417 + move-result-object v17
3419 + const/16 v18, 0x0
3421 + aget-object v18, v15, v18
3423 + invoke-virtual/range {v18 .. v18}, Ljava/io/File;->getName()Ljava/lang/String;
3425 + move-result-object v18
3427 + invoke-virtual/range {v17 .. v18}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3429 + move-result-object v17
3431 + invoke-virtual/range {v17 .. v17}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3433 + move-result-object v17
3435 + move-object/from16 v0, v17
3437 + invoke-direct {v12, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
3439 + invoke-virtual {v12}, Ljava/io/File;->delete()Z
3441 + const/16 v17, 0x0
3443 + aget-object v17, v15, v17
3445 + move-object/from16 v0, v17
3447 + invoke-virtual {v0, v12}, Ljava/io/File;->renameTo(Ljava/io/File;)Z
3449 + move-object/from16 v0, p0
3451 + move-object/from16 v1, v16
3453 + invoke-direct {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteRecursive(Ljava/io/File;)V
3455 + :cond_120
3456 + add-int/lit8 v8, v8, 0x1
3458 + goto :goto_d1
3460 + :cond_123
3461 + add-int/lit8 v8, v9, 0x1
3463 + move v9, v8
3465 + goto :goto_c7
3467 + :cond_127
3468 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->setTransactionSuccessful()V
3469 + :try_end_12a
3470 + .catchall {:try_start_87 .. :try_end_12a} :catchall_66
3471 + .catch Ljava/lang/Exception; {:try_start_87 .. :try_end_12a} :catch_12c
3473 + goto/16 :goto_73
3475 + :catch_12c
3476 + move-exception v7
3478 + if-eqz v4, :cond_13b
3480 + :try_start_12f
3481 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3483 + move-result v17
3485 + if-eqz v17, :cond_13b
3487 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
3489 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3491 + :cond_13b
3492 + const-string v17, "PrivacyPersistenceAdapter"
3494 + const-string/jumbo v18, "upgradeDatabase - could not upgrade DB; will restore backup"
3496 + move-object/from16 v0, v17
3498 + move-object/from16 v1, v18
3500 + invoke-static {v0, v1, v7}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
3502 + invoke-static {v5, v6}, Landroid/os/FileUtils;->copyFile(Ljava/io/File;Ljava/io/File;)Z
3504 + invoke-virtual {v5}, Ljava/io/File;->delete()Z
3506 + goto/16 :goto_73
3508 + :pswitch_14f
3509 + const-string v17, "PrivacyPersistenceAdapter"
3511 + const-string/jumbo v18, "upgradeDatabase - trying to upgrade most current DB version"
3513 + invoke-static/range {v17 .. v18}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
3515 + goto/16 :goto_73
3517 + :cond_159
3518 + const-string v17, "PrivacyPersistenceAdapter"
3520 + const-string/jumbo v18, "upgradeDatabase - database is null or closed; cant call endTransaction()"
3522 + invoke-static/range {v17 .. v18}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
3523 + :try_end_161
3524 + .catchall {:try_start_12f .. :try_end_161} :catchall_66
3526 + goto/16 :goto_81
3528 + nop
3530 + :pswitch_data_164
3531 + .packed-switch 0x1
3532 + :pswitch_85
3533 + :pswitch_85
3534 + :pswitch_14f
3535 + .end packed-switch
3536 +.end method
3539 +# virtual methods
3540 +.method public declared-synchronized deleteSettings(Ljava/lang/String;)Z
3541 + .registers 16
3543 + monitor-enter p0
3545 + const/4 v11, 0x1
3547 + :try_start_2
3548 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
3550 + move-result-object v0
3552 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->beginTransaction()V
3553 + :try_end_9
3554 + .catchall {:try_start_2 .. :try_end_9} :catchall_107
3556 + :try_start_9
3557 + const-string/jumbo v1, "settings"
3559 + const/4 v2, 0x1
3561 + new-array v2, v2, [Ljava/lang/String;
3563 + const/4 v3, 0x0
3565 + const-string v4, "_id"
3567 + aput-object v4, v2, v3
3569 + const-string/jumbo v3, "packageName=?"
3571 + const/4 v4, 0x1
3573 + new-array v4, v4, [Ljava/lang/String;
3575 + const/4 v5, 0x0
3577 + aput-object p1, v4, v5
3579 + const/4 v5, 0x0
3581 + const/4 v6, 0x0
3583 + const/4 v7, 0x0
3585 + 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;
3587 + move-result-object v8
3589 + if-eqz v8, :cond_4c
3591 + invoke-interface {v8}, Landroid/database/Cursor;->getCount()I
3593 + move-result v1
3595 + if-lez v1, :cond_4c
3597 + invoke-interface {v8}, Landroid/database/Cursor;->moveToFirst()Z
3599 + move-result v1
3601 + if-eqz v1, :cond_4c
3603 + const/4 v1, 0x0
3605 + invoke-interface {v8, v1}, Landroid/database/Cursor;->getInt(I)I
3607 + move-result v10
3609 + const-string v1, "allowed_contacts"
3611 + const-string/jumbo v2, "settings_id=?"
3613 + const/4 v3, 0x1
3615 + new-array v3, v3, [Ljava/lang/String;
3617 + const/4 v4, 0x0
3619 + invoke-static {v10}, Ljava/lang/Integer;->toString(I)Ljava/lang/String;
3621 + move-result-object v5
3623 + aput-object v5, v3, v4
3625 + invoke-virtual {v0, v1, v2, v3}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
3627 + invoke-interface {v8}, Landroid/database/Cursor;->close()V
3629 + :cond_4c
3630 + const-string/jumbo v1, "settings"
3632 + const-string/jumbo v2, "packageName=?"
3634 + const/4 v3, 0x1
3636 + new-array v3, v3, [Ljava/lang/String;
3638 + const/4 v4, 0x0
3640 + aput-object p1, v3, v4
3642 + invoke-virtual {v0, v1, v2, v3}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
3644 + move-result v1
3646 + if-nez v1, :cond_8d
3648 + const-string v1, "PrivacyPersistenceAdapter"
3650 + new-instance v2, Ljava/lang/StringBuilder;
3652 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
3654 + const-string v3, "deleteSettings - database entry for "
3656 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3658 + move-result-object v2
3660 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3662 + move-result-object v2
3664 + const-string v3, " not found"
3666 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3668 + move-result-object v2
3670 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3672 + move-result-object v2
3674 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
3675 + :try_end_7c
3676 + .catchall {:try_start_9 .. :try_end_7c} :catchall_10a
3677 + .catch Ljava/lang/Exception; {:try_start_9 .. :try_end_7c} :catch_ef
3679 + const/4 v1, 0x0
3681 + :try_start_7d
3682 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
3684 + if-eqz v0, :cond_8b
3686 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3688 + move-result v2
3690 + if-eqz v2, :cond_8b
3692 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3693 + :try_end_8b
3694 + .catchall {:try_start_7d .. :try_end_8b} :catchall_107
3696 + :cond_8b
3697 + :goto_8b
3698 + monitor-exit p0
3700 + return v1
3702 + :cond_8d
3703 + :try_start_8d
3704 + new-instance v12, Ljava/io/File;
3706 + new-instance v1, Ljava/lang/StringBuilder;
3708 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
3710 + const-string v2, "/data/system/privacy/"
3712 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3714 + move-result-object v1
3716 + invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3718 + move-result-object v1
3720 + const-string v2, "/"
3722 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3724 + move-result-object v1
3726 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3728 + move-result-object v1
3730 + invoke-direct {v12, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
3732 + new-instance v13, Ljava/io/File;
3734 + new-instance v1, Ljava/lang/StringBuilder;
3736 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
3738 + const-string v2, "/data/system/privacy/"
3740 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3742 + move-result-object v1
3744 + invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3746 + move-result-object v1
3748 + const-string v2, "/systemLogsSetting"
3750 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3752 + move-result-object v1
3754 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3756 + move-result-object v1
3758 + invoke-direct {v13, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
3760 + invoke-virtual {v13}, Ljava/io/File;->delete()Z
3762 + invoke-virtual {v12}, Ljava/io/File;->list()[Ljava/lang/String;
3764 + move-result-object v1
3766 + if-eqz v1, :cond_d9
3768 + invoke-virtual {v12}, Ljava/io/File;->list()[Ljava/lang/String;
3770 + move-result-object v1
3772 + array-length v1, v1
3774 + if-nez v1, :cond_dc
3776 + :cond_d9
3777 + invoke-virtual {v12}, Ljava/io/File;->delete()Z
3779 + :cond_dc
3780 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->setTransactionSuccessful()V
3781 + :try_end_df
3782 + .catchall {:try_start_8d .. :try_end_df} :catchall_10a
3783 + .catch Ljava/lang/Exception; {:try_start_8d .. :try_end_df} :catch_ef
3785 + :try_start_df
3786 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
3788 + if-eqz v0, :cond_ed
3790 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3792 + move-result v1
3794 + if-eqz v1, :cond_ed
3796 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3797 + :try_end_ed
3798 + .catchall {:try_start_df .. :try_end_ed} :catchall_107
3800 + :cond_ed
3801 + :goto_ed
3802 + move v1, v11
3804 + goto :goto_8b
3806 + :catch_ef
3807 + move-exception v9
3809 + const/4 v11, 0x0
3811 + :try_start_f1
3812 + const-string v1, "PrivacyPersistenceAdapter"
3814 + const-string v2, "deleteSettings - could not delete settings"
3816 + invoke-static {v1, v2, v9}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
3817 + :try_end_f8
3818 + .catchall {:try_start_f1 .. :try_end_f8} :catchall_10a
3820 + :try_start_f8
3821 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
3823 + if-eqz v0, :cond_ed
3825 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3827 + move-result v1
3829 + if-eqz v1, :cond_ed
3831 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3832 + :try_end_106
3833 + .catchall {:try_start_f8 .. :try_end_106} :catchall_107
3835 + goto :goto_ed
3837 + :catchall_107
3838 + move-exception v1
3840 + monitor-exit p0
3842 + throw v1
3844 + :catchall_10a
3845 + move-exception v1
3847 + :try_start_10b
3848 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
3850 + if-eqz v0, :cond_119
3852 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3854 + move-result v2
3856 + if-eqz v2, :cond_119
3858 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3860 + :cond_119
3861 + throw v1
3862 + :try_end_11a
3863 + .catchall {:try_start_10b .. :try_end_11a} :catchall_107
3864 +.end method
3866 +.method public declared-synchronized getSettings(Ljava/lang/String;Z)Landroid/privacy/PrivacySettings;
3867 + .registers 47
3869 + monitor-enter p0
3871 + const/16 v43, 0x0
3873 + if-nez p1, :cond_10
3875 + :try_start_5
3876 + const-string v1, "PrivacyPersistenceAdapter"
3878 + const-string v4, "getSettings - insufficient application identifier - package name is required"
3880 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
3881 + :try_end_c
3882 + .catchall {:try_start_5 .. :try_end_c} :catchall_2d8
3884 + move-object/from16 v3, v43
3886 + :goto_e
3887 + monitor-exit p0
3889 + return-object v43
3891 + :cond_10
3892 + :try_start_10
3893 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
3895 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
3897 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
3899 + move-result v1
3901 + add-int/lit8 v1, v1, 0x1
3903 + invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
3905 + move-result-object v1
3907 + sput-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
3908 + :try_end_20
3909 + .catchall {:try_start_10 .. :try_end_20} :catchall_2d8
3911 + :try_start_20
3912 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
3913 + :try_end_23
3914 + .catchall {:try_start_20 .. :try_end_23} :catchall_2d8
3915 + .catch Landroid/database/sqlite/SQLiteException; {:try_start_20 .. :try_end_23} :catch_245
3917 + move-result-object v2
3919 + const/16 v41, 0x0
3921 + :try_start_26
3922 + const-string/jumbo v3, "settings"
3924 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->DATABASE_FIELDS:[Ljava/lang/String;
3926 + const-string/jumbo v5, "packageName=?"
3928 + const/4 v1, 0x1
3930 + new-array v6, v1, [Ljava/lang/String;
3932 + const/4 v1, 0x0
3934 + aput-object p1, v6, v1
3936 + const/4 v7, 0x0
3938 + const/4 v8, 0x0
3940 + const/4 v9, 0x0
3942 + const/4 v10, 0x0
3944 + move-object/from16 v1, p0
3946 + 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;
3948 + move-result-object v41
3950 + if-eqz v41, :cond_2dc
3952 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->moveToFirst()Z
3954 + move-result v1
3956 + if-eqz v1, :cond_2dc
3958 + new-instance v3, Landroid/privacy/PrivacySettings;
3960 + const/4 v1, 0x0
3962 + move-object/from16 v0, v41
3964 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getInt(I)I
3966 + move-result v1
3968 + invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
3970 + move-result-object v4
3972 + const/4 v1, 0x1
3974 + move-object/from16 v0, v41
3976 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
3978 + move-result-object v5
3980 + const/4 v1, 0x2
3982 + move-object/from16 v0, v41
3984 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getInt(I)I
3986 + move-result v6
3988 + const/4 v1, 0x3
3990 + move-object/from16 v0, v41
3992 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3994 + move-result v1
3996 + int-to-byte v7, v1
3998 + const/4 v1, 0x4
4000 + move-object/from16 v0, v41
4002 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
4004 + move-result-object v8
4006 + const/4 v1, 0x5
4008 + move-object/from16 v0, v41
4010 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4012 + move-result v1
4014 + int-to-byte v9, v1
4016 + const/4 v1, 0x6
4018 + move-object/from16 v0, v41
4020 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
4022 + move-result-object v10
4024 + const/4 v1, 0x7
4026 + move-object/from16 v0, v41
4028 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4030 + move-result v1
4032 + int-to-byte v11, v1
4034 + const/16 v1, 0x8
4036 + move-object/from16 v0, v41
4038 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
4040 + move-result-object v12
4042 + const/16 v1, 0x9
4044 + move-object/from16 v0, v41
4046 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
4048 + move-result-object v13
4050 + const/16 v1, 0xa
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 v14, v1
4060 + const/16 v1, 0xb
4062 + move-object/from16 v0, v41
4064 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
4066 + move-result-object v15
4068 + const/16 v1, 0xc
4070 + move-object/from16 v0, v41
4072 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
4074 + move-result-object v16
4076 + const/16 v1, 0xd
4078 + move-object/from16 v0, v41
4080 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4082 + move-result v1
4084 + int-to-byte v0, v1
4086 + move/from16 v17, v0
4088 + const/16 v1, 0xe
4090 + move-object/from16 v0, v41
4092 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4094 + move-result v1
4096 + int-to-byte v0, v1
4098 + move/from16 v18, v0
4100 + const/16 v1, 0xf
4102 + move-object/from16 v0, v41
4104 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4106 + move-result v1
4108 + int-to-byte v0, v1
4110 + move/from16 v19, v0
4112 + const/16 v1, 0x10
4114 + move-object/from16 v0, v41
4116 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
4118 + move-result-object v20
4120 + const/16 v1, 0x11
4122 + move-object/from16 v0, v41
4124 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4126 + move-result v1
4128 + int-to-byte v0, v1
4130 + move/from16 v21, v0
4132 + const/16 v1, 0x12
4134 + move-object/from16 v0, v41
4136 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
4138 + move-result-object v22
4140 + const/16 v1, 0x13
4142 + move-object/from16 v0, v41
4144 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4146 + move-result v1
4148 + int-to-byte v0, v1
4150 + move/from16 v23, v0
4152 + const/16 v1, 0x14
4154 + move-object/from16 v0, v41
4156 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4158 + move-result v1
4160 + int-to-byte v0, v1
4162 + move/from16 v24, v0
4164 + const/16 v1, 0x15
4166 + move-object/from16 v0, v41
4168 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4170 + move-result v1
4172 + int-to-byte v0, v1
4174 + move/from16 v25, v0
4176 + const/16 v1, 0x16
4178 + move-object/from16 v0, v41
4180 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4182 + move-result v1
4184 + int-to-byte v0, v1
4186 + move/from16 v26, v0
4188 + const/16 v1, 0x17
4190 + move-object/from16 v0, v41
4192 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4194 + move-result v1
4196 + int-to-byte v0, v1
4198 + move/from16 v27, v0
4200 + const/16 v1, 0x18
4202 + move-object/from16 v0, v41
4204 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4206 + move-result v1
4208 + int-to-byte v0, v1
4210 + move/from16 v28, v0
4212 + const/16 v1, 0x19
4214 + move-object/from16 v0, v41
4216 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4218 + move-result v1
4220 + int-to-byte v0, v1
4222 + move/from16 v29, v0
4224 + const/16 v1, 0x1a
4226 + move-object/from16 v0, v41
4228 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4230 + move-result v1
4232 + int-to-byte v0, v1
4234 + move/from16 v30, v0
4236 + const/16 v1, 0x1b
4238 + move-object/from16 v0, v41
4240 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4242 + move-result v1
4244 + int-to-byte v0, v1
4246 + move/from16 v31, v0
4248 + const/16 v1, 0x1c
4250 + move-object/from16 v0, v41
4252 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4254 + move-result v1
4256 + int-to-byte v0, v1
4258 + move/from16 v32, v0
4260 + const/16 v1, 0x1d
4262 + move-object/from16 v0, v41
4264 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4266 + move-result v1
4268 + int-to-byte v0, v1
4270 + move/from16 v33, v0
4272 + const/16 v1, 0x1e
4274 + move-object/from16 v0, v41
4276 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4278 + move-result v1
4280 + int-to-byte v0, v1
4282 + move/from16 v34, v0
4284 + const/16 v1, 0x1f
4286 + move-object/from16 v0, v41
4288 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4290 + move-result v1
4292 + int-to-byte v0, v1
4294 + move/from16 v35, v0
4296 + const/16 v1, 0x20
4298 + move-object/from16 v0, v41
4300 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4302 + move-result v1
4304 + int-to-byte v0, v1
4306 + move/from16 v36, v0
4308 + const/16 v1, 0x21
4310 + move-object/from16 v0, v41
4312 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4314 + move-result v1
4316 + int-to-byte v0, v1
4318 + move/from16 v37, v0
4320 + const/16 v1, 0x22
4322 + move-object/from16 v0, v41
4324 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4326 + move-result v1
4328 + int-to-byte v0, v1
4330 + move/from16 v38, v0
4332 + const/16 v39, 0x0
4334 + 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
4335 + :try_end_1a1
4336 + .catchall {:try_start_26 .. :try_end_1a1} :catchall_29b
4337 + .catch Ljava/lang/Exception; {:try_start_26 .. :try_end_1a1} :catch_2d3
4339 + :try_start_1a1
4340 + new-instance v1, Ljava/lang/StringBuilder;
4342 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
4344 + const-string v4, "SELECT * FROM allowed_contacts WHERE settings_id="
4346 + invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4348 + move-result-object v1
4350 + invoke-virtual {v3}, Landroid/privacy/PrivacySettings;->get_id()Ljava/lang/Integer;
4352 + move-result-object v4
4354 + invoke-virtual {v4}, Ljava/lang/Integer;->intValue()I
4356 + move-result v4
4358 + invoke-static {v4}, Ljava/lang/Integer;->toString(I)Ljava/lang/String;
4360 + move-result-object v4
4362 + invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4364 + move-result-object v1
4366 + const-string v4, ";"
4368 + invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4370 + move-result-object v1
4372 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4374 + move-result-object v1
4376 + move-object/from16 v0, p0
4378 + invoke-direct {v0, v2, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->rawQuery(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;)Landroid/database/Cursor;
4380 + move-result-object v41
4382 + if-eqz v41, :cond_268
4384 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->getCount()I
4386 + move-result v1
4388 + if-lez v1, :cond_268
4390 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->getCount()I
4392 + move-result v1
4394 + new-array v0, v1, [I
4396 + move-object/from16 v40, v0
4398 + :goto_1dc
4399 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->moveToNext()Z
4401 + move-result v1
4403 + if-eqz v1, :cond_263
4405 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->getPosition()I
4407 + move-result v1
4409 + const/4 v4, 0x1
4411 + move-object/from16 v0, v41
4413 + invoke-interface {v0, v4}, Landroid/database/Cursor;->getInt(I)I
4415 + move-result v4
4417 + aput v4, v40, v1
4418 + :try_end_1ef
4419 + .catchall {:try_start_1a1 .. :try_end_1ef} :catchall_2d1
4420 + .catch Ljava/lang/Exception; {:try_start_1a1 .. :try_end_1ef} :catch_1f0
4422 + goto :goto_1dc
4424 + :catch_1f0
4425 + move-exception v42
4427 + :goto_1f1
4428 + :try_start_1f1
4429 + const-string v1, "PrivacyPersistenceAdapter"
4431 + new-instance v4, Ljava/lang/StringBuilder;
4433 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
4435 + const-string v5, "getSettings - failed to get settings for package: "
4437 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4439 + move-result-object v4
4441 + move-object/from16 v0, p1
4443 + invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4445 + move-result-object v4
4447 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4449 + move-result-object v4
4451 + move-object/from16 v0, v42
4453 + invoke-static {v1, v4, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
4455 + invoke-virtual/range {v42 .. v42}, Ljava/lang/Exception;->printStackTrace()V
4457 + if-eqz v41, :cond_215
4459 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->close()V
4460 + :try_end_215
4461 + .catchall {:try_start_1f1 .. :try_end_215} :catchall_2d1
4463 + :cond_215
4464 + if-eqz v41, :cond_21a
4466 + :try_start_217
4467 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->close()V
4469 + :cond_21a
4470 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4472 + monitor-enter v4
4473 + :try_end_21d
4474 + .catchall {:try_start_217 .. :try_end_21d} :catchall_298
4476 + :try_start_21d
4477 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4479 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4481 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
4483 + move-result v1
4485 + add-int/lit8 v1, v1, -0x1
4487 + invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4489 + move-result-object v1
4491 + sput-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4493 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4495 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
4497 + move-result v1
4499 + if-nez v1, :cond_240
4501 + if-eqz v2, :cond_240
4503 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
4505 + move-result v1
4507 + if-eqz v1, :cond_240
4509 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
4511 + :cond_240
4512 + monitor-exit v4
4513 + :try_end_241
4514 + .catchall {:try_start_21d .. :try_end_241} :catchall_2ce
4516 + :goto_241
4517 + move-object/from16 v43, v3
4519 + goto/16 :goto_e
4521 + :catch_245
4522 + move-exception v42
4524 + :try_start_246
4525 + const-string v1, "PrivacyPersistenceAdapter"
4527 + const-string v4, "getSettings - database could not be opened"
4529 + move-object/from16 v0, v42
4531 + invoke-static {v1, v4, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
4533 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4535 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4537 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
4539 + move-result v1
4541 + add-int/lit8 v1, v1, -0x1
4543 + invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4545 + move-result-object v1
4547 + sput-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4548 + :try_end_25f
4549 + .catchall {:try_start_246 .. :try_end_25f} :catchall_2d8
4551 + move-object/from16 v3, v43
4553 + goto/16 :goto_e
4555 + :cond_263
4556 + :try_start_263
4557 + move-object/from16 v0, v40
4559 + invoke-virtual {v3, v0}, Landroid/privacy/PrivacySettings;->setAllowedContacts([I)V
4560 + :try_end_268
4561 + .catchall {:try_start_263 .. :try_end_268} :catchall_2d1
4562 + .catch Ljava/lang/Exception; {:try_start_263 .. :try_end_268} :catch_1f0
4564 + :cond_268
4565 + :goto_268
4566 + if-eqz v41, :cond_26d
4568 + :try_start_26a
4569 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->close()V
4571 + :cond_26d
4572 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4574 + monitor-enter v4
4575 + :try_end_270
4576 + .catchall {:try_start_26a .. :try_end_270} :catchall_298
4578 + :try_start_270
4579 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4581 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4583 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
4585 + move-result v1
4587 + add-int/lit8 v1, v1, -0x1
4589 + invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4591 + move-result-object v1
4593 + sput-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4595 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4597 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
4599 + move-result v1
4601 + if-nez v1, :cond_293
4603 + if-eqz v2, :cond_293
4605 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
4607 + move-result v1
4609 + if-eqz v1, :cond_293
4611 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
4613 + :cond_293
4614 + monitor-exit v4
4616 + goto :goto_241
4618 + :catchall_295
4619 + move-exception v1
4621 + monitor-exit v4
4622 + :try_end_297
4623 + .catchall {:try_start_270 .. :try_end_297} :catchall_295
4625 + :try_start_297
4626 + throw v1
4627 + :try_end_298
4628 + .catchall {:try_start_297 .. :try_end_298} :catchall_298
4630 + :catchall_298
4631 + move-exception v1
4633 + :goto_299
4634 + monitor-exit p0
4636 + throw v1
4638 + :catchall_29b
4639 + move-exception v1
4641 + move-object/from16 v3, v43
4643 + :goto_29e
4644 + if-eqz v41, :cond_2a3
4646 + :try_start_2a0
4647 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->close()V
4649 + :cond_2a3
4650 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4652 + monitor-enter v4
4653 + :try_end_2a6
4654 + .catchall {:try_start_2a0 .. :try_end_2a6} :catchall_298
4656 + :try_start_2a6
4657 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4659 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4661 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
4663 + move-result v5
4665 + add-int/lit8 v5, v5, -0x1
4667 + invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4669 + move-result-object v5
4671 + sput-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4673 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4675 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
4677 + move-result v5
4679 + if-nez v5, :cond_2c9
4681 + if-eqz v2, :cond_2c9
4683 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
4685 + move-result v5
4687 + if-eqz v5, :cond_2c9
4689 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
4691 + :cond_2c9
4692 + monitor-exit v4
4693 + :try_end_2ca
4694 + .catchall {:try_start_2a6 .. :try_end_2ca} :catchall_2cb
4696 + :try_start_2ca
4697 + throw v1
4698 + :try_end_2cb
4699 + .catchall {:try_start_2ca .. :try_end_2cb} :catchall_298
4701 + :catchall_2cb
4702 + move-exception v1
4704 + :try_start_2cc
4705 + monitor-exit v4
4706 + :try_end_2cd
4707 + .catchall {:try_start_2cc .. :try_end_2cd} :catchall_2cb
4709 + :try_start_2cd
4710 + throw v1
4711 + :try_end_2ce
4712 + .catchall {:try_start_2cd .. :try_end_2ce} :catchall_298
4714 + :catchall_2ce
4715 + move-exception v1
4717 + :try_start_2cf
4718 + monitor-exit v4
4719 + :try_end_2d0
4720 + .catchall {:try_start_2cf .. :try_end_2d0} :catchall_2ce
4722 + :try_start_2d0
4723 + throw v1
4724 + :try_end_2d1
4725 + .catchall {:try_start_2d0 .. :try_end_2d1} :catchall_298
4727 + :catchall_2d1
4728 + move-exception v1
4730 + goto :goto_29e
4732 + :catch_2d3
4733 + move-exception v42
4735 + move-object/from16 v3, v43
4737 + goto/16 :goto_1f1
4739 + :catchall_2d8
4740 + move-exception v1
4742 + move-object/from16 v3, v43
4744 + goto :goto_299
4746 + :cond_2dc
4747 + move-object/from16 v3, v43
4749 + goto :goto_268
4750 +.end method
4752 +.method public getValue(Ljava/lang/String;)Ljava/lang/String;
4753 + .registers 15
4755 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4757 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4759 + invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
4761 + move-result v0
4763 + add-int/lit8 v0, v0, 0x1
4765 + invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4767 + move-result-object v0
4769 + sput-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4771 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
4773 + move-result-object v1
4775 + const/4 v12, 0x0
4777 + :try_start_15
4778 + const-string/jumbo v2, "map"
4780 + const/4 v0, 0x1
4782 + new-array v3, v0, [Ljava/lang/String;
4784 + const/4 v0, 0x0
4786 + const-string/jumbo v4, "value"
4788 + aput-object v4, v3, v0
4790 + const-string/jumbo v4, "name=?"
4792 + const/4 v0, 0x1
4794 + new-array v5, v0, [Ljava/lang/String;
4796 + const/4 v0, 0x0
4798 + aput-object p1, v5, v0
4800 + const/4 v6, 0x0
4802 + const/4 v7, 0x0
4804 + const/4 v8, 0x0
4806 + const/4 v9, 0x0
4808 + move-object v0, p0
4810 + 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;
4812 + move-result-object v10
4814 + if-eqz v10, :cond_77
4816 + invoke-interface {v10}, Landroid/database/Cursor;->getCount()I
4818 + move-result v0
4820 + if-lez v0, :cond_77
4822 + invoke-interface {v10}, Landroid/database/Cursor;->moveToFirst()Z
4824 + move-result v0
4826 + if-eqz v0, :cond_77
4828 + const-string/jumbo v0, "value"
4830 + invoke-interface {v10, v0}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
4832 + move-result v0
4834 + invoke-interface {v10, v0}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
4836 + move-result-object v12
4838 + invoke-interface {v10}, Landroid/database/Cursor;->close()V
4839 + :try_end_4f
4840 + .catch Ljava/lang/Exception; {:try_start_15 .. :try_end_4f} :catch_90
4842 + :goto_4f
4843 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4845 + monitor-enter v2
4847 + :try_start_52
4848 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4850 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4852 + invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
4854 + move-result v0
4856 + add-int/lit8 v0, v0, -0x1
4858 + invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4860 + move-result-object v0
4862 + sput-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4864 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4866 + invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
4868 + move-result v0
4870 + if-nez v0, :cond_75
4872 + if-eqz v1, :cond_75
4874 + invoke-virtual {v1}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
4876 + move-result v0
4878 + if-eqz v0, :cond_75
4880 + invoke-virtual {v1}, Landroid/database/sqlite/SQLiteDatabase;->close()V
4882 + :cond_75
4883 + monitor-exit v2
4884 + :try_end_76
4885 + .catchall {:try_start_52 .. :try_end_76} :catchall_aa
4887 + return-object v12
4889 + :cond_77
4890 + :try_start_77
4891 + const-string v0, "PrivacyPersistenceAdapter"
4893 + new-instance v2, Ljava/lang/StringBuilder;
4895 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
4897 + const-string v3, "getValue - could not get value for name: "
4899 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4901 + move-result-object v2
4903 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4905 + move-result-object v2
4907 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4909 + move-result-object v2
4911 + invoke-static {v0, v2}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
4912 + :try_end_8f
4913 + .catch Ljava/lang/Exception; {:try_start_77 .. :try_end_8f} :catch_90
4915 + goto :goto_4f
4917 + :catch_90
4918 + move-exception v11
4920 + const-string v0, "PrivacyPersistenceAdapter"
4922 + new-instance v2, Ljava/lang/StringBuilder;
4924 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
4926 + const-string v3, "getValue - could not get value for name: "
4928 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4930 + move-result-object v2
4932 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4934 + move-result-object v2
4936 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4938 + move-result-object v2
4940 + invoke-static {v0, v2, v11}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
4942 + goto :goto_4f
4944 + :catchall_aa
4945 + move-exception v0
4947 + :try_start_ab
4948 + monitor-exit v2
4949 + :try_end_ac
4950 + .catchall {:try_start_ab .. :try_end_ac} :catchall_aa
4952 + throw v0
4953 +.end method
4955 +.method public purgeSettings()Z
4956 + .registers 28
4958 + const/16 v25, 0x1
4960 + new-instance v13, Ljava/util/ArrayList;
4962 + invoke-direct {v13}, Ljava/util/ArrayList;-><init>()V
4964 + move-object/from16 v0, p0
4966 + iget-object v2, v0, Landroid/privacy/PrivacyPersistenceAdapter;->context:Landroid/content/Context;
4968 + invoke-virtual {v2}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
4970 + move-result-object v21
4972 + const/16 v2, 0x80
4974 + move-object/from16 v0, v21
4976 + invoke-virtual {v0, v2}, Landroid/content/pm/PackageManager;->getInstalledApplications(I)Ljava/util/List;
4978 + move-result-object v19
4980 + invoke-interface/range {v19 .. v19}, Ljava/util/List;->iterator()Ljava/util/Iterator;
4982 + move-result-object v18
4984 + :goto_1b
4985 + invoke-interface/range {v18 .. v18}, Ljava/util/Iterator;->hasNext()Z
4987 + move-result v2
4989 + if-eqz v2, :cond_2d
4991 + invoke-interface/range {v18 .. v18}, Ljava/util/Iterator;->next()Ljava/lang/Object;
4993 + move-result-object v12
4995 + check-cast v12, Landroid/content/pm/ApplicationInfo;
4997 + iget-object v2, v12, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
4999 + invoke-interface {v13, v2}, Ljava/util/List;->add(Ljava/lang/Object;)Z
5001 + goto :goto_1b
5003 + :cond_2d
5004 + new-instance v26, Ljava/io/File;
5006 + const-string v2, "/data/system/privacy"
5008 + move-object/from16 v0, v26
5010 + invoke-direct {v0, v2}, Ljava/io/File;-><init>(Ljava/lang/String;)V
5012 + invoke-virtual/range {v26 .. v26}, Ljava/io/File;->listFiles()[Ljava/io/File;
5014 + move-result-object v15
5016 + array-length v0, v15
5018 + move/from16 v20, v0
5020 + const/16 v18, 0x0
5022 + :goto_3f
5023 + move/from16 v0, v18
5025 + move/from16 v1, v20
5027 + if-ge v0, v1, :cond_5d
5029 + aget-object v23, v15, v18
5031 + invoke-virtual/range {v23 .. v23}, Ljava/io/File;->getName()Ljava/lang/String;
5033 + move-result-object v24
5035 + move-object/from16 v0, v24
5037 + invoke-interface {v13, v0}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
5039 + move-result v2
5041 + if-nez v2, :cond_5a
5043 + move-object/from16 v0, p0
5045 + move-object/from16 v1, v23
5047 + invoke-direct {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteRecursive(Ljava/io/File;)V
5049 + :cond_5a
5050 + add-int/lit8 v18, v18, 0x1
5052 + goto :goto_3f
5054 + :cond_5d
5055 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5057 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5059 + invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
5061 + move-result v2
5063 + add-int/lit8 v2, v2, 0x1
5065 + invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5067 + move-result-object v2
5069 + sput-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5071 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
5073 + move-result-object v3
5075 + const/16 v16, 0x0
5077 + :try_start_73
5078 + const-string/jumbo v4, "settings"
5080 + const/4 v2, 0x1
5082 + new-array v5, v2, [Ljava/lang/String;
5084 + const/4 v2, 0x0
5086 + const-string/jumbo v6, "packageName"
5088 + aput-object v6, v5, v2
5090 + const/4 v6, 0x0
5092 + const/4 v7, 0x0
5094 + const/4 v8, 0x0
5096 + const/4 v9, 0x0
5098 + const/4 v10, 0x0
5100 + const/4 v11, 0x0
5102 + move-object/from16 v2, p0
5104 + 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;
5106 + move-result-object v16
5108 + new-instance v14, Ljava/util/ArrayList;
5110 + invoke-direct {v14}, Ljava/util/ArrayList;-><init>()V
5112 + :goto_90
5113 + invoke-interface/range {v16 .. v16}, Landroid/database/Cursor;->moveToNext()Z
5115 + move-result v2
5117 + if-eqz v2, :cond_142
5119 + const/4 v2, 0x0
5121 + move-object/from16 v0, v16
5123 + invoke-interface {v0, v2}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
5125 + move-result-object v24
5127 + move-object/from16 v0, v24
5129 + invoke-interface {v13, v0}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
5131 + move-result v2
5133 + if-nez v2, :cond_e7
5135 + move-object/from16 v0, p0
5137 + move-object/from16 v1, v24
5139 + invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteSettings(Ljava/lang/String;)Z
5140 + :try_end_ac
5141 + .catchall {:try_start_73 .. :try_end_ac} :catchall_107
5142 + .catch Ljava/lang/Exception; {:try_start_73 .. :try_end_ac} :catch_ad
5144 + goto :goto_90
5146 + :catch_ad
5147 + move-exception v17
5149 + :try_start_ae
5150 + const-string v2, "PrivacyPersistenceAdapter"
5152 + const-string/jumbo v4, "purgeSettings - purging DB failed"
5154 + move-object/from16 v0, v17
5156 + invoke-static {v2, v4, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
5157 + :try_end_b8
5158 + .catchall {:try_start_ae .. :try_end_b8} :catchall_107
5160 + const/16 v25, 0x0
5162 + if-eqz v16, :cond_bf
5164 + invoke-interface/range {v16 .. v16}, Landroid/database/Cursor;->close()V
5166 + :cond_bf
5167 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5169 + monitor-enter v4
5171 + :try_start_c2
5172 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5174 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5176 + invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
5178 + move-result v2
5180 + add-int/lit8 v2, v2, -0x1
5182 + invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5184 + move-result-object v2
5186 + sput-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5188 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5190 + invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
5192 + move-result v2
5194 + if-nez v2, :cond_e5
5196 + if-eqz v3, :cond_e5
5198 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
5200 + move-result v2
5202 + if-eqz v2, :cond_e5
5204 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->close()V
5206 + :cond_e5
5207 + monitor-exit v4
5208 + :try_end_e6
5209 + .catchall {:try_start_c2 .. :try_end_e6} :catchall_13f
5211 + :goto_e6
5212 + return v25
5214 + :cond_e7
5215 + :try_start_e7
5216 + move-object/from16 v0, v24
5218 + invoke-interface {v14, v0}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
5220 + move-result v2
5222 + if-eqz v2, :cond_135
5224 + const/4 v2, 0x0
5226 + move-object/from16 v0, p0
5228 + move-object/from16 v1, v24
5230 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacyPersistenceAdapter;->getSettings(Ljava/lang/String;Z)Landroid/privacy/PrivacySettings;
5232 + move-result-object v22
5234 + move-object/from16 v0, p0
5236 + move-object/from16 v1, v24
5238 + invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteSettings(Ljava/lang/String;)Z
5240 + move-object/from16 v0, p0
5242 + move-object/from16 v1, v22
5244 + invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->saveSettings(Landroid/privacy/PrivacySettings;)Z
5245 + :try_end_106
5246 + .catchall {:try_start_e7 .. :try_end_106} :catchall_107
5247 + .catch Ljava/lang/Exception; {:try_start_e7 .. :try_end_106} :catch_ad
5249 + goto :goto_90
5251 + :catchall_107
5252 + move-exception v2
5254 + if-eqz v16, :cond_10d
5256 + invoke-interface/range {v16 .. v16}, Landroid/database/Cursor;->close()V
5258 + :cond_10d
5259 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5261 + monitor-enter v4
5263 + :try_start_110
5264 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5266 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5268 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
5270 + move-result v5
5272 + add-int/lit8 v5, v5, -0x1
5274 + invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5276 + move-result-object v5
5278 + sput-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5280 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5282 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
5284 + move-result v5
5286 + if-nez v5, :cond_133
5288 + if-eqz v3, :cond_133
5290 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
5292 + move-result v5
5294 + if-eqz v5, :cond_133
5296 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->close()V
5298 + :cond_133
5299 + monitor-exit v4
5300 + :try_end_134
5301 + .catchall {:try_start_110 .. :try_end_134} :catchall_13c
5303 + throw v2
5305 + :cond_135
5306 + :try_start_135
5307 + move-object/from16 v0, v24
5309 + invoke-interface {v14, v0}, Ljava/util/List;->add(Ljava/lang/Object;)Z
5310 + :try_end_13a
5311 + .catchall {:try_start_135 .. :try_end_13a} :catchall_107
5312 + .catch Ljava/lang/Exception; {:try_start_135 .. :try_end_13a} :catch_ad
5314 + goto/16 :goto_90
5316 + :catchall_13c
5317 + move-exception v2
5319 + :try_start_13d
5320 + monitor-exit v4
5321 + :try_end_13e
5322 + .catchall {:try_start_13d .. :try_end_13e} :catchall_13c
5324 + throw v2
5326 + :catchall_13f
5327 + move-exception v2
5329 + :try_start_140
5330 + monitor-exit v4
5331 + :try_end_141
5332 + .catchall {:try_start_140 .. :try_end_141} :catchall_13f
5334 + throw v2
5336 + :cond_142
5337 + if-eqz v16, :cond_147
5339 + invoke-interface/range {v16 .. v16}, Landroid/database/Cursor;->close()V
5341 + :cond_147
5342 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5344 + monitor-enter v4
5346 + :try_start_14a
5347 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5349 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5351 + invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
5353 + move-result v2
5355 + add-int/lit8 v2, v2, -0x1
5357 + invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5359 + move-result-object v2
5361 + sput-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5363 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5365 + invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
5367 + move-result v2
5369 + if-nez v2, :cond_16d
5371 + if-eqz v3, :cond_16d
5373 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
5375 + move-result v2
5377 + if-eqz v2, :cond_16d
5379 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->close()V
5381 + :cond_16d
5382 + monitor-exit v4
5384 + goto/16 :goto_e6
5386 + :catchall_170
5387 + move-exception v2
5389 + monitor-exit v4
5390 + :try_end_172
5391 + .catchall {:try_start_14a .. :try_end_172} :catchall_170
5393 + throw v2
5394 +.end method
5396 +.method public declared-synchronized saveSettings(Landroid/privacy/PrivacySettings;)Z
5397 + .registers 27
5399 + monitor-enter p0
5401 + const/16 v18, 0x1
5403 + :try_start_3
5404 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getPackageName()Ljava/lang/String;
5406 + move-result-object v17
5408 + if-eqz v17, :cond_f
5410 + invoke-virtual/range {v17 .. v17}, Ljava/lang/String;->isEmpty()Z
5412 + move-result v3
5414 + if-eqz v3, :cond_1a
5416 + :cond_f
5417 + const-string v3, "PrivacyPersistenceAdapter"
5419 + const-string/jumbo v4, "saveSettings - either package name, UID or both is missing"
5421 + invoke-static {v3, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
5422 + :try_end_17
5423 + .catchall {:try_start_3 .. :try_end_17} :catchall_2c2
5425 + const/4 v3, 0x0
5427 + :goto_18
5428 + monitor-exit p0
5430 + return v3
5432 + :cond_1a
5433 + :try_start_1a
5434 + new-instance v23, Landroid/content/ContentValues;
5436 + invoke-direct/range {v23 .. v23}, Landroid/content/ContentValues;-><init>()V
5438 + const-string/jumbo v3, "packageName"
5440 + move-object/from16 v0, v23
5442 + move-object/from16 v1, v17
5444 + invoke-virtual {v0, v3, v1}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5446 + const-string/jumbo v3, "uid"
5448 + const/4 v4, -0x1
5450 + invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
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/Integer;)V
5458 + const-string v3, "deviceIdSetting"
5460 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()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, "deviceId"
5474 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getDeviceId()Ljava/lang/String;
5476 + move-result-object v4
5478 + move-object/from16 v0, v23
5480 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5482 + const-string v3, "line1NumberSetting"
5484 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
5486 + move-result v4
5488 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5490 + move-result-object v4
5492 + move-object/from16 v0, v23
5494 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5496 + const-string v3, "line1Number"
5498 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLine1Number()Ljava/lang/String;
5500 + move-result-object v4
5502 + move-object/from16 v0, v23
5504 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5506 + const-string v3, "locationGpsSetting"
5508 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
5510 + move-result v4
5512 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5514 + move-result-object v4
5516 + move-object/from16 v0, v23
5518 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5520 + const-string v3, "locationGpsLat"
5522 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
5524 + move-result-object v4
5526 + move-object/from16 v0, v23
5528 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5530 + const-string v3, "locationGpsLon"
5532 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
5534 + move-result-object v4
5536 + move-object/from16 v0, v23
5538 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5540 + const-string v3, "locationNetworkSetting"
5542 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
5544 + move-result v4
5546 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5548 + move-result-object v4
5550 + move-object/from16 v0, v23
5552 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5554 + const-string v3, "locationNetworkLat"
5556 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
5558 + move-result-object v4
5560 + move-object/from16 v0, v23
5562 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5564 + const-string v3, "locationNetworkLon"
5566 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
5568 + move-result-object v4
5570 + move-object/from16 v0, v23
5572 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5574 + const-string/jumbo v3, "networkInfoSetting"
5576 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
5578 + move-result v4
5580 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5582 + move-result-object v4
5584 + move-object/from16 v0, v23
5586 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5588 + const-string/jumbo v3, "simInfoSetting"
5590 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSimInfoSetting()B
5592 + move-result v4
5594 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5596 + move-result-object v4
5598 + move-object/from16 v0, v23
5600 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5602 + const-string/jumbo v3, "simSerialNumberSetting"
5604 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSimSerialNumberSetting()B
5606 + move-result v4
5608 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5610 + move-result-object v4
5612 + move-object/from16 v0, v23
5614 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5616 + const-string/jumbo v3, "simSerialNumber"
5618 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSimSerialNumber()Ljava/lang/String;
5620 + move-result-object v4
5622 + move-object/from16 v0, v23
5624 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5626 + const-string/jumbo v3, "subscriberIdSetting"
5628 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSubscriberIdSetting()B
5630 + move-result v4
5632 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5634 + move-result-object v4
5636 + move-object/from16 v0, v23
5638 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5640 + const-string/jumbo v3, "subscriberId"
5642 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSubscriberId()Ljava/lang/String;
5644 + move-result-object v4
5646 + move-object/from16 v0, v23
5648 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5650 + const-string v3, "accountsSetting"
5652 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
5654 + move-result v4
5656 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5658 + move-result-object v4
5660 + move-object/from16 v0, v23
5662 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5664 + const-string v3, "accountsAuthTokensSetting"
5666 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
5668 + move-result v4
5670 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5672 + move-result-object v4
5674 + move-object/from16 v0, v23
5676 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5678 + const-string/jumbo v3, "outgoingCallsSetting"
5680 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getOutgoingCallsSetting()B
5682 + move-result v4
5684 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5686 + move-result-object v4
5688 + move-object/from16 v0, v23
5690 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5692 + const-string v3, "incomingCallsSetting"
5694 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getIncomingCallsSetting()B
5696 + move-result v4
5698 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5700 + move-result-object v4
5702 + move-object/from16 v0, v23
5704 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5706 + const-string v3, "contactsSetting"
5708 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getContactsSetting()B
5710 + move-result v4
5712 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5714 + move-result-object v4
5716 + move-object/from16 v0, v23
5718 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5720 + const-string v3, "calendarSetting"
5722 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getCalendarSetting()B
5724 + move-result v4
5726 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5728 + move-result-object v4
5730 + move-object/from16 v0, v23
5732 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5734 + const-string/jumbo v3, "mmsSetting"
5736 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getMmsSetting()B
5738 + move-result v4
5740 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5742 + move-result-object v4
5744 + move-object/from16 v0, v23
5746 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5748 + const-string/jumbo v3, "smsSetting"
5750 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSmsSetting()B
5752 + move-result v4
5754 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5756 + move-result-object v4
5758 + move-object/from16 v0, v23
5760 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5762 + const-string v3, "callLogSetting"
5764 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getCallLogSetting()B
5766 + move-result v4
5768 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5770 + move-result-object v4
5772 + move-object/from16 v0, v23
5774 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5776 + const-string v3, "bookmarksSetting"
5778 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getBookmarksSetting()B
5780 + move-result v4
5782 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5784 + move-result-object v4
5786 + move-object/from16 v0, v23
5788 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5790 + const-string/jumbo v3, "systemLogsSetting"
5792 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSystemLogsSetting()B
5794 + move-result v4
5796 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5798 + move-result-object v4
5800 + move-object/from16 v0, v23
5802 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5804 + const-string/jumbo v3, "notificationSetting"
5806 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getNotificationSetting()B
5808 + move-result v4
5810 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5812 + move-result-object v4
5814 + move-object/from16 v0, v23
5816 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5818 + const-string v3, "intentBootCompletedSetting"
5820 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getIntentBootCompletedSetting()B
5822 + move-result v4
5824 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5826 + move-result-object v4
5828 + move-object/from16 v0, v23
5830 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5832 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5834 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5836 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
5838 + move-result v3
5840 + add-int/lit8 v3, v3, 0x1
5842 + invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5844 + move-result-object v3
5846 + sput-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5848 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
5850 + move-result-object v2
5852 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->beginTransaction()V
5853 + :try_end_1eb
5854 + .catchall {:try_start_1a .. :try_end_1eb} :catchall_2c2
5856 + const/4 v11, 0x0
5858 + :try_start_1ec
5859 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->get_id()Ljava/lang/Integer;
5861 + move-result-object v15
5863 + if-eqz v15, :cond_2c8
5865 + const-string/jumbo v3, "settings"
5867 + const-string v4, "_id=?"
5869 + const/4 v5, 0x1
5871 + new-array v5, v5, [Ljava/lang/String;
5873 + const/4 v6, 0x0
5875 + invoke-virtual {v15}, Ljava/lang/Integer;->toString()Ljava/lang/String;
5877 + move-result-object v7
5879 + aput-object v7, v5, v6
5881 + move-object/from16 v0, v23
5883 + 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
5885 + move-result v3
5887 + const/4 v4, 0x1
5889 + if-ge v3, v4, :cond_249
5891 + new-instance v3, Ljava/lang/Exception;
5893 + const-string/jumbo v4, "saveSettings - failed to update database entry"
5895 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
5897 + throw v3
5898 + :try_end_213
5899 + .catchall {:try_start_1ec .. :try_end_213} :catchall_291
5900 + .catch Ljava/lang/Exception; {:try_start_1ec .. :try_end_213} :catch_213
5902 + :catch_213
5903 + move-exception v13
5905 + const/16 v18, 0x0
5907 + :try_start_216
5908 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
5910 + if-eqz v11, :cond_21e
5912 + invoke-interface {v11}, Landroid/database/Cursor;->close()V
5914 + :cond_21e
5915 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5917 + monitor-enter v4
5918 + :try_end_221
5919 + .catchall {:try_start_216 .. :try_end_221} :catchall_2c2
5921 + :try_start_221
5922 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5924 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5926 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
5928 + move-result v3
5930 + add-int/lit8 v3, v3, -0x1
5932 + invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5934 + move-result-object v3
5936 + sput-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5938 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5940 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
5942 + move-result v3
5944 + if-nez v3, :cond_244
5946 + if-eqz v2, :cond_244
5948 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
5950 + move-result v3
5952 + if-eqz v3, :cond_244
5954 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
5956 + :cond_244
5957 + monitor-exit v4
5958 + :try_end_245
5959 + .catchall {:try_start_221 .. :try_end_245} :catchall_4ca
5961 + :goto_245
5962 + move/from16 v3, v18
5964 + goto/16 :goto_18
5966 + :cond_249
5967 + :try_start_249
5968 + const-string v3, "allowed_contacts"
5970 + const-string/jumbo v4, "settings_id=?"
5972 + const/4 v5, 0x1
5974 + new-array v5, v5, [Ljava/lang/String;
5976 + const/4 v6, 0x0
5978 + invoke-virtual {v15}, Ljava/lang/Integer;->toString()Ljava/lang/String;
5980 + move-result-object v7
5982 + aput-object v7, v5, v6
5984 + invoke-virtual {v2, v3, v4, v5}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
5986 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAllowedContacts()[I
5988 + move-result-object v10
5990 + if-eqz v10, :cond_3f2
5992 + new-instance v12, Landroid/content/ContentValues;
5994 + invoke-direct {v12}, Landroid/content/ContentValues;-><init>()V
5996 + const/4 v14, 0x0
5998 + :goto_267
5999 + array-length v3, v10
6001 + if-ge v14, v3, :cond_3f2
6003 + const-string/jumbo v3, "settings_id"
6005 + invoke-virtual {v12, v3, v15}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
6007 + const-string v3, "contact_id"
6009 + aget v4, v10, v14
6011 + invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
6013 + move-result-object v4
6015 + invoke-virtual {v12, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
6017 + const-string v3, "allowed_contacts"
6019 + const/4 v4, 0x0
6021 + invoke-virtual {v2, v3, v4, v12}, Landroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
6023 + move-result-wide v3
6025 + const-wide/16 v5, -0x1
6027 + cmp-long v3, v3, v5
6029 + if-nez v3, :cond_2c5
6031 + new-instance v3, Ljava/lang/Exception;
6033 + const-string/jumbo v4, "saveSettings - failed to update database entry (contacts)"
6035 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
6037 + throw v3
6038 + :try_end_291
6039 + .catchall {:try_start_249 .. :try_end_291} :catchall_291
6040 + .catch Ljava/lang/Exception; {:try_start_249 .. :try_end_291} :catch_213
6042 + :catchall_291
6043 + move-exception v3
6045 + :try_start_292
6046 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
6048 + if-eqz v11, :cond_29a
6050 + invoke-interface {v11}, Landroid/database/Cursor;->close()V
6052 + :cond_29a
6053 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6055 + monitor-enter v4
6056 + :try_end_29d
6057 + .catchall {:try_start_292 .. :try_end_29d} :catchall_2c2
6059 + :try_start_29d
6060 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6062 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6064 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
6066 + move-result v5
6068 + add-int/lit8 v5, v5, -0x1
6070 + invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
6072 + move-result-object v5
6074 + sput-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6076 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6078 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
6080 + move-result v5
6082 + if-nez v5, :cond_2c0
6084 + if-eqz v2, :cond_2c0
6086 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
6088 + move-result v5
6090 + if-eqz v5, :cond_2c0
6092 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
6094 + :cond_2c0
6095 + monitor-exit v4
6096 + :try_end_2c1
6097 + .catchall {:try_start_29d .. :try_end_2c1} :catchall_4cd
6099 + :try_start_2c1
6100 + throw v3
6101 + :try_end_2c2
6102 + .catchall {:try_start_2c1 .. :try_end_2c2} :catchall_2c2
6104 + :catchall_2c2
6105 + move-exception v3
6107 + monitor-exit p0
6109 + throw v3
6111 + :cond_2c5
6112 + add-int/lit8 v14, v14, 0x1
6114 + goto :goto_267
6116 + :cond_2c8
6117 + :try_start_2c8
6118 + const-string/jumbo v3, "settings"
6120 + const/4 v4, 0x1
6122 + new-array v4, v4, [Ljava/lang/String;
6124 + const/4 v5, 0x0
6126 + const-string v6, "_id"
6128 + aput-object v6, v4, v5
6130 + const-string/jumbo v5, "packageName=?"
6132 + const/4 v6, 0x1
6134 + new-array v6, v6, [Ljava/lang/String;
6136 + const/4 v7, 0x0
6138 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getPackageName()Ljava/lang/String;
6140 + move-result-object v8
6142 + aput-object v8, v6, v7
6144 + const/4 v7, 0x0
6146 + const/4 v8, 0x0
6148 + const/4 v9, 0x0
6150 + 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;
6152 + move-result-object v11
6154 + if-eqz v11, :cond_3e7
6156 + invoke-interface {v11}, Landroid/database/Cursor;->getCount()I
6158 + move-result v3
6160 + const/4 v4, 0x1
6162 + if-ne v3, v4, :cond_36e
6164 + const-string/jumbo v3, "settings"
6166 + const-string/jumbo v4, "packageName=?"
6168 + const/4 v5, 0x1
6170 + new-array v5, v5, [Ljava/lang/String;
6172 + const/4 v6, 0x0
6174 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getPackageName()Ljava/lang/String;
6176 + move-result-object v7
6178 + aput-object v7, v5, v6
6180 + move-object/from16 v0, v23
6182 + 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
6184 + move-result v3
6186 + const/4 v4, 0x1
6188 + if-ge v3, v4, :cond_312
6190 + new-instance v3, Ljava/lang/Exception;
6192 + const-string/jumbo v4, "saveSettings - failed to update database entry"
6194 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
6196 + throw v3
6198 + :cond_312
6199 + invoke-interface {v11}, Landroid/database/Cursor;->moveToFirst()Z
6201 + move-result v3
6203 + if-eqz v3, :cond_3f2
6205 + const/4 v3, 0x0
6207 + invoke-interface {v11, v3}, Landroid/database/Cursor;->getInt(I)I
6209 + move-result v3
6211 + invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
6213 + move-result-object v16
6215 + const-string v3, "allowed_contacts"
6217 + const-string/jumbo v4, "settings_id=?"
6219 + const/4 v5, 0x1
6221 + new-array v5, v5, [Ljava/lang/String;
6223 + const/4 v6, 0x0
6225 + invoke-virtual/range {v16 .. v16}, Ljava/lang/Integer;->toString()Ljava/lang/String;
6227 + move-result-object v7
6229 + aput-object v7, v5, v6
6231 + invoke-virtual {v2, v3, v4, v5}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
6233 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAllowedContacts()[I
6235 + move-result-object v10
6237 + if-eqz v10, :cond_3f2
6239 + new-instance v12, Landroid/content/ContentValues;
6241 + invoke-direct {v12}, Landroid/content/ContentValues;-><init>()V
6243 + const/4 v14, 0x0
6245 + :goto_33f
6246 + array-length v3, v10
6248 + if-ge v14, v3, :cond_3f2
6250 + const-string/jumbo v3, "settings_id"
6252 + move-object/from16 v0, v16
6254 + invoke-virtual {v12, v3, v0}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
6256 + const-string v3, "contact_id"
6258 + aget v4, v10, v14
6260 + invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
6262 + move-result-object v4
6264 + invoke-virtual {v12, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
6266 + const-string v3, "allowed_contacts"
6268 + const/4 v4, 0x0
6270 + invoke-virtual {v2, v3, v4, v12}, Landroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
6272 + move-result-wide v3
6274 + const-wide/16 v5, -0x1
6276 + cmp-long v3, v3, v5
6278 + if-nez v3, :cond_36b
6280 + new-instance v3, Ljava/lang/Exception;
6282 + const-string/jumbo v4, "saveSettings - failed to update database entry (contacts)"
6284 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
6286 + throw v3
6288 + :cond_36b
6289 + add-int/lit8 v14, v14, 0x1
6291 + goto :goto_33f
6293 + :cond_36e
6294 + invoke-interface {v11}, Landroid/database/Cursor;->getCount()I
6296 + move-result v3
6298 + if-nez v3, :cond_3dc
6300 + const-string/jumbo v3, "settings"
6302 + const/4 v4, 0x0
6304 + move-object/from16 v0, v23
6306 + invoke-virtual {v2, v3, v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
6308 + move-result-wide v19
6310 + const-wide/16 v3, -0x1
6312 + cmp-long v3, v19, v3
6314 + if-nez v3, :cond_38d
6316 + new-instance v3, Ljava/lang/Exception;
6318 + const-string/jumbo v4, "saveSettings - failed to insert new record into DB"
6320 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
6322 + throw v3
6324 + :cond_38d
6325 + const-string v3, "allowed_contacts"
6327 + const-string/jumbo v4, "settings_id=?"
6329 + const/4 v5, 0x1
6331 + new-array v5, v5, [Ljava/lang/String;
6333 + const/4 v6, 0x0
6335 + invoke-static/range {v19 .. v20}, Ljava/lang/Long;->toString(J)Ljava/lang/String;
6337 + move-result-object v7
6339 + aput-object v7, v5, v6
6341 + invoke-virtual {v2, v3, v4, v5}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
6343 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAllowedContacts()[I
6345 + move-result-object v10
6347 + if-eqz v10, :cond_3f2
6349 + new-instance v12, Landroid/content/ContentValues;
6351 + invoke-direct {v12}, Landroid/content/ContentValues;-><init>()V
6353 + const/4 v14, 0x0
6355 + :goto_3ab
6356 + array-length v3, v10
6358 + if-ge v14, v3, :cond_3f2
6360 + const-string/jumbo v3, "settings_id"
6362 + invoke-static/range {v19 .. v20}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
6364 + move-result-object v4
6366 + invoke-virtual {v12, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Long;)V
6368 + const-string v3, "contact_id"
6370 + aget v4, v10, v14
6372 + invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
6374 + move-result-object v4
6376 + invoke-virtual {v12, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
6378 + const-string v3, "allowed_contacts"
6380 + const/4 v4, 0x0
6382 + invoke-virtual {v2, v3, v4, v12}, Landroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
6384 + move-result-wide v3
6386 + const-wide/16 v5, -0x1
6388 + cmp-long v3, v3, v5
6390 + if-nez v3, :cond_3d9
6392 + new-instance v3, Ljava/lang/Exception;
6394 + const-string/jumbo v4, "saveSettings - failed to update database entry (contacts)"
6396 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
6398 + throw v3
6400 + :cond_3d9
6401 + add-int/lit8 v14, v14, 0x1
6403 + goto :goto_3ab
6405 + :cond_3dc
6406 + const/16 v18, 0x0
6408 + new-instance v3, Ljava/lang/Exception;
6410 + const-string/jumbo v4, "saveSettings - duplicate entries in the privacy.db"
6412 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
6414 + throw v3
6416 + :cond_3e7
6417 + const/16 v18, 0x0
6419 + new-instance v3, Ljava/lang/Exception;
6421 + const-string/jumbo v4, "saveSettings - cursor is null, database access failed"
6423 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
6425 + throw v3
6427 + :cond_3f2
6428 + new-instance v21, Ljava/io/File;
6430 + new-instance v3, Ljava/lang/StringBuilder;
6432 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
6434 + const-string v4, "/data/system/privacy/"
6436 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6438 + move-result-object v3
6440 + move-object/from16 v0, v17
6442 + invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6444 + move-result-object v3
6446 + const-string v4, "/"
6448 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6450 + move-result-object v3
6452 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6454 + move-result-object v3
6456 + move-object/from16 v0, v21
6458 + invoke-direct {v0, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
6460 + new-instance v22, Ljava/io/File;
6462 + new-instance v3, Ljava/lang/StringBuilder;
6464 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
6466 + const-string v4, "/data/system/privacy/"
6468 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6470 + move-result-object v3
6472 + move-object/from16 v0, v17
6474 + invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6476 + move-result-object v3
6478 + const-string v4, "/"
6480 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6482 + move-result-object v3
6484 + const-string v4, "/systemLogsSetting"
6486 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6488 + move-result-object v3
6490 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6492 + move-result-object v3
6494 + move-object/from16 v0, v22
6496 + invoke-direct {v0, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
6497 + :try_end_43c
6498 + .catchall {:try_start_2c8 .. :try_end_43c} :catchall_291
6499 + .catch Ljava/lang/Exception; {:try_start_2c8 .. :try_end_43c} :catch_213
6501 + :try_start_43c
6502 + invoke-virtual/range {v21 .. v21}, Ljava/io/File;->mkdirs()Z
6504 + const/4 v3, 0x1
6506 + const/4 v4, 0x0
6508 + move-object/from16 v0, v21
6510 + invoke-virtual {v0, v3, v4}, Ljava/io/File;->setReadable(ZZ)Z
6512 + const/4 v3, 0x1
6514 + const/4 v4, 0x0
6516 + move-object/from16 v0, v21
6518 + invoke-virtual {v0, v3, v4}, Ljava/io/File;->setExecutable(ZZ)Z
6520 + invoke-virtual/range {v22 .. v22}, Ljava/io/File;->createNewFile()Z
6522 + const/4 v3, 0x1
6524 + const/4 v4, 0x0
6526 + move-object/from16 v0, v22
6528 + invoke-virtual {v0, v3, v4}, Ljava/io/File;->setReadable(ZZ)Z
6530 + new-instance v24, Ljava/io/OutputStreamWriter;
6532 + new-instance v3, Ljava/io/FileOutputStream;
6534 + move-object/from16 v0, v22
6536 + invoke-direct {v3, v0}, Ljava/io/FileOutputStream;-><init>(Ljava/io/File;)V
6538 + move-object/from16 v0, v24
6540 + invoke-direct {v0, v3}, Ljava/io/OutputStreamWriter;-><init>(Ljava/io/OutputStream;)V
6542 + new-instance v3, Ljava/lang/StringBuilder;
6544 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
6546 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSystemLogsSetting()B
6548 + move-result v4
6550 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
6552 + move-result-object v3
6554 + const-string v4, ""
6556 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6558 + move-result-object v3
6560 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6562 + move-result-object v3
6564 + move-object/from16 v0, v24
6566 + invoke-virtual {v0, v3}, Ljava/io/OutputStreamWriter;->append(Ljava/lang/CharSequence;)Ljava/io/Writer;
6568 + invoke-virtual/range {v24 .. v24}, Ljava/io/OutputStreamWriter;->flush()V
6570 + invoke-virtual/range {v24 .. v24}, Ljava/io/OutputStreamWriter;->close()V
6571 + :try_end_487
6572 + .catchall {:try_start_43c .. :try_end_487} :catchall_291
6573 + .catch Ljava/io/IOException; {:try_start_43c .. :try_end_487} :catch_4be
6574 + .catch Ljava/lang/Exception; {:try_start_43c .. :try_end_487} :catch_213
6576 + :try_start_487
6577 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->setTransactionSuccessful()V
6578 + :try_end_48a
6579 + .catchall {:try_start_487 .. :try_end_48a} :catchall_291
6580 + .catch Ljava/lang/Exception; {:try_start_487 .. :try_end_48a} :catch_213
6582 + :try_start_48a
6583 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
6585 + if-eqz v11, :cond_492
6587 + invoke-interface {v11}, Landroid/database/Cursor;->close()V
6589 + :cond_492
6590 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6592 + monitor-enter v4
6593 + :try_end_495
6594 + .catchall {:try_start_48a .. :try_end_495} :catchall_2c2
6596 + :try_start_495
6597 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6599 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6601 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
6603 + move-result v3
6605 + add-int/lit8 v3, v3, -0x1
6607 + invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
6609 + move-result-object v3
6611 + sput-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6613 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6615 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
6617 + move-result v3
6619 + if-nez v3, :cond_4b8
6621 + if-eqz v2, :cond_4b8
6623 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
6625 + move-result v3
6627 + if-eqz v3, :cond_4b8
6629 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
6631 + :cond_4b8
6632 + monitor-exit v4
6634 + goto/16 :goto_245
6636 + :catchall_4bb
6637 + move-exception v3
6639 + monitor-exit v4
6640 + :try_end_4bd
6641 + .catchall {:try_start_495 .. :try_end_4bd} :catchall_4bb
6643 + :try_start_4bd
6644 + throw v3
6645 + :try_end_4be
6646 + .catchall {:try_start_4bd .. :try_end_4be} :catchall_2c2
6648 + :catch_4be
6649 + move-exception v13
6651 + const/16 v18, 0x0
6653 + :try_start_4c1
6654 + new-instance v3, Ljava/lang/Exception;
6656 + const-string/jumbo v4, "saveSettings - could not write settings to file"
6658 + invoke-direct {v3, v4, v13}, Ljava/lang/Exception;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
6660 + throw v3
6661 + :try_end_4ca
6662 + .catchall {:try_start_4c1 .. :try_end_4ca} :catchall_291
6663 + .catch Ljava/lang/Exception; {:try_start_4c1 .. :try_end_4ca} :catch_213
6665 + :catchall_4ca
6666 + move-exception v3
6668 + :try_start_4cb
6669 + monitor-exit v4
6670 + :try_end_4cc
6671 + .catchall {:try_start_4cb .. :try_end_4cc} :catchall_4ca
6673 + :try_start_4cc
6674 + throw v3
6675 + :try_end_4cd
6676 + .catchall {:try_start_4cc .. :try_end_4cd} :catchall_2c2
6678 + :catchall_4cd
6679 + move-exception v3
6681 + :try_start_4ce
6682 + monitor-exit v4
6683 + :try_end_4cf
6684 + .catchall {:try_start_4ce .. :try_end_4cf} :catchall_4cd
6686 + :try_start_4cf
6687 + throw v3
6688 + :try_end_4d0
6689 + .catchall {:try_start_4cf .. :try_end_4d0} :catchall_2c2
6690 +.end method
6692 +.method public declared-synchronized setValue(Ljava/lang/String;Ljava/lang/String;)Z
6693 + .registers 10
6695 + monitor-enter p0
6697 + :try_start_1
6698 + const-string v3, "PrivacyPersistenceAdapter"
6700 + new-instance v4, Ljava/lang/StringBuilder;
6702 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
6704 + const-string/jumbo v5, "setValue - name "
6706 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6708 + move-result-object v4
6710 + invoke-virtual {v4, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6712 + move-result-object v4
6714 + const-string v5, " value "
6716 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6718 + move-result-object v4
6720 + invoke-virtual {v4, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6722 + move-result-object v4
6724 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6726 + move-result-object v4
6728 + invoke-static {v3, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
6730 + new-instance v2, Landroid/content/ContentValues;
6732 + invoke-direct {v2}, Landroid/content/ContentValues;-><init>()V
6734 + const-string/jumbo v3, "name"
6736 + invoke-virtual {v2, v3, p1}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
6738 + const-string/jumbo v3, "value"
6740 + invoke-virtual {v2, v3, p2}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
6742 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
6744 + move-result-object v0
6746 + const-string/jumbo v3, "map"
6748 + const/4 v4, 0x0
6750 + invoke-virtual {v0, v3, v4, v2}, Landroid/database/sqlite/SQLiteDatabase;->replace(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
6752 + move-result-wide v3
6754 + const-wide/16 v5, -0x1
6756 + cmp-long v3, v3, v5
6758 + if-eqz v3, :cond_5d
6760 + const/4 v1, 0x1
6762 + :goto_48
6763 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6765 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
6767 + move-result v3
6769 + if-nez v3, :cond_5b
6771 + if-eqz v0, :cond_5b
6773 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
6775 + move-result v3
6777 + if-eqz v3, :cond_5b
6779 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
6780 + :try_end_5b
6781 + .catchall {:try_start_1 .. :try_end_5b} :catchall_5f
6783 + :cond_5b
6784 + monitor-exit p0
6786 + return v1
6788 + :cond_5d
6789 + const/4 v1, 0x0
6791 + goto :goto_48
6793 + :catchall_5f
6794 + move-exception v3
6796 + monitor-exit p0
6798 + throw v3
6799 +.end method
6800 diff -Npru stock-framework/smali/android/privacy/PrivacySettings$1.smali pdroid-framework/smali/android/privacy/PrivacySettings$1.smali
6801 --- stock-framework/smali/android/privacy/PrivacySettings$1.smali 1969-12-31 18:00:00.000000000 -0600
6802 +++ pdroid-framework/smali/android/privacy/PrivacySettings$1.smali 2012-08-10 00:09:14.709407039 -0500
6803 @@ -0,0 +1,77 @@
6804 +.class final Landroid/privacy/PrivacySettings$1;
6805 +.super Ljava/lang/Object;
6806 +.source "PrivacySettings.java"
6808 +# interfaces
6809 +.implements Landroid/os/Parcelable$Creator;
6812 +# annotations
6813 +.annotation system Ldalvik/annotation/EnclosingClass;
6814 + value = Landroid/privacy/PrivacySettings;
6815 +.end annotation
6817 +.annotation system Ldalvik/annotation/InnerClass;
6818 + accessFlags = 0x8
6819 + name = null
6820 +.end annotation
6822 +.annotation system Ldalvik/annotation/Signature;
6823 + value = {
6824 + "Ljava/lang/Object;",
6825 + "Landroid/os/Parcelable$Creator",
6826 + "<",
6827 + "Landroid/privacy/PrivacySettings;",
6828 + ">;"
6830 +.end annotation
6833 +# direct methods
6834 +.method constructor <init>()V
6835 + .registers 1
6837 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
6839 + return-void
6840 +.end method
6843 +# virtual methods
6844 +.method public createFromParcel(Landroid/os/Parcel;)Landroid/privacy/PrivacySettings;
6845 + .registers 3
6847 + new-instance v0, Landroid/privacy/PrivacySettings;
6849 + invoke-direct {v0, p1}, Landroid/privacy/PrivacySettings;-><init>(Landroid/os/Parcel;)V
6851 + return-object v0
6852 +.end method
6854 +.method public bridge synthetic createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
6855 + .registers 3
6857 + invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettings$1;->createFromParcel(Landroid/os/Parcel;)Landroid/privacy/PrivacySettings;
6859 + move-result-object v0
6861 + return-object v0
6862 +.end method
6864 +.method public newArray(I)[Landroid/privacy/PrivacySettings;
6865 + .registers 3
6867 + new-array v0, p1, [Landroid/privacy/PrivacySettings;
6869 + return-object v0
6870 +.end method
6872 +.method public bridge synthetic newArray(I)[Ljava/lang/Object;
6873 + .registers 3
6875 + invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettings$1;->newArray(I)[Landroid/privacy/PrivacySettings;
6877 + move-result-object v0
6879 + return-object v0
6880 +.end method
6881 diff -Npru stock-framework/smali/android/privacy/PrivacySettingsManagerService.smali pdroid-framework/smali/android/privacy/PrivacySettingsManagerService.smali
6882 --- stock-framework/smali/android/privacy/PrivacySettingsManagerService.smali 1969-12-31 18:00:00.000000000 -0600
6883 +++ pdroid-framework/smali/android/privacy/PrivacySettingsManagerService.smali 2012-08-10 00:09:14.713407063 -0500
6884 @@ -0,0 +1,535 @@
6885 +.class public final Landroid/privacy/PrivacySettingsManagerService;
6886 +.super Landroid/privacy/IPrivacySettingsManager$Stub;
6887 +.source "PrivacySettingsManagerService.java"
6890 +# static fields
6891 +.field private static final TAG:Ljava/lang/String; = "PrivacySettingsManagerService"
6893 +.field private static final VERSION:D = 1.32
6895 +.field private static final WRITE_PRIVACY_SETTINGS:Ljava/lang/String; = "android.privacy.WRITE_PRIVACY_SETTINGS"
6897 +.field public static obs:Landroid/privacy/PrivacyFileObserver;
6900 +# instance fields
6901 +.field private bootCompleted:Z
6903 +.field private context:Landroid/content/Context;
6905 +.field private enabled:Z
6907 +.field private notificationsEnabled:Z
6909 +.field private persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
6912 +# direct methods
6913 +.method public constructor <init>(Landroid/content/Context;)V
6914 + .registers 5
6916 + invoke-direct {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;-><init>()V
6918 + const-string v0, "PrivacySettingsManagerService"
6920 + new-instance v1, Ljava/lang/StringBuilder;
6922 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
6924 + const-string v2, "PrivacySettingsManagerService - initializing for package: "
6926 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6928 + move-result-object v1
6930 + invoke-virtual {p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
6932 + move-result-object v2
6934 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6936 + move-result-object v1
6938 + const-string v2, " UID: "
6940 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6942 + move-result-object v1
6944 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
6946 + move-result v2
6948 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
6950 + move-result-object v1
6952 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6954 + move-result-object v1
6956 + invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
6958 + iput-object p1, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
6960 + new-instance v0, Landroid/privacy/PrivacyPersistenceAdapter;
6962 + invoke-direct {v0, p1}, Landroid/privacy/PrivacyPersistenceAdapter;-><init>(Landroid/content/Context;)V
6964 + iput-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
6966 + new-instance v0, Landroid/privacy/PrivacyFileObserver;
6968 + const-string v1, "/data/system/privacy"
6970 + invoke-direct {v0, v1, p0}, Landroid/privacy/PrivacyFileObserver;-><init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
6972 + sput-object v0, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
6974 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
6976 + const-string v1, "enabled"
6978 + invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->getValue(Ljava/lang/String;)Ljava/lang/String;
6980 + move-result-object v0
6982 + const-string v1, "1"
6984 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
6986 + move-result v0
6988 + iput-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->enabled:Z
6990 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
6992 + const-string/jumbo v1, "notifications_enabled"
6994 + invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->getValue(Ljava/lang/String;)Ljava/lang/String;
6996 + move-result-object v0
6998 + const-string v1, "1"
7000 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
7002 + move-result v0
7004 + iput-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->notificationsEnabled:Z
7006 + const/4 v0, 0x0
7008 + iput-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->bootCompleted:Z
7010 + return-void
7011 +.end method
7014 +# virtual methods
7015 +.method public addObserver(Ljava/lang/String;)V
7016 + .registers 5
7018 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
7020 + const-string v1, "android.privacy.WRITE_PRIVACY_SETTINGS"
7022 + const-string v2, "Requires WRITE_PRIVACY_SETTINGS"
7024 + invoke-virtual {v0, v1, v2}, Landroid/content/Context;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
7026 + sget-object v0, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
7028 + invoke-virtual {v0, p1}, Landroid/privacy/PrivacyFileObserver;->addObserver(Ljava/lang/String;)V
7030 + return-void
7031 +.end method
7033 +.method public deleteSettings(Ljava/lang/String;)Z
7034 + .registers 8
7036 + const/4 v5, 0x1
7038 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
7040 + move-result v2
7042 + const/16 v3, 0x3e8
7044 + if-eq v2, v3, :cond_12
7046 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
7048 + const-string v3, "android.privacy.WRITE_PRIVACY_SETTINGS"
7050 + const-string v4, "Requires WRITE_PRIVACY_SETTINGS"
7052 + invoke-virtual {v2, v3, v4}, Landroid/content/Context;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
7054 + :cond_12
7055 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
7057 + invoke-virtual {v2, p1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteSettings(Ljava/lang/String;)Z
7059 + move-result v1
7061 + new-instance v2, Ljava/lang/StringBuilder;
7063 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
7065 + const-string v3, "/data/system/privacy/"
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/String;)Ljava/lang/StringBuilder;
7073 + move-result-object v2
7075 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
7077 + move-result-object v0
7079 + new-instance v2, Ljava/io/File;
7081 + invoke-direct {v2, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
7083 + invoke-virtual {v2}, Ljava/io/File;->exists()Z
7085 + move-result v2
7087 + if-eqz v2, :cond_3e
7089 + if-ne v1, v5, :cond_3e
7091 + sget-object v2, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
7093 + invoke-virtual {v2, v0}, Landroid/privacy/PrivacyFileObserver;->addObserver(Ljava/lang/String;)V
7095 + :cond_3d
7096 + :goto_3d
7097 + return v1
7099 + :cond_3e
7100 + if-ne v1, v5, :cond_3d
7102 + sget-object v2, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
7104 + iget-object v2, v2, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap;
7106 + invoke-virtual {v2, v0}, Ljava/util/HashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
7108 + goto :goto_3d
7109 +.end method
7111 +.method public getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
7112 + .registers 4
7114 + iget-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->enabled:Z
7116 + if-nez v0, :cond_12
7118 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
7120 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
7122 + move-result-object v0
7124 + const-string v1, "com.privacy.pdroid"
7126 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
7128 + move-result v0
7130 + if-eqz v0, :cond_1a
7132 + :cond_12
7133 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
7135 + const/4 v1, 0x0
7137 + invoke-virtual {v0, p1, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->getSettings(Ljava/lang/String;Z)Landroid/privacy/PrivacySettings;
7139 + move-result-object v0
7141 + :goto_19
7142 + return-object v0
7144 + :cond_1a
7145 + const/4 v0, 0x0
7147 + goto :goto_19
7148 +.end method
7150 +.method public getVersion()D
7151 + .registers 3
7153 + const-wide v0, 0x3ff51eb851eb851fL
7155 + return-wide v0
7156 +.end method
7158 +.method public notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
7159 + .registers 8
7161 + iget-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->bootCompleted:Z
7163 + if-eqz v1, :cond_34
7165 + iget-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->notificationsEnabled:Z
7167 + if-eqz v1, :cond_34
7169 + new-instance v0, Landroid/content/Intent;
7171 + invoke-direct {v0}, Landroid/content/Intent;-><init>()V
7173 + const-string v1, "com.privacy.pdroid.PRIVACY_NOTIFICATION"
7175 + invoke-virtual {v0, v1}, Landroid/content/Intent;->setAction(Ljava/lang/String;)Landroid/content/Intent;
7177 + const-string/jumbo v1, "packageName"
7179 + invoke-virtual {v0, v1, p1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
7181 + const-string/jumbo v1, "uid"
7183 + const/4 v2, -0x1
7185 + invoke-virtual {v0, v1, v2}, Landroid/content/Intent;->putExtra(Ljava/lang/String;I)Landroid/content/Intent;
7187 + const-string v1, "accessMode"
7189 + invoke-virtual {v0, v1, p2}, Landroid/content/Intent;->putExtra(Ljava/lang/String;B)Landroid/content/Intent;
7191 + const-string v1, "dataType"
7193 + invoke-virtual {v0, v1, p3}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
7195 + const-string/jumbo v1, "output"
7197 + invoke-virtual {v0, v1, p4}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
7199 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
7201 + invoke-virtual {v1, v0}, Landroid/content/Context;->sendBroadcast(Landroid/content/Intent;)V
7203 + :cond_34
7204 + return-void
7205 +.end method
7207 +.method public purgeSettings()Z
7208 + .registers 2
7210 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
7212 + invoke-virtual {v0}, Landroid/privacy/PrivacyPersistenceAdapter;->purgeSettings()Z
7214 + move-result v0
7216 + return v0
7217 +.end method
7219 +.method public registerObservers()V
7220 + .registers 4
7222 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
7224 + const-string v1, "android.privacy.WRITE_PRIVACY_SETTINGS"
7226 + const-string v2, "Requires WRITE_PRIVACY_SETTINGS"
7228 + invoke-virtual {v0, v1, v2}, Landroid/content/Context;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
7230 + new-instance v0, Landroid/privacy/PrivacyFileObserver;
7232 + const-string v1, "/data/system/privacy"
7234 + invoke-direct {v0, v1, p0}, Landroid/privacy/PrivacyFileObserver;-><init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
7236 + sput-object v0, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
7238 + return-void
7239 +.end method
7241 +.method public saveSettings(Landroid/privacy/PrivacySettings;)Z
7242 + .registers 6
7244 + const-string v1, "PrivacySettingsManagerService"
7246 + new-instance v2, Ljava/lang/StringBuilder;
7248 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
7250 + const-string/jumbo v3, "saveSettings - checking if caller (UID: "
7252 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7254 + move-result-object v2
7256 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
7258 + move-result v3
7260 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
7262 + move-result-object v2
7264 + const-string v3, ") has sufficient permissions"
7266 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7268 + move-result-object v2
7270 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
7272 + move-result-object v2
7274 + invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
7276 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
7278 + move-result v1
7280 + const/16 v2, 0x3e8
7282 + if-eq v1, v2, :cond_34
7284 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
7286 + const-string v2, "android.privacy.WRITE_PRIVACY_SETTINGS"
7288 + const-string v3, "Requires WRITE_PRIVACY_SETTINGS"
7290 + invoke-virtual {v1, v2, v3}, Landroid/content/Context;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
7292 + :cond_34
7293 + const-string v1, "PrivacySettingsManagerService"
7295 + new-instance v2, Ljava/lang/StringBuilder;
7297 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
7299 + const-string/jumbo v3, "saveSettings - "
7301 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7303 + move-result-object v2
7305 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
7307 + move-result-object v2
7309 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
7311 + move-result-object v2
7313 + invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
7315 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
7317 + invoke-virtual {v1, p1}, Landroid/privacy/PrivacyPersistenceAdapter;->saveSettings(Landroid/privacy/PrivacySettings;)Z
7319 + move-result v0
7321 + const/4 v1, 0x1
7323 + if-ne v0, v1, :cond_5f
7325 + sget-object v1, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
7327 + invoke-virtual {p1}, Landroid/privacy/PrivacySettings;->getPackageName()Ljava/lang/String;
7329 + move-result-object v2
7331 + invoke-virtual {v1, v2}, Landroid/privacy/PrivacyFileObserver;->addObserver(Ljava/lang/String;)V
7333 + :cond_5f
7334 + return v0
7335 +.end method
7337 +.method public setBootCompleted()V
7338 + .registers 2
7340 + const/4 v0, 0x1
7342 + iput-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->bootCompleted:Z
7344 + return-void
7345 +.end method
7347 +.method public setEnabled(Z)Z
7348 + .registers 6
7350 + const/4 v1, 0x1
7352 + if-eqz p1, :cond_12
7354 + const-string v0, "1"
7356 + :goto_5
7357 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
7359 + const-string v3, "enabled"
7361 + invoke-virtual {v2, v3, v0}, Landroid/privacy/PrivacyPersistenceAdapter;->setValue(Ljava/lang/String;Ljava/lang/String;)Z
7363 + move-result v2
7365 + if-eqz v2, :cond_15
7367 + iput-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->enabled:Z
7369 + :goto_11
7370 + return v1
7372 + :cond_12
7373 + return v1
7374 + const-string v0, "0"
7376 + goto :goto_5
7378 + :cond_15
7379 + const/4 v1, 0x0
7381 + goto :goto_11
7382 +.end method
7384 +.method public setNotificationsEnabled(Z)Z
7385 + .registers 6
7387 + const/4 v1, 0x1
7389 + if-eqz p1, :cond_15
7391 + const-string v0, "1"
7393 + :goto_5
7394 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
7396 + const-string/jumbo v3, "notifications_enabled"
7398 + invoke-virtual {v2, v3, v0}, Landroid/privacy/PrivacyPersistenceAdapter;->setValue(Ljava/lang/String;Ljava/lang/String;)Z
7400 + move-result v2
7402 + if-eqz v2, :cond_18
7404 + iput-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->notificationsEnabled:Z
7406 + iput-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->bootCompleted:Z
7408 + :goto_14
7409 + return v1
7411 + :cond_15
7412 + const-string v0, "0"
7414 + goto :goto_5
7416 + :cond_18
7417 + const/4 v1, 0x0
7419 + goto :goto_14
7420 +.end method
7421 diff -Npru stock-framework/smali/android/privacy/PrivacySettingsManager.smali pdroid-framework/smali/android/privacy/PrivacySettingsManager.smali
7422 --- stock-framework/smali/android/privacy/PrivacySettingsManager.smali 1969-12-31 18:00:00.000000000 -0600
7423 +++ pdroid-framework/smali/android/privacy/PrivacySettingsManager.smali 2012-08-10 00:09:14.713407063 -0500
7424 @@ -0,0 +1,531 @@
7425 +.class public final Landroid/privacy/PrivacySettingsManager;
7426 +.super Ljava/lang/Object;
7427 +.source "PrivacySettingsManager.java"
7430 +# static fields
7431 +.field public static final ACTION_PRIVACY_NOTIFICATION:Ljava/lang/String; = "com.privacy.pdroid.PRIVACY_NOTIFICATION"
7433 +.field private static final TAG:Ljava/lang/String; = "PrivacySettingsManager"
7436 +# instance fields
7437 +.field private service:Landroid/privacy/IPrivacySettingsManager;
7440 +# direct methods
7441 +.method public constructor <init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
7442 + .registers 3
7444 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
7446 + iput-object p2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7448 + return-void
7449 +.end method
7452 +# virtual methods
7453 +.method public addObserver(Ljava/lang/String;)V
7454 + .registers 5
7456 + :try_start_0
7457 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7459 + if-eqz v1, :cond_a
7461 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7463 + invoke-interface {v1, p1}, Landroid/privacy/IPrivacySettingsManager;->addObserver(Ljava/lang/String;)V
7465 + :goto_9
7466 + return-void
7468 + :cond_a
7469 + const-string v1, "PrivacySettingsManager"
7471 + const-string v2, "deleteSettings - PrivacySettingsManagerService is null"
7473 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7474 + :try_end_11
7475 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_11} :catch_12
7477 + goto :goto_9
7479 + :catch_12
7480 + move-exception v0
7482 + const-string v1, "PrivacySettingsManager"
7484 + const-string v2, "RemoteException in addObserver: "
7486 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7488 + goto :goto_9
7489 +.end method
7491 +.method public deleteSettings(Ljava/lang/String;)Z
7492 + .registers 3
7494 + invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettingsManager;->deleteSettings(Ljava/lang/String;)Z
7496 + move-result v0
7498 + return v0
7499 +.end method
7501 +.method public deleteSettings(Ljava/lang/String;I)Z
7502 + .registers 7
7504 + const/4 v1, 0x0
7506 + :try_start_1
7507 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7509 + if-eqz v2, :cond_c
7511 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7513 + invoke-interface {v2, p1}, Landroid/privacy/IPrivacySettingsManager;->deleteSettings(Ljava/lang/String;)Z
7515 + move-result v1
7517 + :goto_b
7518 + return v1
7520 + :cond_c
7521 + const-string v2, "PrivacySettingsManager"
7523 + const-string v3, "deleteSettings - PrivacySettingsManagerService is null"
7525 + invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7526 + :try_end_13
7527 + .catch Landroid/os/RemoteException; {:try_start_1 .. :try_end_13} :catch_14
7529 + goto :goto_b
7531 + :catch_14
7532 + move-exception v0
7534 + const-string v2, "PrivacySettingsManager"
7536 + const-string v3, "RemoteException in deleteSettings: "
7538 + invoke-static {v2, v3, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7540 + goto :goto_b
7541 +.end method
7543 +.method public getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
7544 + .registers 6
7546 + const/4 v1, 0x0
7548 + :try_start_1
7549 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7551 + if-eqz v2, :cond_c
7553 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7555 + invoke-interface {v2, p1}, Landroid/privacy/IPrivacySettingsManager;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
7557 + move-result-object v1
7559 + :goto_b
7560 + return-object v1
7562 + :cond_c
7563 + const-string v2, "PrivacySettingsManager"
7565 + const-string v3, "getSettings - PrivacySettingsManagerService is null"
7567 + invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7568 + :try_end_13
7569 + .catch Landroid/os/RemoteException; {:try_start_1 .. :try_end_13} :catch_14
7571 + goto :goto_b
7573 + :catch_14
7574 + move-exception v0
7576 + invoke-virtual {v0}, Landroid/os/RemoteException;->printStackTrace()V
7578 + goto :goto_b
7579 +.end method
7581 +.method public getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
7582 + .registers 4
7584 + invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
7586 + move-result-object v0
7588 + return-object v0
7589 +.end method
7591 +.method public getVersion()D
7592 + .registers 4
7594 + :try_start_0
7595 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7597 + if-eqz v1, :cond_b
7599 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7601 + invoke-interface {v1}, Landroid/privacy/IPrivacySettingsManager;->getVersion()D
7603 + move-result-wide v1
7605 + :goto_a
7606 + return-wide v1
7608 + :cond_b
7609 + const-string v1, "PrivacySettingsManager"
7611 + const-string v2, "getVersion - PrivacySettingsManagerService is null"
7613 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7614 + :try_end_12
7615 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_12} :catch_15
7617 + :goto_12
7618 + const-wide/16 v1, 0x0
7620 + goto :goto_a
7622 + :catch_15
7623 + move-exception v0
7625 + const-string v1, "PrivacySettingsManager"
7627 + const-string v2, "RemoteException in getVersion: "
7629 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7631 + goto :goto_12
7632 +.end method
7634 +.method public isServiceAvailable()Z
7635 + .registers 2
7637 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7639 + if-eqz v0, :cond_6
7641 + const/4 v0, 0x1
7643 + :goto_5
7644 + return v0
7646 + :cond_6
7647 + const/4 v0, 0x0
7649 + goto :goto_5
7650 +.end method
7652 +.method public notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
7653 + .registers 9
7655 + :try_start_0
7656 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7658 + if-eqz v1, :cond_a
7660 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7662 + invoke-interface {v1, p1, p2, p3, p4}, Landroid/privacy/IPrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
7664 + :goto_9
7665 + return-void
7667 + :cond_a
7668 + const-string v1, "PrivacySettingsManager"
7670 + const-string v2, "deleteSettings - PrivacySettingsManagerService is null"
7672 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7673 + :try_end_11
7674 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_11} :catch_12
7676 + goto :goto_9
7678 + :catch_12
7679 + move-exception v0
7681 + const-string v1, "PrivacySettingsManager"
7683 + const-string v2, "RemoteException in notification: "
7685 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7687 + goto :goto_9
7688 +.end method
7690 +.method public notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
7691 + .registers 13
7693 + move-object v0, p0
7695 + move-object v1, p1
7697 + move v2, p3
7699 + move-object v3, p4
7701 + move-object v4, p5
7703 + move-object v5, p6
7705 + invoke-virtual/range {v0 .. v5}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
7707 + return-void
7708 +.end method
7710 +.method public purgeSettings()Z
7711 + .registers 4
7713 + :try_start_0
7714 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7716 + if-eqz v1, :cond_b
7718 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7720 + invoke-interface {v1}, Landroid/privacy/IPrivacySettingsManager;->purgeSettings()Z
7722 + move-result v1
7724 + :goto_a
7725 + return v1
7727 + :cond_b
7728 + const-string v1, "PrivacySettingsManager"
7730 + const-string v2, "deleteSettings - PrivacySettingsManagerService is null"
7732 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7733 + :try_end_12
7734 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_12} :catch_14
7736 + :goto_12
7737 + const/4 v1, 0x0
7739 + goto :goto_a
7741 + :catch_14
7742 + move-exception v0
7744 + const-string v1, "PrivacySettingsManager"
7746 + const-string v2, "RemoteException in purgeSettings: "
7748 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7750 + goto :goto_12
7751 +.end method
7753 +.method public registerObservers()V
7754 + .registers 4
7756 + :try_start_0
7757 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7759 + if-eqz v1, :cond_a
7761 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7763 + invoke-interface {v1}, Landroid/privacy/IPrivacySettingsManager;->registerObservers()V
7765 + :goto_9
7766 + return-void
7768 + :cond_a
7769 + const-string v1, "PrivacySettingsManager"
7771 + const-string v2, "deleteSettings - PrivacySettingsManagerService is null"
7773 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7774 + :try_end_11
7775 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_11} :catch_12
7777 + goto :goto_9
7779 + :catch_12
7780 + move-exception v0
7782 + const-string v1, "PrivacySettingsManager"
7784 + const-string v2, "RemoteException in registerObservers: "
7786 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7788 + goto :goto_9
7789 +.end method
7791 +.method public saveSettings(Landroid/privacy/PrivacySettings;)Z
7792 + .registers 6
7794 + const/4 v1, 0x0
7796 + :try_start_1
7797 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7799 + if-eqz v2, :cond_c
7801 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7803 + invoke-interface {v2, p1}, Landroid/privacy/IPrivacySettingsManager;->saveSettings(Landroid/privacy/PrivacySettings;)Z
7805 + move-result v1
7807 + :goto_b
7808 + return v1
7810 + :cond_c
7811 + const-string v2, "PrivacySettingsManager"
7813 + const-string/jumbo v3, "saveSettings - PrivacySettingsManagerService is null"
7815 + invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7816 + :try_end_14
7817 + .catch Landroid/os/RemoteException; {:try_start_1 .. :try_end_14} :catch_15
7819 + goto :goto_b
7821 + :catch_15
7822 + move-exception v0
7824 + const-string v2, "PrivacySettingsManager"
7826 + const-string v3, "RemoteException in saveSettings: "
7828 + invoke-static {v2, v3, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7830 + goto :goto_b
7831 +.end method
7833 +.method public setBootCompleted()V
7834 + .registers 4
7836 + :try_start_0
7837 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7839 + if-eqz v1, :cond_a
7841 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7843 + invoke-interface {v1}, Landroid/privacy/IPrivacySettingsManager;->setBootCompleted()V
7845 + :goto_9
7846 + return-void
7848 + :cond_a
7849 + const-string v1, "PrivacySettingsManager"
7851 + const-string/jumbo v2, "setBootCompleted - PrivacySettingsManagerService is null"
7853 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7854 + :try_end_12
7855 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_12} :catch_13
7857 + goto :goto_9
7859 + :catch_13
7860 + move-exception v0
7862 + const-string v1, "PrivacySettingsManager"
7864 + const-string v2, "RemoteException in setBootCompleted: "
7866 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7868 + goto :goto_9
7869 +.end method
7871 +.method public setEnabled(Z)Z
7872 + .registers 5
7874 + :try_start_0
7875 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7877 + if-eqz v1, :cond_b
7879 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7881 + invoke-interface {v1, p1}, Landroid/privacy/IPrivacySettingsManager;->setEnabled(Z)Z
7883 + move-result v1
7885 + :goto_a
7886 + return v1
7888 + :cond_b
7889 + const-string v1, "PrivacySettingsManager"
7891 + const-string/jumbo v2, "setEnabled - PrivacySettingsManagerService is null"
7893 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7894 + :try_end_13
7895 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_13} :catch_15
7897 + :goto_13
7898 + const/4 v1, 0x0
7900 + goto :goto_a
7902 + :catch_15
7903 + move-exception v0
7905 + const-string v1, "PrivacySettingsManager"
7907 + const-string v2, "RemoteException in setEnabled: "
7909 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7911 + goto :goto_13
7912 +.end method
7914 +.method public setNotificationsEnabled(Z)Z
7915 + .registers 5
7917 + :try_start_0
7918 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7920 + if-eqz v1, :cond_b
7922 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7924 + invoke-interface {v1, p1}, Landroid/privacy/IPrivacySettingsManager;->setNotificationsEnabled(Z)Z
7926 + move-result v1
7928 + :goto_a
7929 + return v1
7931 + :cond_b
7932 + const-string v1, "PrivacySettingsManager"
7934 + const-string/jumbo v2, "setNotificationsEnabled - PrivacySettingsManagerService is null"
7936 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7937 + :try_end_13
7938 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_13} :catch_15
7940 + :goto_13
7941 + const/4 v1, 0x0
7943 + goto :goto_a
7945 + :catch_15
7946 + move-exception v0
7948 + const-string v1, "PrivacySettingsManager"
7950 + const-string v2, "RemoteException in setNotificationsEnabled: "
7952 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7954 + goto :goto_13
7955 +.end method
7956 diff -Npru stock-framework/smali/android/privacy/PrivacySettings.smali pdroid-framework/smali/android/privacy/PrivacySettings.smali
7957 --- stock-framework/smali/android/privacy/PrivacySettings.smali 1969-12-31 18:00:00.000000000 -0600
7958 +++ pdroid-framework/smali/android/privacy/PrivacySettings.smali 2012-08-10 00:09:14.713407063 -0500
7959 @@ -0,0 +1,2109 @@
7960 +.class public final Landroid/privacy/PrivacySettings;
7961 +.super Ljava/lang/Object;
7962 +.source "PrivacySettings.java"
7964 +# interfaces
7965 +.implements Landroid/os/Parcelable;
7968 +# static fields
7969 +.field public static final CREATOR:Landroid/os/Parcelable$Creator; = null
7970 + .annotation system Ldalvik/annotation/Signature;
7971 + value = {
7972 + "Landroid/os/Parcelable$Creator",
7973 + "<",
7974 + "Landroid/privacy/PrivacySettings;",
7975 + ">;"
7977 + .end annotation
7978 +.end field
7980 +.field public static final CUSTOM:B = 0x2t
7982 +.field public static final DATA_ACCOUNTS_LIST:Ljava/lang/String; = "accountsList"
7984 +.field public static final DATA_AUTH_TOKENS:Ljava/lang/String; = "authTokens"
7986 +.field public static final DATA_BOOKMARKS:Ljava/lang/String; = "bookmarks"
7988 +.field public static final DATA_CALENDAR:Ljava/lang/String; = "calendar"
7990 +.field public static final DATA_CALL_LOG:Ljava/lang/String; = "callLog"
7992 +.field public static final DATA_CONTACTS:Ljava/lang/String; = "contacts"
7994 +.field public static final DATA_DEVICE_ID:Ljava/lang/String; = "deviceID"
7996 +.field public static final DATA_INCOMING_CALL:Ljava/lang/String; = "incomingCall"
7998 +.field public static final DATA_INTENT_BOOT_COMPLETED:Ljava/lang/String; = "intentBootCompleted"
8000 +.field public static final DATA_LINE_1_NUMBER:Ljava/lang/String; = "line1Number"
8002 +.field public static final DATA_LOCATION_GPS:Ljava/lang/String; = "locationGPS"
8004 +.field public static final DATA_LOCATION_NETWORK:Ljava/lang/String; = "locationNetwork"
8006 +.field public static final DATA_MMS:Ljava/lang/String; = "mms"
8008 +.field public static final DATA_MMS_SMS:Ljava/lang/String; = "mmsSms"
8010 +.field public static final DATA_NETWORK_INFO_CURRENT:Ljava/lang/String; = "networkInfoCurrent"
8012 +.field public static final DATA_NETWORK_INFO_SIM:Ljava/lang/String; = "networkInfoSIM"
8014 +.field public static final DATA_OUTGOING_CALL:Ljava/lang/String; = "outgoingCall"
8016 +.field public static final DATA_SIM_SERIAL:Ljava/lang/String; = "simSerial"
8018 +.field public static final DATA_SMS:Ljava/lang/String; = "sms"
8020 +.field public static final DATA_SUBSCRIBER_ID:Ljava/lang/String; = "subscriberID"
8022 +.field public static final DATA_SYSTEM_LOGS:Ljava/lang/String; = "systemLogs"
8024 +.field public static final EMPTY:B = 0x1t
8026 +.field public static final RANDOM:B = 0x3t
8028 +.field public static final REAL:B = 0x0t
8030 +.field public static final SETTING_NOTIFY_OFF:B = 0x0t
8032 +.field public static final SETTING_NOTIFY_ON:B = 0x1t
8035 +# instance fields
8036 +.field private final _id:Ljava/lang/Integer;
8038 +.field private accountsAuthTokensSetting:B
8040 +.field private accountsSetting:B
8042 +.field private allowedContacts:[I
8044 +.field private bookmarksSetting:B
8046 +.field private calendarSetting:B
8048 +.field private callLogSetting:B
8050 +.field private contactsSetting:B
8052 +.field private deviceId:Ljava/lang/String;
8054 +.field private deviceIdSetting:B
8056 +.field private incomingCallsSetting:B
8058 +.field private intentBootCompletedSetting:B
8060 +.field private line1Number:Ljava/lang/String;
8062 +.field private line1NumberSetting:B
8064 +.field private locationGpsLat:Ljava/lang/String;
8066 +.field private locationGpsLon:Ljava/lang/String;
8068 +.field private locationGpsSetting:B
8070 +.field private locationNetworkLat:Ljava/lang/String;
8072 +.field private locationNetworkLon:Ljava/lang/String;
8074 +.field private locationNetworkSetting:B
8076 +.field private mmsSetting:B
8078 +.field private networkInfoSetting:B
8080 +.field private notificationSetting:B
8082 +.field private outgoingCallsSetting:B
8084 +.field private packageName:Ljava/lang/String;
8086 +.field private simInfoSetting:B
8088 +.field private simSerialNumber:Ljava/lang/String;
8090 +.field private simSerialNumberSetting:B
8092 +.field private smsSetting:B
8094 +.field private subscriberId:Ljava/lang/String;
8096 +.field private subscriberIdSetting:B
8098 +.field private systemLogsSetting:B
8100 +.field private uid:I
8103 +# direct methods
8104 +.method static constructor <clinit>()V
8105 + .registers 1
8107 + new-instance v0, Landroid/privacy/PrivacySettings$1;
8109 + invoke-direct {v0}, Landroid/privacy/PrivacySettings$1;-><init>()V
8111 + sput-object v0, Landroid/privacy/PrivacySettings;->CREATOR:Landroid/os/Parcelable$Creator;
8113 + return-void
8114 +.end method
8116 +.method public constructor <init>(Landroid/os/Parcel;)V
8117 + .registers 4
8119 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
8121 + invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I
8123 + move-result v0
8125 + const/4 v1, -0x1
8127 + if-ne v0, v1, :cond_ce
8129 + const/4 v1, 0x0
8131 + :goto_b
8132 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
8134 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
8136 + move-result-object v1
8138 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
8140 + invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I
8142 + move-result v1
8144 + iput v1, p0, Landroid/privacy/PrivacySettings;->uid:I
8146 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8148 + move-result v1
8150 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
8152 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
8154 + move-result-object v1
8156 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
8158 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8160 + move-result v1
8162 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
8164 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
8166 + move-result-object v1
8168 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
8170 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8172 + move-result v1
8174 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8176 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
8178 + move-result-object v1
8180 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
8182 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
8184 + move-result-object v1
8186 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
8188 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8190 + move-result v1
8192 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8194 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
8196 + move-result-object v1
8198 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
8200 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
8202 + move-result-object v1
8204 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
8206 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8208 + move-result v1
8210 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
8212 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8214 + move-result v1
8216 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
8218 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8220 + move-result v1
8222 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
8224 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
8226 + move-result-object v1
8228 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
8230 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8232 + move-result v1
8234 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
8236 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
8238 + move-result-object v1
8240 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
8242 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8244 + move-result v1
8246 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
8248 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8250 + move-result v1
8252 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
8254 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8256 + move-result v1
8258 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
8260 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8262 + move-result v1
8264 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
8266 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8268 + move-result v1
8270 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
8272 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8274 + move-result v1
8276 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
8278 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8280 + move-result v1
8282 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
8284 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8286 + move-result v1
8288 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
8290 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8292 + move-result v1
8294 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
8296 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8298 + move-result v1
8300 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
8302 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8304 + move-result v1
8306 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
8308 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8310 + move-result v1
8312 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
8314 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8316 + move-result v1
8318 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
8320 + invoke-virtual {p1}, Landroid/os/Parcel;->createIntArray()[I
8322 + move-result-object v1
8324 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
8326 + return-void
8328 + :cond_ce
8329 + invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
8331 + move-result-object v1
8333 + goto/16 :goto_b
8334 +.end method
8336 +.method public constructor <init>(Ljava/lang/Integer;Ljava/lang/String;I)V
8337 + .registers 6
8339 + const/4 v1, 0x0
8341 + const/4 v0, 0x0
8343 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
8345 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
8347 + iput-object p2, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
8349 + iput p3, p0, Landroid/privacy/PrivacySettings;->uid:I
8351 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
8353 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
8355 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
8357 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
8359 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8361 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
8363 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
8365 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8367 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
8369 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
8371 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
8373 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
8375 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
8377 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
8379 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
8381 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
8383 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
8385 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
8387 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
8389 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
8391 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
8393 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
8395 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
8397 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
8399 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
8401 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
8403 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
8405 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
8407 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
8409 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
8411 + return-void
8412 +.end method
8414 +.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
8415 + .registers 38
8417 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
8419 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
8421 + iput-object p2, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
8423 + iput p3, p0, Landroid/privacy/PrivacySettings;->uid:I
8425 + iput-byte p4, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
8427 + iput-object p5, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
8429 + iput-byte p6, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
8431 + iput-object p7, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
8433 + iput-byte p8, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8435 + iput-object p9, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
8437 + iput-object p10, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
8439 + iput-byte p11, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8441 + iput-object p12, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
8443 + iput-object p13, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
8445 + iput-byte p14, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
8447 + move/from16 v0, p15
8449 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
8451 + move/from16 v0, p16
8453 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
8455 + move-object/from16 v0, p17
8457 + iput-object v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
8459 + move/from16 v0, p18
8461 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
8463 + move-object/from16 v0, p19
8465 + iput-object v0, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
8467 + move/from16 v0, p20
8469 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
8471 + move/from16 v0, p21
8473 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
8475 + move/from16 v0, p22
8477 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
8479 + move/from16 v0, p23
8481 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
8483 + move/from16 v0, p24
8485 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
8487 + move/from16 v0, p25
8489 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
8491 + move/from16 v0, p26
8493 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
8495 + move/from16 v0, p27
8497 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
8499 + move/from16 v0, p28
8501 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
8503 + move/from16 v0, p29
8505 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
8507 + move/from16 v0, p30
8509 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
8511 + move/from16 v0, p34
8513 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
8515 + move/from16 v0, p35
8517 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
8519 + move-object/from16 v0, p36
8521 + iput-object v0, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
8523 + return-void
8524 +.end method
8526 +.method private getRandomLat()Ljava/lang/String;
8527 + .registers 10
8529 + const-wide v7, 0x4056800000000000L
8531 + invoke-static {}, Ljava/lang/Math;->random()D
8533 + move-result-wide v3
8535 + const-wide v5, 0x4066800000000000L
8537 + mul-double v0, v3, v5
8539 + cmpl-double v3, v0, v7
8541 + if-lez v3, :cond_35
8543 + new-instance v2, Ljava/math/BigDecimal;
8545 + sub-double v3, v0, v7
8547 + invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;-><init>(D)V
8549 + :goto_1b
8550 + new-instance v3, Ljava/lang/StringBuilder;
8552 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
8554 + const/4 v4, 0x6
8556 + const/4 v5, 0x4
8558 + invoke-virtual {v2, v4, v5}, Ljava/math/BigDecimal;->setScale(II)Ljava/math/BigDecimal;
8560 + move-result-object v4
8562 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
8564 + move-result-object v3
8566 + const-string v4, ""
8568 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8570 + move-result-object v3
8572 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8574 + move-result-object v3
8576 + return-object v3
8578 + :cond_35
8579 + new-instance v2, Ljava/math/BigDecimal;
8581 + neg-double v3, v0
8583 + invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;-><init>(D)V
8585 + goto :goto_1b
8586 +.end method
8588 +.method private getRandomLon()Ljava/lang/String;
8589 + .registers 10
8591 + const-wide v7, 0x4066800000000000L
8593 + invoke-static {}, Ljava/lang/Math;->random()D
8595 + move-result-wide v3
8597 + const-wide v5, 0x4076800000000000L
8599 + mul-double v0, v3, v5
8601 + cmpl-double v3, v0, v7
8603 + if-lez v3, :cond_35
8605 + new-instance v2, Ljava/math/BigDecimal;
8607 + sub-double v3, v0, v7
8609 + invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;-><init>(D)V
8611 + :goto_1b
8612 + new-instance v3, Ljava/lang/StringBuilder;
8614 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
8616 + const/4 v4, 0x6
8618 + const/4 v5, 0x4
8620 + invoke-virtual {v2, v4, v5}, Ljava/math/BigDecimal;->setScale(II)Ljava/math/BigDecimal;
8622 + move-result-object v4
8624 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
8626 + move-result-object v3
8628 + const-string v4, ""
8630 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8632 + move-result-object v3
8634 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8636 + move-result-object v3
8638 + return-object v3
8640 + :cond_35
8641 + new-instance v2, Ljava/math/BigDecimal;
8643 + neg-double v3, v0
8645 + invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;-><init>(D)V
8647 + goto :goto_1b
8648 +.end method
8651 +# virtual methods
8652 +.method public describeContents()I
8653 + .registers 2
8655 + const/4 v0, 0x0
8657 + return v0
8658 +.end method
8660 +.method public getAccountsAuthTokensSetting()B
8661 + .registers 2
8663 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
8665 + return v0
8666 +.end method
8668 +.method public getAccountsSetting()B
8669 + .registers 2
8671 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
8673 + return v0
8674 +.end method
8676 +.method public getAllowedContacts()[I
8677 + .registers 2
8679 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
8681 + return-object v0
8682 +.end method
8684 +.method public getBookmarksSetting()B
8685 + .registers 2
8687 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
8689 + return v0
8690 +.end method
8692 +.method public getCalendarSetting()B
8693 + .registers 2
8695 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
8697 + return v0
8698 +.end method
8700 +.method public getCallLogSetting()B
8701 + .registers 2
8703 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
8705 + return v0
8706 +.end method
8708 +.method public getContactsSetting()B
8709 + .registers 2
8711 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
8713 + return v0
8714 +.end method
8716 +.method public getDeviceId()Ljava/lang/String;
8717 + .registers 6
8719 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
8721 + const/4 v3, 0x1
8723 + if-ne v2, v3, :cond_8
8725 + const-string v2, ""
8727 + :goto_7
8728 + return-object v2
8730 + :cond_8
8731 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
8733 + const/4 v3, 0x3
8735 + if-ne v2, v3, :cond_35
8737 + new-instance v0, Ljava/util/Random;
8739 + invoke-direct {v0}, Ljava/util/Random;-><init>()V
8741 + new-instance v2, Ljava/lang/StringBuilder;
8743 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
8745 + invoke-virtual {v0}, Ljava/util/Random;->nextLong()J
8747 + move-result-wide v3
8749 + invoke-static {v3, v4}, Ljava/lang/Math;->abs(J)J
8751 + move-result-wide v3
8753 + invoke-virtual {v2, v3, v4}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
8755 + move-result-object v2
8757 + const-string v3, ""
8759 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8761 + move-result-object v2
8763 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8765 + move-result-object v1
8767 + const/4 v2, 0x0
8769 + const/16 v3, 0xf
8771 + invoke-virtual {v1, v2, v3}, Ljava/lang/String;->substring(II)Ljava/lang/String;
8773 + move-result-object v2
8775 + goto :goto_7
8777 + :cond_35
8778 + iget-object v2, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
8780 + goto :goto_7
8781 +.end method
8783 +.method public getDeviceIdSetting()B
8784 + .registers 2
8786 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
8788 + return v0
8789 +.end method
8791 +.method public getIncomingCallsSetting()B
8792 + .registers 2
8794 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
8796 + return v0
8797 +.end method
8799 +.method public getIntentBootCompletedSetting()B
8800 + .registers 2
8802 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
8804 + return v0
8805 +.end method
8807 +.method public getLine1Number()Ljava/lang/String;
8808 + .registers 6
8810 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
8812 + const/4 v3, 0x1
8814 + if-ne v2, v3, :cond_8
8816 + const-string v2, ""
8818 + :goto_7
8819 + return-object v2
8821 + :cond_8
8822 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
8824 + const/4 v3, 0x3
8826 + if-ne v2, v3, :cond_3b
8828 + new-instance v0, Ljava/util/Random;
8830 + invoke-direct {v0}, Ljava/util/Random;-><init>()V
8832 + new-instance v2, Ljava/lang/StringBuilder;
8834 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
8836 + const-string v3, "+"
8838 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8840 + move-result-object v2
8842 + invoke-virtual {v0}, Ljava/util/Random;->nextLong()J
8844 + move-result-wide v3
8846 + invoke-static {v3, v4}, Ljava/lang/Math;->abs(J)J
8848 + move-result-wide v3
8850 + invoke-virtual {v2, v3, v4}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
8852 + move-result-object v2
8854 + const-string v3, ""
8856 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8858 + move-result-object v2
8860 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8862 + move-result-object v1
8864 + const/4 v2, 0x0
8866 + const/16 v3, 0xd
8868 + invoke-virtual {v1, v2, v3}, Ljava/lang/String;->substring(II)Ljava/lang/String;
8870 + move-result-object v2
8872 + goto :goto_7
8874 + :cond_3b
8875 + iget-object v2, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
8877 + goto :goto_7
8878 +.end method
8880 +.method public getLine1NumberSetting()B
8881 + .registers 2
8883 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
8885 + return v0
8886 +.end method
8888 +.method public getLocationGpsLat()Ljava/lang/String;
8889 + .registers 3
8891 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8893 + const/4 v1, 0x1
8895 + if-ne v0, v1, :cond_8
8897 + const-string v0, ""
8899 + :goto_7
8900 + return-object v0
8902 + :cond_8
8903 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8905 + const/4 v1, 0x3
8907 + if-ne v0, v1, :cond_12
8909 + invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLat()Ljava/lang/String;
8911 + move-result-object v0
8913 + goto :goto_7
8915 + :cond_12
8916 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
8918 + goto :goto_7
8919 +.end method
8921 +.method public getLocationGpsLon()Ljava/lang/String;
8922 + .registers 3
8924 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8926 + const/4 v1, 0x1
8928 + if-ne v0, v1, :cond_8
8930 + const-string v0, ""
8932 + :goto_7
8933 + return-object v0
8935 + :cond_8
8936 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8938 + const/4 v1, 0x3
8940 + if-ne v0, v1, :cond_12
8942 + invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLon()Ljava/lang/String;
8944 + move-result-object v0
8946 + goto :goto_7
8948 + :cond_12
8949 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
8951 + goto :goto_7
8952 +.end method
8954 +.method public getLocationGpsSetting()B
8955 + .registers 2
8957 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8959 + return v0
8960 +.end method
8962 +.method public getLocationNetworkLat()Ljava/lang/String;
8963 + .registers 3
8965 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8967 + const/4 v1, 0x1
8969 + if-ne v0, v1, :cond_8
8971 + const-string v0, ""
8973 + :goto_7
8974 + return-object v0
8976 + :cond_8
8977 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8979 + const/4 v1, 0x3
8981 + if-ne v0, v1, :cond_12
8983 + invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLat()Ljava/lang/String;
8985 + move-result-object v0
8987 + goto :goto_7
8989 + :cond_12
8990 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
8992 + goto :goto_7
8993 +.end method
8995 +.method public getLocationNetworkLon()Ljava/lang/String;
8996 + .registers 3
8998 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
9000 + const/4 v1, 0x1
9002 + if-ne v0, v1, :cond_8
9004 + const-string v0, ""
9006 + :goto_7
9007 + return-object v0
9009 + :cond_8
9010 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
9012 + const/4 v1, 0x3
9014 + if-ne v0, v1, :cond_12
9016 + invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLon()Ljava/lang/String;
9018 + move-result-object v0
9020 + goto :goto_7
9022 + :cond_12
9023 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
9025 + goto :goto_7
9026 +.end method
9028 +.method public getLocationNetworkSetting()B
9029 + .registers 2
9031 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
9033 + return v0
9034 +.end method
9036 +.method public getMmsSetting()B
9037 + .registers 2
9039 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
9041 + return v0
9042 +.end method
9044 +.method public getNetworkInfoSetting()B
9045 + .registers 2
9047 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
9049 + return v0
9050 +.end method
9052 +.method public getNotificationSetting()B
9053 + .registers 2
9055 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
9057 + return v0
9058 +.end method
9060 +.method public getOutgoingCallsSetting()B
9061 + .registers 2
9063 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
9065 + return v0
9066 +.end method
9068 +.method public getPackageName()Ljava/lang/String;
9069 + .registers 2
9071 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
9073 + return-object v0
9074 +.end method
9076 +.method public getSimInfoSetting()B
9077 + .registers 2
9079 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
9081 + return v0
9082 +.end method
9084 +.method public getSimSerialNumber()Ljava/lang/String;
9085 + .registers 5
9087 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
9089 + const/4 v2, 0x1
9091 + if-ne v1, v2, :cond_8
9093 + const-string v1, ""
9095 + :goto_7
9096 + return-object v1
9098 + :cond_8
9099 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
9101 + const/4 v2, 0x3
9103 + if-ne v1, v2, :cond_2e
9105 + new-instance v0, Ljava/util/Random;
9107 + invoke-direct {v0}, Ljava/util/Random;-><init>()V
9109 + new-instance v1, Ljava/lang/StringBuilder;
9111 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
9113 + invoke-virtual {v0}, Ljava/util/Random;->nextLong()J
9115 + move-result-wide v2
9117 + invoke-static {v2, v3}, Ljava/lang/Math;->abs(J)J
9119 + move-result-wide v2
9121 + invoke-virtual {v1, v2, v3}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
9123 + move-result-object v1
9125 + const-string v2, ""
9127 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9129 + move-result-object v1
9131 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
9133 + move-result-object v1
9135 + goto :goto_7
9137 + :cond_2e
9138 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
9140 + goto :goto_7
9141 +.end method
9143 +.method public getSimSerialNumberSetting()B
9144 + .registers 2
9146 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
9148 + return v0
9149 +.end method
9151 +.method public getSmsSetting()B
9152 + .registers 2
9154 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
9156 + return v0
9157 +.end method
9159 +.method public getSubscriberId()Ljava/lang/String;
9160 + .registers 6
9162 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
9164 + const/4 v3, 0x1
9166 + if-ne v2, v3, :cond_8
9168 + const-string v2, ""
9170 + :goto_7
9171 + return-object v2
9173 + :cond_8
9174 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
9176 + const/4 v3, 0x3
9178 + if-ne v2, v3, :cond_35
9180 + new-instance v0, Ljava/util/Random;
9182 + invoke-direct {v0}, Ljava/util/Random;-><init>()V
9184 + new-instance v2, Ljava/lang/StringBuilder;
9186 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
9188 + invoke-virtual {v0}, Ljava/util/Random;->nextLong()J
9190 + move-result-wide v3
9192 + invoke-static {v3, v4}, Ljava/lang/Math;->abs(J)J
9194 + move-result-wide v3
9196 + invoke-virtual {v2, v3, v4}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
9198 + move-result-object v2
9200 + const-string v3, ""
9202 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9204 + move-result-object v2
9206 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
9208 + move-result-object v1
9210 + const/4 v2, 0x0
9212 + const/16 v3, 0xf
9214 + invoke-virtual {v1, v2, v3}, Ljava/lang/String;->substring(II)Ljava/lang/String;
9216 + move-result-object v2
9218 + goto :goto_7
9220 + :cond_35
9221 + iget-object v2, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
9223 + goto :goto_7
9224 +.end method
9226 +.method public getSubscriberIdSetting()B
9227 + .registers 2
9229 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
9231 + return v0
9232 +.end method
9234 +.method public getSystemLogsSetting()B
9235 + .registers 2
9237 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
9239 + return v0
9240 +.end method
9242 +.method public getUid()I
9243 + .registers 2
9245 + iget v0, p0, Landroid/privacy/PrivacySettings;->uid:I
9247 + return v0
9248 +.end method
9250 +.method public get_id()Ljava/lang/Integer;
9251 + .registers 2
9253 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
9255 + return-object v0
9256 +.end method
9258 +.method public setAccountsAuthTokensSetting(B)V
9259 + .registers 2
9261 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
9263 + return-void
9264 +.end method
9266 +.method public setAccountsSetting(B)V
9267 + .registers 2
9269 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
9271 + return-void
9272 +.end method
9274 +.method public setAllowedContacts([I)V
9275 + .registers 2
9277 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
9279 + return-void
9280 +.end method
9282 +.method public setBookmarksSetting(B)V
9283 + .registers 2
9285 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
9287 + return-void
9288 +.end method
9290 +.method public setCalendarSetting(B)V
9291 + .registers 2
9293 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
9295 + return-void
9296 +.end method
9298 +.method public setCallLogSetting(B)V
9299 + .registers 2
9301 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
9303 + return-void
9304 +.end method
9306 +.method public setContactsSetting(B)V
9307 + .registers 2
9309 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
9311 + return-void
9312 +.end method
9314 +.method public setDeviceId(Ljava/lang/String;)V
9315 + .registers 2
9317 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
9319 + return-void
9320 +.end method
9322 +.method public setDeviceIdSetting(B)V
9323 + .registers 2
9325 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
9327 + return-void
9328 +.end method
9330 +.method public setIncomingCallsSetting(B)V
9331 + .registers 2
9333 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
9335 + return-void
9336 +.end method
9338 +.method public setIntentBootCompletedSetting(B)V
9339 + .registers 2
9341 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
9343 + return-void
9344 +.end method
9346 +.method public setLine1Number(Ljava/lang/String;)V
9347 + .registers 2
9349 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
9351 + return-void
9352 +.end method
9354 +.method public setLine1NumberSetting(B)V
9355 + .registers 2
9357 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
9359 + return-void
9360 +.end method
9362 +.method public setLocationGpsLat(Ljava/lang/String;)V
9363 + .registers 2
9365 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
9367 + return-void
9368 +.end method
9370 +.method public setLocationGpsLon(Ljava/lang/String;)V
9371 + .registers 2
9373 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
9375 + return-void
9376 +.end method
9378 +.method public setLocationGpsSetting(B)V
9379 + .registers 2
9381 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
9383 + return-void
9384 +.end method
9386 +.method public setLocationNetworkLat(Ljava/lang/String;)V
9387 + .registers 2
9389 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
9391 + return-void
9392 +.end method
9394 +.method public setLocationNetworkLon(Ljava/lang/String;)V
9395 + .registers 2
9397 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
9399 + return-void
9400 +.end method
9402 +.method public setLocationNetworkSetting(B)V
9403 + .registers 2
9405 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
9407 + return-void
9408 +.end method
9410 +.method public setMmsSetting(B)V
9411 + .registers 2
9413 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
9415 + return-void
9416 +.end method
9418 +.method public setNetworkInfoSetting(B)V
9419 + .registers 2
9421 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
9423 + return-void
9424 +.end method
9426 +.method public setNotificationSetting(B)V
9427 + .registers 2
9429 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
9431 + return-void
9432 +.end method
9434 +.method public setOutgoingCallsSetting(B)V
9435 + .registers 2
9437 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
9439 + return-void
9440 +.end method
9442 +.method public setPackageName(Ljava/lang/String;)V
9443 + .registers 2
9445 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
9447 + return-void
9448 +.end method
9450 +.method public setSimInfoSetting(B)V
9451 + .registers 2
9453 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
9455 + return-void
9456 +.end method
9458 +.method public setSimSerialNumber(Ljava/lang/String;)V
9459 + .registers 2
9461 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
9463 + return-void
9464 +.end method
9466 +.method public setSimSerialNumberSetting(B)V
9467 + .registers 2
9469 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
9471 + return-void
9472 +.end method
9474 +.method public setSmsSetting(B)V
9475 + .registers 2
9477 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
9479 + return-void
9480 +.end method
9482 +.method public setSubscriberId(Ljava/lang/String;)V
9483 + .registers 2
9485 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
9487 + return-void
9488 +.end method
9490 +.method public setSubscriberIdSetting(B)V
9491 + .registers 2
9493 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
9495 + return-void
9496 +.end method
9498 +.method public setSystemLogsSetting(B)V
9499 + .registers 2
9501 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
9503 + return-void
9504 +.end method
9506 +.method public setUid(I)V
9507 + .registers 2
9509 + iput p1, p0, Landroid/privacy/PrivacySettings;->uid:I
9511 + return-void
9512 +.end method
9514 +.method public toString()Ljava/lang/String;
9515 + .registers 3
9517 + new-instance v0, Ljava/lang/StringBuilder;
9519 + invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
9521 + const-string v1, "PrivacySettings [_id="
9523 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9525 + move-result-object v0
9527 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
9529 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
9531 + move-result-object v0
9533 + const-string v1, ", accountsAuthTokensSetting="
9535 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9537 + move-result-object v0
9539 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
9541 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9543 + move-result-object v0
9545 + const-string v1, ", accountsSetting="
9547 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9549 + move-result-object v0
9551 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
9553 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9555 + move-result-object v0
9557 + const-string v1, ", bookmarksSetting="
9559 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9561 + move-result-object v0
9563 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
9565 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9567 + move-result-object v0
9569 + const-string v1, ", calendarSetting="
9571 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9573 + move-result-object v0
9575 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
9577 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9579 + move-result-object v0
9581 + const-string v1, ", callLogSetting="
9583 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9585 + move-result-object v0
9587 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
9589 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9591 + move-result-object v0
9593 + const-string v1, ", contactsSetting="
9595 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9597 + move-result-object v0
9599 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
9601 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9603 + move-result-object v0
9605 + const-string v1, ", deviceId="
9607 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9609 + move-result-object v0
9611 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
9613 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9615 + move-result-object v0
9617 + const-string v1, ", deviceIdSetting="
9619 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9621 + move-result-object v0
9623 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
9625 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9627 + move-result-object v0
9629 + const-string v1, ", incomingCallsSetting="
9631 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9633 + move-result-object v0
9635 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
9637 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9639 + move-result-object v0
9641 + const-string v1, ", intentBootCompletedSetting="
9643 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9645 + move-result-object v0
9647 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
9649 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9651 + move-result-object v0
9653 + const-string v1, ", line1Number="
9655 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9657 + move-result-object v0
9659 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
9661 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9663 + move-result-object v0
9665 + const-string v1, ", line1NumberSetting="
9667 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9669 + move-result-object v0
9671 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
9673 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9675 + move-result-object v0
9677 + const-string v1, ", locationGpsLat="
9679 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9681 + move-result-object v0
9683 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
9685 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9687 + move-result-object v0
9689 + const-string v1, ", locationGpsLon="
9691 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9693 + move-result-object v0
9695 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
9697 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9699 + move-result-object v0
9701 + const-string v1, ", locationGpsSetting="
9703 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9705 + move-result-object v0
9707 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
9709 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9711 + move-result-object v0
9713 + const-string v1, ", locationNetworkLat="
9715 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9717 + move-result-object v0
9719 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
9721 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9723 + move-result-object v0
9725 + const-string v1, ", locationNetworkLon="
9727 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9729 + move-result-object v0
9731 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
9733 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9735 + move-result-object v0
9737 + const-string v1, ", locationNetworkSetting="
9739 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9741 + move-result-object v0
9743 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
9745 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9747 + move-result-object v0
9749 + const-string v1, ", mmsSetting="
9751 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9753 + move-result-object v0
9755 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
9757 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9759 + move-result-object v0
9761 + const-string v1, ", networkInfoSetting="
9763 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9765 + move-result-object v0
9767 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
9769 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9771 + move-result-object v0
9773 + const-string v1, ", notificationSetting="
9775 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9777 + move-result-object v0
9779 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
9781 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9783 + move-result-object v0
9785 + const-string v1, ", outgoingCallsSetting="
9787 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9789 + move-result-object v0
9791 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
9793 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9795 + move-result-object v0
9797 + const-string v1, ", packageName="
9799 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9801 + move-result-object v0
9803 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
9805 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9807 + move-result-object v0
9809 + const-string v1, ", simInfoSetting="
9811 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9813 + move-result-object v0
9815 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
9817 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9819 + move-result-object v0
9821 + const-string v1, ", simSerialNumber="
9823 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9825 + move-result-object v0
9827 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
9829 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9831 + move-result-object v0
9833 + const-string v1, ", simSerialNumberSetting="
9835 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9837 + move-result-object v0
9839 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
9841 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9843 + move-result-object v0
9845 + const-string v1, ", smsSetting="
9847 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9849 + move-result-object v0
9851 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
9853 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9855 + move-result-object v0
9857 + const-string v1, ", subscriberId="
9859 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9861 + move-result-object v0
9863 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
9865 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9867 + move-result-object v0
9869 + const-string v1, ", subscriberIdSetting="
9871 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9873 + move-result-object v0
9875 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
9877 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9879 + move-result-object v0
9881 + const-string v1, ", systemLogsSetting="
9883 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9885 + move-result-object v0
9887 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
9889 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9891 + move-result-object v0
9893 + const-string v1, ", uid="
9895 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9897 + move-result-object v0
9899 + iget v1, p0, Landroid/privacy/PrivacySettings;->uid:I
9901 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9903 + move-result-object v0
9905 + const-string v1, "]"
9907 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9909 + move-result-object v0
9911 + invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
9913 + move-result-object v0
9915 + return-object v0
9916 +.end method
9918 +.method public writeToParcel(Landroid/os/Parcel;I)V
9919 + .registers 4
9921 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
9923 + if-nez v0, :cond_a9
9925 + const/4 v0, -0x1
9927 + :goto_5
9928 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeInt(I)V
9930 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
9932 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9934 + iget v0, p0, Landroid/privacy/PrivacySettings;->uid:I
9936 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeInt(I)V
9938 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
9940 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9942 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
9944 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9946 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
9948 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9950 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
9952 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9954 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
9956 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9958 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
9960 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9962 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
9964 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9966 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
9968 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9970 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
9972 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9974 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
9976 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9978 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
9980 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9982 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
9984 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9986 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
9988 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9990 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
9992 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9994 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
9996 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9998 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
10000 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
10002 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
10004 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
10006 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
10008 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
10010 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
10012 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
10014 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
10016 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
10018 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
10020 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
10022 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
10024 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
10026 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
10028 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
10030 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
10032 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
10034 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
10036 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
10038 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
10040 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
10042 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
10044 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
10046 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
10048 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
10050 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
10052 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
10054 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
10056 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeIntArray([I)V
10058 + return-void
10060 + :cond_a9
10061 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
10063 + invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
10065 + move-result v0
10067 + goto/16 :goto_5
10068 +.end method
10069 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali
10070 --- stock-framework/smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali 1969-12-31 18:00:00.000000000 -0600
10071 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali 2012-08-10 00:09:14.713407063 -0500
10072 @@ -0,0 +1,129 @@
10073 +.class Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10074 +.super Ljava/lang/Object;
10075 +.source "PrivacyAccountManager.java"
10077 +# interfaces
10078 +.implements Landroid/accounts/AccountManagerFuture;
10081 +# annotations
10082 +.annotation system Ldalvik/annotation/EnclosingClass;
10083 + value = Landroid/privacy/surrogate/PrivacyAccountManager;
10084 +.end annotation
10086 +.annotation system Ldalvik/annotation/InnerClass;
10087 + accessFlags = 0x2
10088 + name = "PrivacyAccountManagerFuture"
10089 +.end annotation
10091 +.annotation system Ldalvik/annotation/Signature;
10092 + value = {
10093 + "<V:",
10094 + "Ljava/lang/Object;",
10095 + ">",
10096 + "Ljava/lang/Object;",
10097 + "Landroid/accounts/AccountManagerFuture",
10098 + "<TV;>;"
10100 +.end annotation
10103 +# instance fields
10104 +.field private result:Ljava/lang/Object;
10105 + .annotation system Ldalvik/annotation/Signature;
10106 + value = {
10107 + "TV;"
10109 + .end annotation
10110 +.end field
10112 +.field final synthetic this$0:Landroid/privacy/surrogate/PrivacyAccountManager;
10115 +# direct methods
10116 +.method public constructor <init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
10117 + .registers 3
10118 + .annotation system Ldalvik/annotation/Signature;
10119 + value = {
10120 + "(TV;)V"
10122 + .end annotation
10124 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->this$0:Landroid/privacy/surrogate/PrivacyAccountManager;
10126 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
10128 + iput-object p2, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->result:Ljava/lang/Object;
10130 + return-void
10131 +.end method
10134 +# virtual methods
10135 +.method public cancel(Z)Z
10136 + .registers 3
10138 + const/4 v0, 0x0
10140 + return v0
10141 +.end method
10143 +.method public getResult()Ljava/lang/Object;
10144 + .registers 2
10145 + .annotation system Ldalvik/annotation/Signature;
10146 + value = {
10147 + "()TV;"
10149 + .end annotation
10151 + .annotation system Ldalvik/annotation/Throws;
10152 + value = {
10153 + Landroid/accounts/OperationCanceledException;,
10154 + Ljava/io/IOException;,
10155 + Landroid/accounts/AuthenticatorException;
10157 + .end annotation
10159 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->result:Ljava/lang/Object;
10161 + return-object v0
10162 +.end method
10164 +.method public getResult(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;
10165 + .registers 5
10166 + .annotation system Ldalvik/annotation/Signature;
10167 + value = {
10168 + "(J",
10169 + "Ljava/util/concurrent/TimeUnit;",
10170 + ")TV;"
10172 + .end annotation
10174 + .annotation system Ldalvik/annotation/Throws;
10175 + value = {
10176 + Landroid/accounts/OperationCanceledException;,
10177 + Ljava/io/IOException;,
10178 + Landroid/accounts/AuthenticatorException;
10180 + .end annotation
10182 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->result:Ljava/lang/Object;
10184 + return-object v0
10185 +.end method
10187 +.method public isCancelled()Z
10188 + .registers 2
10190 + const/4 v0, 0x0
10192 + return v0
10193 +.end method
10195 +.method public isDone()Z
10196 + .registers 2
10198 + const/4 v0, 0x1
10200 + return v0
10201 +.end method
10202 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyAccountManager.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyAccountManager.smali
10203 --- stock-framework/smali/android/privacy/surrogate/PrivacyAccountManager.smali 1969-12-31 18:00:00.000000000 -0600
10204 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyAccountManager.smali 2012-08-10 00:09:14.713407063 -0500
10205 @@ -0,0 +1,701 @@
10206 +.class public final Landroid/privacy/surrogate/PrivacyAccountManager;
10207 +.super Landroid/accounts/AccountManager;
10208 +.source "PrivacyAccountManager.java"
10211 +# annotations
10212 +.annotation system Ldalvik/annotation/MemberClasses;
10213 + value = {
10214 + Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10216 +.end annotation
10219 +# static fields
10220 +.field private static final TAG:Ljava/lang/String; = "PrivacyAccountManager"
10223 +# instance fields
10224 +.field private context:Landroid/content/Context;
10226 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
10229 +# direct methods
10230 +.method public constructor <init>(Landroid/content/Context;Landroid/accounts/IAccountManager;)V
10231 + .registers 5
10233 + invoke-direct {p0, p1, p2}, Landroid/accounts/AccountManager;-><init>(Landroid/content/Context;Landroid/accounts/IAccountManager;)V
10235 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10237 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
10239 + const-string/jumbo v1, "privacy"
10241 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
10243 + move-result-object v1
10245 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
10247 + move-result-object v1
10249 + invoke-direct {v0, p1, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
10251 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10253 + return-void
10254 +.end method
10256 +.method public constructor <init>(Landroid/content/Context;Landroid/accounts/IAccountManager;Landroid/os/Handler;)V
10257 + .registers 6
10259 + invoke-direct {p0, p1, p2, p3}, Landroid/accounts/AccountManager;-><init>(Landroid/content/Context;Landroid/accounts/IAccountManager;Landroid/os/Handler;)V
10261 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10263 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
10265 + const-string/jumbo v1, "privacy"
10267 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
10269 + move-result-object v1
10271 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
10273 + move-result-object v1
10275 + invoke-direct {v0, p1, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
10277 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10279 + return-void
10280 +.end method
10283 +# virtual methods
10284 +.method public blockingGetAuthToken(Landroid/accounts/Account;Ljava/lang/String;Z)Ljava/lang/String;
10285 + .registers 12
10286 + .annotation system Ldalvik/annotation/Throws;
10287 + value = {
10288 + Landroid/accounts/OperationCanceledException;,
10289 + Ljava/io/IOException;,
10290 + Landroid/accounts/AuthenticatorException;
10292 + .end annotation
10294 + const/4 v5, 0x0
10296 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10298 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10300 + move-result-object v1
10302 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10304 + move-result v2
10306 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10308 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10310 + move-result-object v6
10312 + if-eqz v6, :cond_23
10314 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
10316 + move-result v0
10318 + if-eqz v0, :cond_23
10320 + const/4 v7, 0x0
10322 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10324 + const/4 v3, 0x1
10326 + const-string v4, "authTokens"
10328 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10330 + :goto_22
10331 + return-object v7
10333 + :cond_23
10334 + invoke-super {p0, p1, p2, p3}, Landroid/accounts/AccountManager;->blockingGetAuthToken(Landroid/accounts/Account;Ljava/lang/String;Z)Ljava/lang/String;
10336 + move-result-object v7
10338 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10340 + const/4 v3, 0x0
10342 + const-string v4, "authTokens"
10344 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10346 + goto :goto_22
10347 +.end method
10349 +.method public getAccounts()[Landroid/accounts/Account;
10350 + .registers 10
10352 + const/4 v5, 0x0
10354 + const/4 v3, 0x0
10356 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10358 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10360 + move-result-object v1
10362 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10364 + move-result v2
10366 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10368 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10370 + move-result-object v6
10372 + if-eqz v6, :cond_27
10374 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
10376 + move-result v0
10378 + if-eqz v0, :cond_27
10380 + const-string v8, "[empty accounts list]"
10382 + new-array v7, v3, [Landroid/accounts/Account;
10384 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10386 + const/4 v3, 0x1
10388 + const-string v4, "accountsList"
10390 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10392 + :goto_26
10393 + return-object v7
10395 + :cond_27
10396 + const-string v8, "[real value]"
10398 + invoke-super {p0}, Landroid/accounts/AccountManager;->getAccounts()[Landroid/accounts/Account;
10400 + move-result-object v7
10402 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10404 + const-string v4, "accountsList"
10406 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10408 + goto :goto_26
10409 +.end method
10411 +.method public getAccountsByType(Ljava/lang/String;)[Landroid/accounts/Account;
10412 + .registers 11
10414 + const/4 v5, 0x0
10416 + const/4 v3, 0x0
10418 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10420 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10422 + move-result-object v1
10424 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10426 + move-result v2
10428 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10430 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10432 + move-result-object v6
10434 + if-eqz v6, :cond_27
10436 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
10438 + move-result v0
10440 + if-eqz v0, :cond_27
10442 + const-string v8, "[empty accounts list]"
10444 + new-array v7, v3, [Landroid/accounts/Account;
10446 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10448 + const/4 v3, 0x1
10450 + const-string v4, "accountsList"
10452 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10454 + :goto_26
10455 + return-object v7
10457 + :cond_27
10458 + const-string v8, "[real value]"
10460 + invoke-super {p0, p1}, Landroid/accounts/AccountManager;->getAccountsByType(Ljava/lang/String;)[Landroid/accounts/Account;
10462 + move-result-object v7
10464 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10466 + const-string v4, "accountsList"
10468 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10470 + goto :goto_26
10471 +.end method
10473 +.method public getAccountsByTypeAndFeatures(Ljava/lang/String;[Ljava/lang/String;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
10474 + .registers 14
10475 + .annotation system Ldalvik/annotation/Signature;
10476 + value = {
10477 + "(",
10478 + "Ljava/lang/String;",
10479 + "[",
10480 + "Ljava/lang/String;",
10481 + "Landroid/accounts/AccountManagerCallback",
10482 + "<[",
10483 + "Landroid/accounts/Account;",
10484 + ">;",
10485 + "Landroid/os/Handler;",
10486 + ")",
10487 + "Landroid/accounts/AccountManagerFuture",
10488 + "<[",
10489 + "Landroid/accounts/Account;",
10490 + ">;"
10492 + .end annotation
10494 + const/4 v5, 0x0
10496 + const/4 v3, 0x0
10498 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10500 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10502 + move-result-object v1
10504 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10506 + move-result v2
10508 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10510 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10512 + move-result-object v6
10514 + if-eqz v6, :cond_2c
10516 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
10518 + move-result v0
10520 + if-eqz v0, :cond_2c
10522 + const-string v8, "[false]"
10524 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10526 + new-array v0, v3, [Landroid/accounts/Account;
10528 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
10530 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10532 + const/4 v3, 0x1
10534 + const-string v4, "accountsList"
10536 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10538 + :goto_2b
10539 + return-object v7
10541 + :cond_2c
10542 + const-string v8, "[real value]"
10544 + 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;
10546 + move-result-object v7
10548 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10550 + const-string v4, "accountsList"
10552 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10554 + goto :goto_2b
10555 +.end method
10557 +.method public getAuthToken(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;Landroid/app/Activity;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
10558 + .registers 16
10559 + .annotation system Ldalvik/annotation/Signature;
10560 + value = {
10561 + "(",
10562 + "Landroid/accounts/Account;",
10563 + "Ljava/lang/String;",
10564 + "Landroid/os/Bundle;",
10565 + "Landroid/app/Activity;",
10566 + "Landroid/accounts/AccountManagerCallback",
10567 + "<",
10568 + "Landroid/os/Bundle;",
10569 + ">;",
10570 + "Landroid/os/Handler;",
10571 + ")",
10572 + "Landroid/accounts/AccountManagerFuture",
10573 + "<",
10574 + "Landroid/os/Bundle;",
10575 + ">;"
10577 + .end annotation
10579 + const/4 v5, 0x0
10581 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10583 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10585 + move-result-object v1
10587 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10589 + move-result v2
10591 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10593 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10595 + move-result-object v6
10597 + if-eqz v6, :cond_2e
10599 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
10601 + move-result v0
10603 + if-eqz v0, :cond_2e
10605 + const-string v8, "[empty]"
10607 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10609 + new-instance v0, Landroid/os/Bundle;
10611 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
10613 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
10615 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10617 + const/4 v3, 0x1
10619 + const-string v4, "authTokens"
10621 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10623 + :goto_2d
10624 + return-object v7
10626 + :cond_2e
10627 + const-string v8, "[real value]"
10629 + 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;
10631 + move-result-object v7
10633 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10635 + const/4 v3, 0x0
10637 + const-string v4, "authTokens"
10639 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10641 + goto :goto_2d
10642 +.end method
10644 +.method public getAuthToken(Landroid/accounts/Account;Ljava/lang/String;ZLandroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
10645 + .registers 15
10646 + .annotation system Ldalvik/annotation/Signature;
10647 + value = {
10648 + "(",
10649 + "Landroid/accounts/Account;",
10650 + "Ljava/lang/String;",
10651 + "Z",
10652 + "Landroid/accounts/AccountManagerCallback",
10653 + "<",
10654 + "Landroid/os/Bundle;",
10655 + ">;",
10656 + "Landroid/os/Handler;",
10657 + ")",
10658 + "Landroid/accounts/AccountManagerFuture",
10659 + "<",
10660 + "Landroid/os/Bundle;",
10661 + ">;"
10663 + .end annotation
10665 + const/4 v5, 0x0
10667 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10669 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10671 + move-result-object v1
10673 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10675 + move-result v2
10677 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10679 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10681 + move-result-object v6
10683 + if-eqz v6, :cond_2e
10685 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
10687 + move-result v0
10689 + if-eqz v0, :cond_2e
10691 + const-string v8, "[empty]"
10693 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10695 + new-instance v0, Landroid/os/Bundle;
10697 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
10699 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
10701 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10703 + const/4 v3, 0x1
10705 + const-string v4, "authTokens"
10707 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10709 + :goto_2d
10710 + return-object v7
10712 + :cond_2e
10713 + const-string v8, "[real value]"
10715 + invoke-super/range {p0 .. p5}, Landroid/accounts/AccountManager;->getAuthToken(Landroid/accounts/Account;Ljava/lang/String;ZLandroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
10717 + move-result-object v7
10719 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10721 + const/4 v3, 0x0
10723 + const-string v4, "authTokens"
10725 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10727 + goto :goto_2d
10728 +.end method
10730 +.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;
10731 + .registers 18
10732 + .annotation system Ldalvik/annotation/Signature;
10733 + value = {
10734 + "(",
10735 + "Ljava/lang/String;",
10736 + "Ljava/lang/String;",
10737 + "[",
10738 + "Ljava/lang/String;",
10739 + "Landroid/app/Activity;",
10740 + "Landroid/os/Bundle;",
10741 + "Landroid/os/Bundle;",
10742 + "Landroid/accounts/AccountManagerCallback",
10743 + "<",
10744 + "Landroid/os/Bundle;",
10745 + ">;",
10746 + "Landroid/os/Handler;",
10747 + ")",
10748 + "Landroid/accounts/AccountManagerFuture",
10749 + "<",
10750 + "Landroid/os/Bundle;",
10751 + ">;"
10753 + .end annotation
10755 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10757 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10759 + move-result-object v1
10761 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10763 + move-result v2
10765 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10767 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10769 + move-result-object v6
10771 + if-eqz v6, :cond_2e
10773 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
10775 + move-result v0
10777 + if-eqz v0, :cond_2e
10779 + const-string v8, "[empty]"
10781 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10783 + new-instance v0, Landroid/os/Bundle;
10785 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
10787 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
10789 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10791 + const/4 v3, 0x1
10793 + const-string v4, "authTokens"
10795 + const/4 v5, 0x0
10797 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10799 + :goto_2d
10800 + return-object v7
10802 + :cond_2e
10803 + const-string v8, "[real value]"
10805 + 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;
10807 + move-result-object v7
10809 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10811 + const/4 v3, 0x0
10813 + const-string v4, "authTokens"
10815 + const/4 v5, 0x0
10817 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10819 + goto :goto_2d
10820 +.end method
10822 +.method public hasFeatures(Landroid/accounts/Account;[Ljava/lang/String;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
10823 + .registers 14
10824 + .annotation system Ldalvik/annotation/Signature;
10825 + value = {
10826 + "(",
10827 + "Landroid/accounts/Account;",
10828 + "[",
10829 + "Ljava/lang/String;",
10830 + "Landroid/accounts/AccountManagerCallback",
10831 + "<",
10832 + "Ljava/lang/Boolean;",
10833 + ">;",
10834 + "Landroid/os/Handler;",
10835 + ")",
10836 + "Landroid/accounts/AccountManagerFuture",
10837 + "<",
10838 + "Ljava/lang/Boolean;",
10839 + ">;"
10841 + .end annotation
10843 + const/4 v5, 0x0
10845 + const/4 v3, 0x0
10847 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10849 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10851 + move-result-object v1
10853 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10855 + move-result v2
10857 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10859 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10861 + move-result-object v6
10863 + if-eqz v6, :cond_2e
10865 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
10867 + move-result v0
10869 + if-eqz v0, :cond_2e
10871 + const-string v8, "[false]"
10873 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10875 + invoke-static {v3}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
10877 + move-result-object v0
10879 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
10881 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10883 + const/4 v3, 0x1
10885 + const-string v4, "accountsList"
10887 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10889 + :goto_2d
10890 + return-object v7
10892 + :cond_2e
10893 + const-string v8, "[real value]"
10895 + 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;
10897 + move-result-object v7
10899 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10901 + const-string v4, "accountsList"
10903 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10905 + goto :goto_2d
10906 +.end method
10907 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyActivityManagerService.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyActivityManagerService.smali
10908 --- stock-framework/smali/android/privacy/surrogate/PrivacyActivityManagerService.smali 1969-12-31 18:00:00.000000000 -0600
10909 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyActivityManagerService.smali 2012-08-10 00:09:14.717407079 -0500
10910 @@ -0,0 +1,1087 @@
10911 +.class public final Landroid/privacy/surrogate/PrivacyActivityManagerService;
10912 +.super Ljava/lang/Object;
10913 +.source "PrivacyActivityManagerService.java"
10916 +# static fields
10917 +.field private static final TAG:Ljava/lang/String; = "PrivacyActivityManagerService"
10919 +.field private static pSetMan:Landroid/privacy/PrivacySettingsManager;
10921 +.field private static tmpIn:Landroid/content/Intent;
10923 +.field private static tmpInHash:J
10925 +.field private static tmpInReceivers:I
10927 +.field private static tmpMms:Landroid/content/Intent;
10929 +.field private static tmpMmsHash:J
10931 +.field private static tmpMmsReceivers:I
10933 +.field private static tmpOut:Landroid/content/Intent;
10935 +.field private static tmpOutHash:J
10937 +.field private static tmpOutReceivers:I
10939 +.field private static tmpPackageAddedHash:J
10941 +.field private static tmpSms:Landroid/content/Intent;
10943 +.field private static tmpSmsHash:J
10945 +.field private static tmpSmsReceivers:I
10948 +# direct methods
10949 +.method static constructor <clinit>()V
10950 + .registers 3
10952 + const/4 v2, 0x0
10954 + const-wide/16 v0, 0x0
10956 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInHash:J
10958 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
10960 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutHash:J
10962 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
10964 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsHash:J
10966 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
10968 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsHash:J
10970 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
10972 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpPackageAddedHash:J
10974 + return-void
10975 +.end method
10977 +.method public constructor <init>()V
10978 + .registers 1
10980 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
10982 + return-void
10983 +.end method
10985 +.method public static enforcePrivacyPermission(Ljava/lang/String;ILandroid/content/Intent;Landroid/content/Context;I)V
10986 + .registers 22
10988 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10990 + if-nez v2, :cond_11
10992 + const-string/jumbo v2, "privacy"
10994 + move-object/from16 v0, p3
10996 + invoke-virtual {v0, v2}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
10998 + move-result-object v2
11000 + check-cast v2, Landroid/privacy/PrivacySettingsManager;
11002 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11004 + :cond_11
11005 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->getAction()Ljava/lang/String;
11007 + move-result-object v9
11009 + const-string v2, "android.intent.action.NEW_OUTGOING_CALL"
11011 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11013 + move-result v2
11015 + if-eqz v2, :cond_ad
11017 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11019 + move-object/from16 v0, p0
11021 + move/from16 v1, p1
11023 + invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
11025 + move-result-object v8
11027 + const-string v2, "android.intent.extra.PHONE_NUMBER"
11029 + move-object/from16 v0, p2
11031 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
11033 + move-result-object v16
11035 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutHash:J
11037 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11039 + move-result-wide v4
11041 + cmp-long v2, v2, v4
11043 + if-eqz v2, :cond_49
11045 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->clone()Ljava/lang/Object;
11047 + move-result-object v2
11049 + check-cast v2, Landroid/content/Intent;
11051 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOut:Landroid/content/Intent;
11053 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11055 + move-result-wide v2
11057 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutHash:J
11059 + sput p4, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
11061 + :cond_49
11062 + if-eqz v8, :cond_76
11064 + :try_start_4b
11065 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getOutgoingCallsSetting()B
11067 + move-result v2
11069 + if-eqz v2, :cond_76
11071 + const-string v16, ""
11073 + const-string v2, "android.intent.extra.PHONE_NUMBER"
11075 + move-object/from16 v0, p2
11077 + move-object/from16 v1, v16
11079 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
11081 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11083 + const/4 v5, 0x1
11085 + const-string/jumbo v6, "outgoingCall"
11087 + const/4 v7, 0x0
11089 + move-object/from16 v3, p0
11091 + move/from16 v4, p1
11093 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11094 + :try_end_6a
11095 + .catch Ljava/lang/Exception; {:try_start_4b .. :try_end_6a} :catch_a0
11097 + :cond_6a
11098 + :goto_6a
11099 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
11101 + const/4 v3, 0x1
11103 + if-le v2, v3, :cond_a9
11105 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
11107 + add-int/lit8 v2, v2, -0x1
11109 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
11111 + :cond_75
11112 + :goto_75
11113 + return-void
11115 + :cond_76
11116 + :try_start_76
11117 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutHash:J
11119 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11121 + move-result-wide v4
11123 + cmp-long v2, v2, v4
11125 + if-nez v2, :cond_6a
11127 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOut:Landroid/content/Intent;
11129 + const-string v3, "android.intent.extra.PHONE_NUMBER"
11131 + invoke-virtual {v2, v3}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
11133 + move-result-object v16
11135 + const-string v2, "android.intent.extra.PHONE_NUMBER"
11137 + move-object/from16 v0, p2
11139 + move-object/from16 v1, v16
11141 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
11143 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11145 + const/4 v5, 0x0
11147 + const-string/jumbo v6, "outgoingCall"
11149 + const/4 v7, 0x0
11151 + move-object/from16 v3, p0
11153 + move/from16 v4, p1
11155 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11156 + :try_end_9f
11157 + .catch Ljava/lang/Exception; {:try_start_76 .. :try_end_9f} :catch_a0
11159 + goto :goto_6a
11161 + :catch_a0
11162 + move-exception v13
11164 + const-string v2, "PrivacyActivityManagerService"
11166 + const-string v3, "failed to enforce intent broadcast permission"
11168 + invoke-static {v2, v3, v13}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
11170 + goto :goto_6a
11172 + :cond_a9
11173 + const/4 v2, 0x0
11175 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOut:Landroid/content/Intent;
11177 + goto :goto_75
11179 + :cond_ad
11180 + const-string v2, "android.intent.action.PHONE_STATE"
11182 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11184 + move-result v2
11186 + if-eqz v2, :cond_14d
11188 + const-string v2, "incoming_number"
11190 + move-object/from16 v0, p2
11192 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
11194 + move-result-object v16
11196 + if-eqz v16, :cond_75
11198 + invoke-virtual/range {v16 .. v16}, Ljava/lang/String;->isEmpty()Z
11200 + move-result v2
11202 + if-nez v2, :cond_75
11204 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11206 + move-object/from16 v0, p0
11208 + move/from16 v1, p1
11210 + invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
11212 + move-result-object v8
11214 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInHash:J
11216 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11218 + move-result-wide v4
11220 + cmp-long v2, v2, v4
11222 + if-eqz v2, :cond_e9
11224 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->clone()Ljava/lang/Object;
11226 + move-result-object v2
11228 + check-cast v2, Landroid/content/Intent;
11230 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpIn:Landroid/content/Intent;
11232 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11234 + move-result-wide v2
11236 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInHash:J
11238 + sput p4, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
11240 + :cond_e9
11241 + if-eqz v8, :cond_116
11243 + :try_start_eb
11244 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getIncomingCallsSetting()B
11246 + move-result v2
11248 + if-eqz v2, :cond_116
11250 + const-string v16, ""
11252 + const-string v2, "incoming_number"
11254 + move-object/from16 v0, p2
11256 + move-object/from16 v1, v16
11258 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
11260 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11262 + const/4 v5, 0x1
11264 + const-string v6, "incomingCall"
11266 + const/4 v7, 0x0
11268 + move-object/from16 v3, p0
11270 + move/from16 v4, p1
11272 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11273 + :try_end_109
11274 + .catch Ljava/lang/Exception; {:try_start_eb .. :try_end_109} :catch_13f
11276 + :cond_109
11277 + :goto_109
11278 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
11280 + const/4 v3, 0x1
11282 + if-le v2, v3, :cond_148
11284 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
11286 + add-int/lit8 v2, v2, -0x1
11288 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
11290 + goto/16 :goto_75
11292 + :cond_116
11293 + :try_start_116
11294 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInHash:J
11296 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11298 + move-result-wide v4
11300 + cmp-long v2, v2, v4
11302 + if-nez v2, :cond_109
11304 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpIn:Landroid/content/Intent;
11306 + const-string v3, "incoming_number"
11308 + invoke-virtual {v2, v3}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
11310 + move-result-object v16
11312 + const-string v2, "incoming_number"
11314 + move-object/from16 v0, p2
11316 + move-object/from16 v1, v16
11318 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
11320 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11322 + const/4 v5, 0x0
11324 + const-string v6, "incomingCall"
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_13e
11334 + .catch Ljava/lang/Exception; {:try_start_116 .. :try_end_13e} :catch_13f
11336 + goto :goto_109
11338 + :catch_13f
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_109
11349 + :cond_148
11350 + const/4 v2, 0x0
11352 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpIn:Landroid/content/Intent;
11354 + goto/16 :goto_75
11356 + :cond_14d
11357 + const-string v2, "android.provider.Telephony.SMS_RECEIVED"
11359 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11361 + move-result v2
11363 + if-eqz v2, :cond_222
11365 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11367 + move-object/from16 v0, p0
11369 + move/from16 v1, p1
11371 + invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
11373 + move-result-object v8
11375 + const-string v16, "[real]"
11377 + const-string/jumbo v2, "pdus"
11379 + move-object/from16 v0, p2
11381 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
11383 + move-result-object v2
11385 + check-cast v2, [Ljava/lang/Object;
11387 + move-object v15, v2
11389 + check-cast v15, [Ljava/lang/Object;
11391 + if-eqz v15, :cond_1cd
11393 + const/4 v2, 0x0
11395 + aget-object v2, v15, v2
11397 + check-cast v2, [B
11399 + check-cast v2, [B
11401 + move-object v12, v2
11403 + :goto_179
11404 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsHash:J
11406 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11408 + move-result-wide v4
11410 + cmp-long v2, v2, v4
11412 + if-eqz v2, :cond_193
11414 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->clone()Ljava/lang/Object;
11416 + move-result-object v2
11418 + check-cast v2, Landroid/content/Intent;
11420 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSms:Landroid/content/Intent;
11422 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11424 + move-result-wide v2
11426 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsHash:J
11428 + sput p4, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
11430 + :cond_193
11431 + if-eqz v8, :cond_1cf
11433 + :try_start_195
11434 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getSmsSetting()B
11436 + move-result v2
11438 + if-eqz v2, :cond_1cf
11440 + const-string v16, "[empty]"
11442 + const/4 v2, 0x1
11444 + new-array v14, v2, [Ljava/lang/Object;
11446 + const/4 v2, 0x0
11448 + const/16 v3, 0x10
11450 + new-array v3, v3, [B
11452 + fill-array-data v3, :array_350
11454 + aput-object v3, v14, v2
11456 + const-string/jumbo v2, "pdus"
11458 + move-object/from16 v0, p2
11460 + invoke-virtual {v0, v2, v14}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent;
11462 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11464 + const/4 v5, 0x1
11466 + const-string/jumbo v6, "sms"
11468 + const/4 v7, 0x0
11470 + move-object/from16 v3, p0
11472 + move/from16 v4, p1
11474 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11475 + :try_end_1c0
11476 + .catch Ljava/lang/Exception; {:try_start_195 .. :try_end_1c0} :catch_212
11478 + :cond_1c0
11479 + :goto_1c0
11480 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
11482 + const/4 v3, 0x1
11484 + if-le v2, v3, :cond_21d
11486 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
11488 + add-int/lit8 v2, v2, -0x1
11490 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
11492 + goto/16 :goto_75
11494 + :cond_1cd
11495 + const/4 v12, 0x0
11497 + goto :goto_179
11499 + :cond_1cf
11500 + :try_start_1cf
11501 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsHash:J
11503 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11505 + move-result-wide v4
11507 + cmp-long v2, v2, v4
11509 + if-nez v2, :cond_1c0
11511 + const-string/jumbo v2, "pdus"
11513 + sget-object v3, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSms:Landroid/content/Intent;
11515 + const-string/jumbo v4, "pdus"
11517 + invoke-virtual {v3, v4}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
11519 + move-result-object v3
11521 + move-object/from16 v0, p2
11523 + invoke-virtual {v0, v2, v3}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent;
11525 + const-string/jumbo v2, "pdus"
11527 + move-object/from16 v0, p2
11529 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
11531 + move-result-object v2
11533 + check-cast v2, [Ljava/lang/Object;
11535 + move-object v0, v2
11537 + check-cast v0, [Ljava/lang/Object;
11539 + move-object v15, v0
11541 + if-eqz v15, :cond_21b
11543 + const/4 v2, 0x0
11545 + aget-object v2, v15, v2
11547 + check-cast v2, [B
11549 + check-cast v2, [B
11551 + move-object v12, v2
11553 + :goto_203
11554 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11556 + const/4 v5, 0x0
11558 + const-string/jumbo v6, "sms"
11560 + const/4 v7, 0x0
11562 + move-object/from16 v3, p0
11564 + move/from16 v4, p1
11566 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11567 + :try_end_211
11568 + .catch Ljava/lang/Exception; {:try_start_1cf .. :try_end_211} :catch_212
11570 + goto :goto_1c0
11572 + :catch_212
11573 + move-exception v13
11575 + const-string v2, "PrivacyActivityManagerService"
11577 + const-string v3, "failed to enforce intent broadcast permission"
11579 + invoke-static {v2, v3, v13}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
11581 + goto :goto_1c0
11583 + :cond_21b
11584 + const/4 v12, 0x0
11586 + goto :goto_203
11588 + :cond_21d
11589 + const/4 v2, 0x0
11591 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSms:Landroid/content/Intent;
11593 + goto/16 :goto_75
11595 + :cond_222
11596 + const-string v2, "android.provider.Telephony.WAP_PUSH_RECEIVED"
11598 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11600 + move-result v2
11602 + if-nez v2, :cond_232
11604 + const-string v2, "android.intent.action.DATA_SMS_RECEIVED"
11606 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11608 + move-result v2
11610 + if-eqz v2, :cond_2ff
11612 + :cond_232
11613 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11615 + move-object/from16 v0, p0
11617 + move/from16 v1, p1
11619 + invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
11621 + move-result-object v8
11623 + const-string v16, "[real]"
11625 + const-string/jumbo v2, "pdus"
11627 + move-object/from16 v0, p2
11629 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
11631 + move-result-object v2
11633 + check-cast v2, [Ljava/lang/Object;
11635 + move-object v15, v2
11637 + check-cast v15, [Ljava/lang/Object;
11639 + if-eqz v15, :cond_2aa
11641 + const/4 v2, 0x0
11643 + aget-object v2, v15, v2
11645 + check-cast v2, [B
11647 + check-cast v2, [B
11649 + move-object v12, v2
11651 + :goto_256
11652 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsHash:J
11654 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11656 + move-result-wide v4
11658 + cmp-long v2, v2, v4
11660 + if-eqz v2, :cond_270
11662 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->clone()Ljava/lang/Object;
11664 + move-result-object v2
11666 + check-cast v2, Landroid/content/Intent;
11668 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMms:Landroid/content/Intent;
11670 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11672 + move-result-wide v2
11674 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsHash:J
11676 + sput p4, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
11678 + :cond_270
11679 + if-eqz v8, :cond_2ac
11681 + :try_start_272
11682 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getMmsSetting()B
11684 + move-result v2
11686 + if-eqz v2, :cond_2ac
11688 + const-string v16, "[empty]"
11690 + const/4 v2, 0x1
11692 + new-array v14, v2, [Ljava/lang/Object;
11694 + const/4 v2, 0x0
11696 + const/16 v3, 0x10
11698 + new-array v3, v3, [B
11700 + fill-array-data v3, :array_35c
11702 + aput-object v3, v14, v2
11704 + const-string/jumbo v2, "pdus"
11706 + move-object/from16 v0, p2
11708 + invoke-virtual {v0, v2, v14}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent;
11710 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11712 + const/4 v5, 0x1
11714 + const-string/jumbo v6, "mms"
11716 + const/4 v7, 0x0
11718 + move-object/from16 v3, p0
11720 + move/from16 v4, p1
11722 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11723 + :try_end_29d
11724 + .catch Ljava/lang/Exception; {:try_start_272 .. :try_end_29d} :catch_2ef
11726 + :cond_29d
11727 + :goto_29d
11728 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
11730 + const/4 v3, 0x1
11732 + if-le v2, v3, :cond_2fa
11734 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
11736 + add-int/lit8 v2, v2, -0x1
11738 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
11740 + goto/16 :goto_75
11742 + :cond_2aa
11743 + const/4 v12, 0x0
11745 + goto :goto_256
11747 + :cond_2ac
11748 + :try_start_2ac
11749 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsHash:J
11751 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11753 + move-result-wide v4
11755 + cmp-long v2, v2, v4
11757 + if-nez v2, :cond_29d
11759 + const-string/jumbo v2, "pdus"
11761 + sget-object v3, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMms:Landroid/content/Intent;
11763 + const-string/jumbo v4, "pdus"
11765 + invoke-virtual {v3, v4}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
11767 + move-result-object v3
11769 + move-object/from16 v0, p2
11771 + invoke-virtual {v0, v2, v3}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent;
11773 + const-string/jumbo v2, "pdus"
11775 + move-object/from16 v0, p2
11777 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
11779 + move-result-object v2
11781 + check-cast v2, [Ljava/lang/Object;
11783 + move-object v0, v2
11785 + check-cast v0, [Ljava/lang/Object;
11787 + move-object v15, v0
11789 + if-eqz v15, :cond_2f8
11791 + const/4 v2, 0x0
11793 + aget-object v2, v15, v2
11795 + check-cast v2, [B
11797 + check-cast v2, [B
11799 + move-object v12, v2
11801 + :goto_2e0
11802 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11804 + const/4 v5, 0x0
11806 + const-string/jumbo v6, "mms"
11808 + const/4 v7, 0x0
11810 + move-object/from16 v3, p0
11812 + move/from16 v4, p1
11814 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11815 + :try_end_2ee
11816 + .catch Ljava/lang/Exception; {:try_start_2ac .. :try_end_2ee} :catch_2ef
11818 + goto :goto_29d
11820 + :catch_2ef
11821 + move-exception v13
11823 + const-string v2, "PrivacyActivityManagerService"
11825 + const-string v3, "failed to enforce intent broadcast permission"
11827 + invoke-static {v2, v3, v13}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
11829 + goto :goto_29d
11831 + :cond_2f8
11832 + const/4 v12, 0x0
11834 + goto :goto_2e0
11836 + :cond_2fa
11837 + const/4 v2, 0x0
11839 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMms:Landroid/content/Intent;
11841 + goto/16 :goto_75
11843 + :cond_2ff
11844 + const-string v2, "android.intent.action.BOOT_COMPLETED"
11846 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11848 + move-result v2
11850 + if-eqz v2, :cond_30e
11852 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11854 + invoke-virtual {v2}, Landroid/privacy/PrivacySettingsManager;->setBootCompleted()V
11856 + goto/16 :goto_75
11858 + :cond_30e
11859 + const-string v2, "android.intent.action.PACKAGE_ADDED"
11861 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11863 + move-result v2
11865 + if-eqz v2, :cond_75
11867 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpPackageAddedHash:J
11869 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11871 + move-result-wide v4
11873 + cmp-long v2, v2, v4
11875 + if-eqz v2, :cond_75
11877 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11879 + move-result-wide v2
11881 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpPackageAddedHash:J
11883 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->getData()Landroid/net/Uri;
11885 + move-result-object v2
11887 + invoke-virtual {v2}, Landroid/net/Uri;->getSchemeSpecificPart()Ljava/lang/String;
11889 + move-result-object v10
11891 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->getExtras()Landroid/os/Bundle;
11893 + move-result-object v2
11895 + const-string v3, "android.intent.extra.UID"
11897 + invoke-virtual {v2, v3}, Landroid/os/Bundle;->getInt(Ljava/lang/String;)I
11899 + move-result v11
11901 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11903 + invoke-virtual {v2, v10, v11}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
11905 + move-result-object v8
11907 + if-eqz v8, :cond_75
11909 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getUid()I
11911 + move-result v2
11913 + if-eq v2, v11, :cond_75
11915 + invoke-virtual {v8, v11}, Landroid/privacy/PrivacySettings;->setUid(I)V
11917 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11919 + invoke-virtual {v2, v8}, Landroid/privacy/PrivacySettingsManager;->saveSettings(Landroid/privacy/PrivacySettings;)Z
11921 + goto/16 :goto_75
11923 + :array_350
11924 + .array-data 0x1
11925 + 0x0t
11926 + 0x20t
11927 + 0x1t
11928 + 0x81t
11929 + 0xf0t
11930 + 0x0t
11931 + 0x0t
11932 + 0x11t
11933 + 0x90t
11934 + 0x1t
11935 + 0x30t
11936 + 0x22t
11937 + 0x22t
11938 + 0x80t
11939 + 0x1t
11940 + 0x20t
11941 + .end array-data
11943 + :array_35c
11944 + .array-data 0x1
11945 + 0x0t
11946 + 0x20t
11947 + 0x1t
11948 + 0x81t
11949 + 0xf0t
11950 + 0x0t
11951 + 0x0t
11952 + 0x11t
11953 + 0x90t
11954 + 0x1t
11955 + 0x30t
11956 + 0x22t
11957 + 0x22t
11958 + 0x80t
11959 + 0x1t
11960 + 0x20t
11961 + .end array-data
11962 +.end method
11964 +.method private static hashCode(Landroid/content/Intent;)J
11965 + .registers 7
11967 + const-wide/16 v3, 0x0
11969 + const-string/jumbo v2, "privacy_hash"
11971 + invoke-virtual {p0, v2, v3, v4}, Landroid/content/Intent;->getLongExtra(Ljava/lang/String;J)J
11973 + move-result-wide v0
11975 + cmp-long v2, v0, v3
11977 + if-nez v2, :cond_1e
11979 + invoke-virtual {p0}, Landroid/content/Intent;->filterHashCode()I
11981 + move-result v2
11983 + int-to-long v2, v2
11985 + invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
11987 + move-result-wide v4
11989 + add-long v0, v2, v4
11991 + const-string/jumbo v2, "privacy_hash"
11993 + invoke-virtual {p0, v2, v0, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;J)Landroid/content/Intent;
11995 + :cond_1e
11996 + return-wide v0
11997 +.end method
11998 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyContentResolver.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyContentResolver.smali
11999 --- stock-framework/smali/android/privacy/surrogate/PrivacyContentResolver.smali 1969-12-31 18:00:00.000000000 -0600
12000 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyContentResolver.smali 2012-08-10 00:09:14.717407079 -0500
12001 @@ -0,0 +1,624 @@
12002 +.class public final Landroid/privacy/surrogate/PrivacyContentResolver;
12003 +.super Ljava/lang/Object;
12004 +.source "PrivacyContentResolver.java"
12007 +# static fields
12008 +.field private static final TAG:Ljava/lang/String; = "PrivacyContentResolver"
12010 +.field private static pSetMan:Landroid/privacy/PrivacySettingsManager;
12013 +# direct methods
12014 +.method public constructor <init>()V
12015 + .registers 1
12017 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
12019 + return-void
12020 +.end method
12022 +.method private static arrayToString([Ljava/lang/String;)Ljava/lang/String;
12023 + .registers 8
12025 + new-instance v4, Ljava/lang/StringBuffer;
12027 + invoke-direct {v4}, Ljava/lang/StringBuffer;-><init>()V
12029 + if-eqz p0, :cond_2d
12031 + move-object v0, p0
12033 + array-length v3, v0
12035 + const/4 v2, 0x0
12037 + :goto_a
12038 + if-ge v2, v3, :cond_30
12040 + aget-object v1, v0, v2
12042 + new-instance v5, Ljava/lang/StringBuilder;
12044 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
12046 + const-string v6, "["
12048 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
12050 + move-result-object v5
12052 + invoke-virtual {v5, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
12054 + move-result-object v5
12056 + const-string v6, "]"
12058 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
12060 + move-result-object v5
12062 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
12064 + move-result-object v5
12066 + invoke-virtual {v4, v5}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
12068 + add-int/lit8 v2, v2, 0x1
12070 + goto :goto_a
12072 + :cond_2d
12073 + const-string v5, ""
12075 + :goto_2f
12076 + return-object v5
12078 + :cond_30
12079 + invoke-virtual {v4}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String;
12081 + move-result-object v5
12083 + goto :goto_2f
12084 +.end method
12086 +.method public static enforcePrivacyPermission(Landroid/net/Uri;[Ljava/lang/String;Landroid/content/Context;Landroid/database/Cursor;)Landroid/database/Cursor;
12087 + .registers 21
12088 + .annotation system Ldalvik/annotation/Throws;
12089 + value = {
12090 + Landroid/os/RemoteException;
12092 + .end annotation
12094 + if-eqz p0, :cond_1e4
12096 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12098 + if-nez v1, :cond_13
12100 + const-string/jumbo v1, "privacy"
12102 + move-object/from16 v0, p2
12104 + invoke-virtual {v0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
12106 + move-result-object v1
12108 + check-cast v1, Landroid/privacy/PrivacySettingsManager;
12110 + sput-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12112 + :cond_13
12113 + invoke-virtual/range {p2 .. p2}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
12115 + move-result-object v2
12117 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
12119 + move-result v3
12121 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12123 + invoke-virtual {v1, v2, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
12125 + move-result-object v7
12127 + invoke-virtual/range {p0 .. p0}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
12129 + move-result-object v9
12131 + const-string v15, "[real]"
12133 + move-object/from16 v13, p3
12135 + if-eqz v9, :cond_54
12137 + const-string v1, "contacts"
12139 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12141 + move-result v1
12143 + if-nez v1, :cond_3b
12145 + const-string v1, "com.android.contacts"
12147 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12149 + move-result v1
12151 + if-eqz v1, :cond_ab
12153 + :cond_3b
12154 + if-eqz v7, :cond_54
12156 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getContactsSetting()B
12158 + move-result v1
12160 + const/4 v4, 0x1
12162 + if-ne v1, v4, :cond_55
12164 + const-string v15, "[empty]"
12166 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12168 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12170 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12172 + const/4 v4, 0x1
12174 + const-string v5, "contacts"
12176 + const/4 v6, 0x0
12178 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12180 + :cond_54
12181 + :goto_54
12182 + return-object v13
12184 + :cond_55
12185 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getContactsSetting()B
12187 + move-result v1
12189 + const/4 v4, 0x2
12191 + if-ne v1, v4, :cond_a1
12193 + invoke-virtual/range {p0 .. p0}, Landroid/net/Uri;->toString()Ljava/lang/String;
12195 + move-result-object v1
12197 + sget-object v4, Landroid/provider/ContactsContract$Contacts;->CONTENT_URI:Landroid/net/Uri;
12199 + invoke-virtual {v4}, Landroid/net/Uri;->toString()Ljava/lang/String;
12201 + move-result-object v4
12203 + invoke-virtual {v1, v4}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
12205 + move-result v1
12207 + if-eqz v1, :cond_a1
12209 + const/4 v11, 0x0
12211 + if-eqz p1, :cond_82
12213 + move-object/from16 v8, p1
12215 + array-length v12, v8
12217 + const/4 v10, 0x0
12219 + :goto_73
12220 + if-ge v10, v12, :cond_82
12222 + aget-object v16, v8, v10
12224 + const-string v1, "_id"
12226 + move-object/from16 v0, v16
12228 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12230 + move-result v1
12232 + if-eqz v1, :cond_93
12234 + const/4 v11, 0x1
12236 + :cond_82
12237 + if-nez v11, :cond_96
12239 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12241 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12243 + :goto_89
12244 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12246 + const/4 v4, 0x2
12248 + const-string v5, "contacts"
12250 + const/4 v6, 0x0
12252 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12254 + goto :goto_54
12256 + :cond_93
12257 + add-int/lit8 v10, v10, 0x1
12259 + goto :goto_73
12261 + :cond_96
12262 + new-instance v14, Landroid/privacy/surrogate/PrivacyCursor;
12264 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getAllowedContacts()[I
12266 + move-result-object v1
12268 + invoke-direct {v14, v13, v1}, Landroid/privacy/surrogate/PrivacyCursor;-><init>(Landroid/database/Cursor;[I)V
12270 + move-object v13, v14
12272 + goto :goto_89
12274 + :cond_a1
12275 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12277 + const/4 v4, 0x0
12279 + const-string v5, "contacts"
12281 + const/4 v6, 0x0
12283 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12285 + goto :goto_54
12287 + :cond_ab
12288 + const-string v1, "com.android.calendar"
12290 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12292 + move-result v1
12294 + if-eqz v1, :cond_d8
12296 + if-eqz v7, :cond_cd
12298 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getCalendarSetting()B
12300 + move-result v1
12302 + const/4 v4, 0x1
12304 + if-ne v1, v4, :cond_cd
12306 + const-string v15, "[empty]"
12308 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12310 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12312 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12314 + const/4 v4, 0x1
12316 + const-string v5, "calendar"
12318 + const/4 v6, 0x0
12320 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12322 + goto :goto_54
12324 + :cond_cd
12325 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12327 + const/4 v4, 0x0
12329 + const-string v5, "calendar"
12331 + const/4 v6, 0x0
12333 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12335 + goto/16 :goto_54
12337 + :cond_d8
12338 + sget-object v1, Landroid/provider/Telephony$Mms;->CONTENT_URI:Landroid/net/Uri;
12340 + invoke-virtual {v1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
12342 + move-result-object v1
12344 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12346 + move-result v1
12348 + if-eqz v1, :cond_10c
12350 + if-eqz v7, :cond_100
12352 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getMmsSetting()B
12354 + move-result v1
12356 + const/4 v4, 0x1
12358 + if-ne v1, v4, :cond_100
12360 + const-string v15, "[empty]"
12362 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12364 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12366 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12368 + const/4 v4, 0x1
12370 + const-string/jumbo v5, "mms"
12372 + const/4 v6, 0x0
12374 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12376 + goto/16 :goto_54
12378 + :cond_100
12379 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12381 + const/4 v4, 0x0
12383 + const-string/jumbo v5, "mms"
12385 + const/4 v6, 0x0
12387 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12389 + goto/16 :goto_54
12391 + :cond_10c
12392 + sget-object v1, Landroid/provider/Telephony$Sms;->CONTENT_URI:Landroid/net/Uri;
12394 + invoke-virtual {v1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
12396 + move-result-object v1
12398 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12400 + move-result v1
12402 + if-eqz v1, :cond_140
12404 + if-eqz v7, :cond_134
12406 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getSmsSetting()B
12408 + move-result v1
12410 + const/4 v4, 0x1
12412 + if-ne v1, v4, :cond_134
12414 + const-string v15, "[empty]"
12416 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12418 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12420 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12422 + const/4 v4, 0x1
12424 + const-string/jumbo v5, "sms"
12426 + const/4 v6, 0x0
12428 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12430 + goto/16 :goto_54
12432 + :cond_134
12433 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12435 + const/4 v4, 0x0
12437 + const-string/jumbo v5, "sms"
12439 + const/4 v6, 0x0
12441 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12443 + goto/16 :goto_54
12445 + :cond_140
12446 + sget-object v1, Landroid/provider/Telephony$MmsSms;->CONTENT_URI:Landroid/net/Uri;
12448 + invoke-virtual {v1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
12450 + move-result-object v1
12452 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12454 + move-result v1
12456 + if-nez v1, :cond_155
12458 + const-string/jumbo v1, "mms-sms-v2"
12460 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12462 + move-result v1
12464 + if-eqz v1, :cond_184
12466 + :cond_155
12467 + if-eqz v7, :cond_178
12469 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getMmsSetting()B
12471 + move-result v1
12473 + const/4 v4, 0x1
12475 + if-eq v1, v4, :cond_165
12477 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getSmsSetting()B
12479 + move-result v1
12481 + const/4 v4, 0x1
12483 + if-ne v1, v4, :cond_178
12485 + :cond_165
12486 + const-string v15, "[empty]"
12488 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12490 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12492 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12494 + const/4 v4, 0x1
12496 + const-string/jumbo v5, "mmsSms"
12498 + const/4 v6, 0x0
12500 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12502 + goto/16 :goto_54
12504 + :cond_178
12505 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12507 + const/4 v4, 0x0
12509 + const-string/jumbo v5, "mmsSms"
12511 + const/4 v6, 0x0
12513 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12515 + goto/16 :goto_54
12517 + :cond_184
12518 + const-string v1, "call_log"
12520 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12522 + move-result v1
12524 + if-eqz v1, :cond_1b2
12526 + if-eqz v7, :cond_1a7
12528 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getCallLogSetting()B
12530 + move-result v1
12532 + const/4 v4, 0x1
12534 + if-ne v1, v4, :cond_1a7
12536 + const-string v15, "[empty]"
12538 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12540 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12542 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12544 + const/4 v4, 0x1
12546 + const-string v5, "callLog"
12548 + const/4 v6, 0x0
12550 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12552 + goto/16 :goto_54
12554 + :cond_1a7
12555 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12557 + const/4 v4, 0x0
12559 + const-string v5, "callLog"
12561 + const/4 v6, 0x0
12563 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12565 + goto/16 :goto_54
12567 + :cond_1b2
12568 + sget-object v1, Landroid/provider/Browser;->BOOKMARKS_URI:Landroid/net/Uri;
12570 + invoke-virtual {v1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
12572 + move-result-object v1
12574 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12576 + move-result v1
12578 + if-eqz v1, :cond_54
12580 + if-eqz v7, :cond_1d9
12582 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getBookmarksSetting()B
12584 + move-result v1
12586 + const/4 v4, 0x1
12588 + if-ne v1, v4, :cond_1d9
12590 + const-string v15, "[empty]"
12592 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12594 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12596 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12598 + const/4 v4, 0x1
12600 + const-string v5, "bookmarks"
12602 + const/4 v6, 0x0
12604 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12606 + goto/16 :goto_54
12608 + :cond_1d9
12609 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12611 + const/4 v4, 0x0
12613 + const-string v5, "bookmarks"
12615 + const/4 v6, 0x0
12617 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12619 + goto/16 :goto_54
12621 + :cond_1e4
12622 + move-object/from16 v13, p3
12624 + goto/16 :goto_54
12625 +.end method
12626 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyCursor.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyCursor.smali
12627 --- stock-framework/smali/android/privacy/surrogate/PrivacyCursor.smali 1969-12-31 18:00:00.000000000 -0600
12628 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyCursor.smali 2012-08-10 00:09:14.717407079 -0500
12629 @@ -0,0 +1,1225 @@
12630 +.class public Landroid/privacy/surrogate/PrivacyCursor;
12631 +.super Ljava/lang/Object;
12632 +.source "PrivacyCursor.java"
12634 +# interfaces
12635 +.implements Landroid/database/Cursor;
12638 +# static fields
12639 +.field private static final TAG:Ljava/lang/String; = "PrivacyCursor"
12642 +# instance fields
12643 +.field private allowedIdMapping:[I
12645 +.field private allowedIds:[I
12647 +.field private realCursor:Landroid/database/Cursor;
12650 +# direct methods
12651 +.method public constructor <init>()V
12652 + .registers 1
12654 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
12656 + return-void
12657 +.end method
12659 +.method public constructor <init>(Landroid/database/Cursor;[I)V
12660 + .registers 7
12662 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
12664 + if-eqz p2, :cond_8
12666 + array-length v2, p2
12668 + if-nez v2, :cond_9
12670 + :cond_8
12671 + const/4 p1, 0x0
12673 + :cond_9
12674 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12676 + iput-object p2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIds:[I
12678 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12680 + if-eqz v2, :cond_3f
12682 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12684 + invoke-interface {v2}, Landroid/database/Cursor;->getPosition()I
12686 + move-result v0
12688 + array-length v2, p2
12690 + new-array v2, v2, [I
12692 + iput-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
12694 + const/4 v1, 0x0
12696 + :cond_1d
12697 + :goto_1d
12698 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12700 + invoke-interface {v2}, Landroid/database/Cursor;->moveToNext()Z
12702 + move-result v2
12704 + if-eqz v2, :cond_3a
12706 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12708 + invoke-direct {p0, v2}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(Landroid/database/Cursor;)Z
12710 + move-result v2
12712 + if-eqz v2, :cond_1d
12714 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
12716 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12718 + invoke-interface {v3}, Landroid/database/Cursor;->getPosition()I
12720 + move-result v3
12722 + aput v3, v2, v1
12724 + add-int/lit8 v1, v1, 0x1
12726 + goto :goto_1d
12728 + :cond_3a
12729 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12731 + invoke-interface {v2, v0}, Landroid/database/Cursor;->moveToPosition(I)Z
12733 + :cond_3f
12734 + return-void
12735 +.end method
12737 +.method private getContactId(Landroid/database/Cursor;)I
12738 + .registers 5
12740 + const-string v2, "_id"
12742 + invoke-interface {p1, v2}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
12744 + move-result v0
12746 + const/4 v1, -0x1
12748 + const/4 v2, -0x1
12750 + if-eq v0, v2, :cond_e
12752 + invoke-interface {p1, v0}, Landroid/database/Cursor;->getInt(I)I
12754 + move-result v1
12756 + :cond_e
12757 + return v1
12758 +.end method
12760 +.method private getMappedPos(I)I
12761 + .registers 4
12763 + const/4 v0, 0x0
12765 + :goto_1
12766 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
12768 + array-length v1, v1
12770 + if-ge v0, v1, :cond_10
12772 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
12774 + aget v1, v1, v0
12776 + if-ne v1, p1, :cond_d
12778 + :goto_c
12779 + return v0
12781 + :cond_d
12782 + add-int/lit8 v0, v0, 0x1
12784 + goto :goto_1
12786 + :cond_10
12787 + const/4 v0, -0x1
12789 + goto :goto_c
12790 +.end method
12792 +.method private isAllowed(I)Z
12793 + .registers 7
12795 + const/4 v4, 0x0
12797 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIds:[I
12799 + array-length v3, v0
12801 + const/4 v2, 0x0
12803 + :goto_5
12804 + if-ge v2, v3, :cond_c
12806 + aget v1, v0, v2
12808 + if-ne p1, v1, :cond_d
12810 + const/4 v4, 0x1
12812 + :cond_c
12813 + return v4
12815 + :cond_d
12816 + add-int/lit8 v2, v2, 0x1
12818 + goto :goto_5
12819 +.end method
12821 +.method private isAllowed(Landroid/database/Cursor;)Z
12822 + .registers 3
12824 + invoke-direct {p0, p1}, Landroid/privacy/surrogate/PrivacyCursor;->getContactId(Landroid/database/Cursor;)I
12826 + move-result v0
12828 + invoke-direct {p0, v0}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(I)Z
12830 + move-result v0
12832 + return v0
12833 +.end method
12836 +# virtual methods
12837 +.method public close()V
12838 + .registers 2
12840 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12842 + if-eqz v0, :cond_9
12844 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12846 + invoke-interface {v0}, Landroid/database/Cursor;->close()V
12848 + :cond_9
12849 + return-void
12850 +.end method
12852 +.method public copyStringToBuffer(ILandroid/database/CharArrayBuffer;)V
12853 + .registers 4
12855 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12857 + if-eqz v0, :cond_9
12859 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12861 + invoke-interface {v0, p1, p2}, Landroid/database/Cursor;->copyStringToBuffer(ILandroid/database/CharArrayBuffer;)V
12863 + :cond_9
12864 + return-void
12865 +.end method
12867 +.method public deactivate()V
12868 + .registers 2
12870 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12872 + if-eqz v0, :cond_9
12874 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12876 + invoke-interface {v0}, Landroid/database/Cursor;->deactivate()V
12878 + :cond_9
12879 + return-void
12880 +.end method
12882 +.method public getBlob(I)[B
12883 + .registers 3
12885 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12887 + if-eqz v0, :cond_b
12889 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12891 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getBlob(I)[B
12893 + move-result-object v0
12895 + :goto_a
12896 + return-object v0
12898 + :cond_b
12899 + const/4 v0, 0x0
12901 + new-array v0, v0, [B
12903 + goto :goto_a
12904 +.end method
12906 +.method public getColumnCount()I
12907 + .registers 2
12909 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12911 + if-eqz v0, :cond_b
12913 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12915 + invoke-interface {v0}, Landroid/database/Cursor;->getColumnCount()I
12917 + move-result v0
12919 + :goto_a
12920 + return v0
12922 + :cond_b
12923 + const/4 v0, 0x0
12925 + goto :goto_a
12926 +.end method
12928 +.method public getColumnIndex(Ljava/lang/String;)I
12929 + .registers 3
12931 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12933 + if-eqz v0, :cond_b
12935 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12937 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
12939 + move-result v0
12941 + :goto_a
12942 + return v0
12944 + :cond_b
12945 + const/4 v0, -0x1
12947 + goto :goto_a
12948 +.end method
12950 +.method public getColumnIndexOrThrow(Ljava/lang/String;)I
12951 + .registers 3
12952 + .annotation system Ldalvik/annotation/Throws;
12953 + value = {
12954 + Ljava/lang/IllegalArgumentException;
12956 + .end annotation
12958 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12960 + if-eqz v0, :cond_b
12962 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12964 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getColumnIndexOrThrow(Ljava/lang/String;)I
12966 + move-result v0
12968 + :goto_a
12969 + return v0
12971 + :cond_b
12972 + const/4 v0, -0x1
12974 + goto :goto_a
12975 +.end method
12977 +.method public getColumnName(I)Ljava/lang/String;
12978 + .registers 3
12980 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12982 + if-eqz v0, :cond_b
12984 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12986 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getColumnName(I)Ljava/lang/String;
12988 + move-result-object v0
12990 + :goto_a
12991 + return-object v0
12993 + :cond_b
12994 + const-string v0, ""
12996 + goto :goto_a
12997 +.end method
12999 +.method public getColumnNames()[Ljava/lang/String;
13000 + .registers 4
13002 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13004 + if-eqz v0, :cond_b
13006 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13008 + invoke-interface {v0}, Landroid/database/Cursor;->getColumnNames()[Ljava/lang/String;
13010 + move-result-object v0
13012 + :goto_a
13013 + return-object v0
13015 + :cond_b
13016 + const/4 v0, 0x1
13018 + new-array v0, v0, [Ljava/lang/String;
13020 + const/4 v1, 0x0
13022 + const-string v2, ""
13024 + aput-object v2, v0, v1
13026 + goto :goto_a
13027 +.end method
13029 +.method public getCount()I
13030 + .registers 4
13032 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13034 + if-eqz v0, :cond_23
13036 + const-string v0, "PrivacyCursor"
13038 + new-instance v1, Ljava/lang/StringBuilder;
13040 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
13042 + const-string v2, "getCount: "
13044 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13046 + move-result-object v1
13048 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13050 + array-length v2, v2
13052 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
13054 + move-result-object v1
13056 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
13058 + move-result-object v1
13060 + invoke-static {v0, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
13062 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13064 + array-length v0, v0
13066 + :goto_22
13067 + return v0
13069 + :cond_23
13070 + const/4 v0, 0x0
13072 + goto :goto_22
13073 +.end method
13075 +.method public getDouble(I)D
13076 + .registers 4
13078 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13080 + if-eqz v0, :cond_b
13082 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13084 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getDouble(I)D
13086 + move-result-wide v0
13088 + :goto_a
13089 + return-wide v0
13091 + :cond_b
13092 + const-wide/16 v0, 0x0
13094 + goto :goto_a
13095 +.end method
13097 +.method public getExtras()Landroid/os/Bundle;
13098 + .registers 2
13100 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13102 + if-eqz v0, :cond_b
13104 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13106 + invoke-interface {v0}, Landroid/database/Cursor;->getExtras()Landroid/os/Bundle;
13108 + move-result-object v0
13110 + :goto_a
13111 + return-object v0
13113 + :cond_b
13114 + new-instance v0, Landroid/os/Bundle;
13116 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
13118 + goto :goto_a
13119 +.end method
13121 +.method public getFloat(I)F
13122 + .registers 3
13124 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13126 + if-eqz v0, :cond_b
13128 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13130 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getFloat(I)F
13132 + move-result v0
13134 + :goto_a
13135 + return v0
13137 + :cond_b
13138 + const/4 v0, 0x0
13140 + goto :goto_a
13141 +.end method
13143 +.method public getInt(I)I
13144 + .registers 4
13146 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13148 + if-eqz v1, :cond_b
13150 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13152 + invoke-interface {v1, p1}, Landroid/database/Cursor;->getInt(I)I
13154 + move-result v0
13156 + :goto_a
13157 + return v0
13159 + :cond_b
13160 + const/4 v0, 0x0
13162 + goto :goto_a
13163 +.end method
13165 +.method public getLong(I)J
13166 + .registers 4
13168 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13170 + if-eqz v0, :cond_b
13172 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13174 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getLong(I)J
13176 + move-result-wide v0
13178 + :goto_a
13179 + return-wide v0
13181 + :cond_b
13182 + const-wide/16 v0, 0x0
13184 + goto :goto_a
13185 +.end method
13187 +.method public getPosition()I
13188 + .registers 5
13190 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13192 + if-eqz v1, :cond_37
13194 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13196 + invoke-interface {v1}, Landroid/database/Cursor;->getPosition()I
13198 + move-result v1
13200 + invoke-direct {p0, v1}, Landroid/privacy/surrogate/PrivacyCursor;->getMappedPos(I)I
13202 + move-result v0
13204 + const-string v1, "PrivacyCursor"
13206 + new-instance v2, Ljava/lang/StringBuilder;
13208 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
13210 + const-string v3, "getPosition - mapped position: "
13212 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13214 + move-result-object v2
13216 + invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
13218 + move-result-object v2
13220 + const-string v3, " real position: "
13222 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13224 + move-result-object v2
13226 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13228 + invoke-interface {v3}, Landroid/database/Cursor;->getPosition()I
13230 + move-result v3
13232 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
13234 + move-result-object v2
13236 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
13238 + move-result-object v2
13240 + invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
13242 + :goto_36
13243 + return v0
13245 + :cond_37
13246 + const/4 v0, -0x1
13248 + goto :goto_36
13249 +.end method
13251 +.method public getShort(I)S
13252 + .registers 3
13254 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13256 + if-eqz v0, :cond_b
13258 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13260 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getShort(I)S
13262 + move-result v0
13264 + :goto_a
13265 + return v0
13267 + :cond_b
13268 + const/4 v0, 0x0
13270 + goto :goto_a
13271 +.end method
13273 +.method public getString(I)Ljava/lang/String;
13274 + .registers 3
13276 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13278 + if-eqz v0, :cond_b
13280 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13282 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
13284 + move-result-object v0
13286 + :goto_a
13287 + return-object v0
13289 + :cond_b
13290 + const-string v0, ""
13292 + goto :goto_a
13293 +.end method
13295 +.method public getType(I)I
13296 + .registers 3
13298 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13300 + if-eqz v0, :cond_b
13302 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13304 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getType(I)I
13306 + move-result v0
13308 + :goto_a
13309 + return v0
13311 + :cond_b
13312 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13314 + const/4 v0, 0x0
13316 + goto :goto_a
13317 +.end method
13319 +.method public getWantsAllOnMoveCalls()Z
13320 + .registers 2
13322 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13324 + if-eqz v0, :cond_b
13326 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13328 + invoke-interface {v0}, Landroid/database/Cursor;->getWantsAllOnMoveCalls()Z
13330 + move-result v0
13332 + :goto_a
13333 + return v0
13335 + :cond_b
13336 + const/4 v0, 0x0
13338 + goto :goto_a
13339 +.end method
13341 +.method public isAfterLast()Z
13342 + .registers 2
13344 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13346 + if-eqz v0, :cond_b
13348 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13350 + invoke-interface {v0}, Landroid/database/Cursor;->isAfterLast()Z
13352 + move-result v0
13354 + :goto_a
13355 + return v0
13357 + :cond_b
13358 + const/4 v0, 0x0
13360 + goto :goto_a
13361 +.end method
13363 +.method public isBeforeFirst()Z
13364 + .registers 2
13366 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13368 + if-eqz v0, :cond_b
13370 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13372 + invoke-interface {v0}, Landroid/database/Cursor;->isBeforeFirst()Z
13374 + move-result v0
13376 + :goto_a
13377 + return v0
13379 + :cond_b
13380 + const/4 v0, 0x0
13382 + goto :goto_a
13383 +.end method
13385 +.method public isClosed()Z
13386 + .registers 2
13388 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13390 + if-eqz v0, :cond_b
13392 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13394 + invoke-interface {v0}, Landroid/database/Cursor;->isClosed()Z
13396 + move-result v0
13398 + :goto_a
13399 + return v0
13401 + :cond_b
13402 + const/4 v0, 0x0
13404 + goto :goto_a
13405 +.end method
13407 +.method public isFirst()Z
13408 + .registers 4
13410 + const/4 v0, 0x0
13412 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13414 + if-eqz v1, :cond_12
13416 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13418 + invoke-interface {v1}, Landroid/database/Cursor;->getPosition()I
13420 + move-result v1
13422 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13424 + aget v2, v2, v0
13426 + if-ne v1, v2, :cond_12
13428 + const/4 v0, 0x1
13430 + :cond_12
13431 + return v0
13432 +.end method
13434 +.method public isLast()Z
13435 + .registers 4
13437 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13439 + if-eqz v0, :cond_17
13441 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13443 + invoke-interface {v0}, Landroid/database/Cursor;->getPosition()I
13445 + move-result v0
13447 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13449 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13451 + array-length v2, v2
13453 + add-int/lit8 v2, v2, -0x1
13455 + aget v1, v1, v2
13457 + if-ne v0, v1, :cond_17
13459 + const/4 v0, 0x1
13461 + :goto_16
13462 + return v0
13464 + :cond_17
13465 + const/4 v0, 0x0
13467 + goto :goto_16
13468 +.end method
13470 +.method public isNull(I)Z
13471 + .registers 3
13473 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13475 + if-eqz v0, :cond_b
13477 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13479 + invoke-interface {v0, p1}, Landroid/database/Cursor;->isNull(I)Z
13481 + move-result v0
13483 + :goto_a
13484 + return v0
13486 + :cond_b
13487 + const/4 v0, 0x0
13489 + goto :goto_a
13490 +.end method
13492 +.method public move(I)Z
13493 + .registers 8
13495 + const/4 v2, 0x0
13497 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13499 + if-eqz v3, :cond_33
13501 + const-string v3, "PrivacyCursor"
13503 + new-instance v4, Ljava/lang/StringBuilder;
13505 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
13507 + const-string/jumbo v5, "move - offset: "
13509 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13511 + move-result-object v4
13513 + invoke-virtual {v4, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
13515 + move-result-object v4
13517 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
13519 + move-result-object v4
13521 + invoke-static {v3, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
13523 + :try_start_1e
13524 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13526 + iget-object v4, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13528 + invoke-interface {v4}, Landroid/database/Cursor;->getPosition()I
13530 + move-result v4
13532 + invoke-direct {p0, v4}, Landroid/privacy/surrogate/PrivacyCursor;->getMappedPos(I)I
13534 + move-result v4
13536 + add-int/2addr v4, p1
13538 + aget v1, v3, v4
13540 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13542 + invoke-interface {v3, v1}, Landroid/database/Cursor;->moveToPosition(I)Z
13543 + :try_end_32
13544 + .catch Ljava/lang/ArrayIndexOutOfBoundsException; {:try_start_1e .. :try_end_32} :catch_34
13546 + move-result v2
13548 + :cond_33
13549 + :goto_33
13550 + return v2
13552 + :catch_34
13553 + move-exception v0
13555 + goto :goto_33
13556 +.end method
13558 +.method public moveToFirst()Z
13559 + .registers 4
13561 + const/4 v0, 0x0
13563 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13565 + if-eqz v1, :cond_f
13567 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13569 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13571 + aget v2, v2, v0
13573 + invoke-interface {v1, v2}, Landroid/database/Cursor;->moveToPosition(I)Z
13575 + move-result v0
13577 + :cond_f
13578 + return v0
13579 +.end method
13581 +.method public moveToLast()Z
13582 + .registers 5
13584 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13586 + if-eqz v1, :cond_14
13588 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13590 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13592 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13594 + array-length v3, v3
13596 + add-int/lit8 v3, v3, -0x1
13598 + aget v2, v2, v3
13600 + invoke-interface {v1, v2}, Landroid/database/Cursor;->moveToPosition(I)Z
13602 + move-result v0
13604 + :goto_13
13605 + return v0
13607 + :cond_14
13608 + const/4 v0, 0x0
13610 + goto :goto_13
13611 +.end method
13613 +.method public moveToNext()Z
13614 + .registers 3
13616 + const/4 v0, 0x0
13618 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13620 + if-eqz v1, :cond_d
13622 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13624 + invoke-interface {v1}, Landroid/database/Cursor;->moveToNext()Z
13626 + move-result v1
13628 + if-nez v1, :cond_e
13630 + :cond_d
13631 + return v0
13633 + :cond_e
13634 + const/4 v0, 0x1
13636 + :goto_f
13637 + const/4 v1, 0x1
13639 + if-ne v0, v1, :cond_d
13641 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13643 + invoke-direct {p0, v1}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(Landroid/database/Cursor;)Z
13645 + move-result v1
13647 + if-nez v1, :cond_d
13649 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13651 + invoke-interface {v1}, Landroid/database/Cursor;->moveToNext()Z
13653 + move-result v0
13655 + goto :goto_f
13656 +.end method
13658 +.method public moveToPosition(I)Z
13659 + .registers 6
13661 + const/4 v1, 0x0
13663 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13665 + if-eqz v2, :cond_f
13667 + :try_start_5
13668 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13670 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13672 + aget v3, v3, p1
13674 + invoke-interface {v2, v3}, Landroid/database/Cursor;->moveToPosition(I)Z
13675 + :try_end_e
13676 + .catch Ljava/lang/ArrayIndexOutOfBoundsException; {:try_start_5 .. :try_end_e} :catch_10
13678 + move-result v1
13680 + :cond_f
13681 + :goto_f
13682 + return v1
13684 + :catch_10
13685 + move-exception v0
13687 + goto :goto_f
13688 +.end method
13690 +.method public moveToPrevious()Z
13691 + .registers 3
13693 + const/4 v0, 0x0
13695 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13697 + if-eqz v1, :cond_d
13699 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13701 + invoke-interface {v1}, Landroid/database/Cursor;->moveToPrevious()Z
13703 + move-result v1
13705 + if-nez v1, :cond_e
13707 + :cond_d
13708 + return v0
13710 + :cond_e
13711 + const/4 v0, 0x1
13713 + :goto_f
13714 + const/4 v1, 0x1
13716 + if-ne v0, v1, :cond_d
13718 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13720 + invoke-direct {p0, v1}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(Landroid/database/Cursor;)Z
13722 + move-result v1
13724 + if-nez v1, :cond_d
13726 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13728 + invoke-interface {v1}, Landroid/database/Cursor;->moveToPrevious()Z
13730 + move-result v0
13732 + goto :goto_f
13733 +.end method
13735 +.method public registerContentObserver(Landroid/database/ContentObserver;)V
13736 + .registers 3
13738 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13740 + if-eqz v0, :cond_9
13742 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13744 + invoke-interface {v0, p1}, Landroid/database/Cursor;->registerContentObserver(Landroid/database/ContentObserver;)V
13746 + :cond_9
13747 + return-void
13748 +.end method
13750 +.method public registerDataSetObserver(Landroid/database/DataSetObserver;)V
13751 + .registers 3
13753 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13755 + if-eqz v0, :cond_9
13757 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13759 + invoke-interface {v0, p1}, Landroid/database/Cursor;->registerDataSetObserver(Landroid/database/DataSetObserver;)V
13761 + :cond_9
13762 + return-void
13763 +.end method
13765 +.method public requery()Z
13766 + .registers 2
13768 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13770 + if-eqz v0, :cond_b
13772 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13774 + invoke-interface {v0}, Landroid/database/Cursor;->requery()Z
13776 + move-result v0
13778 + :goto_a
13779 + return v0
13781 + :cond_b
13782 + const/4 v0, 0x0
13784 + goto :goto_a
13785 +.end method
13787 +.method public respond(Landroid/os/Bundle;)Landroid/os/Bundle;
13788 + .registers 3
13790 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13792 + if-eqz v0, :cond_b
13794 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13796 + invoke-interface {v0, p1}, Landroid/database/Cursor;->respond(Landroid/os/Bundle;)Landroid/os/Bundle;
13798 + move-result-object v0
13800 + :goto_a
13801 + return-object v0
13803 + :cond_b
13804 + new-instance v0, Landroid/os/Bundle;
13806 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
13808 + goto :goto_a
13809 +.end method
13811 +.method public setNotificationUri(Landroid/content/ContentResolver;Landroid/net/Uri;)V
13812 + .registers 4
13814 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13816 + if-eqz v0, :cond_9
13818 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13820 + invoke-interface {v0, p1, p2}, Landroid/database/Cursor;->setNotificationUri(Landroid/content/ContentResolver;Landroid/net/Uri;)V
13822 + :cond_9
13823 + return-void
13824 +.end method
13826 +.method public unregisterContentObserver(Landroid/database/ContentObserver;)V
13827 + .registers 3
13829 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13831 + if-eqz v0, :cond_9
13833 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13835 + invoke-interface {v0, p1}, Landroid/database/Cursor;->unregisterContentObserver(Landroid/database/ContentObserver;)V
13837 + :cond_9
13838 + return-void
13839 +.end method
13841 +.method public unregisterDataSetObserver(Landroid/database/DataSetObserver;)V
13842 + .registers 3
13844 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13846 + if-eqz v0, :cond_9
13848 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13850 + invoke-interface {v0, p1}, Landroid/database/Cursor;->unregisterDataSetObserver(Landroid/database/DataSetObserver;)V
13852 + :cond_9
13853 + return-void
13854 +.end method
13855 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali
13856 --- stock-framework/smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali 1969-12-31 18:00:00.000000000 -0600
13857 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali 2012-08-10 00:09:14.717407079 -0500
13858 @@ -0,0 +1,134 @@
13859 +.class Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
13860 +.super Ljava/lang/Thread;
13861 +.source "PrivacyLocationManager.java"
13864 +# annotations
13865 +.annotation system Ldalvik/annotation/EnclosingClass;
13866 + value = Landroid/privacy/surrogate/PrivacyLocationManager;
13867 +.end annotation
13869 +.annotation system Ldalvik/annotation/InnerClass;
13870 + accessFlags = 0x2
13871 + name = "PrivacyLocationUpdater"
13872 +.end annotation
13875 +# instance fields
13876 +.field private intent:Landroid/app/PendingIntent;
13878 +.field private latitude:D
13880 +.field private listener:Landroid/location/LocationListener;
13882 +.field private longitude:D
13884 +.field private provider:Ljava/lang/String;
13886 +.field final synthetic this$0:Landroid/privacy/surrogate/PrivacyLocationManager;
13889 +# direct methods
13890 +.method public constructor <init>(Landroid/privacy/surrogate/PrivacyLocationManager;Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;DD)V
13891 + .registers 9
13893 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->this$0:Landroid/privacy/surrogate/PrivacyLocationManager;
13895 + invoke-direct {p0}, Ljava/lang/Thread;-><init>()V
13897 + iput-object p2, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->provider:Ljava/lang/String;
13899 + iput-object p3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->listener:Landroid/location/LocationListener;
13901 + iput-object p4, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->intent:Landroid/app/PendingIntent;
13903 + iput-wide p5, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->latitude:D
13905 + iput-wide p7, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->longitude:D
13907 + return-void
13908 +.end method
13911 +# virtual methods
13912 +.method public run()V
13913 + .registers 8
13915 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->provider:Ljava/lang/String;
13917 + if-eqz v3, :cond_43
13919 + new-instance v2, Landroid/location/Location;
13921 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->provider:Ljava/lang/String;
13923 + invoke-direct {v2, v3}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
13925 + iget-wide v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->latitude:D
13927 + invoke-virtual {v2, v3, v4}, Landroid/location/Location;->setLatitude(D)V
13929 + iget-wide v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->longitude:D
13931 + invoke-virtual {v2, v3, v4}, Landroid/location/Location;->setLongitude(D)V
13933 + const/4 v1, 0x0
13935 + :goto_16
13936 + const/4 v3, 0x5
13938 + if-ge v1, v3, :cond_43
13940 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->listener:Landroid/location/LocationListener;
13942 + if-eqz v3, :cond_34
13944 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->listener:Landroid/location/LocationListener;
13946 + invoke-interface {v3, v2}, Landroid/location/LocationListener;->onLocationChanged(Landroid/location/Location;)V
13948 + :cond_22
13949 + :goto_22
13950 + :try_start_22
13951 + invoke-static {}, Ljava/lang/Math;->random()D
13953 + move-result-wide v3
13955 + const-wide v5, 0x408f400000000000L
13957 + mul-double/2addr v3, v5
13959 + double-to-int v3, v3
13961 + int-to-long v3, v3
13963 + invoke-static {v3, v4}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->sleep(J)V
13964 + :try_end_31
13965 + .catch Ljava/lang/InterruptedException; {:try_start_22 .. :try_end_31} :catch_3e
13967 + :goto_31
13968 + add-int/lit8 v1, v1, 0x1
13970 + goto :goto_16
13972 + :cond_34
13973 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->intent:Landroid/app/PendingIntent;
13975 + if-eqz v3, :cond_22
13977 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->intent:Landroid/app/PendingIntent;
13979 + invoke-virtual {v3}, Landroid/app/PendingIntent;->cancel()V
13981 + goto :goto_22
13983 + :catch_3e
13984 + move-exception v0
13986 + invoke-virtual {v0}, Ljava/lang/InterruptedException;->printStackTrace()V
13988 + goto :goto_31
13990 + :cond_43
13991 + return-void
13992 +.end method
13993 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyLocationManager.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyLocationManager.smali
13994 --- stock-framework/smali/android/privacy/surrogate/PrivacyLocationManager.smali 1969-12-31 18:00:00.000000000 -0600
13995 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyLocationManager.smali 2012-08-10 00:09:14.721407099 -0500
13996 @@ -0,0 +1,2091 @@
13997 +.class public final Landroid/privacy/surrogate/PrivacyLocationManager;
13998 +.super Landroid/location/LocationManager;
13999 +.source "PrivacyLocationManager.java"
14002 +# annotations
14003 +.annotation system Ldalvik/annotation/MemberClasses;
14004 + value = {
14005 + Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
14007 +.end annotation
14010 +# static fields
14011 +.field private static final CUSTOM_LOCATION_UPDATE_COUNT:I = 0x5
14013 +.field private static final TAG:Ljava/lang/String; = "PrivacyLocationManager"
14016 +# instance fields
14017 +.field private context:Landroid/content/Context;
14019 +.field private lock:Ljava/lang/Object;
14021 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
14024 +# direct methods
14025 +.method public constructor <init>(Landroid/location/ILocationManager;Landroid/content/Context;)V
14026 + .registers 5
14028 + invoke-direct {p0, p1}, Landroid/location/LocationManager;-><init>(Landroid/location/ILocationManager;)V
14030 + new-instance v0, Ljava/lang/Object;
14032 + invoke-direct {v0}, Ljava/lang/Object;-><init>()V
14034 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->lock:Ljava/lang/Object;
14036 + iput-object p2, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
14038 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
14040 + const-string/jumbo v1, "privacy"
14042 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
14044 + move-result-object v1
14046 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
14048 + move-result-object v1
14050 + invoke-direct {v0, p2, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
14052 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14054 + return-void
14055 +.end method
14057 +.method private requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
14058 + .registers 7
14060 + const/4 v2, 0x3
14062 + if-nez p1, :cond_5
14064 + const/4 v0, 0x0
14066 + :goto_4
14067 + return v0
14069 + :cond_5
14070 + invoke-virtual {p1}, Landroid/location/Criteria;->getAccuracy()I
14072 + move-result v0
14074 + const/4 v1, 0x1
14076 + if-eq v0, v1, :cond_24
14078 + invoke-virtual {p1}, Landroid/location/Criteria;->getBearingAccuracy()I
14080 + move-result v0
14082 + if-eq v0, v2, :cond_24
14084 + invoke-virtual {p1}, Landroid/location/Criteria;->getHorizontalAccuracy()I
14086 + move-result v0
14088 + if-eq v0, v2, :cond_24
14090 + invoke-virtual {p1}, Landroid/location/Criteria;->getVerticalAccuracy()I
14092 + move-result v0
14094 + if-eq v0, v2, :cond_24
14096 + invoke-virtual {p1}, Landroid/location/Criteria;->getSpeedAccuracy()I
14098 + move-result v0
14100 + if-ne v0, v2, :cond_2b
14102 + :cond_24
14103 + const-string v0, "gps"
14105 + invoke-direct {p0, v0, p2, p3}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
14107 + move-result v0
14109 + goto :goto_4
14111 + :cond_2b
14112 + const-string/jumbo v0, "network"
14114 + invoke-direct {p0, v0, p2, p3}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
14116 + move-result v0
14118 + goto :goto_4
14119 +.end method
14121 +.method private requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
14122 + .registers 24
14124 + move-object/from16 v0, p0
14126 + iget-object v0, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->lock:Ljava/lang/Object;
14128 + move-object/from16 v19, v0
14130 + monitor-enter v19
14132 + :try_start_7
14133 + move-object/from16 v0, p0
14135 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
14137 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
14139 + move-result-object v2
14141 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
14143 + move-result v3
14145 + move-object/from16 v0, p0
14147 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14149 + invoke-virtual {v1, v2, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
14151 + move-result-object v7
14153 + const/16 v18, 0x0
14155 + if-eqz v7, :cond_239
14157 + const-string v1, "gps"
14159 + move-object/from16 v0, p1
14161 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
14163 + move-result v1
14165 + if-eqz v1, :cond_111
14167 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
14169 + move-result v1
14171 + packed-switch v1, :pswitch_data_25e
14173 + :cond_30
14174 + :goto_30
14175 + monitor-exit v19
14177 + return v18
14179 + :pswitch_32
14180 + move-object/from16 v0, p0
14182 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14184 + const/4 v4, 0x0
14186 + const-string v5, "locationGPS"
14188 + const/4 v6, 0x0
14190 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14192 + goto :goto_30
14194 + :catchall_3e
14195 + move-exception v1
14197 + monitor-exit v19
14198 + :try_end_40
14199 + .catchall {:try_start_7 .. :try_end_40} :catchall_3e
14201 + throw v1
14203 + :pswitch_41
14204 + if-eqz p3, :cond_46
14206 + :try_start_43
14207 + invoke-virtual/range {p3 .. p3}, Landroid/app/PendingIntent;->cancel()V
14209 + :cond_46
14210 + const/16 v18, 0x1
14212 + move-object/from16 v0, p0
14214 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14216 + const/4 v4, 0x1
14218 + const-string v5, "locationGPS"
14220 + const/4 v6, 0x0
14222 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14223 + :try_end_53
14224 + .catchall {:try_start_43 .. :try_end_53} :catchall_3e
14226 + goto :goto_30
14228 + :pswitch_54
14229 + :try_start_54
14230 + new-instance v8, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
14232 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
14234 + move-result-object v1
14236 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14238 + move-result-wide v13
14240 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
14242 + move-result-object v1
14244 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14246 + move-result-wide v15
14248 + move-object/from16 v9, p0
14250 + move-object/from16 v10, p1
14252 + move-object/from16 v11, p2
14254 + move-object/from16 v12, p3
14256 + 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
14258 + invoke-virtual {v8}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->start()V
14259 + :try_end_74
14260 + .catchall {:try_start_54 .. :try_end_74} :catchall_3e
14261 + .catch Ljava/lang/NumberFormatException; {:try_start_54 .. :try_end_74} :catch_a6
14263 + const/16 v18, 0x1
14265 + :goto_76
14266 + :try_start_76
14267 + move-object/from16 v0, p0
14269 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14271 + const/4 v4, 0x2
14273 + const-string v5, "locationGPS"
14275 + new-instance v6, Ljava/lang/StringBuilder;
14277 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
14279 + const-string v8, "Lat: "
14281 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14283 + move-result-object v6
14285 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
14287 + move-result-object v8
14289 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14291 + move-result-object v6
14293 + const-string v8, " Lon: "
14295 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14297 + move-result-object v6
14299 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
14301 + move-result-object v8
14303 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14305 + move-result-object v6
14307 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14309 + move-result-object v6
14311 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14313 + goto :goto_30
14315 + :catch_a6
14316 + move-exception v17
14318 + const-string v1, "PrivacyLocationManager"
14320 + const-string/jumbo v4, "requestLocationUpdates: invalid coordinates"
14322 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
14323 + :try_end_af
14324 + .catchall {:try_start_76 .. :try_end_af} :catchall_3e
14326 + const/16 v18, 0x1
14328 + goto :goto_76
14330 + :pswitch_b2
14331 + :try_start_b2
14332 + new-instance v8, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
14334 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
14336 + move-result-object v1
14338 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14340 + move-result-wide v13
14342 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
14344 + move-result-object v1
14346 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14348 + move-result-wide v15
14350 + move-object/from16 v9, p0
14352 + move-object/from16 v10, p1
14354 + move-object/from16 v11, p2
14356 + move-object/from16 v12, p3
14358 + 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
14360 + invoke-virtual {v8}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->start()V
14361 + :try_end_d2
14362 + .catchall {:try_start_b2 .. :try_end_d2} :catchall_3e
14363 + .catch Ljava/lang/NumberFormatException; {:try_start_b2 .. :try_end_d2} :catch_105
14365 + const/16 v18, 0x1
14367 + :goto_d4
14368 + :try_start_d4
14369 + move-object/from16 v0, p0
14371 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14373 + const/4 v4, 0x3
14375 + const-string v5, "locationGPS"
14377 + new-instance v6, Ljava/lang/StringBuilder;
14379 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
14381 + const-string v8, "Lat: "
14383 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14385 + move-result-object v6
14387 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
14389 + move-result-object v8
14391 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14393 + move-result-object v6
14395 + const-string v8, " Lon: "
14397 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14399 + move-result-object v6
14401 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
14403 + move-result-object v8
14405 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14407 + move-result-object v6
14409 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14411 + move-result-object v6
14413 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14415 + goto/16 :goto_30
14417 + :catch_105
14418 + move-exception v17
14420 + const-string v1, "PrivacyLocationManager"
14422 + const-string/jumbo v4, "requestLocationUpdates: invalid coordinates"
14424 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
14426 + const/16 v18, 0x1
14428 + goto :goto_d4
14430 + :cond_111
14431 + const-string/jumbo v1, "network"
14433 + move-object/from16 v0, p1
14435 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
14437 + move-result v1
14439 + if-eqz v1, :cond_204
14441 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
14443 + move-result v1
14445 + packed-switch v1, :pswitch_data_26a
14447 + goto/16 :goto_30
14449 + :pswitch_125
14450 + move-object/from16 v0, p0
14452 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14454 + const/4 v4, 0x0
14456 + const-string v5, "locationNetwork"
14458 + const/4 v6, 0x0
14460 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14462 + goto/16 :goto_30
14464 + :pswitch_132
14465 + if-eqz p3, :cond_137
14467 + invoke-virtual/range {p3 .. p3}, Landroid/app/PendingIntent;->cancel()V
14469 + :cond_137
14470 + const/16 v18, 0x1
14472 + move-object/from16 v0, p0
14474 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14476 + const/4 v4, 0x1
14478 + const-string v5, "locationNetwork"
14480 + const/4 v6, 0x0
14482 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14483 + :try_end_144
14484 + .catchall {:try_start_d4 .. :try_end_144} :catchall_3e
14486 + goto/16 :goto_30
14488 + :pswitch_146
14489 + :try_start_146
14490 + new-instance v8, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
14492 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
14494 + move-result-object v1
14496 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14498 + move-result-wide v13
14500 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
14502 + move-result-object v1
14504 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14506 + move-result-wide v15
14508 + move-object/from16 v9, p0
14510 + move-object/from16 v10, p1
14512 + move-object/from16 v11, p2
14514 + move-object/from16 v12, p3
14516 + 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
14518 + invoke-virtual {v8}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->start()V
14519 + :try_end_166
14520 + .catchall {:try_start_146 .. :try_end_166} :catchall_3e
14521 + .catch Ljava/lang/NumberFormatException; {:try_start_146 .. :try_end_166} :catch_199
14523 + const/16 v18, 0x1
14525 + :goto_168
14526 + :try_start_168
14527 + move-object/from16 v0, p0
14529 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14531 + const/4 v4, 0x2
14533 + const-string v5, "locationNetwork"
14535 + new-instance v6, Ljava/lang/StringBuilder;
14537 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
14539 + const-string v8, "Lat: "
14541 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14543 + move-result-object v6
14545 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
14547 + move-result-object v8
14549 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14551 + move-result-object v6
14553 + const-string v8, " Lon: "
14555 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14557 + move-result-object v6
14559 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
14561 + move-result-object v8
14563 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14565 + move-result-object v6
14567 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14569 + move-result-object v6
14571 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14573 + goto/16 :goto_30
14575 + :catch_199
14576 + move-exception v17
14578 + const-string v1, "PrivacyLocationManager"
14580 + const-string/jumbo v4, "requestLocationUpdates: invalid coordinates"
14582 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
14583 + :try_end_1a2
14584 + .catchall {:try_start_168 .. :try_end_1a2} :catchall_3e
14586 + const/16 v18, 0x1
14588 + goto :goto_168
14590 + :pswitch_1a5
14591 + :try_start_1a5
14592 + new-instance v8, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
14594 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
14596 + move-result-object v1
14598 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14600 + move-result-wide v13
14602 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
14604 + move-result-object v1
14606 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14608 + move-result-wide v15
14610 + move-object/from16 v9, p0
14612 + move-object/from16 v10, p1
14614 + move-object/from16 v11, p2
14616 + move-object/from16 v12, p3
14618 + 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
14620 + invoke-virtual {v8}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->start()V
14621 + :try_end_1c5
14622 + .catchall {:try_start_1a5 .. :try_end_1c5} :catchall_3e
14623 + .catch Ljava/lang/NumberFormatException; {:try_start_1a5 .. :try_end_1c5} :catch_1f8
14625 + const/16 v18, 0x1
14627 + :goto_1c7
14628 + :try_start_1c7
14629 + move-object/from16 v0, p0
14631 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14633 + const/4 v4, 0x3
14635 + const-string v5, "locationNetwork"
14637 + new-instance v6, Ljava/lang/StringBuilder;
14639 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
14641 + const-string v8, "Lat: "
14643 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14645 + move-result-object v6
14647 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
14649 + move-result-object v8
14651 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14653 + move-result-object v6
14655 + const-string v8, " Lon: "
14657 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14659 + move-result-object v6
14661 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
14663 + move-result-object v8
14665 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14667 + move-result-object v6
14669 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14671 + move-result-object v6
14673 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14675 + goto/16 :goto_30
14677 + :catch_1f8
14678 + move-exception v17
14680 + const-string v1, "PrivacyLocationManager"
14682 + const-string/jumbo v4, "requestLocationUpdates: invalid coordinates"
14684 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
14686 + const/16 v18, 0x1
14688 + goto :goto_1c7
14690 + :cond_204
14691 + const-string/jumbo v1, "passive"
14693 + move-object/from16 v0, p1
14695 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
14697 + move-result v1
14699 + if-eqz v1, :cond_30
14701 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
14703 + move-result v1
14705 + if-nez v1, :cond_22a
14707 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
14709 + move-result v1
14711 + if-nez v1, :cond_22a
14713 + const/16 v18, 0x0
14715 + move-object/from16 v0, p0
14717 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14719 + const/4 v4, 0x0
14721 + const-string v5, "locationGPS"
14723 + const/4 v6, 0x0
14725 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14727 + goto/16 :goto_30
14729 + :cond_22a
14730 + const/16 v18, 0x1
14732 + move-object/from16 v0, p0
14734 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14736 + const/4 v4, 0x1
14738 + const-string v5, "locationGPS"
14740 + const/4 v6, 0x0
14742 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14744 + goto/16 :goto_30
14746 + :cond_239
14747 + const-string/jumbo v1, "network"
14749 + move-object/from16 v0, p1
14751 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
14753 + move-result v1
14755 + if-eqz v1, :cond_251
14757 + move-object/from16 v0, p0
14759 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14761 + const/4 v4, 0x0
14763 + const-string v5, "locationNetwork"
14765 + const/4 v6, 0x0
14767 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14769 + goto/16 :goto_30
14771 + :cond_251
14772 + move-object/from16 v0, p0
14774 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14776 + const/4 v4, 0x0
14778 + const-string v5, "locationGPS"
14780 + const/4 v6, 0x0
14782 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14783 + :try_end_25c
14784 + .catchall {:try_start_1c7 .. :try_end_25c} :catchall_3e
14786 + goto/16 :goto_30
14788 + :pswitch_data_25e
14789 + .packed-switch 0x0
14790 + :pswitch_32
14791 + :pswitch_41
14792 + :pswitch_54
14793 + :pswitch_b2
14794 + .end packed-switch
14796 + :pswitch_data_26a
14797 + .packed-switch 0x0
14798 + :pswitch_125
14799 + :pswitch_132
14800 + :pswitch_146
14801 + :pswitch_1a5
14802 + .end packed-switch
14803 +.end method
14806 +# virtual methods
14807 +.method public addNmeaListener(Landroid/location/GpsStatus$NmeaListener;)Z
14808 + .registers 10
14810 + const/4 v5, 0x0
14812 + const/4 v7, 0x0
14814 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
14816 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
14818 + move-result-object v1
14820 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
14822 + move-result v2
14824 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14826 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
14828 + move-result-object v6
14830 + if-eqz v6, :cond_24
14832 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
14834 + move-result v0
14836 + if-eqz v0, :cond_24
14838 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14840 + const/4 v3, 0x1
14842 + const-string v4, "locationGPS"
14844 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14846 + move v0, v7
14848 + :goto_23
14849 + return v0
14851 + :cond_24
14852 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14854 + const-string v4, "locationGPS"
14856 + move v3, v7
14858 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14860 + invoke-super {p0, p1}, Landroid/location/LocationManager;->addNmeaListener(Landroid/location/GpsStatus$NmeaListener;)Z
14862 + move-result v0
14864 + goto :goto_23
14865 +.end method
14867 +.method public getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
14868 + .registers 14
14870 + const/4 v11, 0x3
14872 + const/4 v10, 0x2
14874 + const/4 v8, 0x1
14876 + const/4 v3, 0x0
14878 + const/4 v5, 0x0
14880 + if-nez p1, :cond_c
14882 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
14884 + move-result-object v7
14886 + :cond_b
14887 + :goto_b
14888 + return-object v7
14890 + :cond_c
14891 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
14893 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
14895 + move-result-object v1
14897 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
14899 + move-result v2
14901 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14903 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
14905 + move-result-object v6
14907 + const/4 v7, 0x0
14909 + if-eqz v6, :cond_22c
14911 + const-string v0, "gps"
14913 + invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
14915 + move-result v0
14917 + if-eqz v0, :cond_ff
14919 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
14921 + move-result v0
14923 + packed-switch v0, :pswitch_data_29a
14925 + goto :goto_b
14927 + :pswitch_2f
14928 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
14930 + move-result-object v7
14932 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14934 + const-string v4, "locationGPS"
14936 + if-eqz v7, :cond_5e
14938 + new-instance v5, Ljava/lang/StringBuilder;
14940 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
14942 + const-string v8, "Lat: "
14944 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14946 + move-result-object v5
14948 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
14950 + move-result-wide v8
14952 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
14954 + move-result-object v5
14956 + const-string v8, " Lon: "
14958 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14960 + move-result-object v5
14962 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
14964 + move-result-wide v8
14966 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
14968 + move-result-object v5
14970 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14972 + move-result-object v5
14974 + :cond_5e
14975 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14977 + goto :goto_b
14979 + :pswitch_62
14980 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14982 + const-string v4, "locationGPS"
14984 + move v3, v8
14986 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14988 + goto :goto_b
14990 + :pswitch_6b
14991 + new-instance v7, Landroid/location/Location;
14993 + invoke-direct {v7, p1}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
14995 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
14997 + move-result-object v0
14999 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
15001 + move-result-wide v3
15003 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLatitude(D)V
15005 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
15007 + move-result-object v0
15009 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
15011 + move-result-wide v3
15013 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLongitude(D)V
15015 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15017 + const-string v4, "locationGPS"
15019 + new-instance v3, Ljava/lang/StringBuilder;
15021 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
15023 + const-string v5, "Lat: "
15025 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15027 + move-result-object v3
15029 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15031 + move-result-wide v8
15033 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15035 + move-result-object v3
15037 + const-string v5, " Lon: "
15039 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15041 + move-result-object v3
15043 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15045 + move-result-wide v8
15047 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15049 + move-result-object v3
15051 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15053 + move-result-object v5
15055 + move v3, v10
15057 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15059 + goto/16 :goto_b
15061 + :pswitch_b5
15062 + new-instance v7, Landroid/location/Location;
15064 + invoke-direct {v7, p1}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
15066 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
15068 + move-result-object v0
15070 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
15072 + move-result-wide v3
15074 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLatitude(D)V
15076 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
15078 + move-result-object v0
15080 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
15082 + move-result-wide v3
15084 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLongitude(D)V
15086 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15088 + const-string v4, "locationGPS"
15090 + new-instance v3, Ljava/lang/StringBuilder;
15092 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
15094 + const-string v5, "Lat: "
15096 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15098 + move-result-object v3
15100 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15102 + move-result-wide v8
15104 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15106 + move-result-object v3
15108 + const-string v5, " Lon: "
15110 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15112 + move-result-object v3
15114 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15116 + move-result-wide v8
15118 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15120 + move-result-object v3
15122 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15124 + move-result-object v5
15126 + move v3, v11
15128 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15130 + goto/16 :goto_b
15132 + :cond_ff
15133 + const-string/jumbo v0, "network"
15135 + invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15137 + move-result v0
15139 + if-eqz v0, :cond_1e3
15141 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15143 + move-result v0
15145 + packed-switch v0, :pswitch_data_2a6
15147 + goto/16 :goto_b
15149 + :pswitch_111
15150 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
15152 + move-result-object v7
15154 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15156 + const-string v4, "locationNetwork"
15158 + if-eqz v7, :cond_140
15160 + new-instance v5, Ljava/lang/StringBuilder;
15162 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
15164 + const-string v8, "Lat: "
15166 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15168 + move-result-object v5
15170 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15172 + move-result-wide v8
15174 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15176 + move-result-object v5
15178 + const-string v8, " Lon: "
15180 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15182 + move-result-object v5
15184 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15186 + move-result-wide v8
15188 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15190 + move-result-object v5
15192 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15194 + move-result-object v5
15196 + :cond_140
15197 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15199 + goto/16 :goto_b
15201 + :pswitch_145
15202 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15204 + const-string v4, "locationNetwork"
15206 + move v3, v8
15208 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15210 + goto/16 :goto_b
15212 + :pswitch_14f
15213 + new-instance v7, Landroid/location/Location;
15215 + invoke-direct {v7, p1}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
15217 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
15219 + move-result-object v0
15221 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
15223 + move-result-wide v3
15225 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLatitude(D)V
15227 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
15229 + move-result-object v0
15231 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
15233 + move-result-wide v3
15235 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLongitude(D)V
15237 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15239 + const-string v4, "locationNetwork"
15241 + new-instance v3, Ljava/lang/StringBuilder;
15243 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
15245 + const-string v5, "Lat: "
15247 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15249 + move-result-object v3
15251 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15253 + move-result-wide v8
15255 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15257 + move-result-object v3
15259 + const-string v5, " Lon: "
15261 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15263 + move-result-object v3
15265 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15267 + move-result-wide v8
15269 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15271 + move-result-object v3
15273 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15275 + move-result-object v5
15277 + move v3, v10
15279 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15281 + goto/16 :goto_b
15283 + :pswitch_199
15284 + new-instance v7, Landroid/location/Location;
15286 + invoke-direct {v7, p1}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
15288 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
15290 + move-result-object v0
15292 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
15294 + move-result-wide v3
15296 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLatitude(D)V
15298 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
15300 + move-result-object v0
15302 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
15304 + move-result-wide v3
15306 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLongitude(D)V
15308 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15310 + const-string v4, "locationNetwork"
15312 + new-instance v3, Ljava/lang/StringBuilder;
15314 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
15316 + const-string v5, "Lat: "
15318 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15320 + move-result-object v3
15322 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15324 + move-result-wide v8
15326 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15328 + move-result-object v3
15330 + const-string v5, " Lon: "
15332 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15334 + move-result-object v3
15336 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15338 + move-result-wide v8
15340 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15342 + move-result-object v3
15344 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15346 + move-result-object v5
15348 + move v3, v11
15350 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15352 + goto/16 :goto_b
15354 + :cond_1e3
15355 + const-string/jumbo v0, "passive"
15357 + invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15359 + move-result v0
15361 + if-eqz v0, :cond_b
15363 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
15365 + move-result v0
15367 + if-nez v0, :cond_b
15369 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15371 + move-result v0
15373 + if-nez v0, :cond_b
15375 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
15377 + move-result-object v7
15379 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15381 + const-string v4, "locationGPS"
15383 + if-eqz v7, :cond_227
15385 + new-instance v5, Ljava/lang/StringBuilder;
15387 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
15389 + const-string v8, "Lat: "
15391 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15393 + move-result-object v5
15395 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15397 + move-result-wide v8
15399 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15401 + move-result-object v5
15403 + const-string v8, " Lon: "
15405 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15407 + move-result-object v5
15409 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15411 + move-result-wide v8
15413 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15415 + move-result-object v5
15417 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15419 + move-result-object v5
15421 + :cond_227
15422 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15424 + goto/16 :goto_b
15426 + :cond_22c
15427 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
15429 + move-result-object v7
15431 + const-string/jumbo v0, "network"
15433 + invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15435 + move-result v0
15437 + if-eqz v0, :cond_269
15439 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15441 + const-string v4, "locationNetwork"
15443 + if-eqz v7, :cond_264
15445 + new-instance v5, Ljava/lang/StringBuilder;
15447 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
15449 + const-string v8, "Lat: "
15451 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15453 + move-result-object v5
15455 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15457 + move-result-wide v8
15459 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15461 + move-result-object v5
15463 + const-string v8, " Lon: "
15465 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15467 + move-result-object v5
15469 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15471 + move-result-wide v8
15473 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15475 + move-result-object v5
15477 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15479 + move-result-object v5
15481 + :cond_264
15482 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15484 + goto/16 :goto_b
15486 + :cond_269
15487 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15489 + const-string v4, "locationGPS"
15491 + if-eqz v7, :cond_294
15493 + new-instance v5, Ljava/lang/StringBuilder;
15495 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
15497 + const-string v8, "Lat: "
15499 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15501 + move-result-object v5
15503 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15505 + move-result-wide v8
15507 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15509 + move-result-object v5
15511 + const-string v8, " Lon: "
15513 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15515 + move-result-object v5
15517 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15519 + move-result-wide v8
15521 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15523 + move-result-object v5
15525 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15527 + move-result-object v5
15529 + :cond_294
15530 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15532 + goto/16 :goto_b
15534 + nop
15536 + :pswitch_data_29a
15537 + .packed-switch 0x0
15538 + :pswitch_2f
15539 + :pswitch_62
15540 + :pswitch_6b
15541 + :pswitch_b5
15542 + .end packed-switch
15544 + :pswitch_data_2a6
15545 + .packed-switch 0x0
15546 + :pswitch_111
15547 + :pswitch_145
15548 + :pswitch_14f
15549 + :pswitch_199
15550 + .end packed-switch
15551 +.end method
15553 +.method public getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15554 + .registers 7
15556 + if-nez p1, :cond_7
15558 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15560 + move-result-object v0
15562 + :cond_6
15563 + :goto_6
15564 + return-object v0
15566 + :cond_7
15567 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15569 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
15571 + invoke-virtual {v3}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
15573 + move-result-object v3
15575 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
15577 + move-result v4
15579 + invoke-virtual {v2, v3, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
15581 + move-result-object v1
15583 + const/4 v0, 0x0
15585 + if-eqz v1, :cond_5f
15587 + const-string v2, "gps"
15589 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15591 + move-result v2
15593 + if-eqz v2, :cond_2f
15595 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
15597 + move-result v2
15599 + packed-switch v2, :pswitch_data_64
15601 + :pswitch_29
15602 + goto :goto_6
15604 + :pswitch_2a
15605 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15607 + move-result-object v0
15609 + goto :goto_6
15611 + :cond_2f
15612 + const-string/jumbo v2, "network"
15614 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15616 + move-result v2
15618 + if-eqz v2, :cond_45
15620 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15622 + move-result v2
15624 + packed-switch v2, :pswitch_data_70
15626 + :pswitch_3f
15627 + goto :goto_6
15629 + :pswitch_40
15630 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15632 + move-result-object v0
15634 + goto :goto_6
15636 + :cond_45
15637 + const-string/jumbo v2, "passive"
15639 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15641 + move-result v2
15643 + if-eqz v2, :cond_6
15645 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
15647 + move-result v2
15649 + if-eqz v2, :cond_5a
15651 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15653 + move-result v2
15655 + if-nez v2, :cond_6
15657 + :cond_5a
15658 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15660 + move-result-object v0
15662 + goto :goto_6
15664 + :cond_5f
15665 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15667 + move-result-object v0
15669 + goto :goto_6
15671 + :pswitch_data_64
15672 + .packed-switch 0x0
15673 + :pswitch_2a
15674 + :pswitch_29
15675 + :pswitch_2a
15676 + :pswitch_2a
15677 + .end packed-switch
15679 + :pswitch_data_70
15680 + .packed-switch 0x0
15681 + :pswitch_40
15682 + :pswitch_3f
15683 + :pswitch_40
15684 + :pswitch_40
15685 + .end packed-switch
15686 +.end method
15688 +.method public isProviderEnabled(Ljava/lang/String;)Z
15689 + .registers 7
15691 + if-nez p1, :cond_7
15693 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
15695 + move-result v0
15697 + :cond_6
15698 + :goto_6
15699 + :pswitch_6
15700 + return v0
15702 + :cond_7
15703 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15705 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
15707 + invoke-virtual {v3}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
15709 + move-result-object v3
15711 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
15713 + move-result v4
15715 + invoke-virtual {v2, v3, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
15717 + move-result-object v1
15719 + const/4 v0, 0x0
15721 + if-eqz v1, :cond_65
15723 + const-string v2, "gps"
15725 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15727 + move-result v2
15729 + if-eqz v2, :cond_31
15731 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
15733 + move-result v2
15735 + packed-switch v2, :pswitch_data_6a
15737 + goto :goto_6
15739 + :pswitch_2a
15740 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
15742 + move-result v0
15744 + goto :goto_6
15746 + :pswitch_2f
15747 + const/4 v0, 0x1
15749 + goto :goto_6
15751 + :cond_31
15752 + const-string/jumbo v2, "network"
15754 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15756 + move-result v2
15758 + if-eqz v2, :cond_49
15760 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15762 + move-result v2
15764 + packed-switch v2, :pswitch_data_76
15766 + goto :goto_6
15768 + :pswitch_42
15769 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
15771 + move-result v0
15773 + goto :goto_6
15775 + :pswitch_47
15776 + const/4 v0, 0x1
15778 + goto :goto_6
15780 + :cond_49
15781 + const-string/jumbo v2, "passive"
15783 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15785 + move-result v2
15787 + if-eqz v2, :cond_6
15789 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
15791 + move-result v2
15793 + if-eqz v2, :cond_5e
15795 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15797 + move-result v2
15799 + if-nez v2, :cond_63
15801 + :cond_5e
15802 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
15804 + move-result v0
15806 + goto :goto_6
15808 + :cond_63
15809 + const/4 v0, 0x0
15811 + goto :goto_6
15813 + :cond_65
15814 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
15816 + move-result v0
15818 + goto :goto_6
15820 + :pswitch_data_6a
15821 + .packed-switch 0x0
15822 + :pswitch_2a
15823 + :pswitch_6
15824 + :pswitch_2f
15825 + :pswitch_2f
15826 + .end packed-switch
15828 + :pswitch_data_76
15829 + .packed-switch 0x0
15830 + :pswitch_42
15831 + :pswitch_6
15832 + :pswitch_47
15833 + :pswitch_47
15834 + .end packed-switch
15835 +.end method
15837 +.method public requestLocationUpdates(JFLandroid/location/Criteria;Landroid/app/PendingIntent;)V
15838 + .registers 7
15840 + if-eqz p4, :cond_4
15842 + if-nez p5, :cond_8
15844 + :cond_4
15845 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/app/PendingIntent;)V
15847 + :cond_7
15848 + :goto_7
15849 + return-void
15851 + :cond_8
15852 + const/4 v0, 0x0
15854 + invoke-direct {p0, p4, v0, p5}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15856 + move-result v0
15858 + if-nez v0, :cond_7
15860 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/app/PendingIntent;)V
15862 + goto :goto_7
15863 +.end method
15865 +.method public requestLocationUpdates(JFLandroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
15866 + .registers 8
15868 + if-eqz p4, :cond_4
15870 + if-nez p5, :cond_8
15872 + :cond_4
15873 + invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
15875 + :cond_7
15876 + :goto_7
15877 + return-void
15879 + :cond_8
15880 + const/4 v0, 0x0
15882 + invoke-direct {p0, p4, p5, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15884 + move-result v0
15886 + if-nez v0, :cond_7
15888 + invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
15890 + goto :goto_7
15891 +.end method
15893 +.method public requestLocationUpdates(Ljava/lang/String;JFLandroid/app/PendingIntent;)V
15894 + .registers 7
15896 + if-eqz p1, :cond_4
15898 + if-nez p5, :cond_8
15900 + :cond_4
15901 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/app/PendingIntent;)V
15903 + :cond_7
15904 + :goto_7
15905 + return-void
15907 + :cond_8
15908 + const/4 v0, 0x0
15910 + invoke-direct {p0, p1, v0, p5}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15912 + move-result v0
15914 + if-nez v0, :cond_7
15916 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/app/PendingIntent;)V
15918 + goto :goto_7
15919 +.end method
15921 +.method public requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;)V
15922 + .registers 7
15924 + if-eqz p1, :cond_4
15926 + if-nez p5, :cond_8
15928 + :cond_4
15929 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;)V
15931 + :cond_7
15932 + :goto_7
15933 + return-void
15935 + :cond_8
15936 + const/4 v0, 0x0
15938 + invoke-direct {p0, p1, p5, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15940 + move-result v0
15942 + if-nez v0, :cond_7
15944 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;)V
15946 + goto :goto_7
15947 +.end method
15949 +.method public requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;Landroid/os/Looper;)V
15950 + .registers 8
15952 + if-eqz p1, :cond_4
15954 + if-nez p5, :cond_8
15956 + :cond_4
15957 + invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;Landroid/os/Looper;)V
15959 + :cond_7
15960 + :goto_7
15961 + return-void
15963 + :cond_8
15964 + const/4 v0, 0x0
15966 + invoke-direct {p0, p1, p5, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15968 + move-result v0
15970 + if-nez v0, :cond_7
15972 + invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;Landroid/os/Looper;)V
15974 + goto :goto_7
15975 +.end method
15977 +.method public requestSingleUpdate(Landroid/location/Criteria;Landroid/app/PendingIntent;)V
15978 + .registers 4
15980 + if-eqz p1, :cond_4
15982 + if-nez p2, :cond_8
15984 + :cond_4
15985 + invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/app/PendingIntent;)V
15987 + :cond_7
15988 + :goto_7
15989 + return-void
15991 + :cond_8
15992 + const/4 v0, 0x0
15994 + invoke-direct {p0, p1, v0, p2}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15996 + move-result v0
15998 + if-nez v0, :cond_7
16000 + invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/app/PendingIntent;)V
16002 + goto :goto_7
16003 +.end method
16005 +.method public requestSingleUpdate(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
16006 + .registers 5
16008 + if-eqz p1, :cond_4
16010 + if-nez p2, :cond_8
16012 + :cond_4
16013 + invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
16015 + :cond_7
16016 + :goto_7
16017 + return-void
16019 + :cond_8
16020 + const/4 v0, 0x0
16022 + invoke-direct {p0, p1, p2, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
16024 + move-result v0
16026 + if-nez v0, :cond_7
16028 + invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
16030 + goto :goto_7
16031 +.end method
16033 +.method public requestSingleUpdate(Ljava/lang/String;Landroid/app/PendingIntent;)V
16034 + .registers 4
16036 + if-eqz p1, :cond_4
16038 + if-nez p2, :cond_8
16040 + :cond_4
16041 + invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/app/PendingIntent;)V
16043 + :cond_7
16044 + :goto_7
16045 + return-void
16047 + :cond_8
16048 + const/4 v0, 0x0
16050 + invoke-direct {p0, p1, v0, p2}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
16052 + move-result v0
16054 + if-nez v0, :cond_7
16056 + invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/app/PendingIntent;)V
16058 + goto :goto_7
16059 +.end method
16061 +.method public requestSingleUpdate(Ljava/lang/String;Landroid/location/LocationListener;Landroid/os/Looper;)V
16062 + .registers 5
16064 + if-eqz p1, :cond_4
16066 + if-nez p2, :cond_8
16068 + :cond_4
16069 + invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/location/LocationListener;Landroid/os/Looper;)V
16071 + :cond_7
16072 + :goto_7
16073 + return-void
16075 + :cond_8
16076 + const/4 v0, 0x0
16078 + invoke-direct {p0, p1, p2, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
16080 + move-result v0
16082 + if-nez v0, :cond_7
16084 + invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/location/LocationListener;Landroid/os/Looper;)V
16086 + goto :goto_7
16087 +.end method
16088 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyTelephonyManager.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyTelephonyManager.smali
16089 --- stock-framework/smali/android/privacy/surrogate/PrivacyTelephonyManager.smali 1969-12-31 18:00:00.000000000 -0600
16090 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyTelephonyManager.smali 2012-08-10 00:09:14.725407121 -0500
16091 @@ -0,0 +1,731 @@
16092 +.class public final Landroid/privacy/surrogate/PrivacyTelephonyManager;
16093 +.super Landroid/telephony/TelephonyManager;
16094 +.source "PrivacyTelephonyManager.java"
16097 +# static fields
16098 +.field private static final TAG:Ljava/lang/String; = "PrivacyTelephonyManager"
16101 +# instance fields
16102 +.field private context:Landroid/content/Context;
16104 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
16107 +# direct methods
16108 +.method public constructor <init>(Landroid/content/Context;)V
16109 + .registers 4
16111 + invoke-direct {p0, p1}, Landroid/telephony/TelephonyManager;-><init>(Landroid/content/Context;)V
16113 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16115 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
16117 + const-string/jumbo v1, "privacy"
16119 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
16121 + move-result-object v1
16123 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
16125 + move-result-object v1
16127 + invoke-direct {v0, p1, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
16129 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16131 + return-void
16132 +.end method
16134 +.method private getNetworkInfo()Ljava/lang/String;
16135 + .registers 8
16137 + const/4 v5, 0x0
16139 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16141 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16143 + move-result-object v1
16145 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16147 + move-result v2
16149 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16151 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16153 + move-result-object v6
16155 + if-eqz v6, :cond_25
16157 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
16159 + move-result v0
16161 + if-eqz v0, :cond_25
16163 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16165 + const/4 v3, 0x1
16167 + const-string/jumbo v4, "networkInfoCurrent"
16169 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16171 + const-string v5, ""
16173 + :goto_24
16174 + return-object v5
16176 + :cond_25
16177 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16179 + const/4 v3, 0x0
16181 + const-string/jumbo v4, "networkInfoCurrent"
16183 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16185 + goto :goto_24
16186 +.end method
16188 +.method private getSimInfo()Ljava/lang/String;
16189 + .registers 8
16191 + const/4 v5, 0x0
16193 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16195 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16197 + move-result-object v1
16199 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16201 + move-result v2
16203 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16205 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16207 + move-result-object v6
16209 + if-eqz v6, :cond_25
16211 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSimInfoSetting()B
16213 + move-result v0
16215 + if-eqz v0, :cond_25
16217 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16219 + const/4 v3, 0x1
16221 + const-string/jumbo v4, "networkInfoSIM"
16223 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16225 + const-string v5, ""
16227 + :goto_24
16228 + return-object v5
16230 + :cond_25
16231 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16233 + const/4 v3, 0x0
16235 + const-string/jumbo v4, "networkInfoSIM"
16237 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16239 + goto :goto_24
16240 +.end method
16243 +# virtual methods
16244 +.method public getDeviceId()Ljava/lang/String;
16245 + .registers 8
16247 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16249 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16251 + move-result-object v1
16253 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16255 + move-result v2
16257 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16259 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16261 + move-result-object v6
16263 + if-eqz v6, :cond_28
16265 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
16267 + move-result v0
16269 + if-eqz v0, :cond_28
16271 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceId()Ljava/lang/String;
16273 + move-result-object v5
16275 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16277 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
16279 + move-result v3
16281 + const-string v4, "deviceID"
16283 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16285 + :goto_27
16286 + return-object v5
16288 + :cond_28
16289 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getDeviceId()Ljava/lang/String;
16291 + move-result-object v5
16293 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16295 + const/4 v3, 0x0
16297 + const-string v4, "deviceID"
16299 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16301 + goto :goto_27
16302 +.end method
16304 +.method public getLine1Number()Ljava/lang/String;
16305 + .registers 8
16307 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16309 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16311 + move-result-object v1
16313 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16315 + move-result v2
16317 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16319 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16321 + move-result-object v6
16323 + if-eqz v6, :cond_28
16325 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
16327 + move-result v0
16329 + if-eqz v0, :cond_28
16331 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1Number()Ljava/lang/String;
16333 + move-result-object v5
16335 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16337 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
16339 + move-result v3
16341 + const-string v4, "line1Number"
16343 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16345 + :goto_27
16346 + return-object v5
16348 + :cond_28
16349 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getLine1Number()Ljava/lang/String;
16351 + move-result-object v5
16353 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16355 + const/4 v3, 0x0
16357 + const-string v4, "line1Number"
16359 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16361 + goto :goto_27
16362 +.end method
16364 +.method public getNeighboringCellInfo()Ljava/util/List;
16365 + .registers 10
16366 + .annotation system Ldalvik/annotation/Signature;
16367 + value = {
16368 + "()",
16369 + "Ljava/util/List",
16370 + "<",
16371 + "Landroid/telephony/NeighboringCellInfo;",
16372 + ">;"
16374 + .end annotation
16376 + iget-object v6, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16378 + iget-object v7, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16380 + invoke-virtual {v7}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16382 + move-result-object v7
16384 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16386 + move-result v8
16388 + invoke-virtual {v6, v7, v8}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16390 + move-result-object v5
16392 + const/4 v3, 0x0
16394 + const-string v4, "[null]"
16396 + if-eqz v5, :cond_1c
16398 + invoke-virtual {v5}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
16400 + move-result v6
16402 + const/4 v7, 0x1
16404 + if-ne v6, v7, :cond_1d
16406 + :cond_1c
16407 + :goto_1c
16408 + return-object v3
16410 + :cond_1d
16411 + invoke-virtual {v5}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
16413 + move-result v6
16415 + if-eqz v6, :cond_2b
16417 + new-instance v3, Ljava/util/ArrayList;
16419 + invoke-direct {v3}, Ljava/util/ArrayList;-><init>()V
16421 + const-string v4, "[empty list of cells]"
16423 + goto :goto_1c
16425 + :cond_2b
16426 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNeighboringCellInfo()Ljava/util/List;
16428 + move-result-object v3
16430 + const-string v0, ""
16432 + invoke-interface {v3}, Ljava/util/List;->iterator()Ljava/util/Iterator;
16434 + move-result-object v2
16436 + :goto_35
16437 + invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z
16439 + move-result v6
16441 + if-eqz v6, :cond_5f
16443 + invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
16445 + move-result-object v1
16447 + check-cast v1, Landroid/telephony/NeighboringCellInfo;
16449 + new-instance v6, Ljava/lang/StringBuilder;
16451 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
16453 + invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16455 + move-result-object v6
16457 + const-string v7, "\t"
16459 + invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16461 + move-result-object v6
16463 + invoke-virtual {v6, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
16465 + move-result-object v6
16467 + const-string v7, "\n"
16469 + invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16471 + move-result-object v6
16473 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
16475 + move-result-object v0
16477 + goto :goto_35
16479 + :cond_5f
16480 + new-instance v6, Ljava/lang/StringBuilder;
16482 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
16484 + const-string v7, "[real value]:\n"
16486 + invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16488 + move-result-object v6
16490 + invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16492 + move-result-object v6
16494 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
16496 + move-result-object v4
16498 + goto :goto_1c
16499 +.end method
16501 +.method public getNetworkCountryIso()Ljava/lang/String;
16502 + .registers 2
16504 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getNetworkInfo()Ljava/lang/String;
16506 + move-result-object v0
16508 + if-nez v0, :cond_a
16510 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNetworkCountryIso()Ljava/lang/String;
16512 + move-result-object v0
16514 + :cond_a
16515 + return-object v0
16516 +.end method
16518 +.method public getNetworkOperator()Ljava/lang/String;
16519 + .registers 2
16521 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getNetworkInfo()Ljava/lang/String;
16523 + move-result-object v0
16525 + if-nez v0, :cond_a
16527 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNetworkOperator()Ljava/lang/String;
16529 + move-result-object v0
16531 + :cond_a
16532 + return-object v0
16533 +.end method
16535 +.method public getNetworkOperatorName()Ljava/lang/String;
16536 + .registers 2
16538 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getNetworkInfo()Ljava/lang/String;
16540 + move-result-object v0
16542 + if-nez v0, :cond_a
16544 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNetworkOperatorName()Ljava/lang/String;
16546 + move-result-object v0
16548 + :cond_a
16549 + return-object v0
16550 +.end method
16552 +.method public getSimCountryIso()Ljava/lang/String;
16553 + .registers 2
16555 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getSimInfo()Ljava/lang/String;
16557 + move-result-object v0
16559 + if-nez v0, :cond_a
16561 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSimCountryIso()Ljava/lang/String;
16563 + move-result-object v0
16565 + :cond_a
16566 + return-object v0
16567 +.end method
16569 +.method public getSimOperator()Ljava/lang/String;
16570 + .registers 2
16572 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getSimInfo()Ljava/lang/String;
16574 + move-result-object v0
16576 + if-nez v0, :cond_a
16578 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSimOperator()Ljava/lang/String;
16580 + move-result-object v0
16582 + :cond_a
16583 + return-object v0
16584 +.end method
16586 +.method public getSimOperatorName()Ljava/lang/String;
16587 + .registers 2
16589 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getSimInfo()Ljava/lang/String;
16591 + move-result-object v0
16593 + if-nez v0, :cond_a
16595 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSimOperatorName()Ljava/lang/String;
16597 + move-result-object v0
16599 + :cond_a
16600 + return-object v0
16601 +.end method
16603 +.method public getSimSerialNumber()Ljava/lang/String;
16604 + .registers 8
16606 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16608 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16610 + move-result-object v1
16612 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16614 + move-result v2
16616 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16618 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16620 + move-result-object v6
16622 + if-eqz v6, :cond_29
16624 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSimSerialNumberSetting()B
16626 + move-result v0
16628 + if-eqz v0, :cond_29
16630 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSimSerialNumber()Ljava/lang/String;
16632 + move-result-object v5
16634 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16636 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSimSerialNumberSetting()B
16638 + move-result v3
16640 + const-string/jumbo v4, "simSerial"
16642 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16644 + :goto_28
16645 + return-object v5
16647 + :cond_29
16648 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSimSerialNumber()Ljava/lang/String;
16650 + move-result-object v5
16652 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16654 + const/4 v3, 0x0
16656 + const-string/jumbo v4, "simSerial"
16658 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16660 + goto :goto_28
16661 +.end method
16663 +.method public getSubscriberId()Ljava/lang/String;
16664 + .registers 8
16666 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16668 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16670 + move-result-object v1
16672 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16674 + move-result v2
16676 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16678 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16680 + move-result-object v6
16682 + if-eqz v6, :cond_29
16684 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberIdSetting()B
16686 + move-result v0
16688 + if-eqz v0, :cond_29
16690 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberId()Ljava/lang/String;
16692 + move-result-object v5
16694 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16696 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberIdSetting()B
16698 + move-result v3
16700 + const-string/jumbo v4, "subscriberID"
16702 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16704 + :goto_28
16705 + return-object v5
16707 + :cond_29
16708 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSubscriberId()Ljava/lang/String;
16710 + move-result-object v5
16712 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16714 + const/4 v3, 0x0
16716 + const-string/jumbo v4, "subscriberID"
16718 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16720 + goto :goto_28
16721 +.end method
16723 +.method public getVoiceMailNumber()Ljava/lang/String;
16724 + .registers 8
16726 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16728 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16730 + move-result-object v1
16732 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16734 + move-result v2
16736 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16738 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16740 + move-result-object v6
16742 + if-eqz v6, :cond_28
16744 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
16746 + move-result v0
16748 + if-eqz v0, :cond_28
16750 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1Number()Ljava/lang/String;
16752 + move-result-object v5
16754 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16756 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
16758 + move-result v3
16760 + const-string v4, "line1Number"
16762 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16764 + :goto_27
16765 + return-object v5
16767 + :cond_28
16768 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getVoiceMailNumber()Ljava/lang/String;
16770 + move-result-object v5
16772 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16774 + const/4 v3, 0x0
16776 + const-string v4, "line1Number"
16778 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16780 + goto :goto_27
16781 +.end method
16783 +.method public listen(Landroid/telephony/PhoneStateListener;I)V
16784 + .registers 4
16786 + and-int/lit8 v0, p2, 0x10
16788 + if-nez v0, :cond_8
16790 + and-int/lit8 v0, p2, 0x20
16792 + if-eqz v0, :cond_21
16794 + :cond_8
16795 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16797 + invoke-virtual {p1, v0}, Landroid/telephony/PhoneStateListener;->setContext(Landroid/content/Context;)V
16799 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16801 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16803 + move-result-object v0
16805 + invoke-virtual {p1, v0}, Landroid/telephony/PhoneStateListener;->setPackageName(Ljava/lang/String;)V
16807 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16809 + move-result v0
16811 + invoke-virtual {p1, v0}, Landroid/telephony/PhoneStateListener;->setUid(I)V
16813 + invoke-super {p0, p1, p2}, Landroid/telephony/TelephonyManager;->listen(Landroid/telephony/PhoneStateListener;I)V
16815 + :goto_20
16816 + return-void
16818 + :cond_21
16819 + invoke-super {p0, p1, p2}, Landroid/telephony/TelephonyManager;->listen(Landroid/telephony/PhoneStateListener;I)V
16821 + goto :goto_20
16822 +.end method
16823 diff -Npru stock-framework/smali/android/telephony/PhoneStateListener$1.smali pdroid-framework/smali/android/telephony/PhoneStateListener$1.smali
16824 --- stock-framework/smali/android/telephony/PhoneStateListener$1.smali 2012-08-10 00:09:36.605515616 -0500
16825 +++ pdroid-framework/smali/android/telephony/PhoneStateListener$1.smali 2012-08-10 00:09:15.017408563 -0500
16826 @@ -64,23 +64,196 @@
16827 .end method
16829 .method public onCallStateChanged(ILjava/lang/String;)V
16830 - .registers 6
16831 + .registers 19
16833 - iget-object v0, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16834 + move-object/from16 v0, p0
16836 - iget-object v0, v0, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
16837 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16839 - const/16 v1, 0x20
16840 + #getter for: Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
16841 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
16843 - const/4 v2, 0x0
16844 + move-result-object v3
16846 - invoke-static {v0, v1, p1, v2, p2}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
16847 + if-eqz v3, :cond_99
16849 - move-result-object v0
16850 + if-eqz p2, :cond_99
16852 - invoke-virtual {v0}, Landroid/os/Message;->sendToTarget()V
16853 + invoke-virtual/range {p2 .. p2}, Ljava/lang/String;->isEmpty()Z
16855 + move-result v3
16857 + if-nez v3, :cond_99
16859 + move-object/from16 v0, p0
16861 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16863 + #getter for: Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
16864 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
16866 + move-result-object v3
16868 + const-string/jumbo v4, "privacy"
16870 + invoke-virtual {v3, v4}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
16872 + move-result-object v2
16874 + check-cast v2, Landroid/privacy/PrivacySettingsManager;
16876 + move-object/from16 v0, p0
16878 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16880 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
16881 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
16883 + move-result-object v3
16885 + move-object/from16 v0, p0
16887 + iget-object v4, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16889 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
16890 + invoke-static {v4}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
16892 + move-result v4
16894 + invoke-virtual {v2, v3, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16896 + move-result-object v8
16898 + if-eqz v8, :cond_6a
16900 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getIncomingCallsSetting()B
16902 + move-result v3
16904 + if-eqz v3, :cond_6a
16906 + const-string v7, ""
16908 + move-object/from16 v0, p0
16910 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16912 + iget-object v3, v3, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
16914 + const/16 v4, 0x20
16916 + const/4 v5, 0x0
16918 + move/from16 v0, p1
16920 + invoke-static {v3, v4, v0, v5, v7}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
16922 + move-result-object v3
16924 + invoke-virtual {v3}, Landroid/os/Message;->sendToTarget()V
16926 + move-object/from16 v0, p0
16928 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16930 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
16931 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
16933 + move-result-object v3
16935 + move-object/from16 v0, p0
16937 + iget-object v4, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16939 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
16940 + invoke-static {v4}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
16942 + move-result v4
16944 + const/4 v5, 0x1
16946 + const-string v6, "incomingCall"
16948 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16950 + :goto_69
16951 return-void
16953 + :cond_6a
16954 + move-object/from16 v0, p0
16956 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16958 + iget-object v3, v3, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
16960 + const/16 v4, 0x20
16962 + const/4 v5, 0x0
16964 + move/from16 v0, p1
16966 + move-object/from16 v1, p2
16968 + invoke-static {v3, v4, v0, v5, v1}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
16970 + move-result-object v3
16972 + invoke-virtual {v3}, Landroid/os/Message;->sendToTarget()V
16974 + move-object/from16 v0, p0
16976 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16978 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
16979 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
16981 + move-result-object v10
16983 + move-object/from16 v0, p0
16985 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16987 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
16988 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
16990 + move-result v11
16992 + const/4 v12, 0x0
16994 + const-string v13, "incomingCall"
16996 + move-object v9, v2
16998 + move-object/from16 v14, p2
17000 + move-object v15, v8
17002 + invoke-virtual/range {v9 .. v15}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
17004 + goto :goto_69
17006 + :cond_99
17007 + move-object/from16 v0, p0
17009 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
17011 + iget-object v3, v3, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
17013 + const/16 v4, 0x20
17015 + const/4 v5, 0x0
17017 + move/from16 v0, p1
17019 + move-object/from16 v1, p2
17021 + invoke-static {v3, v4, v0, v5, v1}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
17023 + move-result-object v3
17025 + invoke-virtual {v3}, Landroid/os/Message;->sendToTarget()V
17027 + goto :goto_69
17028 .end method
17030 .method public onCellInfoChanged(Landroid/telephony/CellInfo;)V
17031 @@ -104,27 +277,124 @@
17032 .end method
17034 .method public onCellLocationChanged(Landroid/os/Bundle;)V
17035 - .registers 6
17036 + .registers 10
17038 + const/4 v5, 0x0
17040 const/4 v3, 0x0
17042 invoke-static {p1}, Landroid/telephony/CellLocation;->newFromBundle(Landroid/os/Bundle;)Landroid/telephony/CellLocation;
17044 + move-result-object v7
17046 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
17048 + #getter for: Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
17049 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
17051 + move-result-object v1
17053 + if-eqz v1, :cond_4a
17055 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
17057 + #getter for: Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
17058 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
17060 + move-result-object v1
17062 + const-string/jumbo v2, "privacy"
17064 + invoke-virtual {v1, v2}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
17066 move-result-object v0
17068 + check-cast v0, Landroid/privacy/PrivacySettingsManager;
17070 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
17072 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
17073 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
17075 + move-result-object v1
17077 + iget-object v2, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
17079 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
17080 + invoke-static {v2}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
17082 + move-result v2
17084 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
17086 + move-result-object v6
17088 + if-eqz v6, :cond_4b
17090 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
17092 + move-result v1
17094 + if-eqz v1, :cond_4b
17096 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
17098 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
17099 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
17101 + move-result-object v1
17103 + iget-object v2, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
17105 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
17106 + invoke-static {v2}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
17108 + move-result v2
17110 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
17112 + move-result v3
17114 + const-string v4, "locationNetwork"
17116 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
17118 + :cond_4a
17119 + :goto_4a
17120 + return-void
17122 + :cond_4b
17123 iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
17125 iget-object v1, v1, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
17127 const/16 v2, 0x10
17129 - invoke-static {v1, v2, v3, v3, v0}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
17130 + invoke-static {v1, v2, v3, v3, v7}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
17132 move-result-object v1
17134 invoke-virtual {v1}, Landroid/os/Message;->sendToTarget()V
17136 - return-void
17137 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
17139 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
17140 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
17142 + move-result-object v1
17144 + iget-object v2, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
17146 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
17147 + invoke-static {v2}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
17149 + move-result v2
17151 + const-string v4, "locationNetwork"
17153 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
17155 + goto :goto_4a
17156 .end method
17158 .method public onDataActivity(I)V
17159 diff -Npru stock-framework/smali/android/telephony/PhoneStateListener.smali pdroid-framework/smali/android/telephony/PhoneStateListener.smali
17160 --- stock-framework/smali/android/telephony/PhoneStateListener.smali 2012-08-10 00:09:35.453509907 -0500
17161 +++ pdroid-framework/smali/android/telephony/PhoneStateListener.smali 2012-08-10 00:09:13.901403032 -0500
17162 @@ -31,12 +31,20 @@
17164 .field public static final LISTEN_SIGNAL_STRENGTHS:I = 0x100
17166 +.field private static final TAG:Ljava/lang/String; = "PhoneStateListener"
17169 # instance fields
17170 .field callback:Lcom/android/internal/telephony/IPhoneStateListener;
17172 +.field private context:Landroid/content/Context;
17174 .field mHandler:Landroid/os/Handler;
17176 +.field private packageName:Ljava/lang/String;
17178 +.field private uid:I
17181 # direct methods
17182 .method public constructor <init>()V
17183 @@ -59,6 +67,30 @@
17184 return-void
17185 .end method
17187 +.method static synthetic access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
17188 + .registers 2
17190 + iget-object v0, p0, Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
17192 + return-object v0
17193 +.end method
17195 +.method static synthetic access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
17196 + .registers 2
17198 + iget-object v0, p0, Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
17200 + return-object v0
17201 +.end method
17203 +.method static synthetic access$200(Landroid/telephony/PhoneStateListener;)I
17204 + .registers 2
17206 + iget v0, p0, Landroid/telephony/PhoneStateListener;->uid:I
17208 + return v0
17209 +.end method
17212 # virtual methods
17213 .method public onCallForwardingIndicatorChanged(Z)V
17214 @@ -134,3 +166,27 @@
17216 return-void
17217 .end method
17219 +.method public setContext(Landroid/content/Context;)V
17220 + .registers 2
17222 + iput-object p1, p0, Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
17224 + return-void
17225 +.end method
17227 +.method public setPackageName(Ljava/lang/String;)V
17228 + .registers 2
17230 + iput-object p1, p0, Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
17232 + return-void
17233 +.end method
17235 +.method public setUid(I)V
17236 + .registers 2
17238 + iput p1, p0, Landroid/telephony/PhoneStateListener;->uid:I
17240 + return-void
17241 +.end method
17242 diff -Npru stock-framework/smali/android/text/SpannableStringBuilder.smali pdroid-framework/smali/android/text/SpannableStringBuilder.smali
17243 --- stock-framework/smali/android/text/SpannableStringBuilder.smali 2012-08-10 00:09:36.665515913 -0500
17244 +++ pdroid-framework/smali/android/text/SpannableStringBuilder.smali 2012-08-10 00:09:15.069408824 -0500
17245 @@ -681,17 +681,17 @@
17247 const/4 v5, 0x1
17249 - if-ge v4, v5, :cond_18f
17250 + if-ge v4, v5, :cond_190
17252 new-instance v4, Ljava/lang/Exception;
17254 - const-string v5, "mGapLength < 1"
17255 + const-string/jumbo v5, "mGapLength < 1"
17257 invoke-direct {v4, v5}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
17259 invoke-virtual {v4}, Ljava/lang/Exception;->printStackTrace()V
17261 - :cond_18f
17262 + :cond_190
17263 move-object/from16 v0, p0
17265 iget-object v4, v0, Landroid/text/SpannableStringBuilder;->mText:[C
17266 @@ -706,7 +706,7 @@
17268 invoke-static {v0, v1, v2, v4, v3}, Landroid/text/TextUtils;->getChars(Ljava/lang/CharSequence;II[CI)V
17270 - if-lez v33, :cond_200
17271 + if-lez v33, :cond_201
17273 move-object/from16 v0, p0
17275 @@ -724,21 +724,21 @@
17277 array-length v5, v5
17279 - if-ne v4, v5, :cond_1fe
17280 + if-ne v4, v5, :cond_1ff
17282 const/4 v14, 0x1
17284 - :goto_1b1
17285 + :goto_1b2
17286 const/16 v30, 0x0
17288 - :goto_1b3
17289 + :goto_1b4
17290 move-object/from16 v0, p0
17292 iget v4, v0, Landroid/text/SpannableStringBuilder;->mSpanCount:I
17294 move/from16 v0, v30
17296 - if-ge v0, v4, :cond_200
17297 + if-ge v0, v4, :cond_201
17299 move-object/from16 v0, p0
17301 @@ -806,14 +806,14 @@
17303 add-int/lit8 v30, v30, 0x1
17305 - goto :goto_1b3
17306 + goto :goto_1b4
17308 - :cond_1fe
17309 + :cond_1ff
17310 const/4 v14, 0x0
17312 - goto :goto_1b1
17313 + goto :goto_1b2
17315 - :cond_200
17316 + :cond_201
17317 move-object/from16 v0, p0
17319 iget v4, v0, Landroid/text/SpannableStringBuilder;->mSpanCount:I
17320 @@ -826,7 +826,7 @@
17322 instance-of v4, v0, Landroid/text/Spanned;
17324 - if-eqz v4, :cond_26d
17325 + if-eqz v4, :cond_26e
17327 move-object/from16 v35, p3
17329 @@ -846,14 +846,14 @@
17331 const/16 v30, 0x0
17333 - :goto_220
17334 + :goto_221
17335 move-object/from16 v0, v36
17337 array-length v4, v0
17339 move/from16 v0, v30
17341 - if-ge v0, v4, :cond_26d
17342 + if-ge v0, v4, :cond_26e
17344 aget-object v4, v36, v30
17346 @@ -875,20 +875,20 @@
17348 move/from16 v1, p4
17350 - if-ge v0, v1, :cond_23f
17351 + if-ge v0, v1, :cond_240
17353 move/from16 v37, p4
17355 - :cond_23f
17356 + :cond_240
17357 move/from16 v0, v28
17359 move/from16 v1, p5
17361 - if-le v0, v1, :cond_247
17362 + if-le v0, v1, :cond_248
17364 move/from16 v28, p5
17366 - :cond_247
17367 + :cond_248
17368 aget-object v4, v36, v30
17370 move-object/from16 v0, p0
17371 @@ -897,7 +897,7 @@
17373 move-result v4
17375 - if-gez v4, :cond_26a
17376 + if-gez v4, :cond_26b
17378 const/16 v22, 0x0
17380 @@ -923,12 +923,12 @@
17382 invoke-direct/range {v21 .. v26}, Landroid/text/SpannableStringBuilder;->setSpan(ZLjava/lang/Object;III)V
17384 - :cond_26a
17385 + :cond_26b
17386 add-int/lit8 v30, v30, 0x1
17388 - goto :goto_220
17389 + goto :goto_221
17391 - :cond_26d
17392 + :cond_26e
17393 return-void
17394 .end method
17396 @@ -1500,20 +1500,20 @@
17398 const/4 v7, 0x1
17400 - if-ge v6, v7, :cond_3e
17401 + if-ge v6, v7, :cond_3f
17403 new-instance v6, Ljava/lang/Exception;
17405 - const-string v7, "mGapLength < 1"
17406 + const-string/jumbo v7, "mGapLength < 1"
17408 invoke-direct {v6, v7}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
17410 invoke-virtual {v6}, Ljava/lang/Exception;->printStackTrace()V
17412 - :cond_3e
17413 + :cond_3f
17414 const/4 v2, 0x0
17416 - :goto_3f
17417 + :goto_40
17418 iget v6, p0, Landroid/text/SpannableStringBuilder;->mSpanCount:I
17420 if-ge v2, v6, :cond_e
17421 @@ -1524,7 +1524,7 @@
17423 iget v7, p0, Landroid/text/SpannableStringBuilder;->mGapStart:I
17425 - if-le v6, v7, :cond_52
17426 + if-le v6, v7, :cond_53
17428 iget-object v6, p0, Landroid/text/SpannableStringBuilder;->mSpanStarts:[I
17430 @@ -1534,14 +1534,14 @@
17432 aput v7, v6, v2
17434 - :cond_52
17435 + :cond_53
17436 iget-object v6, p0, Landroid/text/SpannableStringBuilder;->mSpanEnds:[I
17438 aget v6, v6, v2
17440 iget v7, p0, Landroid/text/SpannableStringBuilder;->mGapStart:I
17442 - if-le v6, v7, :cond_61
17443 + if-le v6, v7, :cond_62
17445 iget-object v6, p0, Landroid/text/SpannableStringBuilder;->mSpanEnds:[I
17447 @@ -1551,10 +1551,10 @@
17449 aput v7, v6, v2
17451 - :cond_61
17452 + :cond_62
17453 add-int/lit8 v2, v2, 0x1
17455 - goto :goto_3f
17456 + goto :goto_40
17457 .end method
17459 .method private sendAfterTextChanged([Landroid/text/TextWatcher;)V