Add CEILING variable for compatibility check
[auto-patcher.git] / patches / pdroid / jellybean / aosp-ever / 20121102 / framework.patch
blobd1fb5d6d3c73e458f394d484fc45401c9c93fa50
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-11-02 22:31:06.659965172 -0500
3 +++ pdroid-framework/smali/android/app/ContextImpl$20.smali 2012-11-02 22:30:26.107764090 -0500
4 @@ -28,19 +28,19 @@
5 .method public createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
6 .registers 5
8 - const-string v1, "location"
9 + const-string v2, "location"
11 - invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
12 + invoke-static {v2}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
14 move-result-object v0
16 - new-instance v1, Landroid/location/LocationManager;
18 invoke-static {v0}, Landroid/location/ILocationManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/location/ILocationManager;
20 - move-result-object v2
21 + move-result-object v1
23 + new-instance v2, Landroid/privacy/surrogate/PrivacyLocationManager;
25 - invoke-direct {v1, p1, v2}, Landroid/location/LocationManager;-><init>(Landroid/content/Context;Landroid/location/ILocationManager;)V
26 + invoke-direct {v2, v1, p1}, Landroid/privacy/surrogate/PrivacyLocationManager;-><init>(Landroid/location/ILocationManager;Landroid/content/Context;)V
28 - return-object v1
29 + return-object v2
30 .end method
31 diff -Npru stock-framework/smali/android/app/ContextImpl$29.smali pdroid-framework/smali/android/app/ContextImpl$29.smali
32 --- stock-framework/smali/android/app/ContextImpl$29.smali 2012-11-02 22:31:06.675965252 -0500
33 +++ pdroid-framework/smali/android/app/ContextImpl$29.smali 2012-11-02 22:30:26.119764144 -0500
34 @@ -28,13 +28,13 @@
35 .method public createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
36 .registers 4
38 - new-instance v0, Landroid/telephony/TelephonyManager;
39 + new-instance v0, Landroid/privacy/surrogate/PrivacyTelephonyManager;
41 invoke-virtual {p1}, Landroid/app/ContextImpl;->getOuterContext()Landroid/content/Context;
43 move-result-object v1
45 - invoke-direct {v0, v1}, Landroid/telephony/TelephonyManager;-><init>(Landroid/content/Context;)V
46 + invoke-direct {v0, v1}, Landroid/privacy/surrogate/PrivacyTelephonyManager;-><init>(Landroid/content/Context;)V
48 return-object v0
49 .end method
50 diff -Npru stock-framework/smali/android/app/ContextImpl$38.smali pdroid-framework/smali/android/app/ContextImpl$38.smali
51 --- stock-framework/smali/android/app/ContextImpl$38.smali 1969-12-31 18:00:00.000000000 -0600
52 +++ pdroid-framework/smali/android/app/ContextImpl$38.smali 2012-11-02 22:30:26.123764171 -0500
53 @@ -0,0 +1,50 @@
54 +.class final Landroid/app/ContextImpl$38;
55 +.super Landroid/app/ContextImpl$StaticServiceFetcher;
56 +.source "ContextImpl.java"
59 +# annotations
60 +.annotation system Ldalvik/annotation/EnclosingClass;
61 + value = Landroid/app/ContextImpl;
62 +.end annotation
64 +.annotation system Ldalvik/annotation/InnerClass;
65 + accessFlags = 0x8
66 + name = null
67 +.end annotation
70 +# direct methods
71 +.method constructor <init>()V
72 + .registers 1
74 + invoke-direct {p0}, Landroid/app/ContextImpl$StaticServiceFetcher;-><init>()V
76 + return-void
77 +.end method
80 +# virtual methods
81 +.method public createStaticService()Ljava/lang/Object;
82 + .registers 5
84 + const-string/jumbo v2, "privacy"
86 + invoke-static {v2}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
88 + move-result-object v0
90 + invoke-static {v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
92 + move-result-object v1
94 + new-instance v2, Landroid/privacy/PrivacySettingsManager;
96 + invoke-static {}, Landroid/app/ContextImpl;->getStaticOuterContext()Landroid/content/Context;
98 + move-result-object v3
100 + invoke-direct {v2, v3, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
102 + return-object v2
103 +.end method
104 diff -Npru stock-framework/smali/android/app/ContextImpl$3.smali pdroid-framework/smali/android/app/ContextImpl$3.smali
105 --- stock-framework/smali/android/app/ContextImpl$3.smali 2012-11-02 22:31:06.687965309 -0500
106 +++ pdroid-framework/smali/android/app/ContextImpl$3.smali 2012-11-02 22:30:26.123764171 -0500
107 @@ -38,9 +38,9 @@
109 move-result-object v1
111 - new-instance v2, Landroid/accounts/AccountManager;
112 + new-instance v2, Landroid/privacy/surrogate/PrivacyAccountManager;
114 - invoke-direct {v2, p1, v1}, Landroid/accounts/AccountManager;-><init>(Landroid/content/Context;Landroid/accounts/IAccountManager;)V
115 + invoke-direct {v2, p1, v1}, Landroid/privacy/surrogate/PrivacyAccountManager;-><init>(Landroid/content/Context;Landroid/accounts/IAccountManager;)V
117 return-object v2
118 .end method
119 diff -Npru stock-framework/smali/android/app/ContextImpl.smali pdroid-framework/smali/android/app/ContextImpl.smali
120 --- stock-framework/smali/android/app/ContextImpl.smali 2012-11-02 22:31:06.751965633 -0500
121 +++ pdroid-framework/smali/android/app/ContextImpl.smali 2012-11-02 22:30:26.155764324 -0500
122 @@ -36,6 +36,8 @@
124 .field private static sNextPerContextServiceCacheIndex:I
126 +.field private static sOuterContext:Landroid/content/Context;
128 .field private static final sSharedPrefs:Ljava/util/HashMap;
129 .annotation system Ldalvik/annotation/Signature;
130 value = {
131 @@ -426,6 +428,14 @@
133 invoke-static {v0, v1}, Landroid/app/ContextImpl;->registerService(Ljava/lang/String;Landroid/app/ContextImpl$ServiceFetcher;)V
135 + const-string/jumbo v0, "privacy"
137 + new-instance v1, Landroid/app/ContextImpl$38;
139 + invoke-direct {v1}, Landroid/app/ContextImpl$38;-><init>()V
141 + invoke-static {v0, v1}, Landroid/app/ContextImpl;->registerService(Ljava/lang/String;Landroid/app/ContextImpl$ServiceFetcher;)V
143 return-void
144 .end method
146 @@ -460,6 +470,8 @@
148 iput-object p0, p0, Landroid/app/ContextImpl;->mOuterContext:Landroid/content/Context;
150 + sput-object p0, Landroid/app/ContextImpl;->sOuterContext:Landroid/content/Context;
152 return-void
153 .end method
155 @@ -514,6 +526,8 @@
157 iput-object p0, p0, Landroid/app/ContextImpl;->mOuterContext:Landroid/content/Context;
159 + sput-object p0, Landroid/app/ContextImpl;->sOuterContext:Landroid/content/Context;
161 return-void
162 .end method
164 @@ -983,6 +997,14 @@
165 throw v0
166 .end method
168 +.method static final getStaticOuterContext()Landroid/content/Context;
169 + .registers 1
171 + sget-object v0, Landroid/app/ContextImpl;->sOuterContext:Landroid/content/Context;
173 + return-object v0
174 +.end method
176 .method private getWallpaperManager()Landroid/app/WallpaperManager;
177 .registers 2
179 @@ -4256,6 +4278,8 @@
181 iput-object p1, p0, Landroid/app/ContextImpl;->mOuterContext:Landroid/content/Context;
183 + sput-object p1, Landroid/app/ContextImpl;->sOuterContext:Landroid/content/Context;
185 return-void
186 .end method
188 diff -Npru stock-framework/smali/android/app/Fragment.smali pdroid-framework/smali/android/app/Fragment.smali
189 --- stock-framework/smali/android/app/Fragment.smali 2012-11-02 22:31:06.767965715 -0500
190 +++ pdroid-framework/smali/android/app/Fragment.smali 2012-11-02 22:30:26.167764376 -0500
191 @@ -469,7 +469,7 @@
193 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
195 - const-string v0, "mHidden="
196 + const-string/jumbo v0, "mHidden="
198 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
200 @@ -529,7 +529,7 @@
202 iget-object v0, p0, Landroid/app/Fragment;->mFragmentManager:Landroid/app/FragmentManagerImpl;
204 - if-eqz v0, :cond_e8
205 + if-eqz v0, :cond_e9
207 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
209 @@ -541,10 +541,10 @@
211 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
213 - :cond_e8
214 + :cond_e9
215 iget-object v0, p0, Landroid/app/Fragment;->mActivity:Landroid/app/Activity;
217 - if-eqz v0, :cond_f9
218 + if-eqz v0, :cond_fa
220 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
222 @@ -556,10 +556,10 @@
224 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
226 - :cond_f9
227 + :cond_fa
228 iget-object v0, p0, Landroid/app/Fragment;->mArguments:Landroid/os/Bundle;
230 - if-eqz v0, :cond_10a
231 + if-eqz v0, :cond_10b
233 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
235 @@ -571,10 +571,10 @@
237 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
239 - :cond_10a
240 + :cond_10b
241 iget-object v0, p0, Landroid/app/Fragment;->mSavedFragmentState:Landroid/os/Bundle;
243 - if-eqz v0, :cond_11c
244 + if-eqz v0, :cond_11d
246 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
248 @@ -586,10 +586,10 @@
250 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
252 - :cond_11c
253 + :cond_11d
254 iget-object v0, p0, Landroid/app/Fragment;->mSavedViewState:Landroid/util/SparseArray;
256 - if-eqz v0, :cond_12e
257 + if-eqz v0, :cond_12f
259 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
261 @@ -601,10 +601,10 @@
263 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
265 - :cond_12e
266 + :cond_12f
267 iget-object v0, p0, Landroid/app/Fragment;->mTarget:Landroid/app/Fragment;
269 - if-eqz v0, :cond_14a
270 + if-eqz v0, :cond_14b
272 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
274 @@ -624,10 +624,10 @@
276 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(I)V
278 - :cond_14a
279 + :cond_14b
280 iget v0, p0, Landroid/app/Fragment;->mNextAnim:I
282 - if-eqz v0, :cond_15c
283 + if-eqz v0, :cond_15d
285 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
287 @@ -639,10 +639,10 @@
289 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(I)V
291 - :cond_15c
292 + :cond_15d
293 iget-object v0, p0, Landroid/app/Fragment;->mContainer:Landroid/view/ViewGroup;
295 - if-eqz v0, :cond_16d
296 + if-eqz v0, :cond_16e
298 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
300 @@ -654,10 +654,10 @@
302 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
304 - :cond_16d
305 + :cond_16e
306 iget-object v0, p0, Landroid/app/Fragment;->mView:Landroid/view/View;
308 - if-eqz v0, :cond_17f
309 + if-eqz v0, :cond_180
311 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
313 @@ -669,10 +669,10 @@
315 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
317 - :cond_17f
318 + :cond_180
319 iget-object v0, p0, Landroid/app/Fragment;->mAnimatingAway:Landroid/animation/Animator;
321 - if-eqz v0, :cond_19e
322 + if-eqz v0, :cond_19f
324 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
326 @@ -694,10 +694,10 @@
328 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(I)V
330 - :cond_19e
331 + :cond_19f
332 iget-object v0, p0, Landroid/app/Fragment;->mLoaderManager:Landroid/app/LoaderManagerImpl;
334 - if-eqz v0, :cond_1c2
335 + if-eqz v0, :cond_1c3
337 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
339 @@ -727,7 +727,7 @@
341 invoke-virtual {v0, v1, p2, p3, p4}, Landroid/app/LoaderManagerImpl;->dump(Ljava/lang/String;Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
343 - :cond_1c2
344 + :cond_1c3
345 return-void
346 .end method
348 diff -Npru stock-framework/smali/android/app/LoaderManagerImpl$LoaderInfo.smali pdroid-framework/smali/android/app/LoaderManagerImpl$LoaderInfo.smali
349 --- stock-framework/smali/android/app/LoaderManagerImpl$LoaderInfo.smali 2012-11-02 22:31:07.119967456 -0500
350 +++ pdroid-framework/smali/android/app/LoaderManagerImpl$LoaderInfo.smali 2012-11-02 22:30:26.447765773 -0500
351 @@ -575,12 +575,12 @@
353 iget-boolean v0, p0, Landroid/app/LoaderManagerImpl$LoaderInfo;->mDeliveredData:Z
355 - if-eqz v0, :cond_7b
356 + if-eqz v0, :cond_7c
358 :cond_57
359 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
361 - const-string v0, "mHaveData="
362 + const-string/jumbo v0, "mHaveData="
364 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
366 @@ -606,7 +606,7 @@
368 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
370 - :cond_7b
371 + :cond_7c
372 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
374 const-string/jumbo v0, "mStarted="
375 @@ -661,7 +661,7 @@
377 iget-object v0, p0, Landroid/app/LoaderManagerImpl$LoaderInfo;->mPendingLoader:Landroid/app/LoaderManagerImpl$LoaderInfo;
379 - if-eqz v0, :cond_ed
380 + if-eqz v0, :cond_ee
382 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
384 @@ -699,7 +699,7 @@
386 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
388 - :cond_ed
389 + :cond_ee
390 return-void
391 .end method
393 diff -Npru stock-framework/smali/android/content/ContentResolver.smali pdroid-framework/smali/android/content/ContentResolver.smali
394 --- stock-framework/smali/android/content/ContentResolver.smali 2012-11-02 22:31:06.723965487 -0500
395 +++ pdroid-framework/smali/android/content/ContentResolver.smali 2012-11-02 22:30:26.143764267 -0500
396 @@ -3523,8 +3523,8 @@
398 invoke-virtual {v0, v9}, Landroid/os/CancellationSignal;->setRemote(Landroid/os/ICancellationSignal;)V
399 :try_end_1d
400 - .catchall {:try_start_a .. :try_end_1d} :catchall_b9
401 - .catch Landroid/os/RemoteException; {:try_start_a .. :try_end_1d} :catch_a6
402 + .catchall {:try_start_a .. :try_end_1d} :catchall_c7
403 + .catch Landroid/os/RemoteException; {:try_start_a .. :try_end_1d} :catch_b4
405 :cond_1d
406 move-object/from16 v4, p1
407 @@ -3540,24 +3540,42 @@
408 :try_start_27
409 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;
410 :try_end_2a
411 - .catchall {:try_start_27 .. :try_end_2a} :catchall_b9
412 - .catch Landroid/os/DeadObjectException; {:try_start_27 .. :try_end_2a} :catch_3e
413 - .catch Landroid/os/RemoteException; {:try_start_27 .. :try_end_2a} :catch_a6
414 + .catchall {:try_start_27 .. :try_end_2a} :catchall_c7
415 + .catch Landroid/os/DeadObjectException; {:try_start_27 .. :try_end_2a} :catch_4c
416 + .catch Landroid/os/RemoteException; {:try_start_27 .. :try_end_2a} :catch_b4
418 move-result-object v19
420 :goto_2b
421 - if-nez v19, :cond_6c
422 + :try_start_2b
423 + move-object/from16 v0, p0
425 + iget-object v4, v0, Landroid/content/ContentResolver;->mContext:Landroid/content/Context;
427 + move-object/from16 v0, p1
429 + move-object/from16 v1, p2
431 + move-object/from16 v2, v19
433 + 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;
434 + :try_end_38
435 + .catchall {:try_start_2b .. :try_end_38} :catchall_c7
436 + .catch Landroid/os/RemoteException; {:try_start_2b .. :try_end_38} :catch_b4
438 + move-result-object v19
440 + if-nez v19, :cond_7a
442 const/16 v22, 0x0
444 - if-eqz v3, :cond_36
445 + if-eqz v3, :cond_44
447 move-object/from16 v0, p0
449 invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
451 - :cond_36
452 + :cond_44
453 if-eqz v10, :cond_8
455 move-object/from16 v0, p0
456 @@ -3566,32 +3584,32 @@
458 goto :goto_8
460 - :catch_3e
461 + :catch_4c
462 move-exception v18
464 - :try_start_3f
465 + :try_start_4d
466 move-object/from16 v0, p0
468 invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->unstableProviderDied(Landroid/content/IContentProvider;)V
470 invoke-virtual/range {p0 .. p1}, Landroid/content/ContentResolver;->acquireProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
471 - :try_end_47
472 - .catchall {:try_start_3f .. :try_end_47} :catchall_b9
473 - .catch Landroid/os/RemoteException; {:try_start_3f .. :try_end_47} :catch_a6
474 + :try_end_55
475 + .catchall {:try_start_4d .. :try_end_55} :catchall_c7
476 + .catch Landroid/os/RemoteException; {:try_start_4d .. :try_end_55} :catch_b4
478 move-result-object v10
480 - if-nez v10, :cond_5b
481 + if-nez v10, :cond_69
483 const/16 v22, 0x0
485 - if-eqz v3, :cond_53
486 + if-eqz v3, :cond_61
488 move-object/from16 v0, p0
490 invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
492 - :cond_53
493 + :cond_61
494 if-eqz v10, :cond_8
496 move-object/from16 v0, p0
497 @@ -3600,7 +3618,7 @@
499 goto :goto_8
501 - :cond_5b
502 + :cond_69
503 move-object/from16 v11, p1
505 move-object/from16 v12, p2
506 @@ -3613,14 +3631,14 @@
508 move-object/from16 v16, v9
510 - :try_start_67
511 + :try_start_75
512 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;
514 move-result-object v19
516 goto :goto_2b
518 - :cond_6c
519 + :cond_7a
520 invoke-interface/range {v19 .. v19}, Landroid/database/Cursor;->getCount()I
522 invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
523 @@ -3643,11 +3661,11 @@
525 new-instance v22, Landroid/content/ContentResolver$CursorWrapperInner;
527 - if-eqz v10, :cond_a1
528 + if-eqz v10, :cond_af
530 move-object v4, v10
532 - :goto_87
533 + :goto_95
534 move-object/from16 v0, v22
536 move-object/from16 v1, p0
537 @@ -3655,19 +3673,19 @@
538 move-object/from16 v2, v19
540 invoke-direct {v0, v1, v2, v4}, Landroid/content/ContentResolver$CursorWrapperInner;-><init>(Landroid/content/ContentResolver;Landroid/database/Cursor;Landroid/content/IContentProvider;)V
541 - :try_end_90
542 - .catchall {:try_start_67 .. :try_end_90} :catchall_b9
543 - .catch Landroid/os/RemoteException; {:try_start_67 .. :try_end_90} :catch_a6
544 + :try_end_9e
545 + .catchall {:try_start_75 .. :try_end_9e} :catchall_c7
546 + .catch Landroid/os/RemoteException; {:try_start_75 .. :try_end_9e} :catch_b4
548 const/4 v10, 0x0
550 - if-eqz v3, :cond_98
551 + if-eqz v3, :cond_a6
553 move-object/from16 v0, p0
555 invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
557 - :cond_98
558 + :cond_a6
559 if-eqz v10, :cond_8
561 move-object/from16 v0, p0
562 @@ -3676,29 +3694,29 @@
564 goto/16 :goto_8
566 - :cond_a1
567 - :try_start_a1
568 + :cond_af
569 + :try_start_af
570 invoke-virtual/range {p0 .. p1}, Landroid/content/ContentResolver;->acquireProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
571 - :try_end_a4
572 - .catchall {:try_start_a1 .. :try_end_a4} :catchall_b9
573 - .catch Landroid/os/RemoteException; {:try_start_a1 .. :try_end_a4} :catch_a6
574 + :try_end_b2
575 + .catchall {:try_start_af .. :try_end_b2} :catchall_c7
576 + .catch Landroid/os/RemoteException; {:try_start_af .. :try_end_b2} :catch_b4
578 move-result-object v4
580 - goto :goto_87
581 + goto :goto_95
583 - :catch_a6
584 + :catch_b4
585 move-exception v18
587 const/16 v22, 0x0
589 - if-eqz v3, :cond_b0
590 + if-eqz v3, :cond_be
592 move-object/from16 v0, p0
594 invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
596 - :cond_b0
597 + :cond_be
598 if-eqz v10, :cond_8
600 move-object/from16 v0, p0
601 @@ -3707,23 +3725,23 @@
603 goto/16 :goto_8
605 - :catchall_b9
606 + :catchall_c7
607 move-exception v4
609 - if-eqz v3, :cond_c1
610 + if-eqz v3, :cond_cf
612 move-object/from16 v0, p0
614 invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
616 - :cond_c1
617 - if-eqz v10, :cond_c8
618 + :cond_cf
619 + if-eqz v10, :cond_d6
621 move-object/from16 v0, p0
623 invoke-virtual {v0, v10}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
625 - :cond_c8
626 + :cond_d6
627 throw v4
628 .end method
630 diff -Npru stock-framework/smali/android/location/Location.smali pdroid-framework/smali/android/location/Location.smali
631 --- stock-framework/smali/android/location/Location.smali 2012-11-02 22:31:08.483974223 -0500
632 +++ pdroid-framework/smali/android/location/Location.smali 2012-11-02 22:30:27.875772858 -0500
633 @@ -1707,7 +1707,7 @@
635 move-result-object v0
637 - const-string v1, "mHasAltitude="
638 + const-string/jumbo v1, "mHasAltitude="
640 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
642 @@ -1745,7 +1745,7 @@
644 move-result-object v0
646 - const-string v1, "mHasSpeed="
647 + const-string/jumbo v1, "mHasSpeed="
649 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
651 @@ -1783,7 +1783,7 @@
653 move-result-object v0
655 - const-string v1, "mHasBearing="
656 + const-string/jumbo v1, "mHasBearing="
658 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
660 @@ -1821,7 +1821,7 @@
662 move-result-object v0
664 - const-string v1, "mHasAccuracy="
665 + const-string/jumbo v1, "mHasAccuracy="
667 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
669 diff -Npru stock-framework/smali/android/privacy/IPrivacySettingsManager.smali pdroid-framework/smali/android/privacy/IPrivacySettingsManager.smali
670 --- stock-framework/smali/android/privacy/IPrivacySettingsManager.smali 1969-12-31 18:00:00.000000000 -0600
671 +++ pdroid-framework/smali/android/privacy/IPrivacySettingsManager.smali 2012-11-02 22:30:28.531776104 -0500
672 @@ -0,0 +1,104 @@
673 +.class public interface abstract Landroid/privacy/IPrivacySettingsManager;
674 +.super Ljava/lang/Object;
675 +.source "IPrivacySettingsManager.java"
677 +# interfaces
678 +.implements Landroid/os/IInterface;
681 +# annotations
682 +.annotation system Ldalvik/annotation/MemberClasses;
683 + value = {
684 + Landroid/privacy/IPrivacySettingsManager$Stub;
686 +.end annotation
689 +# virtual methods
690 +.method public abstract addObserver(Ljava/lang/String;)V
691 + .annotation system Ldalvik/annotation/Throws;
692 + value = {
693 + Landroid/os/RemoteException;
695 + .end annotation
696 +.end method
698 +.method public abstract deleteSettings(Ljava/lang/String;)Z
699 + .annotation system Ldalvik/annotation/Throws;
700 + value = {
701 + Landroid/os/RemoteException;
703 + .end annotation
704 +.end method
706 +.method public abstract getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
707 + .annotation system Ldalvik/annotation/Throws;
708 + value = {
709 + Landroid/os/RemoteException;
711 + .end annotation
712 +.end method
714 +.method public abstract getVersion()D
715 + .annotation system Ldalvik/annotation/Throws;
716 + value = {
717 + Landroid/os/RemoteException;
719 + .end annotation
720 +.end method
722 +.method public abstract notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
723 + .annotation system Ldalvik/annotation/Throws;
724 + value = {
725 + Landroid/os/RemoteException;
727 + .end annotation
728 +.end method
730 +.method public abstract purgeSettings()Z
731 + .annotation system Ldalvik/annotation/Throws;
732 + value = {
733 + Landroid/os/RemoteException;
735 + .end annotation
736 +.end method
738 +.method public abstract registerObservers()V
739 + .annotation system Ldalvik/annotation/Throws;
740 + value = {
741 + Landroid/os/RemoteException;
743 + .end annotation
744 +.end method
746 +.method public abstract saveSettings(Landroid/privacy/PrivacySettings;)Z
747 + .annotation system Ldalvik/annotation/Throws;
748 + value = {
749 + Landroid/os/RemoteException;
751 + .end annotation
752 +.end method
754 +.method public abstract setBootCompleted()V
755 + .annotation system Ldalvik/annotation/Throws;
756 + value = {
757 + Landroid/os/RemoteException;
759 + .end annotation
760 +.end method
762 +.method public abstract setEnabled(Z)Z
763 + .annotation system Ldalvik/annotation/Throws;
764 + value = {
765 + Landroid/os/RemoteException;
767 + .end annotation
768 +.end method
770 +.method public abstract setNotificationsEnabled(Z)Z
771 + .annotation system Ldalvik/annotation/Throws;
772 + value = {
773 + Landroid/os/RemoteException;
775 + .end annotation
776 +.end method
777 diff -Npru stock-framework/smali/android/privacy/IPrivacySettingsManager$Stub$Proxy.smali pdroid-framework/smali/android/privacy/IPrivacySettingsManager$Stub$Proxy.smali
778 --- stock-framework/smali/android/privacy/IPrivacySettingsManager$Stub$Proxy.smali 1969-12-31 18:00:00.000000000 -0600
779 +++ pdroid-framework/smali/android/privacy/IPrivacySettingsManager$Stub$Proxy.smali 2012-11-02 22:30:28.531776104 -0500
780 @@ -0,0 +1,743 @@
781 +.class Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;
782 +.super Ljava/lang/Object;
783 +.source "IPrivacySettingsManager.java"
785 +# interfaces
786 +.implements Landroid/privacy/IPrivacySettingsManager;
789 +# annotations
790 +.annotation system Ldalvik/annotation/EnclosingClass;
791 + value = Landroid/privacy/IPrivacySettingsManager$Stub;
792 +.end annotation
794 +.annotation system Ldalvik/annotation/InnerClass;
795 + accessFlags = 0xa
796 + name = "Proxy"
797 +.end annotation
800 +# instance fields
801 +.field private mRemote:Landroid/os/IBinder;
804 +# direct methods
805 +.method constructor <init>(Landroid/os/IBinder;)V
806 + .registers 2
808 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
810 + iput-object p1, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
812 + return-void
813 +.end method
816 +# virtual methods
817 +.method public addObserver(Ljava/lang/String;)V
818 + .registers 7
819 + .annotation system Ldalvik/annotation/Throws;
820 + value = {
821 + Landroid/os/RemoteException;
823 + .end annotation
825 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
827 + move-result-object v0
829 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
831 + move-result-object v1
833 + :try_start_8
834 + const-string v2, "android.privacy.IPrivacySettingsManager"
836 + invoke-virtual {v0, v2}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
838 + invoke-virtual {v0, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
840 + iget-object v2, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
842 + const/4 v3, 0x6
844 + const/4 v4, 0x0
846 + invoke-interface {v2, v3, v0, v1, v4}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
848 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
849 + :try_end_1a
850 + .catchall {:try_start_8 .. :try_end_1a} :catchall_21
852 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
854 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
856 + return-void
858 + :catchall_21
859 + move-exception v2
861 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
863 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
865 + throw v2
866 +.end method
868 +.method public asBinder()Landroid/os/IBinder;
869 + .registers 2
871 + iget-object v0, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
873 + return-object v0
874 +.end method
876 +.method public deleteSettings(Ljava/lang/String;)Z
877 + .registers 8
878 + .annotation system Ldalvik/annotation/Throws;
879 + value = {
880 + Landroid/os/RemoteException;
882 + .end annotation
884 + const/4 v2, 0x0
886 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
888 + move-result-object v0
890 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
892 + move-result-object v1
894 + :try_start_9
895 + const-string v3, "android.privacy.IPrivacySettingsManager"
897 + invoke-virtual {v0, v3}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
899 + invoke-virtual {v0, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
901 + iget-object v3, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
903 + const/4 v4, 0x3
905 + const/4 v5, 0x0
907 + invoke-interface {v3, v4, v0, v1, v5}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
909 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
911 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
912 + :try_end_1e
913 + .catchall {:try_start_9 .. :try_end_1e} :catchall_29
915 + move-result v3
917 + if-eqz v3, :cond_22
919 + const/4 v2, 0x1
921 + :cond_22
922 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
924 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
926 + return v2
928 + :catchall_29
929 + move-exception v3
931 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
933 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
935 + throw v3
936 +.end method
938 +.method public getInterfaceDescriptor()Ljava/lang/String;
939 + .registers 2
941 + const-string v0, "android.privacy.IPrivacySettingsManager"
943 + return-object v0
944 +.end method
946 +.method public getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
947 + .registers 8
948 + .annotation system Ldalvik/annotation/Throws;
949 + value = {
950 + Landroid/os/RemoteException;
952 + .end annotation
954 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
956 + move-result-object v0
958 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
960 + move-result-object v1
962 + :try_start_8
963 + const-string v3, "android.privacy.IPrivacySettingsManager"
965 + invoke-virtual {v0, v3}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
967 + invoke-virtual {v0, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
969 + iget-object v3, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
971 + const/4 v4, 0x1
973 + const/4 v5, 0x0
975 + invoke-interface {v3, v4, v0, v1, v5}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
977 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
979 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
981 + move-result v3
983 + if-eqz v3, :cond_2f
985 + sget-object v3, Landroid/privacy/PrivacySettings;->CREATOR:Landroid/os/Parcelable$Creator;
987 + invoke-interface {v3, v1}, Landroid/os/Parcelable$Creator;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
989 + move-result-object v2
991 + check-cast v2, Landroid/privacy/PrivacySettings;
992 + :try_end_28
993 + .catchall {:try_start_8 .. :try_end_28} :catchall_31
995 + :goto_28
996 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
998 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1000 + return-object v2
1002 + :cond_2f
1003 + const/4 v2, 0x0
1005 + goto :goto_28
1007 + :catchall_31
1008 + move-exception v3
1010 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1012 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1014 + throw v3
1015 +.end method
1017 +.method public getVersion()D
1018 + .registers 8
1019 + .annotation system Ldalvik/annotation/Throws;
1020 + value = {
1021 + Landroid/os/RemoteException;
1023 + .end annotation
1025 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1027 + move-result-object v0
1029 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1031 + move-result-object v1
1033 + :try_start_8
1034 + const-string v4, "android.privacy.IPrivacySettingsManager"
1036 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
1038 + iget-object v4, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
1040 + const/16 v5, 0x8
1042 + const/4 v6, 0x0
1044 + invoke-interface {v4, v5, v0, v1, v6}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1046 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
1048 + invoke-virtual {v1}, Landroid/os/Parcel;->readDouble()D
1049 + :try_end_1b
1050 + .catchall {:try_start_8 .. :try_end_1b} :catchall_23
1052 + move-result-wide v2
1054 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1056 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1058 + return-wide v2
1060 + :catchall_23
1061 + move-exception v4
1063 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1065 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1067 + throw v4
1068 +.end method
1070 +.method public notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
1071 + .registers 10
1072 + .annotation system Ldalvik/annotation/Throws;
1073 + value = {
1074 + Landroid/os/RemoteException;
1076 + .end annotation
1078 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1080 + move-result-object v0
1082 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1084 + move-result-object v1
1086 + :try_start_8
1087 + const-string v2, "android.privacy.IPrivacySettingsManager"
1089 + invoke-virtual {v0, v2}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
1091 + invoke-virtual {v0, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
1093 + invoke-virtual {v0, p2}, Landroid/os/Parcel;->writeByte(B)V
1095 + invoke-virtual {v0, p3}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
1097 + invoke-virtual {v0, p4}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
1099 + iget-object v2, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
1101 + const/4 v3, 0x4
1103 + const/4 v4, 0x0
1105 + invoke-interface {v2, v3, v0, v1, v4}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1107 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
1108 + :try_end_23
1109 + .catchall {:try_start_8 .. :try_end_23} :catchall_2a
1111 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1113 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1115 + return-void
1117 + :catchall_2a
1118 + move-exception v2
1120 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1122 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1124 + throw v2
1125 +.end method
1127 +.method public purgeSettings()Z
1128 + .registers 7
1129 + .annotation system Ldalvik/annotation/Throws;
1130 + value = {
1131 + Landroid/os/RemoteException;
1133 + .end annotation
1135 + const/4 v2, 0x0
1137 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1139 + move-result-object v0
1141 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1143 + move-result-object v1
1145 + :try_start_9
1146 + const-string v3, "android.privacy.IPrivacySettingsManager"
1148 + invoke-virtual {v0, v3}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
1150 + iget-object v3, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
1152 + const/4 v4, 0x7
1154 + const/4 v5, 0x0
1156 + invoke-interface {v3, v4, v0, v1, v5}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1158 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
1160 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
1161 + :try_end_1b
1162 + .catchall {:try_start_9 .. :try_end_1b} :catchall_26
1164 + move-result v3
1166 + if-eqz v3, :cond_1f
1168 + const/4 v2, 0x1
1170 + :cond_1f
1171 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1173 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1175 + return v2
1177 + :catchall_26
1178 + move-exception v3
1180 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1182 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1184 + throw v3
1185 +.end method
1187 +.method public registerObservers()V
1188 + .registers 6
1189 + .annotation system Ldalvik/annotation/Throws;
1190 + value = {
1191 + Landroid/os/RemoteException;
1193 + .end annotation
1195 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1197 + move-result-object v0
1199 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1201 + move-result-object v1
1203 + :try_start_8
1204 + const-string v2, "android.privacy.IPrivacySettingsManager"
1206 + invoke-virtual {v0, v2}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
1208 + iget-object v2, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
1210 + const/4 v3, 0x5
1212 + const/4 v4, 0x0
1214 + invoke-interface {v2, v3, v0, v1, v4}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1216 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
1217 + :try_end_17
1218 + .catchall {:try_start_8 .. :try_end_17} :catchall_1e
1220 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1222 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1224 + return-void
1226 + :catchall_1e
1227 + move-exception v2
1229 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1231 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1233 + throw v2
1234 +.end method
1236 +.method public saveSettings(Landroid/privacy/PrivacySettings;)Z
1237 + .registers 9
1238 + .annotation system Ldalvik/annotation/Throws;
1239 + value = {
1240 + Landroid/os/RemoteException;
1242 + .end annotation
1244 + const/4 v2, 0x1
1246 + const/4 v3, 0x0
1248 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1250 + move-result-object v0
1252 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1254 + move-result-object v1
1256 + :try_start_a
1257 + const-string v4, "android.privacy.IPrivacySettingsManager"
1259 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
1261 + if-eqz p1, :cond_30
1263 + const/4 v4, 0x1
1265 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInt(I)V
1267 + const/4 v4, 0x0
1269 + invoke-virtual {p1, v0, v4}, Landroid/privacy/PrivacySettings;->writeToParcel(Landroid/os/Parcel;I)V
1271 + :goto_19
1272 + iget-object v4, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
1274 + const/4 v5, 0x2
1276 + const/4 v6, 0x0
1278 + invoke-interface {v4, v5, v0, v1, v6}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1280 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
1282 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
1283 + :try_end_26
1284 + .catchall {:try_start_a .. :try_end_26} :catchall_35
1286 + move-result v4
1288 + if-eqz v4, :cond_3d
1290 + :goto_29
1291 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1293 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1295 + return v2
1297 + :cond_30
1298 + const/4 v4, 0x0
1300 + :try_start_31
1301 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInt(I)V
1302 + :try_end_34
1303 + .catchall {:try_start_31 .. :try_end_34} :catchall_35
1305 + goto :goto_19
1307 + :catchall_35
1308 + move-exception v3
1310 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1312 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1314 + throw v3
1316 + :cond_3d
1317 + move v2, v3
1319 + goto :goto_29
1320 +.end method
1322 +.method public setBootCompleted()V
1323 + .registers 6
1324 + .annotation system Ldalvik/annotation/Throws;
1325 + value = {
1326 + Landroid/os/RemoteException;
1328 + .end annotation
1330 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1332 + move-result-object v0
1334 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1336 + move-result-object v1
1338 + :try_start_8
1339 + const-string v2, "android.privacy.IPrivacySettingsManager"
1341 + invoke-virtual {v0, v2}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
1343 + iget-object v2, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
1345 + const/16 v3, 0xb
1347 + const/4 v4, 0x0
1349 + invoke-interface {v2, v3, v0, v1, v4}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1351 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
1352 + :try_end_18
1353 + .catchall {:try_start_8 .. :try_end_18} :catchall_1f
1355 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1357 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1359 + return-void
1361 + :catchall_1f
1362 + move-exception v2
1364 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1366 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1368 + throw v2
1369 +.end method
1371 +.method public setEnabled(Z)Z
1372 + .registers 9
1373 + .annotation system Ldalvik/annotation/Throws;
1374 + value = {
1375 + Landroid/os/RemoteException;
1377 + .end annotation
1379 + const/4 v2, 0x1
1381 + const/4 v3, 0x0
1383 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1385 + move-result-object v0
1387 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1389 + move-result-object v1
1391 + :try_start_a
1392 + const-string v4, "android.privacy.IPrivacySettingsManager"
1394 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
1396 + if-eqz p1, :cond_2d
1398 + move v4, v2
1400 + :goto_12
1401 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInt(I)V
1403 + iget-object v4, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
1405 + const/16 v5, 0x9
1407 + const/4 v6, 0x0
1409 + invoke-interface {v4, v5, v0, v1, v6}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1411 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
1413 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
1414 + :try_end_23
1415 + .catchall {:try_start_a .. :try_end_23} :catchall_31
1417 + move-result v4
1419 + if-eqz v4, :cond_2f
1421 + :goto_26
1422 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1424 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1426 + return v2
1428 + :cond_2d
1429 + move v4, v3
1431 + goto :goto_12
1433 + :cond_2f
1434 + move v2, v3
1436 + goto :goto_26
1438 + :catchall_31
1439 + move-exception v3
1441 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1443 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1445 + throw v3
1446 +.end method
1448 +.method public setNotificationsEnabled(Z)Z
1449 + .registers 9
1450 + .annotation system Ldalvik/annotation/Throws;
1451 + value = {
1452 + Landroid/os/RemoteException;
1454 + .end annotation
1456 + const/4 v2, 0x1
1458 + const/4 v3, 0x0
1460 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1462 + move-result-object v0
1464 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1466 + move-result-object v1
1468 + :try_start_a
1469 + const-string v4, "android.privacy.IPrivacySettingsManager"
1471 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
1473 + if-eqz p1, :cond_2d
1475 + move v4, v2
1477 + :goto_12
1478 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInt(I)V
1480 + iget-object v4, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
1482 + const/16 v5, 0xa
1484 + const/4 v6, 0x0
1486 + invoke-interface {v4, v5, v0, v1, v6}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1488 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
1490 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
1491 + :try_end_23
1492 + .catchall {:try_start_a .. :try_end_23} :catchall_31
1494 + move-result v4
1496 + if-eqz v4, :cond_2f
1498 + :goto_26
1499 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1501 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1503 + return v2
1505 + :cond_2d
1506 + move v4, v3
1508 + goto :goto_12
1510 + :cond_2f
1511 + move v2, v3
1513 + goto :goto_26
1515 + :catchall_31
1516 + move-exception v3
1518 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1520 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1522 + throw v3
1523 +.end method
1524 diff -Npru stock-framework/smali/android/privacy/IPrivacySettingsManager$Stub.smali pdroid-framework/smali/android/privacy/IPrivacySettingsManager$Stub.smali
1525 --- stock-framework/smali/android/privacy/IPrivacySettingsManager$Stub.smali 1969-12-31 18:00:00.000000000 -0600
1526 +++ pdroid-framework/smali/android/privacy/IPrivacySettingsManager$Stub.smali 2012-11-02 22:30:28.531776104 -0500
1527 @@ -0,0 +1,412 @@
1528 +.class public abstract Landroid/privacy/IPrivacySettingsManager$Stub;
1529 +.super Landroid/os/Binder;
1530 +.source "IPrivacySettingsManager.java"
1532 +# interfaces
1533 +.implements Landroid/privacy/IPrivacySettingsManager;
1536 +# annotations
1537 +.annotation system Ldalvik/annotation/EnclosingClass;
1538 + value = Landroid/privacy/IPrivacySettingsManager;
1539 +.end annotation
1541 +.annotation system Ldalvik/annotation/InnerClass;
1542 + accessFlags = 0x409
1543 + name = "Stub"
1544 +.end annotation
1546 +.annotation system Ldalvik/annotation/MemberClasses;
1547 + value = {
1548 + Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;
1550 +.end annotation
1553 +# static fields
1554 +.field private static final DESCRIPTOR:Ljava/lang/String; = "android.privacy.IPrivacySettingsManager"
1556 +.field static final TRANSACTION_addObserver:I = 0x6
1558 +.field static final TRANSACTION_deleteSettings:I = 0x3
1560 +.field static final TRANSACTION_getSettings:I = 0x1
1562 +.field static final TRANSACTION_getVersion:I = 0x8
1564 +.field static final TRANSACTION_notification:I = 0x4
1566 +.field static final TRANSACTION_purgeSettings:I = 0x7
1568 +.field static final TRANSACTION_registerObservers:I = 0x5
1570 +.field static final TRANSACTION_saveSettings:I = 0x2
1572 +.field static final TRANSACTION_setBootCompleted:I = 0xb
1574 +.field static final TRANSACTION_setEnabled:I = 0x9
1576 +.field static final TRANSACTION_setNotificationsEnabled:I = 0xa
1579 +# direct methods
1580 +.method public constructor <init>()V
1581 + .registers 2
1583 + invoke-direct {p0}, Landroid/os/Binder;-><init>()V
1585 + const-string v0, "android.privacy.IPrivacySettingsManager"
1587 + invoke-virtual {p0, p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->attachInterface(Landroid/os/IInterface;Ljava/lang/String;)V
1589 + return-void
1590 +.end method
1592 +.method public static asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
1593 + .registers 3
1595 + if-nez p0, :cond_4
1597 + const/4 v0, 0x0
1599 + :goto_3
1600 + return-object v0
1602 + :cond_4
1603 + const-string v1, "android.privacy.IPrivacySettingsManager"
1605 + invoke-interface {p0, v1}, Landroid/os/IBinder;->queryLocalInterface(Ljava/lang/String;)Landroid/os/IInterface;
1607 + move-result-object v0
1609 + if-eqz v0, :cond_13
1611 + instance-of v1, v0, Landroid/privacy/IPrivacySettingsManager;
1613 + if-eqz v1, :cond_13
1615 + check-cast v0, Landroid/privacy/IPrivacySettingsManager;
1617 + goto :goto_3
1619 + :cond_13
1620 + new-instance v0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;
1622 + invoke-direct {v0, p0}, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
1624 + goto :goto_3
1625 +.end method
1628 +# virtual methods
1629 +.method public asBinder()Landroid/os/IBinder;
1630 + .registers 1
1632 + return-object p0
1633 +.end method
1635 +.method public onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1636 + .registers 14
1637 + .annotation system Ldalvik/annotation/Throws;
1638 + value = {
1639 + Landroid/os/RemoteException;
1641 + .end annotation
1643 + const/4 v6, 0x0
1645 + const/4 v7, 0x1
1647 + sparse-switch p1, :sswitch_data_10e
1649 + invoke-super {p0, p1, p2, p3, p4}, Landroid/os/Binder;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1651 + move-result v7
1653 + :goto_9
1654 + return v7
1656 + :sswitch_a
1657 + const-string v6, "android.privacy.IPrivacySettingsManager"
1659 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
1661 + goto :goto_9
1663 + :sswitch_10
1664 + const-string v8, "android.privacy.IPrivacySettingsManager"
1666 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1668 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
1670 + move-result-object v0
1672 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
1674 + move-result-object v4
1676 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1678 + if-eqz v4, :cond_29
1680 + invoke-virtual {p3, v7}, Landroid/os/Parcel;->writeInt(I)V
1682 + invoke-virtual {v4, p3, v7}, Landroid/privacy/PrivacySettings;->writeToParcel(Landroid/os/Parcel;I)V
1684 + goto :goto_9
1686 + :cond_29
1687 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
1689 + goto :goto_9
1691 + :sswitch_2d
1692 + const-string v8, "android.privacy.IPrivacySettingsManager"
1694 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1696 + invoke-virtual {p2}, Landroid/os/Parcel;->readInt()I
1698 + move-result v8
1700 + if-eqz v8, :cond_4e
1702 + sget-object v8, Landroid/privacy/PrivacySettings;->CREATOR:Landroid/os/Parcelable$Creator;
1704 + invoke-interface {v8, p2}, Landroid/os/Parcelable$Creator;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
1706 + move-result-object v0
1708 + check-cast v0, Landroid/privacy/PrivacySettings;
1710 + :goto_40
1711 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->saveSettings(Landroid/privacy/PrivacySettings;)Z
1713 + move-result v4
1715 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1717 + if-eqz v4, :cond_4a
1719 + move v6, v7
1721 + :cond_4a
1722 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
1724 + goto :goto_9
1726 + :cond_4e
1727 + const/4 v0, 0x0
1729 + goto :goto_40
1731 + :sswitch_50
1732 + const-string v8, "android.privacy.IPrivacySettingsManager"
1734 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1736 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
1738 + move-result-object v0
1740 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->deleteSettings(Ljava/lang/String;)Z
1742 + move-result v4
1744 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1746 + if-eqz v4, :cond_63
1748 + move v6, v7
1750 + :cond_63
1751 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
1753 + goto :goto_9
1755 + :sswitch_67
1756 + const-string v6, "android.privacy.IPrivacySettingsManager"
1758 + invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1760 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
1762 + move-result-object v0
1764 + invoke-virtual {p2}, Landroid/os/Parcel;->readByte()B
1766 + move-result v1
1768 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
1770 + move-result-object v2
1772 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
1774 + move-result-object v3
1776 + invoke-virtual {p0, v0, v1, v2, v3}, Landroid/privacy/IPrivacySettingsManager$Stub;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
1778 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1780 + goto :goto_9
1782 + :sswitch_83
1783 + const-string v6, "android.privacy.IPrivacySettingsManager"
1785 + invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1787 + invoke-virtual {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;->registerObservers()V
1789 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1791 + goto/16 :goto_9
1793 + :sswitch_90
1794 + const-string v6, "android.privacy.IPrivacySettingsManager"
1796 + invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1798 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
1800 + move-result-object v0
1802 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->addObserver(Ljava/lang/String;)V
1804 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1806 + goto/16 :goto_9
1808 + :sswitch_a1
1809 + const-string v8, "android.privacy.IPrivacySettingsManager"
1811 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1813 + invoke-virtual {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;->purgeSettings()Z
1815 + move-result v4
1817 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1819 + if-eqz v4, :cond_b0
1821 + move v6, v7
1823 + :cond_b0
1824 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
1826 + goto/16 :goto_9
1828 + :sswitch_b5
1829 + const-string v6, "android.privacy.IPrivacySettingsManager"
1831 + invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1833 + invoke-virtual {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;->getVersion()D
1835 + move-result-wide v4
1837 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1839 + invoke-virtual {p3, v4, v5}, Landroid/os/Parcel;->writeDouble(D)V
1841 + goto/16 :goto_9
1843 + :sswitch_c6
1844 + const-string v8, "android.privacy.IPrivacySettingsManager"
1846 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1848 + invoke-virtual {p2}, Landroid/os/Parcel;->readInt()I
1850 + move-result v8
1852 + if-eqz v8, :cond_e1
1854 + move v0, v7
1856 + :goto_d2
1857 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->setEnabled(Z)Z
1859 + move-result v4
1861 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1863 + if-eqz v4, :cond_dc
1865 + move v6, v7
1867 + :cond_dc
1868 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
1870 + goto/16 :goto_9
1872 + :cond_e1
1873 + move v0, v6
1875 + goto :goto_d2
1877 + :sswitch_e3
1878 + const-string v8, "android.privacy.IPrivacySettingsManager"
1880 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1882 + invoke-virtual {p2}, Landroid/os/Parcel;->readInt()I
1884 + move-result v8
1886 + if-eqz v8, :cond_fe
1888 + move v0, v7
1890 + :goto_ef
1891 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->setNotificationsEnabled(Z)Z
1893 + move-result v4
1895 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1897 + if-eqz v4, :cond_f9
1899 + move v6, v7
1901 + :cond_f9
1902 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
1904 + goto/16 :goto_9
1906 + :cond_fe
1907 + move v0, v6
1909 + goto :goto_ef
1911 + :sswitch_100
1912 + const-string v6, "android.privacy.IPrivacySettingsManager"
1914 + invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1916 + invoke-virtual {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;->setBootCompleted()V
1918 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1920 + goto/16 :goto_9
1922 + nop
1924 + :sswitch_data_10e
1925 + .sparse-switch
1926 + 0x1 -> :sswitch_10
1927 + 0x2 -> :sswitch_2d
1928 + 0x3 -> :sswitch_50
1929 + 0x4 -> :sswitch_67
1930 + 0x5 -> :sswitch_83
1931 + 0x6 -> :sswitch_90
1932 + 0x7 -> :sswitch_a1
1933 + 0x8 -> :sswitch_b5
1934 + 0x9 -> :sswitch_c6
1935 + 0xa -> :sswitch_e3
1936 + 0xb -> :sswitch_100
1937 + 0x5f4e5446 -> :sswitch_a
1938 + .end sparse-switch
1939 +.end method
1940 diff -Npru stock-framework/smali/android/privacy/PrivacyFileObserver.smali pdroid-framework/smali/android/privacy/PrivacyFileObserver.smali
1941 --- stock-framework/smali/android/privacy/PrivacyFileObserver.smali 1969-12-31 18:00:00.000000000 -0600
1942 +++ pdroid-framework/smali/android/privacy/PrivacyFileObserver.smali 2012-11-02 22:30:28.531776104 -0500
1943 @@ -0,0 +1,217 @@
1944 +.class public Landroid/privacy/PrivacyFileObserver;
1945 +.super Landroid/os/FileObserver;
1946 +.source "PrivacyFileObserver.java"
1949 +# static fields
1950 +.field public static final PACKAGE_PATH_INDEX:I = 0x3
1952 +.field public static final TAG:Ljava/lang/String; = "PrivacyFileObserver"
1955 +# instance fields
1956 +.field public absolutePath:Ljava/lang/String;
1958 +.field public children:Ljava/util/HashMap;
1959 + .annotation system Ldalvik/annotation/Signature;
1960 + value = {
1961 + "Ljava/util/HashMap",
1962 + "<",
1963 + "Ljava/lang/String;",
1964 + "Landroid/privacy/PrivacyFileObserver;",
1965 + ">;"
1967 + .end annotation
1968 +.end field
1970 +.field private pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
1973 +# direct methods
1974 +.method public constructor <init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
1975 + .registers 12
1977 + const/16 v8, 0xfff
1979 + invoke-direct {p0, p1, v8}, Landroid/os/FileObserver;-><init>(Ljava/lang/String;I)V
1981 + iput-object p1, p0, Landroid/privacy/PrivacyFileObserver;->absolutePath:Ljava/lang/String;
1983 + iput-object p2, p0, Landroid/privacy/PrivacyFileObserver;->pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
1985 + new-instance v8, Ljava/util/HashMap;
1987 + invoke-direct {v8}, Ljava/util/HashMap;-><init>()V
1989 + iput-object v8, p0, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap;
1991 + new-instance v7, Ljava/io/File;
1993 + iget-object v8, p0, Landroid/privacy/PrivacyFileObserver;->absolutePath:Ljava/lang/String;
1995 + invoke-direct {v7, v8}, Ljava/io/File;-><init>(Ljava/lang/String;)V
1997 + invoke-virtual {v7}, Ljava/io/File;->isDirectory()Z
1999 + move-result v8
2001 + if-eqz v8, :cond_42
2003 + invoke-virtual {v7}, Ljava/io/File;->listFiles()[Ljava/io/File;
2005 + move-result-object v6
2007 + move-object v0, v6
2009 + array-length v4, v0
2011 + const/4 v3, 0x0
2013 + :goto_24
2014 + if-ge v3, v4, :cond_42
2016 + aget-object v2, v0, v3
2018 + invoke-virtual {v2}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
2020 + move-result-object v5
2022 + new-instance v1, Landroid/privacy/PrivacyFileObserver;
2024 + invoke-direct {v1, v5, p2}, Landroid/privacy/PrivacyFileObserver;-><init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
2026 + iget-object v8, p0, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap;
2028 + invoke-virtual {v8, v5, v1}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
2030 + invoke-virtual {v2}, Ljava/io/File;->isFile()Z
2032 + move-result v8
2034 + if-eqz v8, :cond_3f
2036 + invoke-virtual {v1}, Landroid/privacy/PrivacyFileObserver;->startWatching()V
2038 + :cond_3f
2039 + add-int/lit8 v3, v3, 0x1
2041 + goto :goto_24
2043 + :cond_42
2044 + return-void
2045 +.end method
2048 +# virtual methods
2049 +.method public addObserver(Ljava/lang/String;)V
2050 + .registers 6
2052 + new-instance v2, Ljava/lang/StringBuilder;
2054 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
2056 + iget-object v3, p0, Landroid/privacy/PrivacyFileObserver;->absolutePath:Ljava/lang/String;
2058 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2060 + move-result-object v2
2062 + const-string v3, "/"
2064 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2066 + move-result-object v2
2068 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2070 + move-result-object v2
2072 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2074 + move-result-object v1
2076 + iget-object v2, p0, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap;
2078 + invoke-virtual {v2, v1}, Ljava/util/HashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
2080 + new-instance v0, Landroid/privacy/PrivacyFileObserver;
2082 + iget-object v2, p0, Landroid/privacy/PrivacyFileObserver;->pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
2084 + invoke-direct {v0, v1, v2}, Landroid/privacy/PrivacyFileObserver;-><init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
2086 + iget-object v2, p0, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap;
2088 + invoke-virtual {v2, v1, v0}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
2090 + return-void
2091 +.end method
2093 +.method public onEvent(ILjava/lang/String;)V
2094 + .registers 11
2096 + and-int/lit8 v4, p1, 0x1
2098 + if-eqz v4, :cond_34
2100 + new-instance v3, Ljava/util/StringTokenizer;
2102 + iget-object v4, p0, Landroid/privacy/PrivacyFileObserver;->absolutePath:Ljava/lang/String;
2104 + const-string v5, "/"
2106 + invoke-direct {v3, v4, v5}, Ljava/util/StringTokenizer;-><init>(Ljava/lang/String;Ljava/lang/String;)V
2108 + const/4 v0, 0x0
2110 + :goto_e
2111 + const/4 v4, 0x3
2113 + if-ge v0, v4, :cond_1d
2115 + invoke-virtual {v3}, Ljava/util/StringTokenizer;->hasMoreElements()Z
2117 + move-result v4
2119 + if-eqz v4, :cond_1d
2121 + invoke-virtual {v3}, Ljava/util/StringTokenizer;->nextToken()Ljava/lang/String;
2123 + add-int/lit8 v0, v0, 0x1
2125 + goto :goto_e
2127 + :cond_1d
2128 + invoke-virtual {v3}, Ljava/util/StringTokenizer;->nextToken()Ljava/lang/String;
2130 + move-result-object v2
2132 + iget-object v4, p0, Landroid/privacy/PrivacyFileObserver;->pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
2134 + invoke-virtual {v4, v2}, Landroid/privacy/PrivacySettingsManagerService;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
2136 + move-result-object v1
2138 + iget-object v4, p0, Landroid/privacy/PrivacyFileObserver;->pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
2140 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getSystemLogsSetting()B
2142 + move-result v5
2144 + const-string/jumbo v6, "systemLogs"
2146 + const/4 v7, 0x0
2148 + invoke-virtual {v4, v2, v5, v6, v7}, Landroid/privacy/PrivacySettingsManagerService;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
2150 + :cond_34
2151 + return-void
2152 +.end method
2154 +.method public startWatching()V
2155 + .registers 1
2157 + invoke-super {p0}, Landroid/os/FileObserver;->startWatching()V
2159 + return-void
2160 +.end method
2161 diff -Npru stock-framework/smali/android/privacy/PrivacyPersistenceAdapter.smali pdroid-framework/smali/android/privacy/PrivacyPersistenceAdapter.smali
2162 --- stock-framework/smali/android/privacy/PrivacyPersistenceAdapter.smali 1969-12-31 18:00:00.000000000 -0600
2163 +++ pdroid-framework/smali/android/privacy/PrivacyPersistenceAdapter.smali 2012-11-02 22:30:28.539776149 -0500
2164 @@ -0,0 +1,4631 @@
2165 +.class public Landroid/privacy/PrivacyPersistenceAdapter;
2166 +.super Ljava/lang/Object;
2167 +.source "PrivacyPersistenceAdapter.java"
2170 +# static fields
2171 +.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) );"
2173 +.field private static final CREATE_TABLE_MAP:Ljava/lang/String; = "CREATE TABLE IF NOT EXISTS map ( name TEXT PRIMARY KEY, value TEXT );"
2175 +.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);"
2177 +.field private static final DATABASE_FIELDS:[Ljava/lang/String; = null
2179 +.field private static final DATABASE_FILE:Ljava/lang/String; = "/data/system/privacy.db"
2181 +.field private static final DATABASE_VERSION:I = 0x3
2183 +.field public static final DUMMY_UID:I = -0x1
2185 +.field private static final INSERT_ENABLED:Ljava/lang/String; = "INSERT OR REPLACE INTO map (name, value) VALUES (\"enabled\", \"1\");"
2187 +.field private static final INSERT_NOTIFICATIONS_ENABLED:Ljava/lang/String; = "INSERT OR REPLACE INTO map (name, value) VALUES (\"notifications_enabled\", \"1\");"
2189 +.field private static final INSERT_VERSION:Ljava/lang/String; = "INSERT OR REPLACE INTO map (name, value) VALUES (\"db_version\", 3);"
2191 +.field private static final RETRY_QUERY_COUNT:I = 0x5
2193 +.field public static final SETTINGS_DIRECTORY:Ljava/lang/String; = "/data/system/privacy"
2195 +.field public static final SETTING_DB_VERSION:Ljava/lang/String; = "db_version"
2197 +.field public static final SETTING_ENABLED:Ljava/lang/String; = "enabled"
2199 +.field public static final SETTING_NOTIFICATIONS_ENABLED:Ljava/lang/String; = "notifications_enabled"
2201 +.field private static final TABLE_ALLOWED_CONTACTS:Ljava/lang/String; = "allowed_contacts"
2203 +.field private static final TABLE_MAP:Ljava/lang/String; = "map"
2205 +.field private static final TABLE_SETTINGS:Ljava/lang/String; = "settings"
2207 +.field private static final TABLE_VERSION:Ljava/lang/String; = "version"
2209 +.field private static final TAG:Ljava/lang/String; = "PrivacyPersistenceAdapter"
2211 +.field public static final VALUE_FALSE:Ljava/lang/String; = "0"
2213 +.field public static final VALUE_TRUE:Ljava/lang/String; = "1"
2215 +.field public static readingThreads:Ljava/lang/Integer;
2218 +# instance fields
2219 +.field private context:Landroid/content/Context;
2221 +.field private db:Landroid/database/sqlite/SQLiteDatabase;
2224 +# direct methods
2225 +.method static constructor <clinit>()V
2226 + .registers 3
2228 + const/4 v2, 0x0
2230 + invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
2232 + move-result-object v0
2234 + sput-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2236 + const/16 v0, 0x23
2238 + new-array v0, v0, [Ljava/lang/String;
2240 + const-string v1, "_id"
2242 + aput-object v1, v0, v2
2244 + const/4 v1, 0x1
2246 + const-string/jumbo v2, "packageName"
2248 + aput-object v2, v0, v1
2250 + const/4 v1, 0x2
2252 + const-string/jumbo v2, "uid"
2254 + aput-object v2, v0, v1
2256 + const/4 v1, 0x3
2258 + const-string v2, "deviceIdSetting"
2260 + aput-object v2, v0, v1
2262 + const/4 v1, 0x4
2264 + const-string v2, "deviceId"
2266 + aput-object v2, v0, v1
2268 + const/4 v1, 0x5
2270 + const-string v2, "line1NumberSetting"
2272 + aput-object v2, v0, v1
2274 + const/4 v1, 0x6
2276 + const-string v2, "line1Number"
2278 + aput-object v2, v0, v1
2280 + const/4 v1, 0x7
2282 + const-string v2, "locationGpsSetting"
2284 + aput-object v2, v0, v1
2286 + const/16 v1, 0x8
2288 + const-string v2, "locationGpsLat"
2290 + aput-object v2, v0, v1
2292 + const/16 v1, 0x9
2294 + const-string v2, "locationGpsLon"
2296 + aput-object v2, v0, v1
2298 + const/16 v1, 0xa
2300 + const-string v2, "locationNetworkSetting"
2302 + aput-object v2, v0, v1
2304 + const/16 v1, 0xb
2306 + const-string v2, "locationNetworkLat"
2308 + aput-object v2, v0, v1
2310 + const/16 v1, 0xc
2312 + const-string v2, "locationNetworkLon"
2314 + aput-object v2, v0, v1
2316 + const/16 v1, 0xd
2318 + const-string/jumbo v2, "networkInfoSetting"
2320 + aput-object v2, v0, v1
2322 + const/16 v1, 0xe
2324 + const-string/jumbo v2, "simInfoSetting"
2326 + aput-object v2, v0, v1
2328 + const/16 v1, 0xf
2330 + const-string/jumbo v2, "simSerialNumberSetting"
2332 + aput-object v2, v0, v1
2334 + const/16 v1, 0x10
2336 + const-string/jumbo v2, "simSerialNumber"
2338 + aput-object v2, v0, v1
2340 + const/16 v1, 0x11
2342 + const-string/jumbo v2, "subscriberIdSetting"
2344 + aput-object v2, v0, v1
2346 + const/16 v1, 0x12
2348 + const-string/jumbo v2, "subscriberId"
2350 + aput-object v2, v0, v1
2352 + const/16 v1, 0x13
2354 + const-string v2, "accountsSetting"
2356 + aput-object v2, v0, v1
2358 + const/16 v1, 0x14
2360 + const-string v2, "accountsAuthTokensSetting"
2362 + aput-object v2, v0, v1
2364 + const/16 v1, 0x15
2366 + const-string/jumbo v2, "outgoingCallsSetting"
2368 + aput-object v2, v0, v1
2370 + const/16 v1, 0x16
2372 + const-string v2, "incomingCallsSetting"
2374 + aput-object v2, v0, v1
2376 + const/16 v1, 0x17
2378 + const-string v2, "contactsSetting"
2380 + aput-object v2, v0, v1
2382 + const/16 v1, 0x18
2384 + const-string v2, "calendarSetting"
2386 + aput-object v2, v0, v1
2388 + const/16 v1, 0x19
2390 + const-string/jumbo v2, "mmsSetting"
2392 + aput-object v2, v0, v1
2394 + const/16 v1, 0x1a
2396 + const-string/jumbo v2, "smsSetting"
2398 + aput-object v2, v0, v1
2400 + const/16 v1, 0x1b
2402 + const-string v2, "callLogSetting"
2404 + aput-object v2, v0, v1
2406 + const/16 v1, 0x1c
2408 + const-string v2, "bookmarksSetting"
2410 + aput-object v2, v0, v1
2412 + const/16 v1, 0x1d
2414 + const-string/jumbo v2, "systemLogsSetting"
2416 + aput-object v2, v0, v1
2418 + const/16 v1, 0x1e
2420 + const-string v2, "externalStorageSetting"
2422 + aput-object v2, v0, v1
2424 + const/16 v1, 0x1f
2426 + const-string v2, "cameraSetting"
2428 + aput-object v2, v0, v1
2430 + const/16 v1, 0x20
2432 + const-string/jumbo v2, "recordAudioSetting"
2434 + aput-object v2, v0, v1
2436 + const/16 v1, 0x21
2438 + const-string/jumbo v2, "notificationSetting"
2440 + aput-object v2, v0, v1
2442 + const/16 v1, 0x22
2444 + const-string v2, "intentBootCompletedSetting"
2446 + aput-object v2, v0, v1
2448 + sput-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->DATABASE_FIELDS:[Ljava/lang/String;
2450 + return-void
2451 +.end method
2453 +.method public constructor <init>(Landroid/content/Context;)V
2454 + .registers 6
2456 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
2458 + iput-object p1, p0, Landroid/privacy/PrivacyPersistenceAdapter;->context:Landroid/content/Context;
2460 + new-instance v2, Ljava/io/File;
2462 + const-string v3, "/data/system/"
2464 + invoke-direct {v2, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
2466 + invoke-virtual {v2}, Ljava/io/File;->canWrite()Z
2468 + move-result v0
2470 + if-eqz v0, :cond_3c
2472 + new-instance v2, Ljava/io/File;
2474 + const-string v3, "/data/system/privacy.db"
2476 + invoke-direct {v2, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
2478 + invoke-virtual {v2}, Ljava/io/File;->exists()Z
2480 + move-result v2
2482 + if-nez v2, :cond_22
2484 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->createDatabase()V
2486 + :cond_22
2487 + new-instance v2, Ljava/io/File;
2489 + const-string v3, "/data/system/privacy"
2491 + invoke-direct {v2, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
2493 + invoke-virtual {v2}, Ljava/io/File;->exists()Z
2495 + move-result v2
2497 + if-nez v2, :cond_32
2499 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->createSettingsDir()V
2501 + :cond_32
2502 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getDbVersion()I
2504 + move-result v1
2506 + const/4 v2, 0x3
2508 + if-ge v1, v2, :cond_3c
2510 + invoke-direct {p0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->upgradeDatabase(I)V
2512 + :cond_3c
2513 + return-void
2514 +.end method
2516 +.method private declared-synchronized createDatabase()V
2517 + .registers 6
2519 + monitor-enter p0
2521 + :try_start_1
2522 + const-string v2, "PrivacyPersistenceAdapter"
2524 + const-string v3, "createDatabase - creating privacy database file"
2526 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
2527 + :try_end_8
2528 + .catchall {:try_start_1 .. :try_end_8} :catchall_4c
2530 + :try_start_8
2531 + const-string v2, "/data/system/privacy.db"
2533 + const/4 v3, 0x0
2535 + const/high16 v4, 0x1000
2537 + invoke-static {v2, v3, v4}, Landroid/database/sqlite/SQLiteDatabase;->openDatabase(Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;I)Landroid/database/sqlite/SQLiteDatabase;
2539 + move-result-object v0
2541 + const-string v2, "PrivacyPersistenceAdapter"
2543 + const-string v3, "createDatabase - creating privacy database"
2545 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
2547 + 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);"
2549 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
2551 + const-string v2, "CREATE TABLE IF NOT EXISTS allowed_contacts ( settings_id, contact_id, PRIMARY KEY(settings_id, contact_id) );"
2553 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
2555 + const-string v2, "CREATE TABLE IF NOT EXISTS map ( name TEXT PRIMARY KEY, value TEXT );"
2557 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
2559 + const-string v2, "INSERT OR REPLACE INTO map (name, value) VALUES (\"db_version\", 3);"
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 (\"enabled\", \"1\");"
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 (\"notifications_enabled\", \"1\");"
2569 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
2571 + if-eqz v0, :cond_41
2573 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
2575 + move-result v2
2577 + if-eqz v2, :cond_41
2579 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
2580 + :try_end_41
2581 + .catchall {:try_start_8 .. :try_end_41} :catchall_4c
2582 + .catch Landroid/database/SQLException; {:try_start_8 .. :try_end_41} :catch_43
2584 + :cond_41
2585 + :goto_41
2586 + monitor-exit p0
2588 + return-void
2590 + :catch_43
2591 + move-exception v1
2593 + :try_start_44
2594 + const-string v2, "PrivacyPersistenceAdapter"
2596 + const-string v3, "createDatabase - failed to create privacy database"
2598 + invoke-static {v2, v3, v1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
2599 + :try_end_4b
2600 + .catchall {:try_start_44 .. :try_end_4b} :catchall_4c
2602 + goto :goto_41
2604 + :catchall_4c
2605 + move-exception v2
2607 + monitor-exit p0
2609 + throw v2
2610 +.end method
2612 +.method private declared-synchronized createSettingsDir()V
2613 + .registers 4
2615 + monitor-enter p0
2617 + :try_start_1
2618 + new-instance v0, Ljava/io/File;
2620 + const-string v1, "/data/system/privacy/"
2622 + invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
2624 + invoke-virtual {v0}, Ljava/io/File;->mkdirs()Z
2626 + const/4 v1, 0x1
2628 + const/4 v2, 0x0
2630 + invoke-virtual {v0, v1, v2}, Ljava/io/File;->setReadable(ZZ)Z
2632 + const/4 v1, 0x1
2634 + const/4 v2, 0x0
2636 + invoke-virtual {v0, v1, v2}, Ljava/io/File;->setExecutable(ZZ)Z
2637 + :try_end_15
2638 + .catchall {:try_start_1 .. :try_end_15} :catchall_17
2640 + monitor-exit p0
2642 + return-void
2644 + :catchall_17
2645 + move-exception v1
2647 + monitor-exit p0
2649 + throw v1
2650 +.end method
2652 +.method private deleteRecursive(Ljava/io/File;)V
2653 + .registers 7
2655 + invoke-virtual {p1}, Ljava/io/File;->isDirectory()Z
2657 + move-result v4
2659 + if-eqz v4, :cond_16
2661 + invoke-virtual {p1}, Ljava/io/File;->listFiles()[Ljava/io/File;
2663 + move-result-object v0
2665 + array-length v3, v0
2667 + const/4 v2, 0x0
2669 + :goto_c
2670 + if-ge v2, v3, :cond_16
2672 + aget-object v1, v0, v2
2674 + invoke-direct {p0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteRecursive(Ljava/io/File;)V
2676 + add-int/lit8 v2, v2, 0x1
2678 + goto :goto_c
2680 + :cond_16
2681 + invoke-virtual {p1}, Ljava/io/File;->delete()Z
2683 + return-void
2684 +.end method
2686 +.method private getDbVersion()I
2687 + .registers 9
2689 + const/4 v4, 0x1
2691 + const/4 v3, -0x1
2693 + sget-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2695 + sget-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2697 + invoke-virtual {v6}, Ljava/lang/Integer;->intValue()I
2699 + move-result v6
2701 + add-int/lit8 v6, v6, 0x1
2703 + invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
2705 + move-result-object v6
2707 + sput-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2709 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
2711 + move-result-object v1
2713 + :try_start_16
2714 + const-string v6, "SELECT name FROM sqlite_master WHERE type=\'table\' AND name=\'map\';"
2716 + invoke-direct {p0, v1, v6}, Landroid/privacy/PrivacyPersistenceAdapter;->rawQuery(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;)Landroid/database/Cursor;
2718 + move-result-object v0
2720 + if-eqz v0, :cond_5e
2722 + invoke-interface {v0}, Landroid/database/Cursor;->getCount()I
2724 + move-result v6
2726 + if-nez v6, :cond_25
2728 + const/4 v3, 0x1
2730 + :cond_25
2731 + invoke-interface {v0}, Landroid/database/Cursor;->close()V
2733 + sget-object v7, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2735 + monitor-enter v7
2736 + :try_end_2b
2737 + .catch Ljava/lang/Exception; {:try_start_16 .. :try_end_2b} :catch_55
2739 + :try_start_2b
2740 + sget-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2742 + sget-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2744 + invoke-virtual {v6}, Ljava/lang/Integer;->intValue()I
2746 + move-result v6
2748 + add-int/lit8 v6, v6, -0x1
2750 + invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
2752 + move-result-object v6
2754 + sput-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2756 + sget-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2758 + invoke-virtual {v6}, Ljava/lang/Integer;->intValue()I
2760 + move-result v6
2762 + if-nez v6, :cond_4e
2764 + if-eqz v1, :cond_4e
2766 + invoke-virtual {v1}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
2768 + move-result v6
2770 + if-eqz v6, :cond_4e
2772 + invoke-virtual {v1}, Landroid/database/sqlite/SQLiteDatabase;->close()V
2774 + :cond_4e
2775 + monitor-exit v7
2777 + :goto_4f
2778 + if-ne v3, v4, :cond_66
2780 + :goto_51
2781 + return v3
2783 + :catchall_52
2784 + move-exception v6
2786 + monitor-exit v7
2787 + :try_end_54
2788 + .catchall {:try_start_2b .. :try_end_54} :catchall_52
2790 + :try_start_54
2791 + throw v6
2792 + :try_end_55
2793 + .catch Ljava/lang/Exception; {:try_start_54 .. :try_end_55} :catch_55
2795 + :catch_55
2796 + move-exception v2
2798 + const-string v6, "PrivacyPersistenceAdapter"
2800 + const-string v7, "getDbVersion - failed to check if table map exists (exception)"
2802 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
2804 + goto :goto_4f
2806 + :cond_5e
2807 + :try_start_5e
2808 + const-string v6, "PrivacyPersistenceAdapter"
2810 + const-string v7, "getDbVersion - failed to check if table map exists (cursor is null)"
2812 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
2813 + :try_end_65
2814 + .catch Ljava/lang/Exception; {:try_start_5e .. :try_end_65} :catch_55
2816 + goto :goto_4f
2818 + :cond_66
2819 + const-string v6, "db_version"
2821 + invoke-virtual {p0, v6}, Landroid/privacy/PrivacyPersistenceAdapter;->getValue(Ljava/lang/String;)Ljava/lang/String;
2823 + move-result-object v5
2825 + if-nez v5, :cond_70
2827 + move v3, v4
2829 + goto :goto_51
2831 + :cond_70
2832 + :try_start_70
2833 + invoke-static {v5}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
2834 + :try_end_73
2835 + .catch Ljava/lang/Exception; {:try_start_70 .. :try_end_73} :catch_76
2837 + move-result v4
2839 + move v3, v4
2841 + goto :goto_51
2843 + :catch_76
2844 + move-exception v2
2846 + const-string v6, "PrivacyPersistenceAdapter"
2848 + const-string v7, "getDbVersion - failed to parse database version; returning 1"
2850 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
2852 + move v3, v4
2854 + goto :goto_51
2855 +.end method
2857 +.method private declared-synchronized getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
2858 + .registers 4
2860 + monitor-enter p0
2862 + :try_start_1
2863 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2865 + if-eqz v0, :cond_11
2867 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2869 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
2871 + move-result v0
2873 + if-eqz v0, :cond_11
2875 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2876 + :try_end_f
2877 + .catchall {:try_start_1 .. :try_end_f} :catchall_1e
2879 + :goto_f
2880 + monitor-exit p0
2882 + return-object v0
2884 + :cond_11
2885 + :try_start_11
2886 + const-string v0, "/data/system/privacy.db"
2888 + const/4 v1, 0x0
2890 + const/4 v2, 0x1
2892 + invoke-static {v0, v1, v2}, Landroid/database/sqlite/SQLiteDatabase;->openDatabase(Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;I)Landroid/database/sqlite/SQLiteDatabase;
2894 + move-result-object v0
2896 + iput-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2898 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2899 + :try_end_1d
2900 + .catchall {:try_start_11 .. :try_end_1d} :catchall_1e
2902 + goto :goto_f
2904 + :catchall_1e
2905 + move-exception v0
2907 + monitor-exit p0
2909 + throw v0
2910 +.end method
2912 +.method private declared-synchronized getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
2913 + .registers 4
2915 + monitor-enter p0
2917 + :try_start_1
2918 + new-instance v0, Ljava/io/File;
2920 + const-string v1, "/data/system/privacy.db"
2922 + invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
2924 + invoke-virtual {v0}, Ljava/io/File;->exists()Z
2926 + move-result v0
2928 + if-nez v0, :cond_11
2930 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->createDatabase()V
2932 + :cond_11
2933 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2935 + if-eqz v0, :cond_29
2937 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2939 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
2941 + move-result v0
2943 + if-eqz v0, :cond_29
2945 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2947 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isReadOnly()Z
2949 + move-result v0
2951 + if-nez v0, :cond_29
2953 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2954 + :try_end_27
2955 + .catchall {:try_start_1 .. :try_end_27} :catchall_36
2957 + :goto_27
2958 + monitor-exit p0
2960 + return-object v0
2962 + :cond_29
2963 + :try_start_29
2964 + const-string v0, "/data/system/privacy.db"
2966 + const/4 v1, 0x0
2968 + const/4 v2, 0x0
2970 + invoke-static {v0, v1, v2}, Landroid/database/sqlite/SQLiteDatabase;->openDatabase(Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;I)Landroid/database/sqlite/SQLiteDatabase;
2972 + move-result-object v0
2974 + iput-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2976 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2977 + :try_end_35
2978 + .catchall {:try_start_29 .. :try_end_35} :catchall_36
2980 + goto :goto_27
2982 + :catchall_36
2983 + move-exception v0
2985 + monitor-exit p0
2987 + throw v0
2988 +.end method
2990 +.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;
2991 + .registers 16
2992 + .annotation system Ldalvik/annotation/Throws;
2993 + value = {
2994 + Ljava/lang/Exception;
2996 + .end annotation
2998 + const/4 v0, 0x0
3000 + const/4 v3, 0x0
3002 + const/4 v2, 0x0
3004 + :goto_3
3005 + if-nez v3, :cond_27
3007 + const/4 v4, 0x5
3009 + if-ge v2, v4, :cond_27
3011 + if-eqz v0, :cond_d
3013 + :try_start_a
3014 + invoke-interface {v0}, Landroid/database/Cursor;->close()V
3016 + :cond_d
3017 + 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;
3018 + :try_end_10
3019 + .catch Ljava/lang/IllegalStateException; {:try_start_a .. :try_end_10} :catch_15
3021 + move-result-object v0
3023 + const/4 v3, 0x1
3025 + :goto_12
3026 + add-int/lit8 v2, v2, 0x1
3028 + goto :goto_3
3030 + :catch_15
3031 + move-exception v1
3033 + const/4 v3, 0x0
3035 + if-eqz p1, :cond_22
3037 + invoke-virtual {p1}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3039 + move-result v4
3041 + if-eqz v4, :cond_22
3043 + invoke-virtual {p1}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3045 + :cond_22
3046 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
3048 + move-result-object p1
3050 + goto :goto_12
3052 + :cond_27
3053 + if-nez v3, :cond_32
3055 + new-instance v4, Ljava/lang/Exception;
3057 + const-string/jumbo v5, "query - failed to execute query on the DB"
3059 + invoke-direct {v4, v5}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
3061 + throw v4
3063 + :cond_32
3064 + return-object v0
3065 +.end method
3067 +.method private rawQuery(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;)Landroid/database/Cursor;
3068 + .registers 9
3069 + .annotation system Ldalvik/annotation/Throws;
3070 + value = {
3071 + Ljava/lang/Exception;
3073 + .end annotation
3075 + const/4 v0, 0x0
3077 + const/4 v3, 0x0
3079 + const/4 v2, 0x0
3081 + :goto_3
3082 + if-nez v3, :cond_28
3084 + const/4 v4, 0x5
3086 + if-ge v2, v4, :cond_28
3088 + if-eqz v0, :cond_d
3090 + :try_start_a
3091 + invoke-interface {v0}, Landroid/database/Cursor;->close()V
3093 + :cond_d
3094 + const/4 v4, 0x0
3096 + invoke-virtual {p1, p2, v4}, Landroid/database/sqlite/SQLiteDatabase;->rawQuery(Ljava/lang/String;[Ljava/lang/String;)Landroid/database/Cursor;
3097 + :try_end_11
3098 + .catch Ljava/lang/IllegalStateException; {:try_start_a .. :try_end_11} :catch_16
3100 + move-result-object v0
3102 + const/4 v3, 0x1
3104 + :goto_13
3105 + add-int/lit8 v2, v2, 0x1
3107 + goto :goto_3
3109 + :catch_16
3110 + move-exception v1
3112 + const/4 v3, 0x0
3114 + if-eqz p1, :cond_23
3116 + invoke-virtual {p1}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3118 + move-result v4
3120 + if-eqz v4, :cond_23
3122 + invoke-virtual {p1}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3124 + :cond_23
3125 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
3127 + move-result-object p1
3129 + goto :goto_13
3131 + :cond_28
3132 + if-nez v3, :cond_33
3134 + new-instance v4, Ljava/lang/Exception;
3136 + const-string/jumbo v5, "query - failed to execute query on the DB"
3138 + invoke-direct {v4, v5}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
3140 + throw v4
3142 + :cond_33
3143 + return-object v0
3144 +.end method
3146 +.method private declared-synchronized upgradeDatabase(I)V
3147 + .registers 23
3149 + monitor-enter p0
3151 + :try_start_1
3152 + const-string v17, "PrivacyPersistenceAdapter"
3154 + new-instance v18, Ljava/lang/StringBuilder;
3156 + invoke-direct/range {v18 .. v18}, Ljava/lang/StringBuilder;-><init>()V
3158 + const-string/jumbo v19, "upgradeDatabase - upgrading DB from version "
3160 + invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3162 + move-result-object v18
3164 + move-object/from16 v0, v18
3166 + move/from16 v1, p1
3168 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
3170 + move-result-object v18
3172 + const-string v19, " to "
3174 + invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3176 + move-result-object v18
3178 + const/16 v19, 0x3
3180 + invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
3182 + move-result-object v18
3184 + invoke-virtual/range {v18 .. v18}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3186 + move-result-object v18
3188 + invoke-static/range {v17 .. v18}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
3190 + new-instance v6, Ljava/io/File;
3192 + const-string v17, "/data/system/privacy.db"
3194 + move-object/from16 v0, v17
3196 + invoke-direct {v6, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
3198 + new-instance v5, Ljava/io/File;
3200 + const-string v17, "/data/system/privacy.db.bak"
3202 + move-object/from16 v0, v17
3204 + invoke-direct {v5, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
3205 + :try_end_3c
3206 + .catchall {:try_start_1 .. :try_end_3c} :catchall_66
3208 + :try_start_3c
3209 + invoke-virtual {v5}, Ljava/io/File;->delete()Z
3210 + :try_end_3f
3211 + .catchall {:try_start_3c .. :try_end_3f} :catchall_66
3212 + .catch Ljava/lang/SecurityException; {:try_start_3c .. :try_end_3f} :catch_5c
3214 + :goto_3f
3215 + :try_start_3f
3216 + invoke-static {v6, v5}, Landroid/os/FileUtils;->copyFile(Ljava/io/File;Ljava/io/File;)Z
3218 + invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
3220 + move-result-wide v17
3222 + invoke-virtual {v5}, Ljava/io/File;->lastModified()J
3224 + move-result-wide v19
3226 + sub-long v17, v17, v19
3228 + const-wide/16 v19, 0x7d0
3230 + cmp-long v17, v17, v19
3232 + if-lez v17, :cond_69
3234 + const-string v17, "PrivacyPersistenceAdapter"
3236 + const-string/jumbo v18, "upgradeDatabase - could not create a database backup, aborting..."
3238 + invoke-static/range {v17 .. v18}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
3239 + :try_end_5a
3240 + .catchall {:try_start_3f .. :try_end_5a} :catchall_66
3242 + :goto_5a
3243 + monitor-exit p0
3245 + return-void
3247 + :catch_5c
3248 + move-exception v7
3250 + :try_start_5d
3251 + const-string v17, "PrivacyPersistenceAdapter"
3253 + const-string/jumbo v18, "upgradeDatabase - could not remove old backup"
3255 + invoke-static/range {v17 .. v18}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
3256 + :try_end_65
3257 + .catchall {:try_start_5d .. :try_end_65} :catchall_66
3259 + goto :goto_3f
3261 + :catchall_66
3262 + move-exception v17
3264 + monitor-exit p0
3266 + throw v17
3268 + :cond_69
3269 + :try_start_69
3270 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
3272 + move-result-object v4
3274 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->beginTransaction()V
3276 + packed-switch p1, :pswitch_data_164
3278 + :cond_73
3279 + :goto_73
3280 + if-eqz v4, :cond_159
3282 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3284 + move-result v17
3286 + if-eqz v17, :cond_159
3288 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
3290 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3292 + :goto_81
3293 + invoke-virtual/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->purgeSettings()Z
3294 + :try_end_84
3295 + .catchall {:try_start_69 .. :try_end_84} :catchall_66
3297 + goto :goto_5a
3299 + :pswitch_85
3300 + if-eqz v4, :cond_73
3302 + :try_start_87
3303 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3305 + move-result v17
3307 + if-eqz v17, :cond_73
3309 + const-string v17, "DROP TABLE IF EXISTS version;"
3311 + move-object/from16 v0, v17
3313 + invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
3315 + const-string v17, "CREATE TABLE IF NOT EXISTS allowed_contacts ( settings_id, contact_id, PRIMARY KEY(settings_id, contact_id) );"
3317 + move-object/from16 v0, v17
3319 + invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
3321 + const-string v17, "CREATE TABLE IF NOT EXISTS map ( name TEXT PRIMARY KEY, value TEXT );"
3323 + move-object/from16 v0, v17
3325 + invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
3327 + const-string v17, "INSERT OR REPLACE INTO map (name, value) VALUES (\"db_version\", 3);"
3329 + move-object/from16 v0, v17
3331 + invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
3333 + const-string v17, "INSERT OR REPLACE INTO map (name, value) VALUES (\"enabled\", \"1\");"
3335 + move-object/from16 v0, v17
3337 + invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
3339 + const-string v17, "INSERT OR REPLACE INTO map (name, value) VALUES (\"notifications_enabled\", \"1\");"
3341 + move-object/from16 v0, v17
3343 + invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
3345 + new-instance v14, Ljava/io/File;
3347 + const-string v17, "/data/system/privacy"
3349 + move-object/from16 v0, v17
3351 + invoke-direct {v14, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
3353 + invoke-virtual {v14}, Ljava/io/File;->listFiles()[Ljava/io/File;
3355 + move-result-object v2
3357 + array-length v10, v2
3359 + const/4 v8, 0x0
3361 + move v9, v8
3363 + :goto_c7
3364 + if-ge v9, v10, :cond_127
3366 + aget-object v13, v2, v9
3368 + invoke-virtual {v13}, Ljava/io/File;->listFiles()[Ljava/io/File;
3370 + move-result-object v3
3372 + array-length v11, v3
3374 + const/4 v8, 0x0
3376 + :goto_d1
3377 + if-ge v8, v11, :cond_123
3379 + aget-object v16, v3, v8
3381 + invoke-virtual/range {v16 .. v16}, Ljava/io/File;->isDirectory()Z
3383 + move-result v17
3385 + if-eqz v17, :cond_120
3387 + invoke-virtual/range {v16 .. v16}, Ljava/io/File;->listFiles()[Ljava/io/File;
3389 + move-result-object v15
3391 + const/16 v17, 0x0
3393 + aget-object v17, v15, v17
3395 + if-eqz v17, :cond_120
3397 + new-instance v12, Ljava/io/File;
3399 + new-instance v17, Ljava/lang/StringBuilder;
3401 + invoke-direct/range {v17 .. v17}, Ljava/lang/StringBuilder;-><init>()V
3403 + move-object/from16 v0, v17
3405 + invoke-virtual {v0, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
3407 + move-result-object v17
3409 + const-string v18, "/"
3411 + invoke-virtual/range {v17 .. v18}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3413 + move-result-object v17
3415 + const/16 v18, 0x0
3417 + aget-object v18, v15, v18
3419 + invoke-virtual/range {v18 .. v18}, Ljava/io/File;->getName()Ljava/lang/String;
3421 + move-result-object v18
3423 + invoke-virtual/range {v17 .. v18}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3425 + move-result-object v17
3427 + invoke-virtual/range {v17 .. v17}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3429 + move-result-object v17
3431 + move-object/from16 v0, v17
3433 + invoke-direct {v12, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
3435 + invoke-virtual {v12}, Ljava/io/File;->delete()Z
3437 + const/16 v17, 0x0
3439 + aget-object v17, v15, v17
3441 + move-object/from16 v0, v17
3443 + invoke-virtual {v0, v12}, Ljava/io/File;->renameTo(Ljava/io/File;)Z
3445 + move-object/from16 v0, p0
3447 + move-object/from16 v1, v16
3449 + invoke-direct {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteRecursive(Ljava/io/File;)V
3451 + :cond_120
3452 + add-int/lit8 v8, v8, 0x1
3454 + goto :goto_d1
3456 + :cond_123
3457 + add-int/lit8 v8, v9, 0x1
3459 + move v9, v8
3461 + goto :goto_c7
3463 + :cond_127
3464 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->setTransactionSuccessful()V
3465 + :try_end_12a
3466 + .catchall {:try_start_87 .. :try_end_12a} :catchall_66
3467 + .catch Ljava/lang/Exception; {:try_start_87 .. :try_end_12a} :catch_12c
3469 + goto/16 :goto_73
3471 + :catch_12c
3472 + move-exception v7
3474 + if-eqz v4, :cond_13b
3476 + :try_start_12f
3477 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3479 + move-result v17
3481 + if-eqz v17, :cond_13b
3483 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
3485 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3487 + :cond_13b
3488 + const-string v17, "PrivacyPersistenceAdapter"
3490 + const-string/jumbo v18, "upgradeDatabase - could not upgrade DB; will restore backup"
3492 + move-object/from16 v0, v17
3494 + move-object/from16 v1, v18
3496 + invoke-static {v0, v1, v7}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
3498 + invoke-static {v5, v6}, Landroid/os/FileUtils;->copyFile(Ljava/io/File;Ljava/io/File;)Z
3500 + invoke-virtual {v5}, Ljava/io/File;->delete()Z
3502 + goto/16 :goto_73
3504 + :pswitch_14f
3505 + const-string v17, "PrivacyPersistenceAdapter"
3507 + const-string/jumbo v18, "upgradeDatabase - trying to upgrade most current DB version"
3509 + invoke-static/range {v17 .. v18}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
3511 + goto/16 :goto_73
3513 + :cond_159
3514 + const-string v17, "PrivacyPersistenceAdapter"
3516 + const-string/jumbo v18, "upgradeDatabase - database is null or closed; cant call endTransaction()"
3518 + invoke-static/range {v17 .. v18}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
3519 + :try_end_161
3520 + .catchall {:try_start_12f .. :try_end_161} :catchall_66
3522 + goto/16 :goto_81
3524 + nop
3526 + :pswitch_data_164
3527 + .packed-switch 0x1
3528 + :pswitch_85
3529 + :pswitch_85
3530 + :pswitch_14f
3531 + .end packed-switch
3532 +.end method
3535 +# virtual methods
3536 +.method public declared-synchronized deleteSettings(Ljava/lang/String;)Z
3537 + .registers 16
3539 + monitor-enter p0
3541 + const/4 v11, 0x1
3543 + :try_start_2
3544 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
3546 + move-result-object v0
3548 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->beginTransaction()V
3549 + :try_end_9
3550 + .catchall {:try_start_2 .. :try_end_9} :catchall_107
3552 + :try_start_9
3553 + const-string/jumbo v1, "settings"
3555 + const/4 v2, 0x1
3557 + new-array v2, v2, [Ljava/lang/String;
3559 + const/4 v3, 0x0
3561 + const-string v4, "_id"
3563 + aput-object v4, v2, v3
3565 + const-string/jumbo v3, "packageName=?"
3567 + const/4 v4, 0x1
3569 + new-array v4, v4, [Ljava/lang/String;
3571 + const/4 v5, 0x0
3573 + aput-object p1, v4, v5
3575 + const/4 v5, 0x0
3577 + const/4 v6, 0x0
3579 + const/4 v7, 0x0
3581 + 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;
3583 + move-result-object v8
3585 + if-eqz v8, :cond_4c
3587 + invoke-interface {v8}, Landroid/database/Cursor;->getCount()I
3589 + move-result v1
3591 + if-lez v1, :cond_4c
3593 + invoke-interface {v8}, Landroid/database/Cursor;->moveToFirst()Z
3595 + move-result v1
3597 + if-eqz v1, :cond_4c
3599 + const/4 v1, 0x0
3601 + invoke-interface {v8, v1}, Landroid/database/Cursor;->getInt(I)I
3603 + move-result v10
3605 + const-string v1, "allowed_contacts"
3607 + const-string/jumbo v2, "settings_id=?"
3609 + const/4 v3, 0x1
3611 + new-array v3, v3, [Ljava/lang/String;
3613 + const/4 v4, 0x0
3615 + invoke-static {v10}, Ljava/lang/Integer;->toString(I)Ljava/lang/String;
3617 + move-result-object v5
3619 + aput-object v5, v3, v4
3621 + invoke-virtual {v0, v1, v2, v3}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
3623 + invoke-interface {v8}, Landroid/database/Cursor;->close()V
3625 + :cond_4c
3626 + const-string/jumbo v1, "settings"
3628 + const-string/jumbo v2, "packageName=?"
3630 + const/4 v3, 0x1
3632 + new-array v3, v3, [Ljava/lang/String;
3634 + const/4 v4, 0x0
3636 + aput-object p1, v3, v4
3638 + invoke-virtual {v0, v1, v2, v3}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
3640 + move-result v1
3642 + if-nez v1, :cond_8d
3644 + const-string v1, "PrivacyPersistenceAdapter"
3646 + new-instance v2, Ljava/lang/StringBuilder;
3648 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
3650 + const-string v3, "deleteSettings - database entry for "
3652 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3654 + move-result-object v2
3656 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3658 + move-result-object v2
3660 + const-string v3, " not found"
3662 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3664 + move-result-object v2
3666 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3668 + move-result-object v2
3670 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
3671 + :try_end_7c
3672 + .catchall {:try_start_9 .. :try_end_7c} :catchall_10a
3673 + .catch Ljava/lang/Exception; {:try_start_9 .. :try_end_7c} :catch_ef
3675 + const/4 v1, 0x0
3677 + :try_start_7d
3678 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
3680 + if-eqz v0, :cond_8b
3682 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3684 + move-result v2
3686 + if-eqz v2, :cond_8b
3688 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3689 + :try_end_8b
3690 + .catchall {:try_start_7d .. :try_end_8b} :catchall_107
3692 + :cond_8b
3693 + :goto_8b
3694 + monitor-exit p0
3696 + return v1
3698 + :cond_8d
3699 + :try_start_8d
3700 + new-instance v12, Ljava/io/File;
3702 + new-instance v1, Ljava/lang/StringBuilder;
3704 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
3706 + const-string v2, "/data/system/privacy/"
3708 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3710 + move-result-object v1
3712 + invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3714 + move-result-object v1
3716 + const-string v2, "/"
3718 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3720 + move-result-object v1
3722 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3724 + move-result-object v1
3726 + invoke-direct {v12, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
3728 + new-instance v13, Ljava/io/File;
3730 + new-instance v1, Ljava/lang/StringBuilder;
3732 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
3734 + const-string v2, "/data/system/privacy/"
3736 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3738 + move-result-object v1
3740 + invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3742 + move-result-object v1
3744 + const-string v2, "/systemLogsSetting"
3746 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3748 + move-result-object v1
3750 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3752 + move-result-object v1
3754 + invoke-direct {v13, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
3756 + invoke-virtual {v13}, Ljava/io/File;->delete()Z
3758 + invoke-virtual {v12}, Ljava/io/File;->list()[Ljava/lang/String;
3760 + move-result-object v1
3762 + if-eqz v1, :cond_d9
3764 + invoke-virtual {v12}, Ljava/io/File;->list()[Ljava/lang/String;
3766 + move-result-object v1
3768 + array-length v1, v1
3770 + if-nez v1, :cond_dc
3772 + :cond_d9
3773 + invoke-virtual {v12}, Ljava/io/File;->delete()Z
3775 + :cond_dc
3776 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->setTransactionSuccessful()V
3777 + :try_end_df
3778 + .catchall {:try_start_8d .. :try_end_df} :catchall_10a
3779 + .catch Ljava/lang/Exception; {:try_start_8d .. :try_end_df} :catch_ef
3781 + :try_start_df
3782 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
3784 + if-eqz v0, :cond_ed
3786 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3788 + move-result v1
3790 + if-eqz v1, :cond_ed
3792 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3793 + :try_end_ed
3794 + .catchall {:try_start_df .. :try_end_ed} :catchall_107
3796 + :cond_ed
3797 + :goto_ed
3798 + move v1, v11
3800 + goto :goto_8b
3802 + :catch_ef
3803 + move-exception v9
3805 + const/4 v11, 0x0
3807 + :try_start_f1
3808 + const-string v1, "PrivacyPersistenceAdapter"
3810 + const-string v2, "deleteSettings - could not delete settings"
3812 + invoke-static {v1, v2, v9}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
3813 + :try_end_f8
3814 + .catchall {:try_start_f1 .. :try_end_f8} :catchall_10a
3816 + :try_start_f8
3817 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
3819 + if-eqz v0, :cond_ed
3821 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3823 + move-result v1
3825 + if-eqz v1, :cond_ed
3827 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3828 + :try_end_106
3829 + .catchall {:try_start_f8 .. :try_end_106} :catchall_107
3831 + goto :goto_ed
3833 + :catchall_107
3834 + move-exception v1
3836 + monitor-exit p0
3838 + throw v1
3840 + :catchall_10a
3841 + move-exception v1
3843 + :try_start_10b
3844 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
3846 + if-eqz v0, :cond_119
3848 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3850 + move-result v2
3852 + if-eqz v2, :cond_119
3854 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3856 + :cond_119
3857 + throw v1
3858 + :try_end_11a
3859 + .catchall {:try_start_10b .. :try_end_11a} :catchall_107
3860 +.end method
3862 +.method public declared-synchronized getSettings(Ljava/lang/String;Z)Landroid/privacy/PrivacySettings;
3863 + .registers 47
3865 + monitor-enter p0
3867 + const/16 v43, 0x0
3869 + if-nez p1, :cond_10
3871 + :try_start_5
3872 + const-string v1, "PrivacyPersistenceAdapter"
3874 + const-string v4, "getSettings - insufficient application identifier - package name is required"
3876 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
3877 + :try_end_c
3878 + .catchall {:try_start_5 .. :try_end_c} :catchall_2d8
3880 + move-object/from16 v3, v43
3882 + :goto_e
3883 + monitor-exit p0
3885 + return-object v43
3887 + :cond_10
3888 + :try_start_10
3889 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
3891 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
3893 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
3895 + move-result v1
3897 + add-int/lit8 v1, v1, 0x1
3899 + invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
3901 + move-result-object v1
3903 + sput-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
3904 + :try_end_20
3905 + .catchall {:try_start_10 .. :try_end_20} :catchall_2d8
3907 + :try_start_20
3908 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
3909 + :try_end_23
3910 + .catchall {:try_start_20 .. :try_end_23} :catchall_2d8
3911 + .catch Landroid/database/sqlite/SQLiteException; {:try_start_20 .. :try_end_23} :catch_245
3913 + move-result-object v2
3915 + const/16 v41, 0x0
3917 + :try_start_26
3918 + const-string/jumbo v3, "settings"
3920 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->DATABASE_FIELDS:[Ljava/lang/String;
3922 + const-string/jumbo v5, "packageName=?"
3924 + const/4 v1, 0x1
3926 + new-array v6, v1, [Ljava/lang/String;
3928 + const/4 v1, 0x0
3930 + aput-object p1, v6, v1
3932 + const/4 v7, 0x0
3934 + const/4 v8, 0x0
3936 + const/4 v9, 0x0
3938 + const/4 v10, 0x0
3940 + move-object/from16 v1, p0
3942 + 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;
3944 + move-result-object v41
3946 + if-eqz v41, :cond_2dc
3948 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->moveToFirst()Z
3950 + move-result v1
3952 + if-eqz v1, :cond_2dc
3954 + new-instance v3, Landroid/privacy/PrivacySettings;
3956 + const/4 v1, 0x0
3958 + move-object/from16 v0, v41
3960 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getInt(I)I
3962 + move-result v1
3964 + invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
3966 + move-result-object v4
3968 + const/4 v1, 0x1
3970 + move-object/from16 v0, v41
3972 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
3974 + move-result-object v5
3976 + const/4 v1, 0x2
3978 + move-object/from16 v0, v41
3980 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getInt(I)I
3982 + move-result v6
3984 + const/4 v1, 0x3
3986 + move-object/from16 v0, v41
3988 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
3990 + move-result v1
3992 + int-to-byte v7, v1
3994 + const/4 v1, 0x4
3996 + move-object/from16 v0, v41
3998 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
4000 + move-result-object v8
4002 + const/4 v1, 0x5
4004 + move-object/from16 v0, v41
4006 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4008 + move-result v1
4010 + int-to-byte v9, v1
4012 + const/4 v1, 0x6
4014 + move-object/from16 v0, v41
4016 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
4018 + move-result-object v10
4020 + const/4 v1, 0x7
4022 + move-object/from16 v0, v41
4024 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4026 + move-result v1
4028 + int-to-byte v11, v1
4030 + const/16 v1, 0x8
4032 + move-object/from16 v0, v41
4034 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
4036 + move-result-object v12
4038 + const/16 v1, 0x9
4040 + move-object/from16 v0, v41
4042 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
4044 + move-result-object v13
4046 + const/16 v1, 0xa
4048 + move-object/from16 v0, v41
4050 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4052 + move-result v1
4054 + int-to-byte v14, v1
4056 + const/16 v1, 0xb
4058 + move-object/from16 v0, v41
4060 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
4062 + move-result-object v15
4064 + const/16 v1, 0xc
4066 + move-object/from16 v0, v41
4068 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
4070 + move-result-object v16
4072 + const/16 v1, 0xd
4074 + move-object/from16 v0, v41
4076 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4078 + move-result v1
4080 + int-to-byte v0, v1
4082 + move/from16 v17, v0
4084 + const/16 v1, 0xe
4086 + move-object/from16 v0, v41
4088 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4090 + move-result v1
4092 + int-to-byte v0, v1
4094 + move/from16 v18, v0
4096 + const/16 v1, 0xf
4098 + move-object/from16 v0, v41
4100 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4102 + move-result v1
4104 + int-to-byte v0, v1
4106 + move/from16 v19, v0
4108 + const/16 v1, 0x10
4110 + move-object/from16 v0, v41
4112 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
4114 + move-result-object v20
4116 + const/16 v1, 0x11
4118 + move-object/from16 v0, v41
4120 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4122 + move-result v1
4124 + int-to-byte v0, v1
4126 + move/from16 v21, v0
4128 + const/16 v1, 0x12
4130 + move-object/from16 v0, v41
4132 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
4134 + move-result-object v22
4136 + const/16 v1, 0x13
4138 + move-object/from16 v0, v41
4140 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4142 + move-result v1
4144 + int-to-byte v0, v1
4146 + move/from16 v23, v0
4148 + const/16 v1, 0x14
4150 + move-object/from16 v0, v41
4152 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4154 + move-result v1
4156 + int-to-byte v0, v1
4158 + move/from16 v24, v0
4160 + const/16 v1, 0x15
4162 + move-object/from16 v0, v41
4164 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4166 + move-result v1
4168 + int-to-byte v0, v1
4170 + move/from16 v25, v0
4172 + const/16 v1, 0x16
4174 + move-object/from16 v0, v41
4176 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4178 + move-result v1
4180 + int-to-byte v0, v1
4182 + move/from16 v26, v0
4184 + const/16 v1, 0x17
4186 + move-object/from16 v0, v41
4188 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4190 + move-result v1
4192 + int-to-byte v0, v1
4194 + move/from16 v27, v0
4196 + const/16 v1, 0x18
4198 + move-object/from16 v0, v41
4200 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4202 + move-result v1
4204 + int-to-byte v0, v1
4206 + move/from16 v28, v0
4208 + const/16 v1, 0x19
4210 + move-object/from16 v0, v41
4212 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4214 + move-result v1
4216 + int-to-byte v0, v1
4218 + move/from16 v29, v0
4220 + const/16 v1, 0x1a
4222 + move-object/from16 v0, v41
4224 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4226 + move-result v1
4228 + int-to-byte v0, v1
4230 + move/from16 v30, v0
4232 + const/16 v1, 0x1b
4234 + move-object/from16 v0, v41
4236 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4238 + move-result v1
4240 + int-to-byte v0, v1
4242 + move/from16 v31, v0
4244 + const/16 v1, 0x1c
4246 + move-object/from16 v0, v41
4248 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4250 + move-result v1
4252 + int-to-byte v0, v1
4254 + move/from16 v32, v0
4256 + const/16 v1, 0x1d
4258 + move-object/from16 v0, v41
4260 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4262 + move-result v1
4264 + int-to-byte v0, v1
4266 + move/from16 v33, v0
4268 + const/16 v1, 0x1e
4270 + move-object/from16 v0, v41
4272 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4274 + move-result v1
4276 + int-to-byte v0, v1
4278 + move/from16 v34, v0
4280 + const/16 v1, 0x1f
4282 + move-object/from16 v0, v41
4284 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4286 + move-result v1
4288 + int-to-byte v0, v1
4290 + move/from16 v35, v0
4292 + const/16 v1, 0x20
4294 + move-object/from16 v0, v41
4296 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4298 + move-result v1
4300 + int-to-byte v0, v1
4302 + move/from16 v36, v0
4304 + const/16 v1, 0x21
4306 + move-object/from16 v0, v41
4308 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4310 + move-result v1
4312 + int-to-byte v0, v1
4314 + move/from16 v37, v0
4316 + const/16 v1, 0x22
4318 + move-object/from16 v0, v41
4320 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4322 + move-result v1
4324 + int-to-byte v0, v1
4326 + move/from16 v38, v0
4328 + const/16 v39, 0x0
4330 + 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
4331 + :try_end_1a1
4332 + .catchall {:try_start_26 .. :try_end_1a1} :catchall_29b
4333 + .catch Ljava/lang/Exception; {:try_start_26 .. :try_end_1a1} :catch_2d3
4335 + :try_start_1a1
4336 + new-instance v1, Ljava/lang/StringBuilder;
4338 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
4340 + const-string v4, "SELECT * FROM allowed_contacts WHERE settings_id="
4342 + invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4344 + move-result-object v1
4346 + invoke-virtual {v3}, Landroid/privacy/PrivacySettings;->get_id()Ljava/lang/Integer;
4348 + move-result-object v4
4350 + invoke-virtual {v4}, Ljava/lang/Integer;->intValue()I
4352 + move-result v4
4354 + invoke-static {v4}, Ljava/lang/Integer;->toString(I)Ljava/lang/String;
4356 + move-result-object v4
4358 + invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4360 + move-result-object v1
4362 + const-string v4, ";"
4364 + invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4366 + move-result-object v1
4368 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4370 + move-result-object v1
4372 + move-object/from16 v0, p0
4374 + invoke-direct {v0, v2, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->rawQuery(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;)Landroid/database/Cursor;
4376 + move-result-object v41
4378 + if-eqz v41, :cond_268
4380 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->getCount()I
4382 + move-result v1
4384 + if-lez v1, :cond_268
4386 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->getCount()I
4388 + move-result v1
4390 + new-array v0, v1, [I
4392 + move-object/from16 v40, v0
4394 + :goto_1dc
4395 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->moveToNext()Z
4397 + move-result v1
4399 + if-eqz v1, :cond_263
4401 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->getPosition()I
4403 + move-result v1
4405 + const/4 v4, 0x1
4407 + move-object/from16 v0, v41
4409 + invoke-interface {v0, v4}, Landroid/database/Cursor;->getInt(I)I
4411 + move-result v4
4413 + aput v4, v40, v1
4414 + :try_end_1ef
4415 + .catchall {:try_start_1a1 .. :try_end_1ef} :catchall_2d1
4416 + .catch Ljava/lang/Exception; {:try_start_1a1 .. :try_end_1ef} :catch_1f0
4418 + goto :goto_1dc
4420 + :catch_1f0
4421 + move-exception v42
4423 + :goto_1f1
4424 + :try_start_1f1
4425 + const-string v1, "PrivacyPersistenceAdapter"
4427 + new-instance v4, Ljava/lang/StringBuilder;
4429 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
4431 + const-string v5, "getSettings - failed to get settings for package: "
4433 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4435 + move-result-object v4
4437 + move-object/from16 v0, p1
4439 + invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4441 + move-result-object v4
4443 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4445 + move-result-object v4
4447 + move-object/from16 v0, v42
4449 + invoke-static {v1, v4, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
4451 + invoke-virtual/range {v42 .. v42}, Ljava/lang/Exception;->printStackTrace()V
4453 + if-eqz v41, :cond_215
4455 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->close()V
4456 + :try_end_215
4457 + .catchall {:try_start_1f1 .. :try_end_215} :catchall_2d1
4459 + :cond_215
4460 + if-eqz v41, :cond_21a
4462 + :try_start_217
4463 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->close()V
4465 + :cond_21a
4466 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4468 + monitor-enter v4
4469 + :try_end_21d
4470 + .catchall {:try_start_217 .. :try_end_21d} :catchall_298
4472 + :try_start_21d
4473 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4475 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4477 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
4479 + move-result v1
4481 + add-int/lit8 v1, v1, -0x1
4483 + invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4485 + move-result-object v1
4487 + sput-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4489 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4491 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
4493 + move-result v1
4495 + if-nez v1, :cond_240
4497 + if-eqz v2, :cond_240
4499 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
4501 + move-result v1
4503 + if-eqz v1, :cond_240
4505 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
4507 + :cond_240
4508 + monitor-exit v4
4509 + :try_end_241
4510 + .catchall {:try_start_21d .. :try_end_241} :catchall_2ce
4512 + :goto_241
4513 + move-object/from16 v43, v3
4515 + goto/16 :goto_e
4517 + :catch_245
4518 + move-exception v42
4520 + :try_start_246
4521 + const-string v1, "PrivacyPersistenceAdapter"
4523 + const-string v4, "getSettings - database could not be opened"
4525 + move-object/from16 v0, v42
4527 + invoke-static {v1, v4, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
4529 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4531 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4533 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
4535 + move-result v1
4537 + add-int/lit8 v1, v1, -0x1
4539 + invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4541 + move-result-object v1
4543 + sput-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4544 + :try_end_25f
4545 + .catchall {:try_start_246 .. :try_end_25f} :catchall_2d8
4547 + move-object/from16 v3, v43
4549 + goto/16 :goto_e
4551 + :cond_263
4552 + :try_start_263
4553 + move-object/from16 v0, v40
4555 + invoke-virtual {v3, v0}, Landroid/privacy/PrivacySettings;->setAllowedContacts([I)V
4556 + :try_end_268
4557 + .catchall {:try_start_263 .. :try_end_268} :catchall_2d1
4558 + .catch Ljava/lang/Exception; {:try_start_263 .. :try_end_268} :catch_1f0
4560 + :cond_268
4561 + :goto_268
4562 + if-eqz v41, :cond_26d
4564 + :try_start_26a
4565 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->close()V
4567 + :cond_26d
4568 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4570 + monitor-enter v4
4571 + :try_end_270
4572 + .catchall {:try_start_26a .. :try_end_270} :catchall_298
4574 + :try_start_270
4575 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4577 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4579 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
4581 + move-result v1
4583 + add-int/lit8 v1, v1, -0x1
4585 + invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4587 + move-result-object v1
4589 + sput-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4591 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4593 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
4595 + move-result v1
4597 + if-nez v1, :cond_293
4599 + if-eqz v2, :cond_293
4601 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
4603 + move-result v1
4605 + if-eqz v1, :cond_293
4607 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
4609 + :cond_293
4610 + monitor-exit v4
4612 + goto :goto_241
4614 + :catchall_295
4615 + move-exception v1
4617 + monitor-exit v4
4618 + :try_end_297
4619 + .catchall {:try_start_270 .. :try_end_297} :catchall_295
4621 + :try_start_297
4622 + throw v1
4623 + :try_end_298
4624 + .catchall {:try_start_297 .. :try_end_298} :catchall_298
4626 + :catchall_298
4627 + move-exception v1
4629 + :goto_299
4630 + monitor-exit p0
4632 + throw v1
4634 + :catchall_29b
4635 + move-exception v1
4637 + move-object/from16 v3, v43
4639 + :goto_29e
4640 + if-eqz v41, :cond_2a3
4642 + :try_start_2a0
4643 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->close()V
4645 + :cond_2a3
4646 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4648 + monitor-enter v4
4649 + :try_end_2a6
4650 + .catchall {:try_start_2a0 .. :try_end_2a6} :catchall_298
4652 + :try_start_2a6
4653 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4655 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4657 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
4659 + move-result v5
4661 + add-int/lit8 v5, v5, -0x1
4663 + invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4665 + move-result-object v5
4667 + sput-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4669 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4671 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
4673 + move-result v5
4675 + if-nez v5, :cond_2c9
4677 + if-eqz v2, :cond_2c9
4679 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
4681 + move-result v5
4683 + if-eqz v5, :cond_2c9
4685 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
4687 + :cond_2c9
4688 + monitor-exit v4
4689 + :try_end_2ca
4690 + .catchall {:try_start_2a6 .. :try_end_2ca} :catchall_2cb
4692 + :try_start_2ca
4693 + throw v1
4694 + :try_end_2cb
4695 + .catchall {:try_start_2ca .. :try_end_2cb} :catchall_298
4697 + :catchall_2cb
4698 + move-exception v1
4700 + :try_start_2cc
4701 + monitor-exit v4
4702 + :try_end_2cd
4703 + .catchall {:try_start_2cc .. :try_end_2cd} :catchall_2cb
4705 + :try_start_2cd
4706 + throw v1
4707 + :try_end_2ce
4708 + .catchall {:try_start_2cd .. :try_end_2ce} :catchall_298
4710 + :catchall_2ce
4711 + move-exception v1
4713 + :try_start_2cf
4714 + monitor-exit v4
4715 + :try_end_2d0
4716 + .catchall {:try_start_2cf .. :try_end_2d0} :catchall_2ce
4718 + :try_start_2d0
4719 + throw v1
4720 + :try_end_2d1
4721 + .catchall {:try_start_2d0 .. :try_end_2d1} :catchall_298
4723 + :catchall_2d1
4724 + move-exception v1
4726 + goto :goto_29e
4728 + :catch_2d3
4729 + move-exception v42
4731 + move-object/from16 v3, v43
4733 + goto/16 :goto_1f1
4735 + :catchall_2d8
4736 + move-exception v1
4738 + move-object/from16 v3, v43
4740 + goto :goto_299
4742 + :cond_2dc
4743 + move-object/from16 v3, v43
4745 + goto :goto_268
4746 +.end method
4748 +.method public getValue(Ljava/lang/String;)Ljava/lang/String;
4749 + .registers 15
4751 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4753 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4755 + invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
4757 + move-result v0
4759 + add-int/lit8 v0, v0, 0x1
4761 + invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4763 + move-result-object v0
4765 + sput-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4767 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
4769 + move-result-object v1
4771 + const/4 v12, 0x0
4773 + :try_start_15
4774 + const-string/jumbo v2, "map"
4776 + const/4 v0, 0x1
4778 + new-array v3, v0, [Ljava/lang/String;
4780 + const/4 v0, 0x0
4782 + const-string/jumbo v4, "value"
4784 + aput-object v4, v3, v0
4786 + const-string/jumbo v4, "name=?"
4788 + const/4 v0, 0x1
4790 + new-array v5, v0, [Ljava/lang/String;
4792 + const/4 v0, 0x0
4794 + aput-object p1, v5, v0
4796 + const/4 v6, 0x0
4798 + const/4 v7, 0x0
4800 + const/4 v8, 0x0
4802 + const/4 v9, 0x0
4804 + move-object v0, p0
4806 + 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;
4808 + move-result-object v10
4810 + if-eqz v10, :cond_77
4812 + invoke-interface {v10}, Landroid/database/Cursor;->getCount()I
4814 + move-result v0
4816 + if-lez v0, :cond_77
4818 + invoke-interface {v10}, Landroid/database/Cursor;->moveToFirst()Z
4820 + move-result v0
4822 + if-eqz v0, :cond_77
4824 + const-string/jumbo v0, "value"
4826 + invoke-interface {v10, v0}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
4828 + move-result v0
4830 + invoke-interface {v10, v0}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
4832 + move-result-object v12
4834 + invoke-interface {v10}, Landroid/database/Cursor;->close()V
4835 + :try_end_4f
4836 + .catch Ljava/lang/Exception; {:try_start_15 .. :try_end_4f} :catch_90
4838 + :goto_4f
4839 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4841 + monitor-enter v2
4843 + :try_start_52
4844 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4846 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4848 + invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
4850 + move-result v0
4852 + add-int/lit8 v0, v0, -0x1
4854 + invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4856 + move-result-object v0
4858 + sput-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4860 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4862 + invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
4864 + move-result v0
4866 + if-nez v0, :cond_75
4868 + if-eqz v1, :cond_75
4870 + invoke-virtual {v1}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
4872 + move-result v0
4874 + if-eqz v0, :cond_75
4876 + invoke-virtual {v1}, Landroid/database/sqlite/SQLiteDatabase;->close()V
4878 + :cond_75
4879 + monitor-exit v2
4880 + :try_end_76
4881 + .catchall {:try_start_52 .. :try_end_76} :catchall_aa
4883 + return-object v12
4885 + :cond_77
4886 + :try_start_77
4887 + const-string v0, "PrivacyPersistenceAdapter"
4889 + new-instance v2, Ljava/lang/StringBuilder;
4891 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
4893 + const-string v3, "getValue - could not get value for name: "
4895 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4897 + move-result-object v2
4899 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4901 + move-result-object v2
4903 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4905 + move-result-object v2
4907 + invoke-static {v0, v2}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
4908 + :try_end_8f
4909 + .catch Ljava/lang/Exception; {:try_start_77 .. :try_end_8f} :catch_90
4911 + goto :goto_4f
4913 + :catch_90
4914 + move-exception v11
4916 + const-string v0, "PrivacyPersistenceAdapter"
4918 + new-instance v2, Ljava/lang/StringBuilder;
4920 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
4922 + const-string v3, "getValue - could not get value for name: "
4924 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4926 + move-result-object v2
4928 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4930 + move-result-object v2
4932 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4934 + move-result-object v2
4936 + invoke-static {v0, v2, v11}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
4938 + goto :goto_4f
4940 + :catchall_aa
4941 + move-exception v0
4943 + :try_start_ab
4944 + monitor-exit v2
4945 + :try_end_ac
4946 + .catchall {:try_start_ab .. :try_end_ac} :catchall_aa
4948 + throw v0
4949 +.end method
4951 +.method public purgeSettings()Z
4952 + .registers 28
4954 + const/16 v25, 0x1
4956 + new-instance v13, Ljava/util/ArrayList;
4958 + invoke-direct {v13}, Ljava/util/ArrayList;-><init>()V
4960 + move-object/from16 v0, p0
4962 + iget-object v2, v0, Landroid/privacy/PrivacyPersistenceAdapter;->context:Landroid/content/Context;
4964 + invoke-virtual {v2}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
4966 + move-result-object v21
4968 + const/16 v2, 0x80
4970 + move-object/from16 v0, v21
4972 + invoke-virtual {v0, v2}, Landroid/content/pm/PackageManager;->getInstalledApplications(I)Ljava/util/List;
4974 + move-result-object v19
4976 + invoke-interface/range {v19 .. v19}, Ljava/util/List;->iterator()Ljava/util/Iterator;
4978 + move-result-object v18
4980 + :goto_1b
4981 + invoke-interface/range {v18 .. v18}, Ljava/util/Iterator;->hasNext()Z
4983 + move-result v2
4985 + if-eqz v2, :cond_2d
4987 + invoke-interface/range {v18 .. v18}, Ljava/util/Iterator;->next()Ljava/lang/Object;
4989 + move-result-object v12
4991 + check-cast v12, Landroid/content/pm/ApplicationInfo;
4993 + iget-object v2, v12, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
4995 + invoke-interface {v13, v2}, Ljava/util/List;->add(Ljava/lang/Object;)Z
4997 + goto :goto_1b
4999 + :cond_2d
5000 + new-instance v26, Ljava/io/File;
5002 + const-string v2, "/data/system/privacy"
5004 + move-object/from16 v0, v26
5006 + invoke-direct {v0, v2}, Ljava/io/File;-><init>(Ljava/lang/String;)V
5008 + invoke-virtual/range {v26 .. v26}, Ljava/io/File;->listFiles()[Ljava/io/File;
5010 + move-result-object v15
5012 + array-length v0, v15
5014 + move/from16 v20, v0
5016 + const/16 v18, 0x0
5018 + :goto_3f
5019 + move/from16 v0, v18
5021 + move/from16 v1, v20
5023 + if-ge v0, v1, :cond_5d
5025 + aget-object v23, v15, v18
5027 + invoke-virtual/range {v23 .. v23}, Ljava/io/File;->getName()Ljava/lang/String;
5029 + move-result-object v24
5031 + move-object/from16 v0, v24
5033 + invoke-interface {v13, v0}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
5035 + move-result v2
5037 + if-nez v2, :cond_5a
5039 + move-object/from16 v0, p0
5041 + move-object/from16 v1, v23
5043 + invoke-direct {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteRecursive(Ljava/io/File;)V
5045 + :cond_5a
5046 + add-int/lit8 v18, v18, 0x1
5048 + goto :goto_3f
5050 + :cond_5d
5051 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5053 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5055 + invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
5057 + move-result v2
5059 + add-int/lit8 v2, v2, 0x1
5061 + invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5063 + move-result-object v2
5065 + sput-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5067 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
5069 + move-result-object v3
5071 + const/16 v16, 0x0
5073 + :try_start_73
5074 + const-string/jumbo v4, "settings"
5076 + const/4 v2, 0x1
5078 + new-array v5, v2, [Ljava/lang/String;
5080 + const/4 v2, 0x0
5082 + const-string/jumbo v6, "packageName"
5084 + aput-object v6, v5, v2
5086 + const/4 v6, 0x0
5088 + const/4 v7, 0x0
5090 + const/4 v8, 0x0
5092 + const/4 v9, 0x0
5094 + const/4 v10, 0x0
5096 + const/4 v11, 0x0
5098 + move-object/from16 v2, p0
5100 + 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;
5102 + move-result-object v16
5104 + new-instance v14, Ljava/util/ArrayList;
5106 + invoke-direct {v14}, Ljava/util/ArrayList;-><init>()V
5108 + :goto_90
5109 + invoke-interface/range {v16 .. v16}, Landroid/database/Cursor;->moveToNext()Z
5111 + move-result v2
5113 + if-eqz v2, :cond_142
5115 + const/4 v2, 0x0
5117 + move-object/from16 v0, v16
5119 + invoke-interface {v0, v2}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
5121 + move-result-object v24
5123 + move-object/from16 v0, v24
5125 + invoke-interface {v13, v0}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
5127 + move-result v2
5129 + if-nez v2, :cond_e7
5131 + move-object/from16 v0, p0
5133 + move-object/from16 v1, v24
5135 + invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteSettings(Ljava/lang/String;)Z
5136 + :try_end_ac
5137 + .catchall {:try_start_73 .. :try_end_ac} :catchall_107
5138 + .catch Ljava/lang/Exception; {:try_start_73 .. :try_end_ac} :catch_ad
5140 + goto :goto_90
5142 + :catch_ad
5143 + move-exception v17
5145 + :try_start_ae
5146 + const-string v2, "PrivacyPersistenceAdapter"
5148 + const-string/jumbo v4, "purgeSettings - purging DB failed"
5150 + move-object/from16 v0, v17
5152 + invoke-static {v2, v4, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
5153 + :try_end_b8
5154 + .catchall {:try_start_ae .. :try_end_b8} :catchall_107
5156 + const/16 v25, 0x0
5158 + if-eqz v16, :cond_bf
5160 + invoke-interface/range {v16 .. v16}, Landroid/database/Cursor;->close()V
5162 + :cond_bf
5163 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5165 + monitor-enter v4
5167 + :try_start_c2
5168 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5170 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5172 + invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
5174 + move-result v2
5176 + add-int/lit8 v2, v2, -0x1
5178 + invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5180 + move-result-object v2
5182 + sput-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5184 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5186 + invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
5188 + move-result v2
5190 + if-nez v2, :cond_e5
5192 + if-eqz v3, :cond_e5
5194 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
5196 + move-result v2
5198 + if-eqz v2, :cond_e5
5200 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->close()V
5202 + :cond_e5
5203 + monitor-exit v4
5204 + :try_end_e6
5205 + .catchall {:try_start_c2 .. :try_end_e6} :catchall_13f
5207 + :goto_e6
5208 + return v25
5210 + :cond_e7
5211 + :try_start_e7
5212 + move-object/from16 v0, v24
5214 + invoke-interface {v14, v0}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
5216 + move-result v2
5218 + if-eqz v2, :cond_135
5220 + const/4 v2, 0x0
5222 + move-object/from16 v0, p0
5224 + move-object/from16 v1, v24
5226 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacyPersistenceAdapter;->getSettings(Ljava/lang/String;Z)Landroid/privacy/PrivacySettings;
5228 + move-result-object v22
5230 + move-object/from16 v0, p0
5232 + move-object/from16 v1, v24
5234 + invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteSettings(Ljava/lang/String;)Z
5236 + move-object/from16 v0, p0
5238 + move-object/from16 v1, v22
5240 + invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->saveSettings(Landroid/privacy/PrivacySettings;)Z
5241 + :try_end_106
5242 + .catchall {:try_start_e7 .. :try_end_106} :catchall_107
5243 + .catch Ljava/lang/Exception; {:try_start_e7 .. :try_end_106} :catch_ad
5245 + goto :goto_90
5247 + :catchall_107
5248 + move-exception v2
5250 + if-eqz v16, :cond_10d
5252 + invoke-interface/range {v16 .. v16}, Landroid/database/Cursor;->close()V
5254 + :cond_10d
5255 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5257 + monitor-enter v4
5259 + :try_start_110
5260 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5262 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5264 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
5266 + move-result v5
5268 + add-int/lit8 v5, v5, -0x1
5270 + invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5272 + move-result-object v5
5274 + sput-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5276 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5278 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
5280 + move-result v5
5282 + if-nez v5, :cond_133
5284 + if-eqz v3, :cond_133
5286 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
5288 + move-result v5
5290 + if-eqz v5, :cond_133
5292 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->close()V
5294 + :cond_133
5295 + monitor-exit v4
5296 + :try_end_134
5297 + .catchall {:try_start_110 .. :try_end_134} :catchall_13c
5299 + throw v2
5301 + :cond_135
5302 + :try_start_135
5303 + move-object/from16 v0, v24
5305 + invoke-interface {v14, v0}, Ljava/util/List;->add(Ljava/lang/Object;)Z
5306 + :try_end_13a
5307 + .catchall {:try_start_135 .. :try_end_13a} :catchall_107
5308 + .catch Ljava/lang/Exception; {:try_start_135 .. :try_end_13a} :catch_ad
5310 + goto/16 :goto_90
5312 + :catchall_13c
5313 + move-exception v2
5315 + :try_start_13d
5316 + monitor-exit v4
5317 + :try_end_13e
5318 + .catchall {:try_start_13d .. :try_end_13e} :catchall_13c
5320 + throw v2
5322 + :catchall_13f
5323 + move-exception v2
5325 + :try_start_140
5326 + monitor-exit v4
5327 + :try_end_141
5328 + .catchall {:try_start_140 .. :try_end_141} :catchall_13f
5330 + throw v2
5332 + :cond_142
5333 + if-eqz v16, :cond_147
5335 + invoke-interface/range {v16 .. v16}, Landroid/database/Cursor;->close()V
5337 + :cond_147
5338 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5340 + monitor-enter v4
5342 + :try_start_14a
5343 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5345 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5347 + invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
5349 + move-result v2
5351 + add-int/lit8 v2, v2, -0x1
5353 + invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5355 + move-result-object v2
5357 + sput-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5359 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5361 + invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
5363 + move-result v2
5365 + if-nez v2, :cond_16d
5367 + if-eqz v3, :cond_16d
5369 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
5371 + move-result v2
5373 + if-eqz v2, :cond_16d
5375 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->close()V
5377 + :cond_16d
5378 + monitor-exit v4
5380 + goto/16 :goto_e6
5382 + :catchall_170
5383 + move-exception v2
5385 + monitor-exit v4
5386 + :try_end_172
5387 + .catchall {:try_start_14a .. :try_end_172} :catchall_170
5389 + throw v2
5390 +.end method
5392 +.method public declared-synchronized saveSettings(Landroid/privacy/PrivacySettings;)Z
5393 + .registers 27
5395 + monitor-enter p0
5397 + const/16 v18, 0x1
5399 + :try_start_3
5400 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getPackageName()Ljava/lang/String;
5402 + move-result-object v17
5404 + if-eqz v17, :cond_f
5406 + invoke-virtual/range {v17 .. v17}, Ljava/lang/String;->isEmpty()Z
5408 + move-result v3
5410 + if-eqz v3, :cond_1a
5412 + :cond_f
5413 + const-string v3, "PrivacyPersistenceAdapter"
5415 + const-string/jumbo v4, "saveSettings - either package name, UID or both is missing"
5417 + invoke-static {v3, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
5418 + :try_end_17
5419 + .catchall {:try_start_3 .. :try_end_17} :catchall_2c2
5421 + const/4 v3, 0x0
5423 + :goto_18
5424 + monitor-exit p0
5426 + return v3
5428 + :cond_1a
5429 + :try_start_1a
5430 + new-instance v23, Landroid/content/ContentValues;
5432 + invoke-direct/range {v23 .. v23}, Landroid/content/ContentValues;-><init>()V
5434 + const-string/jumbo v3, "packageName"
5436 + move-object/from16 v0, v23
5438 + move-object/from16 v1, v17
5440 + invoke-virtual {v0, v3, v1}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5442 + const-string/jumbo v3, "uid"
5444 + const/4 v4, -0x1
5446 + invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5448 + move-result-object v4
5450 + move-object/from16 v0, v23
5452 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
5454 + const-string v3, "deviceIdSetting"
5456 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
5458 + move-result v4
5460 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5462 + move-result-object v4
5464 + move-object/from16 v0, v23
5466 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5468 + const-string v3, "deviceId"
5470 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getDeviceId()Ljava/lang/String;
5472 + move-result-object v4
5474 + move-object/from16 v0, v23
5476 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5478 + const-string v3, "line1NumberSetting"
5480 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
5482 + move-result v4
5484 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5486 + move-result-object v4
5488 + move-object/from16 v0, v23
5490 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5492 + const-string v3, "line1Number"
5494 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLine1Number()Ljava/lang/String;
5496 + move-result-object v4
5498 + move-object/from16 v0, v23
5500 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5502 + const-string v3, "locationGpsSetting"
5504 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
5506 + move-result v4
5508 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5510 + move-result-object v4
5512 + move-object/from16 v0, v23
5514 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5516 + const-string v3, "locationGpsLat"
5518 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
5520 + move-result-object v4
5522 + move-object/from16 v0, v23
5524 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5526 + const-string v3, "locationGpsLon"
5528 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
5530 + move-result-object v4
5532 + move-object/from16 v0, v23
5534 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5536 + const-string v3, "locationNetworkSetting"
5538 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
5540 + move-result v4
5542 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5544 + move-result-object v4
5546 + move-object/from16 v0, v23
5548 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5550 + const-string v3, "locationNetworkLat"
5552 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
5554 + move-result-object v4
5556 + move-object/from16 v0, v23
5558 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5560 + const-string v3, "locationNetworkLon"
5562 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
5564 + move-result-object v4
5566 + move-object/from16 v0, v23
5568 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5570 + const-string/jumbo v3, "networkInfoSetting"
5572 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
5574 + move-result v4
5576 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5578 + move-result-object v4
5580 + move-object/from16 v0, v23
5582 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5584 + const-string/jumbo v3, "simInfoSetting"
5586 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSimInfoSetting()B
5588 + move-result v4
5590 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5592 + move-result-object v4
5594 + move-object/from16 v0, v23
5596 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5598 + const-string/jumbo v3, "simSerialNumberSetting"
5600 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSimSerialNumberSetting()B
5602 + move-result v4
5604 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5606 + move-result-object v4
5608 + move-object/from16 v0, v23
5610 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5612 + const-string/jumbo v3, "simSerialNumber"
5614 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSimSerialNumber()Ljava/lang/String;
5616 + move-result-object v4
5618 + move-object/from16 v0, v23
5620 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5622 + const-string/jumbo v3, "subscriberIdSetting"
5624 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSubscriberIdSetting()B
5626 + move-result v4
5628 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5630 + move-result-object v4
5632 + move-object/from16 v0, v23
5634 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5636 + const-string/jumbo v3, "subscriberId"
5638 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSubscriberId()Ljava/lang/String;
5640 + move-result-object v4
5642 + move-object/from16 v0, v23
5644 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5646 + const-string v3, "accountsSetting"
5648 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
5650 + move-result v4
5652 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5654 + move-result-object v4
5656 + move-object/from16 v0, v23
5658 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5660 + const-string v3, "accountsAuthTokensSetting"
5662 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
5664 + move-result v4
5666 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5668 + move-result-object v4
5670 + move-object/from16 v0, v23
5672 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5674 + const-string/jumbo v3, "outgoingCallsSetting"
5676 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getOutgoingCallsSetting()B
5678 + move-result v4
5680 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5682 + move-result-object v4
5684 + move-object/from16 v0, v23
5686 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5688 + const-string v3, "incomingCallsSetting"
5690 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getIncomingCallsSetting()B
5692 + move-result v4
5694 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5696 + move-result-object v4
5698 + move-object/from16 v0, v23
5700 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5702 + const-string v3, "contactsSetting"
5704 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getContactsSetting()B
5706 + move-result v4
5708 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5710 + move-result-object v4
5712 + move-object/from16 v0, v23
5714 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5716 + const-string v3, "calendarSetting"
5718 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getCalendarSetting()B
5720 + move-result v4
5722 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5724 + move-result-object v4
5726 + move-object/from16 v0, v23
5728 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5730 + const-string/jumbo v3, "mmsSetting"
5732 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getMmsSetting()B
5734 + move-result v4
5736 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5738 + move-result-object v4
5740 + move-object/from16 v0, v23
5742 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5744 + const-string/jumbo v3, "smsSetting"
5746 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSmsSetting()B
5748 + move-result v4
5750 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5752 + move-result-object v4
5754 + move-object/from16 v0, v23
5756 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5758 + const-string v3, "callLogSetting"
5760 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getCallLogSetting()B
5762 + move-result v4
5764 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5766 + move-result-object v4
5768 + move-object/from16 v0, v23
5770 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5772 + const-string v3, "bookmarksSetting"
5774 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getBookmarksSetting()B
5776 + move-result v4
5778 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5780 + move-result-object v4
5782 + move-object/from16 v0, v23
5784 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5786 + const-string/jumbo v3, "systemLogsSetting"
5788 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSystemLogsSetting()B
5790 + move-result v4
5792 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5794 + move-result-object v4
5796 + move-object/from16 v0, v23
5798 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5800 + const-string/jumbo v3, "notificationSetting"
5802 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getNotificationSetting()B
5804 + move-result v4
5806 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5808 + move-result-object v4
5810 + move-object/from16 v0, v23
5812 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5814 + const-string v3, "intentBootCompletedSetting"
5816 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getIntentBootCompletedSetting()B
5818 + move-result v4
5820 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5822 + move-result-object v4
5824 + move-object/from16 v0, v23
5826 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5828 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5830 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5832 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
5834 + move-result v3
5836 + add-int/lit8 v3, v3, 0x1
5838 + invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5840 + move-result-object v3
5842 + sput-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5844 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
5846 + move-result-object v2
5848 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->beginTransaction()V
5849 + :try_end_1eb
5850 + .catchall {:try_start_1a .. :try_end_1eb} :catchall_2c2
5852 + const/4 v11, 0x0
5854 + :try_start_1ec
5855 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->get_id()Ljava/lang/Integer;
5857 + move-result-object v15
5859 + if-eqz v15, :cond_2c8
5861 + const-string/jumbo v3, "settings"
5863 + const-string v4, "_id=?"
5865 + const/4 v5, 0x1
5867 + new-array v5, v5, [Ljava/lang/String;
5869 + const/4 v6, 0x0
5871 + invoke-virtual {v15}, Ljava/lang/Integer;->toString()Ljava/lang/String;
5873 + move-result-object v7
5875 + aput-object v7, v5, v6
5877 + move-object/from16 v0, v23
5879 + 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
5881 + move-result v3
5883 + const/4 v4, 0x1
5885 + if-ge v3, v4, :cond_249
5887 + new-instance v3, Ljava/lang/Exception;
5889 + const-string/jumbo v4, "saveSettings - failed to update database entry"
5891 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
5893 + throw v3
5894 + :try_end_213
5895 + .catchall {:try_start_1ec .. :try_end_213} :catchall_291
5896 + .catch Ljava/lang/Exception; {:try_start_1ec .. :try_end_213} :catch_213
5898 + :catch_213
5899 + move-exception v13
5901 + const/16 v18, 0x0
5903 + :try_start_216
5904 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
5906 + if-eqz v11, :cond_21e
5908 + invoke-interface {v11}, Landroid/database/Cursor;->close()V
5910 + :cond_21e
5911 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5913 + monitor-enter v4
5914 + :try_end_221
5915 + .catchall {:try_start_216 .. :try_end_221} :catchall_2c2
5917 + :try_start_221
5918 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5920 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5922 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
5924 + move-result v3
5926 + add-int/lit8 v3, v3, -0x1
5928 + invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5930 + move-result-object v3
5932 + sput-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5934 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5936 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
5938 + move-result v3
5940 + if-nez v3, :cond_244
5942 + if-eqz v2, :cond_244
5944 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
5946 + move-result v3
5948 + if-eqz v3, :cond_244
5950 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
5952 + :cond_244
5953 + monitor-exit v4
5954 + :try_end_245
5955 + .catchall {:try_start_221 .. :try_end_245} :catchall_4ca
5957 + :goto_245
5958 + move/from16 v3, v18
5960 + goto/16 :goto_18
5962 + :cond_249
5963 + :try_start_249
5964 + const-string v3, "allowed_contacts"
5966 + const-string/jumbo v4, "settings_id=?"
5968 + const/4 v5, 0x1
5970 + new-array v5, v5, [Ljava/lang/String;
5972 + const/4 v6, 0x0
5974 + invoke-virtual {v15}, Ljava/lang/Integer;->toString()Ljava/lang/String;
5976 + move-result-object v7
5978 + aput-object v7, v5, v6
5980 + invoke-virtual {v2, v3, v4, v5}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
5982 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAllowedContacts()[I
5984 + move-result-object v10
5986 + if-eqz v10, :cond_3f2
5988 + new-instance v12, Landroid/content/ContentValues;
5990 + invoke-direct {v12}, Landroid/content/ContentValues;-><init>()V
5992 + const/4 v14, 0x0
5994 + :goto_267
5995 + array-length v3, v10
5997 + if-ge v14, v3, :cond_3f2
5999 + const-string/jumbo v3, "settings_id"
6001 + invoke-virtual {v12, v3, v15}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
6003 + const-string v3, "contact_id"
6005 + aget v4, v10, v14
6007 + invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
6009 + move-result-object v4
6011 + invoke-virtual {v12, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
6013 + const-string v3, "allowed_contacts"
6015 + const/4 v4, 0x0
6017 + invoke-virtual {v2, v3, v4, v12}, Landroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
6019 + move-result-wide v3
6021 + const-wide/16 v5, -0x1
6023 + cmp-long v3, v3, v5
6025 + if-nez v3, :cond_2c5
6027 + new-instance v3, Ljava/lang/Exception;
6029 + const-string/jumbo v4, "saveSettings - failed to update database entry (contacts)"
6031 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
6033 + throw v3
6034 + :try_end_291
6035 + .catchall {:try_start_249 .. :try_end_291} :catchall_291
6036 + .catch Ljava/lang/Exception; {:try_start_249 .. :try_end_291} :catch_213
6038 + :catchall_291
6039 + move-exception v3
6041 + :try_start_292
6042 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
6044 + if-eqz v11, :cond_29a
6046 + invoke-interface {v11}, Landroid/database/Cursor;->close()V
6048 + :cond_29a
6049 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6051 + monitor-enter v4
6052 + :try_end_29d
6053 + .catchall {:try_start_292 .. :try_end_29d} :catchall_2c2
6055 + :try_start_29d
6056 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6058 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6060 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
6062 + move-result v5
6064 + add-int/lit8 v5, v5, -0x1
6066 + invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
6068 + move-result-object v5
6070 + sput-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6072 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6074 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
6076 + move-result v5
6078 + if-nez v5, :cond_2c0
6080 + if-eqz v2, :cond_2c0
6082 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
6084 + move-result v5
6086 + if-eqz v5, :cond_2c0
6088 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
6090 + :cond_2c0
6091 + monitor-exit v4
6092 + :try_end_2c1
6093 + .catchall {:try_start_29d .. :try_end_2c1} :catchall_4cd
6095 + :try_start_2c1
6096 + throw v3
6097 + :try_end_2c2
6098 + .catchall {:try_start_2c1 .. :try_end_2c2} :catchall_2c2
6100 + :catchall_2c2
6101 + move-exception v3
6103 + monitor-exit p0
6105 + throw v3
6107 + :cond_2c5
6108 + add-int/lit8 v14, v14, 0x1
6110 + goto :goto_267
6112 + :cond_2c8
6113 + :try_start_2c8
6114 + const-string/jumbo v3, "settings"
6116 + const/4 v4, 0x1
6118 + new-array v4, v4, [Ljava/lang/String;
6120 + const/4 v5, 0x0
6122 + const-string v6, "_id"
6124 + aput-object v6, v4, v5
6126 + const-string/jumbo v5, "packageName=?"
6128 + const/4 v6, 0x1
6130 + new-array v6, v6, [Ljava/lang/String;
6132 + const/4 v7, 0x0
6134 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getPackageName()Ljava/lang/String;
6136 + move-result-object v8
6138 + aput-object v8, v6, v7
6140 + const/4 v7, 0x0
6142 + const/4 v8, 0x0
6144 + const/4 v9, 0x0
6146 + 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;
6148 + move-result-object v11
6150 + if-eqz v11, :cond_3e7
6152 + invoke-interface {v11}, Landroid/database/Cursor;->getCount()I
6154 + move-result v3
6156 + const/4 v4, 0x1
6158 + if-ne v3, v4, :cond_36e
6160 + const-string/jumbo v3, "settings"
6162 + const-string/jumbo v4, "packageName=?"
6164 + const/4 v5, 0x1
6166 + new-array v5, v5, [Ljava/lang/String;
6168 + const/4 v6, 0x0
6170 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getPackageName()Ljava/lang/String;
6172 + move-result-object v7
6174 + aput-object v7, v5, v6
6176 + move-object/from16 v0, v23
6178 + 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
6180 + move-result v3
6182 + const/4 v4, 0x1
6184 + if-ge v3, v4, :cond_312
6186 + new-instance v3, Ljava/lang/Exception;
6188 + const-string/jumbo v4, "saveSettings - failed to update database entry"
6190 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
6192 + throw v3
6194 + :cond_312
6195 + invoke-interface {v11}, Landroid/database/Cursor;->moveToFirst()Z
6197 + move-result v3
6199 + if-eqz v3, :cond_3f2
6201 + const/4 v3, 0x0
6203 + invoke-interface {v11, v3}, Landroid/database/Cursor;->getInt(I)I
6205 + move-result v3
6207 + invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
6209 + move-result-object v16
6211 + const-string v3, "allowed_contacts"
6213 + const-string/jumbo v4, "settings_id=?"
6215 + const/4 v5, 0x1
6217 + new-array v5, v5, [Ljava/lang/String;
6219 + const/4 v6, 0x0
6221 + invoke-virtual/range {v16 .. v16}, Ljava/lang/Integer;->toString()Ljava/lang/String;
6223 + move-result-object v7
6225 + aput-object v7, v5, v6
6227 + invoke-virtual {v2, v3, v4, v5}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
6229 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAllowedContacts()[I
6231 + move-result-object v10
6233 + if-eqz v10, :cond_3f2
6235 + new-instance v12, Landroid/content/ContentValues;
6237 + invoke-direct {v12}, Landroid/content/ContentValues;-><init>()V
6239 + const/4 v14, 0x0
6241 + :goto_33f
6242 + array-length v3, v10
6244 + if-ge v14, v3, :cond_3f2
6246 + const-string/jumbo v3, "settings_id"
6248 + move-object/from16 v0, v16
6250 + invoke-virtual {v12, v3, v0}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
6252 + const-string v3, "contact_id"
6254 + aget v4, v10, v14
6256 + invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
6258 + move-result-object v4
6260 + invoke-virtual {v12, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
6262 + const-string v3, "allowed_contacts"
6264 + const/4 v4, 0x0
6266 + invoke-virtual {v2, v3, v4, v12}, Landroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
6268 + move-result-wide v3
6270 + const-wide/16 v5, -0x1
6272 + cmp-long v3, v3, v5
6274 + if-nez v3, :cond_36b
6276 + new-instance v3, Ljava/lang/Exception;
6278 + const-string/jumbo v4, "saveSettings - failed to update database entry (contacts)"
6280 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
6282 + throw v3
6284 + :cond_36b
6285 + add-int/lit8 v14, v14, 0x1
6287 + goto :goto_33f
6289 + :cond_36e
6290 + invoke-interface {v11}, Landroid/database/Cursor;->getCount()I
6292 + move-result v3
6294 + if-nez v3, :cond_3dc
6296 + const-string/jumbo v3, "settings"
6298 + const/4 v4, 0x0
6300 + move-object/from16 v0, v23
6302 + invoke-virtual {v2, v3, v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
6304 + move-result-wide v19
6306 + const-wide/16 v3, -0x1
6308 + cmp-long v3, v19, v3
6310 + if-nez v3, :cond_38d
6312 + new-instance v3, Ljava/lang/Exception;
6314 + const-string/jumbo v4, "saveSettings - failed to insert new record into DB"
6316 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
6318 + throw v3
6320 + :cond_38d
6321 + const-string v3, "allowed_contacts"
6323 + const-string/jumbo v4, "settings_id=?"
6325 + const/4 v5, 0x1
6327 + new-array v5, v5, [Ljava/lang/String;
6329 + const/4 v6, 0x0
6331 + invoke-static/range {v19 .. v20}, Ljava/lang/Long;->toString(J)Ljava/lang/String;
6333 + move-result-object v7
6335 + aput-object v7, v5, v6
6337 + invoke-virtual {v2, v3, v4, v5}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
6339 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAllowedContacts()[I
6341 + move-result-object v10
6343 + if-eqz v10, :cond_3f2
6345 + new-instance v12, Landroid/content/ContentValues;
6347 + invoke-direct {v12}, Landroid/content/ContentValues;-><init>()V
6349 + const/4 v14, 0x0
6351 + :goto_3ab
6352 + array-length v3, v10
6354 + if-ge v14, v3, :cond_3f2
6356 + const-string/jumbo v3, "settings_id"
6358 + invoke-static/range {v19 .. v20}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
6360 + move-result-object v4
6362 + invoke-virtual {v12, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Long;)V
6364 + const-string v3, "contact_id"
6366 + aget v4, v10, v14
6368 + invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
6370 + move-result-object v4
6372 + invoke-virtual {v12, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
6374 + const-string v3, "allowed_contacts"
6376 + const/4 v4, 0x0
6378 + invoke-virtual {v2, v3, v4, v12}, Landroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
6380 + move-result-wide v3
6382 + const-wide/16 v5, -0x1
6384 + cmp-long v3, v3, v5
6386 + if-nez v3, :cond_3d9
6388 + new-instance v3, Ljava/lang/Exception;
6390 + const-string/jumbo v4, "saveSettings - failed to update database entry (contacts)"
6392 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
6394 + throw v3
6396 + :cond_3d9
6397 + add-int/lit8 v14, v14, 0x1
6399 + goto :goto_3ab
6401 + :cond_3dc
6402 + const/16 v18, 0x0
6404 + new-instance v3, Ljava/lang/Exception;
6406 + const-string/jumbo v4, "saveSettings - duplicate entries in the privacy.db"
6408 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
6410 + throw v3
6412 + :cond_3e7
6413 + const/16 v18, 0x0
6415 + new-instance v3, Ljava/lang/Exception;
6417 + const-string/jumbo v4, "saveSettings - cursor is null, database access failed"
6419 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
6421 + throw v3
6423 + :cond_3f2
6424 + new-instance v21, Ljava/io/File;
6426 + new-instance v3, Ljava/lang/StringBuilder;
6428 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
6430 + const-string v4, "/data/system/privacy/"
6432 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6434 + move-result-object v3
6436 + move-object/from16 v0, v17
6438 + invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6440 + move-result-object v3
6442 + const-string v4, "/"
6444 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6446 + move-result-object v3
6448 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6450 + move-result-object v3
6452 + move-object/from16 v0, v21
6454 + invoke-direct {v0, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
6456 + new-instance v22, Ljava/io/File;
6458 + new-instance v3, Ljava/lang/StringBuilder;
6460 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
6462 + const-string v4, "/data/system/privacy/"
6464 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6466 + move-result-object v3
6468 + move-object/from16 v0, v17
6470 + invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6472 + move-result-object v3
6474 + const-string v4, "/"
6476 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6478 + move-result-object v3
6480 + const-string v4, "/systemLogsSetting"
6482 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6484 + move-result-object v3
6486 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6488 + move-result-object v3
6490 + move-object/from16 v0, v22
6492 + invoke-direct {v0, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
6493 + :try_end_43c
6494 + .catchall {:try_start_2c8 .. :try_end_43c} :catchall_291
6495 + .catch Ljava/lang/Exception; {:try_start_2c8 .. :try_end_43c} :catch_213
6497 + :try_start_43c
6498 + invoke-virtual/range {v21 .. v21}, Ljava/io/File;->mkdirs()Z
6500 + const/4 v3, 0x1
6502 + const/4 v4, 0x0
6504 + move-object/from16 v0, v21
6506 + invoke-virtual {v0, v3, v4}, Ljava/io/File;->setReadable(ZZ)Z
6508 + const/4 v3, 0x1
6510 + const/4 v4, 0x0
6512 + move-object/from16 v0, v21
6514 + invoke-virtual {v0, v3, v4}, Ljava/io/File;->setExecutable(ZZ)Z
6516 + invoke-virtual/range {v22 .. v22}, Ljava/io/File;->createNewFile()Z
6518 + const/4 v3, 0x1
6520 + const/4 v4, 0x0
6522 + move-object/from16 v0, v22
6524 + invoke-virtual {v0, v3, v4}, Ljava/io/File;->setReadable(ZZ)Z
6526 + new-instance v24, Ljava/io/OutputStreamWriter;
6528 + new-instance v3, Ljava/io/FileOutputStream;
6530 + move-object/from16 v0, v22
6532 + invoke-direct {v3, v0}, Ljava/io/FileOutputStream;-><init>(Ljava/io/File;)V
6534 + move-object/from16 v0, v24
6536 + invoke-direct {v0, v3}, Ljava/io/OutputStreamWriter;-><init>(Ljava/io/OutputStream;)V
6538 + new-instance v3, Ljava/lang/StringBuilder;
6540 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
6542 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSystemLogsSetting()B
6544 + move-result v4
6546 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
6548 + move-result-object v3
6550 + const-string v4, ""
6552 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6554 + move-result-object v3
6556 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6558 + move-result-object v3
6560 + move-object/from16 v0, v24
6562 + invoke-virtual {v0, v3}, Ljava/io/OutputStreamWriter;->append(Ljava/lang/CharSequence;)Ljava/io/Writer;
6564 + invoke-virtual/range {v24 .. v24}, Ljava/io/OutputStreamWriter;->flush()V
6566 + invoke-virtual/range {v24 .. v24}, Ljava/io/OutputStreamWriter;->close()V
6567 + :try_end_487
6568 + .catchall {:try_start_43c .. :try_end_487} :catchall_291
6569 + .catch Ljava/io/IOException; {:try_start_43c .. :try_end_487} :catch_4be
6570 + .catch Ljava/lang/Exception; {:try_start_43c .. :try_end_487} :catch_213
6572 + :try_start_487
6573 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->setTransactionSuccessful()V
6574 + :try_end_48a
6575 + .catchall {:try_start_487 .. :try_end_48a} :catchall_291
6576 + .catch Ljava/lang/Exception; {:try_start_487 .. :try_end_48a} :catch_213
6578 + :try_start_48a
6579 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
6581 + if-eqz v11, :cond_492
6583 + invoke-interface {v11}, Landroid/database/Cursor;->close()V
6585 + :cond_492
6586 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6588 + monitor-enter v4
6589 + :try_end_495
6590 + .catchall {:try_start_48a .. :try_end_495} :catchall_2c2
6592 + :try_start_495
6593 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6595 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6597 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
6599 + move-result v3
6601 + add-int/lit8 v3, v3, -0x1
6603 + invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
6605 + move-result-object v3
6607 + sput-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6609 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6611 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
6613 + move-result v3
6615 + if-nez v3, :cond_4b8
6617 + if-eqz v2, :cond_4b8
6619 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
6621 + move-result v3
6623 + if-eqz v3, :cond_4b8
6625 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
6627 + :cond_4b8
6628 + monitor-exit v4
6630 + goto/16 :goto_245
6632 + :catchall_4bb
6633 + move-exception v3
6635 + monitor-exit v4
6636 + :try_end_4bd
6637 + .catchall {:try_start_495 .. :try_end_4bd} :catchall_4bb
6639 + :try_start_4bd
6640 + throw v3
6641 + :try_end_4be
6642 + .catchall {:try_start_4bd .. :try_end_4be} :catchall_2c2
6644 + :catch_4be
6645 + move-exception v13
6647 + const/16 v18, 0x0
6649 + :try_start_4c1
6650 + new-instance v3, Ljava/lang/Exception;
6652 + const-string/jumbo v4, "saveSettings - could not write settings to file"
6654 + invoke-direct {v3, v4, v13}, Ljava/lang/Exception;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
6656 + throw v3
6657 + :try_end_4ca
6658 + .catchall {:try_start_4c1 .. :try_end_4ca} :catchall_291
6659 + .catch Ljava/lang/Exception; {:try_start_4c1 .. :try_end_4ca} :catch_213
6661 + :catchall_4ca
6662 + move-exception v3
6664 + :try_start_4cb
6665 + monitor-exit v4
6666 + :try_end_4cc
6667 + .catchall {:try_start_4cb .. :try_end_4cc} :catchall_4ca
6669 + :try_start_4cc
6670 + throw v3
6671 + :try_end_4cd
6672 + .catchall {:try_start_4cc .. :try_end_4cd} :catchall_2c2
6674 + :catchall_4cd
6675 + move-exception v3
6677 + :try_start_4ce
6678 + monitor-exit v4
6679 + :try_end_4cf
6680 + .catchall {:try_start_4ce .. :try_end_4cf} :catchall_4cd
6682 + :try_start_4cf
6683 + throw v3
6684 + :try_end_4d0
6685 + .catchall {:try_start_4cf .. :try_end_4d0} :catchall_2c2
6686 +.end method
6688 +.method public declared-synchronized setValue(Ljava/lang/String;Ljava/lang/String;)Z
6689 + .registers 10
6691 + monitor-enter p0
6693 + :try_start_1
6694 + const-string v3, "PrivacyPersistenceAdapter"
6696 + new-instance v4, Ljava/lang/StringBuilder;
6698 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
6700 + const-string/jumbo v5, "setValue - name "
6702 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6704 + move-result-object v4
6706 + invoke-virtual {v4, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6708 + move-result-object v4
6710 + const-string v5, " value "
6712 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6714 + move-result-object v4
6716 + invoke-virtual {v4, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6718 + move-result-object v4
6720 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6722 + move-result-object v4
6724 + invoke-static {v3, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
6726 + new-instance v2, Landroid/content/ContentValues;
6728 + invoke-direct {v2}, Landroid/content/ContentValues;-><init>()V
6730 + const-string/jumbo v3, "name"
6732 + invoke-virtual {v2, v3, p1}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
6734 + const-string/jumbo v3, "value"
6736 + invoke-virtual {v2, v3, p2}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
6738 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
6740 + move-result-object v0
6742 + const-string/jumbo v3, "map"
6744 + const/4 v4, 0x0
6746 + invoke-virtual {v0, v3, v4, v2}, Landroid/database/sqlite/SQLiteDatabase;->replace(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
6748 + move-result-wide v3
6750 + const-wide/16 v5, -0x1
6752 + cmp-long v3, v3, v5
6754 + if-eqz v3, :cond_5d
6756 + const/4 v1, 0x1
6758 + :goto_48
6759 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6761 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
6763 + move-result v3
6765 + if-nez v3, :cond_5b
6767 + if-eqz v0, :cond_5b
6769 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
6771 + move-result v3
6773 + if-eqz v3, :cond_5b
6775 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
6776 + :try_end_5b
6777 + .catchall {:try_start_1 .. :try_end_5b} :catchall_5f
6779 + :cond_5b
6780 + monitor-exit p0
6782 + return v1
6784 + :cond_5d
6785 + const/4 v1, 0x0
6787 + goto :goto_48
6789 + :catchall_5f
6790 + move-exception v3
6792 + monitor-exit p0
6794 + throw v3
6795 +.end method
6796 diff -Npru stock-framework/smali/android/privacy/PrivacySettings$1.smali pdroid-framework/smali/android/privacy/PrivacySettings$1.smali
6797 --- stock-framework/smali/android/privacy/PrivacySettings$1.smali 1969-12-31 18:00:00.000000000 -0600
6798 +++ pdroid-framework/smali/android/privacy/PrivacySettings$1.smali 2012-11-02 22:30:28.539776149 -0500
6799 @@ -0,0 +1,77 @@
6800 +.class final Landroid/privacy/PrivacySettings$1;
6801 +.super Ljava/lang/Object;
6802 +.source "PrivacySettings.java"
6804 +# interfaces
6805 +.implements Landroid/os/Parcelable$Creator;
6808 +# annotations
6809 +.annotation system Ldalvik/annotation/EnclosingClass;
6810 + value = Landroid/privacy/PrivacySettings;
6811 +.end annotation
6813 +.annotation system Ldalvik/annotation/InnerClass;
6814 + accessFlags = 0x8
6815 + name = null
6816 +.end annotation
6818 +.annotation system Ldalvik/annotation/Signature;
6819 + value = {
6820 + "Ljava/lang/Object;",
6821 + "Landroid/os/Parcelable$Creator",
6822 + "<",
6823 + "Landroid/privacy/PrivacySettings;",
6824 + ">;"
6826 +.end annotation
6829 +# direct methods
6830 +.method constructor <init>()V
6831 + .registers 1
6833 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
6835 + return-void
6836 +.end method
6839 +# virtual methods
6840 +.method public createFromParcel(Landroid/os/Parcel;)Landroid/privacy/PrivacySettings;
6841 + .registers 3
6843 + new-instance v0, Landroid/privacy/PrivacySettings;
6845 + invoke-direct {v0, p1}, Landroid/privacy/PrivacySettings;-><init>(Landroid/os/Parcel;)V
6847 + return-object v0
6848 +.end method
6850 +.method public bridge synthetic createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
6851 + .registers 3
6853 + invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettings$1;->createFromParcel(Landroid/os/Parcel;)Landroid/privacy/PrivacySettings;
6855 + move-result-object v0
6857 + return-object v0
6858 +.end method
6860 +.method public newArray(I)[Landroid/privacy/PrivacySettings;
6861 + .registers 3
6863 + new-array v0, p1, [Landroid/privacy/PrivacySettings;
6865 + return-object v0
6866 +.end method
6868 +.method public bridge synthetic newArray(I)[Ljava/lang/Object;
6869 + .registers 3
6871 + invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettings$1;->newArray(I)[Landroid/privacy/PrivacySettings;
6873 + move-result-object v0
6875 + return-object v0
6876 +.end method
6877 diff -Npru stock-framework/smali/android/privacy/PrivacySettingsManagerService.smali pdroid-framework/smali/android/privacy/PrivacySettingsManagerService.smali
6878 --- stock-framework/smali/android/privacy/PrivacySettingsManagerService.smali 1969-12-31 18:00:00.000000000 -0600
6879 +++ pdroid-framework/smali/android/privacy/PrivacySettingsManagerService.smali 2012-11-02 22:30:28.543776164 -0500
6880 @@ -0,0 +1,535 @@
6881 +.class public Landroid/privacy/PrivacySettingsManagerService;
6882 +.super Landroid/privacy/IPrivacySettingsManager$Stub;
6883 +.source "PrivacySettingsManagerService.java"
6886 +# static fields
6887 +.field private static final TAG:Ljava/lang/String; = "PrivacySettingsManagerService"
6889 +.field private static final VERSION:D = 1.32
6891 +.field private static final WRITE_PRIVACY_SETTINGS:Ljava/lang/String; = "android.privacy.WRITE_PRIVACY_SETTINGS"
6893 +.field public static obs:Landroid/privacy/PrivacyFileObserver;
6896 +# instance fields
6897 +.field private bootCompleted:Z
6899 +.field private context:Landroid/content/Context;
6901 +.field private enabled:Z
6903 +.field private notificationsEnabled:Z
6905 +.field private persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
6908 +# direct methods
6909 +.method public constructor <init>(Landroid/content/Context;)V
6910 + .registers 5
6912 + invoke-direct {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;-><init>()V
6914 + const-string v0, "PrivacySettingsManagerService"
6916 + new-instance v1, Ljava/lang/StringBuilder;
6918 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
6920 + const-string v2, "PrivacySettingsManagerService - initializing for package: "
6922 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6924 + move-result-object v1
6926 + invoke-virtual {p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
6928 + move-result-object v2
6930 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6932 + move-result-object v1
6934 + const-string v2, " UID: "
6936 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6938 + move-result-object v1
6940 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
6942 + move-result v2
6944 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
6946 + move-result-object v1
6948 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6950 + move-result-object v1
6952 + invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
6954 + iput-object p1, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
6956 + new-instance v0, Landroid/privacy/PrivacyPersistenceAdapter;
6958 + invoke-direct {v0, p1}, Landroid/privacy/PrivacyPersistenceAdapter;-><init>(Landroid/content/Context;)V
6960 + iput-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
6962 + new-instance v0, Landroid/privacy/PrivacyFileObserver;
6964 + const-string v1, "/data/system/privacy"
6966 + invoke-direct {v0, v1, p0}, Landroid/privacy/PrivacyFileObserver;-><init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
6968 + sput-object v0, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
6970 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
6972 + const-string v1, "enabled"
6974 + invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->getValue(Ljava/lang/String;)Ljava/lang/String;
6976 + move-result-object v0
6978 + const-string v1, "1"
6980 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
6982 + move-result v0
6984 + iput-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->enabled:Z
6986 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
6988 + const-string/jumbo v1, "notifications_enabled"
6990 + invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->getValue(Ljava/lang/String;)Ljava/lang/String;
6992 + move-result-object v0
6994 + const-string v1, "1"
6996 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
6998 + move-result v0
7000 + iput-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->notificationsEnabled:Z
7002 + const/4 v0, 0x0
7004 + iput-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->bootCompleted:Z
7006 + return-void
7007 +.end method
7010 +# virtual methods
7011 +.method public addObserver(Ljava/lang/String;)V
7012 + .registers 5
7014 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
7016 + const-string v1, "android.privacy.WRITE_PRIVACY_SETTINGS"
7018 + const-string v2, "Requires WRITE_PRIVACY_SETTINGS"
7020 + invoke-virtual {v0, v1, v2}, Landroid/content/Context;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
7022 + sget-object v0, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
7024 + invoke-virtual {v0, p1}, Landroid/privacy/PrivacyFileObserver;->addObserver(Ljava/lang/String;)V
7026 + return-void
7027 +.end method
7029 +.method public deleteSettings(Ljava/lang/String;)Z
7030 + .registers 8
7032 + const/4 v5, 0x1
7034 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
7036 + move-result v2
7038 + const/16 v3, 0x3e8
7040 + if-eq v2, v3, :cond_12
7042 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
7044 + const-string v3, "android.privacy.WRITE_PRIVACY_SETTINGS"
7046 + const-string v4, "Requires WRITE_PRIVACY_SETTINGS"
7048 + invoke-virtual {v2, v3, v4}, Landroid/content/Context;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
7050 + :cond_12
7051 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
7053 + invoke-virtual {v2, p1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteSettings(Ljava/lang/String;)Z
7055 + move-result v1
7057 + new-instance v2, Ljava/lang/StringBuilder;
7059 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
7061 + const-string v3, "/data/system/privacy/"
7063 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7065 + move-result-object v2
7067 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7069 + move-result-object v2
7071 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
7073 + move-result-object v0
7075 + new-instance v2, Ljava/io/File;
7077 + invoke-direct {v2, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
7079 + invoke-virtual {v2}, Ljava/io/File;->exists()Z
7081 + move-result v2
7083 + if-eqz v2, :cond_3e
7085 + if-ne v1, v5, :cond_3e
7087 + sget-object v2, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
7089 + invoke-virtual {v2, v0}, Landroid/privacy/PrivacyFileObserver;->addObserver(Ljava/lang/String;)V
7091 + :cond_3d
7092 + :goto_3d
7093 + return v1
7095 + :cond_3e
7096 + if-ne v1, v5, :cond_3d
7098 + sget-object v2, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
7100 + iget-object v2, v2, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap;
7102 + invoke-virtual {v2, v0}, Ljava/util/HashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
7104 + goto :goto_3d
7105 +.end method
7107 +.method public getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
7108 + .registers 4
7110 + iget-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->enabled:Z
7112 + if-nez v0, :cond_12
7114 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
7116 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
7118 + move-result-object v0
7120 + const-string v1, "com.privacy.pdroid"
7122 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
7124 + move-result v0
7126 + if-eqz v0, :cond_1a
7128 + :cond_12
7129 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
7131 + const/4 v1, 0x0
7133 + invoke-virtual {v0, p1, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->getSettings(Ljava/lang/String;Z)Landroid/privacy/PrivacySettings;
7135 + move-result-object v0
7137 + :goto_19
7138 + return-object v0
7140 + :cond_1a
7141 + const/4 v0, 0x0
7143 + goto :goto_19
7144 +.end method
7146 +.method public getVersion()D
7147 + .registers 3
7149 + const-wide v0, 0x3ff51eb851eb851fL
7151 + return-wide v0
7152 +.end method
7154 +.method public notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
7155 + .registers 8
7157 + iget-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->bootCompleted:Z
7159 + if-eqz v1, :cond_34
7161 + iget-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->notificationsEnabled:Z
7163 + if-eqz v1, :cond_34
7165 + new-instance v0, Landroid/content/Intent;
7167 + invoke-direct {v0}, Landroid/content/Intent;-><init>()V
7169 + const-string v1, "com.privacy.pdroid.PRIVACY_NOTIFICATION"
7171 + invoke-virtual {v0, v1}, Landroid/content/Intent;->setAction(Ljava/lang/String;)Landroid/content/Intent;
7173 + const-string/jumbo v1, "packageName"
7175 + invoke-virtual {v0, v1, p1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
7177 + const-string/jumbo v1, "uid"
7179 + const/4 v2, -0x1
7181 + invoke-virtual {v0, v1, v2}, Landroid/content/Intent;->putExtra(Ljava/lang/String;I)Landroid/content/Intent;
7183 + const-string v1, "accessMode"
7185 + invoke-virtual {v0, v1, p2}, Landroid/content/Intent;->putExtra(Ljava/lang/String;B)Landroid/content/Intent;
7187 + const-string v1, "dataType"
7189 + invoke-virtual {v0, v1, p3}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
7191 + const-string/jumbo v1, "output"
7193 + invoke-virtual {v0, v1, p4}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
7195 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
7197 + invoke-virtual {v1, v0}, Landroid/content/Context;->sendBroadcast(Landroid/content/Intent;)V
7199 + :cond_34
7200 + return-void
7201 +.end method
7203 +.method public purgeSettings()Z
7204 + .registers 2
7206 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
7208 + invoke-virtual {v0}, Landroid/privacy/PrivacyPersistenceAdapter;->purgeSettings()Z
7210 + move-result v0
7212 + return v0
7213 +.end method
7215 +.method public registerObservers()V
7216 + .registers 4
7218 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
7220 + const-string v1, "android.privacy.WRITE_PRIVACY_SETTINGS"
7222 + const-string v2, "Requires WRITE_PRIVACY_SETTINGS"
7224 + invoke-virtual {v0, v1, v2}, Landroid/content/Context;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
7226 + new-instance v0, Landroid/privacy/PrivacyFileObserver;
7228 + const-string v1, "/data/system/privacy"
7230 + invoke-direct {v0, v1, p0}, Landroid/privacy/PrivacyFileObserver;-><init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
7232 + sput-object v0, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
7234 + return-void
7235 +.end method
7237 +.method public saveSettings(Landroid/privacy/PrivacySettings;)Z
7238 + .registers 6
7240 + const-string v1, "PrivacySettingsManagerService"
7242 + new-instance v2, Ljava/lang/StringBuilder;
7244 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
7246 + const-string/jumbo v3, "saveSettings - checking if caller (UID: "
7248 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7250 + move-result-object v2
7252 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
7254 + move-result v3
7256 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
7258 + move-result-object v2
7260 + const-string v3, ") has sufficient permissions"
7262 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7264 + move-result-object v2
7266 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
7268 + move-result-object v2
7270 + invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
7272 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
7274 + move-result v1
7276 + const/16 v2, 0x3e8
7278 + if-eq v1, v2, :cond_34
7280 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
7282 + const-string v2, "android.privacy.WRITE_PRIVACY_SETTINGS"
7284 + const-string v3, "Requires WRITE_PRIVACY_SETTINGS"
7286 + invoke-virtual {v1, v2, v3}, Landroid/content/Context;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
7288 + :cond_34
7289 + const-string v1, "PrivacySettingsManagerService"
7291 + new-instance v2, Ljava/lang/StringBuilder;
7293 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
7295 + const-string/jumbo v3, "saveSettings - "
7297 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7299 + move-result-object v2
7301 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
7303 + move-result-object v2
7305 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
7307 + move-result-object v2
7309 + invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
7311 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
7313 + invoke-virtual {v1, p1}, Landroid/privacy/PrivacyPersistenceAdapter;->saveSettings(Landroid/privacy/PrivacySettings;)Z
7315 + move-result v0
7317 + const/4 v1, 0x1
7319 + if-ne v0, v1, :cond_5f
7321 + sget-object v1, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
7323 + invoke-virtual {p1}, Landroid/privacy/PrivacySettings;->getPackageName()Ljava/lang/String;
7325 + move-result-object v2
7327 + invoke-virtual {v1, v2}, Landroid/privacy/PrivacyFileObserver;->addObserver(Ljava/lang/String;)V
7329 + :cond_5f
7330 + return v0
7331 +.end method
7333 +.method public setBootCompleted()V
7334 + .registers 2
7336 + const/4 v0, 0x1
7338 + iput-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->bootCompleted:Z
7340 + return-void
7341 +.end method
7343 +.method public setEnabled(Z)Z
7344 + .registers 6
7346 + const/4 v1, 0x1
7348 + if-eqz p1, :cond_12
7350 + const-string v0, "1"
7352 + :goto_5
7353 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
7355 + const-string v3, "enabled"
7357 + invoke-virtual {v2, v3, v0}, Landroid/privacy/PrivacyPersistenceAdapter;->setValue(Ljava/lang/String;Ljava/lang/String;)Z
7359 + move-result v2
7361 + if-eqz v2, :cond_15
7363 + iput-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->enabled:Z
7365 + :goto_11
7366 + return v1
7368 + :cond_12
7369 + const-string v0, "0"
7371 + goto :goto_5
7373 + :cond_15
7374 + const/4 v1, 0x0
7376 + goto :goto_11
7377 +.end method
7379 +.method public setNotificationsEnabled(Z)Z
7380 + .registers 6
7382 + const/4 v1, 0x1
7384 + if-eqz p1, :cond_15
7386 + const-string v0, "1"
7388 + :goto_5
7389 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
7391 + const-string/jumbo v3, "notifications_enabled"
7393 + invoke-virtual {v2, v3, v0}, Landroid/privacy/PrivacyPersistenceAdapter;->setValue(Ljava/lang/String;Ljava/lang/String;)Z
7395 + move-result v2
7397 + if-eqz v2, :cond_18
7399 + iput-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->notificationsEnabled:Z
7401 + iput-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->bootCompleted:Z
7403 + :goto_14
7404 + return v1
7406 + :cond_15
7407 + const-string v0, "0"
7409 + goto :goto_5
7411 + :cond_18
7412 + const/4 v1, 0x0
7414 + goto :goto_14
7415 +.end method
7416 diff -Npru stock-framework/smali/android/privacy/PrivacySettingsManager.smali pdroid-framework/smali/android/privacy/PrivacySettingsManager.smali
7417 --- stock-framework/smali/android/privacy/PrivacySettingsManager.smali 1969-12-31 18:00:00.000000000 -0600
7418 +++ pdroid-framework/smali/android/privacy/PrivacySettingsManager.smali 2012-11-02 22:30:28.543776164 -0500
7419 @@ -0,0 +1,531 @@
7420 +.class public Landroid/privacy/PrivacySettingsManager;
7421 +.super Ljava/lang/Object;
7422 +.source "PrivacySettingsManager.java"
7425 +# static fields
7426 +.field public static final ACTION_PRIVACY_NOTIFICATION:Ljava/lang/String; = "com.privacy.pdroid.PRIVACY_NOTIFICATION"
7428 +.field private static final TAG:Ljava/lang/String; = "PrivacySettingsManager"
7431 +# instance fields
7432 +.field private service:Landroid/privacy/IPrivacySettingsManager;
7435 +# direct methods
7436 +.method public constructor <init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
7437 + .registers 3
7439 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
7441 + iput-object p2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7443 + return-void
7444 +.end method
7447 +# virtual methods
7448 +.method public addObserver(Ljava/lang/String;)V
7449 + .registers 5
7451 + :try_start_0
7452 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7454 + if-eqz v1, :cond_a
7456 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7458 + invoke-interface {v1, p1}, Landroid/privacy/IPrivacySettingsManager;->addObserver(Ljava/lang/String;)V
7460 + :goto_9
7461 + return-void
7463 + :cond_a
7464 + const-string v1, "PrivacySettingsManager"
7466 + const-string v2, "deleteSettings - PrivacySettingsManagerService is null"
7468 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7469 + :try_end_11
7470 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_11} :catch_12
7472 + goto :goto_9
7474 + :catch_12
7475 + move-exception v0
7477 + const-string v1, "PrivacySettingsManager"
7479 + const-string v2, "RemoteException in addObserver: "
7481 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7483 + goto :goto_9
7484 +.end method
7486 +.method public deleteSettings(Ljava/lang/String;)Z
7487 + .registers 3
7489 + invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettingsManager;->deleteSettings(Ljava/lang/String;)Z
7491 + move-result v0
7493 + return v0
7494 +.end method
7496 +.method public deleteSettings(Ljava/lang/String;I)Z
7497 + .registers 7
7499 + const/4 v1, 0x0
7501 + :try_start_1
7502 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7504 + if-eqz v2, :cond_c
7506 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7508 + invoke-interface {v2, p1}, Landroid/privacy/IPrivacySettingsManager;->deleteSettings(Ljava/lang/String;)Z
7510 + move-result v1
7512 + :goto_b
7513 + return v1
7515 + :cond_c
7516 + const-string v2, "PrivacySettingsManager"
7518 + const-string v3, "deleteSettings - PrivacySettingsManagerService is null"
7520 + invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7521 + :try_end_13
7522 + .catch Landroid/os/RemoteException; {:try_start_1 .. :try_end_13} :catch_14
7524 + goto :goto_b
7526 + :catch_14
7527 + move-exception v0
7529 + const-string v2, "PrivacySettingsManager"
7531 + const-string v3, "RemoteException in deleteSettings: "
7533 + invoke-static {v2, v3, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7535 + goto :goto_b
7536 +.end method
7538 +.method public getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
7539 + .registers 6
7541 + const/4 v1, 0x0
7543 + :try_start_1
7544 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7546 + if-eqz v2, :cond_c
7548 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7550 + invoke-interface {v2, p1}, Landroid/privacy/IPrivacySettingsManager;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
7552 + move-result-object v1
7554 + :goto_b
7555 + return-object v1
7557 + :cond_c
7558 + const-string v2, "PrivacySettingsManager"
7560 + const-string v3, "getSettings - PrivacySettingsManagerService is null"
7562 + invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7563 + :try_end_13
7564 + .catch Landroid/os/RemoteException; {:try_start_1 .. :try_end_13} :catch_14
7566 + goto :goto_b
7568 + :catch_14
7569 + move-exception v0
7571 + invoke-virtual {v0}, Landroid/os/RemoteException;->printStackTrace()V
7573 + goto :goto_b
7574 +.end method
7576 +.method public getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
7577 + .registers 4
7579 + invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
7581 + move-result-object v0
7583 + return-object v0
7584 +.end method
7586 +.method public getVersion()D
7587 + .registers 4
7589 + :try_start_0
7590 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7592 + if-eqz v1, :cond_b
7594 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7596 + invoke-interface {v1}, Landroid/privacy/IPrivacySettingsManager;->getVersion()D
7598 + move-result-wide v1
7600 + :goto_a
7601 + return-wide v1
7603 + :cond_b
7604 + const-string v1, "PrivacySettingsManager"
7606 + const-string v2, "getVersion - PrivacySettingsManagerService is null"
7608 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7609 + :try_end_12
7610 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_12} :catch_15
7612 + :goto_12
7613 + const-wide/16 v1, 0x0
7615 + goto :goto_a
7617 + :catch_15
7618 + move-exception v0
7620 + const-string v1, "PrivacySettingsManager"
7622 + const-string v2, "RemoteException in getVersion: "
7624 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7626 + goto :goto_12
7627 +.end method
7629 +.method public isServiceAvailable()Z
7630 + .registers 2
7632 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7634 + if-eqz v0, :cond_6
7636 + const/4 v0, 0x1
7638 + :goto_5
7639 + return v0
7641 + :cond_6
7642 + const/4 v0, 0x0
7644 + goto :goto_5
7645 +.end method
7647 +.method public notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
7648 + .registers 9
7650 + :try_start_0
7651 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7653 + if-eqz v1, :cond_a
7655 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7657 + invoke-interface {v1, p1, p2, p3, p4}, Landroid/privacy/IPrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
7659 + :goto_9
7660 + return-void
7662 + :cond_a
7663 + const-string v1, "PrivacySettingsManager"
7665 + const-string v2, "deleteSettings - PrivacySettingsManagerService is null"
7667 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7668 + :try_end_11
7669 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_11} :catch_12
7671 + goto :goto_9
7673 + :catch_12
7674 + move-exception v0
7676 + const-string v1, "PrivacySettingsManager"
7678 + const-string v2, "RemoteException in notification: "
7680 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7682 + goto :goto_9
7683 +.end method
7685 +.method public notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
7686 + .registers 13
7688 + move-object v0, p0
7690 + move-object v1, p1
7692 + move v2, p3
7694 + move-object v3, p4
7696 + move-object v4, p5
7698 + move-object v5, p6
7700 + invoke-virtual/range {v0 .. v5}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
7702 + return-void
7703 +.end method
7705 +.method public purgeSettings()Z
7706 + .registers 4
7708 + :try_start_0
7709 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7711 + if-eqz v1, :cond_b
7713 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7715 + invoke-interface {v1}, Landroid/privacy/IPrivacySettingsManager;->purgeSettings()Z
7717 + move-result v1
7719 + :goto_a
7720 + return v1
7722 + :cond_b
7723 + const-string v1, "PrivacySettingsManager"
7725 + const-string v2, "deleteSettings - PrivacySettingsManagerService is null"
7727 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7728 + :try_end_12
7729 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_12} :catch_14
7731 + :goto_12
7732 + const/4 v1, 0x0
7734 + goto :goto_a
7736 + :catch_14
7737 + move-exception v0
7739 + const-string v1, "PrivacySettingsManager"
7741 + const-string v2, "RemoteException in purgeSettings: "
7743 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7745 + goto :goto_12
7746 +.end method
7748 +.method public registerObservers()V
7749 + .registers 4
7751 + :try_start_0
7752 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7754 + if-eqz v1, :cond_a
7756 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7758 + invoke-interface {v1}, Landroid/privacy/IPrivacySettingsManager;->registerObservers()V
7760 + :goto_9
7761 + return-void
7763 + :cond_a
7764 + const-string v1, "PrivacySettingsManager"
7766 + const-string v2, "deleteSettings - PrivacySettingsManagerService is null"
7768 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7769 + :try_end_11
7770 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_11} :catch_12
7772 + goto :goto_9
7774 + :catch_12
7775 + move-exception v0
7777 + const-string v1, "PrivacySettingsManager"
7779 + const-string v2, "RemoteException in registerObservers: "
7781 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7783 + goto :goto_9
7784 +.end method
7786 +.method public saveSettings(Landroid/privacy/PrivacySettings;)Z
7787 + .registers 6
7789 + const/4 v1, 0x0
7791 + :try_start_1
7792 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7794 + if-eqz v2, :cond_c
7796 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7798 + invoke-interface {v2, p1}, Landroid/privacy/IPrivacySettingsManager;->saveSettings(Landroid/privacy/PrivacySettings;)Z
7800 + move-result v1
7802 + :goto_b
7803 + return v1
7805 + :cond_c
7806 + const-string v2, "PrivacySettingsManager"
7808 + const-string/jumbo v3, "saveSettings - PrivacySettingsManagerService is null"
7810 + invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7811 + :try_end_14
7812 + .catch Landroid/os/RemoteException; {:try_start_1 .. :try_end_14} :catch_15
7814 + goto :goto_b
7816 + :catch_15
7817 + move-exception v0
7819 + const-string v2, "PrivacySettingsManager"
7821 + const-string v3, "RemoteException in saveSettings: "
7823 + invoke-static {v2, v3, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7825 + goto :goto_b
7826 +.end method
7828 +.method public setBootCompleted()V
7829 + .registers 4
7831 + :try_start_0
7832 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7834 + if-eqz v1, :cond_a
7836 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7838 + invoke-interface {v1}, Landroid/privacy/IPrivacySettingsManager;->setBootCompleted()V
7840 + :goto_9
7841 + return-void
7843 + :cond_a
7844 + const-string v1, "PrivacySettingsManager"
7846 + const-string/jumbo v2, "setBootCompleted - PrivacySettingsManagerService is null"
7848 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7849 + :try_end_12
7850 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_12} :catch_13
7852 + goto :goto_9
7854 + :catch_13
7855 + move-exception v0
7857 + const-string v1, "PrivacySettingsManager"
7859 + const-string v2, "RemoteException in setBootCompleted: "
7861 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7863 + goto :goto_9
7864 +.end method
7866 +.method public setEnabled(Z)Z
7867 + .registers 5
7869 + :try_start_0
7870 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7872 + if-eqz v1, :cond_b
7874 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7876 + invoke-interface {v1, p1}, Landroid/privacy/IPrivacySettingsManager;->setEnabled(Z)Z
7878 + move-result v1
7880 + :goto_a
7881 + return v1
7883 + :cond_b
7884 + const-string v1, "PrivacySettingsManager"
7886 + const-string/jumbo v2, "setEnabled - PrivacySettingsManagerService is null"
7888 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7889 + :try_end_13
7890 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_13} :catch_15
7892 + :goto_13
7893 + const/4 v1, 0x0
7895 + goto :goto_a
7897 + :catch_15
7898 + move-exception v0
7900 + const-string v1, "PrivacySettingsManager"
7902 + const-string v2, "RemoteException in setEnabled: "
7904 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7906 + goto :goto_13
7907 +.end method
7909 +.method public setNotificationsEnabled(Z)Z
7910 + .registers 5
7912 + :try_start_0
7913 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7915 + if-eqz v1, :cond_b
7917 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7919 + invoke-interface {v1, p1}, Landroid/privacy/IPrivacySettingsManager;->setNotificationsEnabled(Z)Z
7921 + move-result v1
7923 + :goto_a
7924 + return v1
7926 + :cond_b
7927 + const-string v1, "PrivacySettingsManager"
7929 + const-string/jumbo v2, "setNotificationsEnabled - PrivacySettingsManagerService is null"
7931 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7932 + :try_end_13
7933 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_13} :catch_15
7935 + :goto_13
7936 + const/4 v1, 0x0
7938 + goto :goto_a
7940 + :catch_15
7941 + move-exception v0
7943 + const-string v1, "PrivacySettingsManager"
7945 + const-string v2, "RemoteException in setNotificationsEnabled: "
7947 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7949 + goto :goto_13
7950 +.end method
7951 diff -Npru stock-framework/smali/android/privacy/PrivacySettings.smali pdroid-framework/smali/android/privacy/PrivacySettings.smali
7952 --- stock-framework/smali/android/privacy/PrivacySettings.smali 1969-12-31 18:00:00.000000000 -0600
7953 +++ pdroid-framework/smali/android/privacy/PrivacySettings.smali 2012-11-02 22:30:28.539776149 -0500
7954 @@ -0,0 +1,2109 @@
7955 +.class public final Landroid/privacy/PrivacySettings;
7956 +.super Ljava/lang/Object;
7957 +.source "PrivacySettings.java"
7959 +# interfaces
7960 +.implements Landroid/os/Parcelable;
7963 +# static fields
7964 +.field public static final CREATOR:Landroid/os/Parcelable$Creator; = null
7965 + .annotation system Ldalvik/annotation/Signature;
7966 + value = {
7967 + "Landroid/os/Parcelable$Creator",
7968 + "<",
7969 + "Landroid/privacy/PrivacySettings;",
7970 + ">;"
7972 + .end annotation
7973 +.end field
7975 +.field public static final CUSTOM:B = 0x2t
7977 +.field public static final DATA_ACCOUNTS_LIST:Ljava/lang/String; = "accountsList"
7979 +.field public static final DATA_AUTH_TOKENS:Ljava/lang/String; = "authTokens"
7981 +.field public static final DATA_BOOKMARKS:Ljava/lang/String; = "bookmarks"
7983 +.field public static final DATA_CALENDAR:Ljava/lang/String; = "calendar"
7985 +.field public static final DATA_CALL_LOG:Ljava/lang/String; = "callLog"
7987 +.field public static final DATA_CONTACTS:Ljava/lang/String; = "contacts"
7989 +.field public static final DATA_DEVICE_ID:Ljava/lang/String; = "deviceID"
7991 +.field public static final DATA_INCOMING_CALL:Ljava/lang/String; = "incomingCall"
7993 +.field public static final DATA_INTENT_BOOT_COMPLETED:Ljava/lang/String; = "intentBootCompleted"
7995 +.field public static final DATA_LINE_1_NUMBER:Ljava/lang/String; = "line1Number"
7997 +.field public static final DATA_LOCATION_GPS:Ljava/lang/String; = "locationGPS"
7999 +.field public static final DATA_LOCATION_NETWORK:Ljava/lang/String; = "locationNetwork"
8001 +.field public static final DATA_MMS:Ljava/lang/String; = "mms"
8003 +.field public static final DATA_MMS_SMS:Ljava/lang/String; = "mmsSms"
8005 +.field public static final DATA_NETWORK_INFO_CURRENT:Ljava/lang/String; = "networkInfoCurrent"
8007 +.field public static final DATA_NETWORK_INFO_SIM:Ljava/lang/String; = "networkInfoSIM"
8009 +.field public static final DATA_OUTGOING_CALL:Ljava/lang/String; = "outgoingCall"
8011 +.field public static final DATA_SIM_SERIAL:Ljava/lang/String; = "simSerial"
8013 +.field public static final DATA_SMS:Ljava/lang/String; = "sms"
8015 +.field public static final DATA_SUBSCRIBER_ID:Ljava/lang/String; = "subscriberID"
8017 +.field public static final DATA_SYSTEM_LOGS:Ljava/lang/String; = "systemLogs"
8019 +.field public static final EMPTY:B = 0x1t
8021 +.field public static final RANDOM:B = 0x3t
8023 +.field public static final REAL:B = 0x0t
8025 +.field public static final SETTING_NOTIFY_OFF:B = 0x0t
8027 +.field public static final SETTING_NOTIFY_ON:B = 0x1t
8030 +# instance fields
8031 +.field private final _id:Ljava/lang/Integer;
8033 +.field private accountsAuthTokensSetting:B
8035 +.field private accountsSetting:B
8037 +.field private allowedContacts:[I
8039 +.field private bookmarksSetting:B
8041 +.field private calendarSetting:B
8043 +.field private callLogSetting:B
8045 +.field private contactsSetting:B
8047 +.field private deviceId:Ljava/lang/String;
8049 +.field private deviceIdSetting:B
8051 +.field private incomingCallsSetting:B
8053 +.field private intentBootCompletedSetting:B
8055 +.field private line1Number:Ljava/lang/String;
8057 +.field private line1NumberSetting:B
8059 +.field private locationGpsLat:Ljava/lang/String;
8061 +.field private locationGpsLon:Ljava/lang/String;
8063 +.field private locationGpsSetting:B
8065 +.field private locationNetworkLat:Ljava/lang/String;
8067 +.field private locationNetworkLon:Ljava/lang/String;
8069 +.field private locationNetworkSetting:B
8071 +.field private mmsSetting:B
8073 +.field private networkInfoSetting:B
8075 +.field private notificationSetting:B
8077 +.field private outgoingCallsSetting:B
8079 +.field private packageName:Ljava/lang/String;
8081 +.field private simInfoSetting:B
8083 +.field private simSerialNumber:Ljava/lang/String;
8085 +.field private simSerialNumberSetting:B
8087 +.field private smsSetting:B
8089 +.field private subscriberId:Ljava/lang/String;
8091 +.field private subscriberIdSetting:B
8093 +.field private systemLogsSetting:B
8095 +.field private uid:I
8098 +# direct methods
8099 +.method static constructor <clinit>()V
8100 + .registers 1
8102 + new-instance v0, Landroid/privacy/PrivacySettings$1;
8104 + invoke-direct {v0}, Landroid/privacy/PrivacySettings$1;-><init>()V
8106 + sput-object v0, Landroid/privacy/PrivacySettings;->CREATOR:Landroid/os/Parcelable$Creator;
8108 + return-void
8109 +.end method
8111 +.method public constructor <init>(Landroid/os/Parcel;)V
8112 + .registers 4
8114 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
8116 + invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I
8118 + move-result v0
8120 + const/4 v1, -0x1
8122 + if-ne v0, v1, :cond_ce
8124 + const/4 v1, 0x0
8126 + :goto_b
8127 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
8129 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
8131 + move-result-object v1
8133 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
8135 + invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I
8137 + move-result v1
8139 + iput v1, p0, Landroid/privacy/PrivacySettings;->uid:I
8141 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8143 + move-result v1
8145 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
8147 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
8149 + move-result-object v1
8151 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
8153 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8155 + move-result v1
8157 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
8159 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
8161 + move-result-object v1
8163 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
8165 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8167 + move-result v1
8169 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8171 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
8173 + move-result-object v1
8175 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
8177 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
8179 + move-result-object v1
8181 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
8183 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8185 + move-result v1
8187 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8189 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
8191 + move-result-object v1
8193 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
8195 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
8197 + move-result-object v1
8199 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
8201 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8203 + move-result v1
8205 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
8207 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8209 + move-result v1
8211 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
8213 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8215 + move-result v1
8217 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
8219 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
8221 + move-result-object v1
8223 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
8225 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8227 + move-result v1
8229 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
8231 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
8233 + move-result-object v1
8235 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
8237 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8239 + move-result v1
8241 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
8243 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8245 + move-result v1
8247 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
8249 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8251 + move-result v1
8253 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
8255 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8257 + move-result v1
8259 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
8261 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8263 + move-result v1
8265 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
8267 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8269 + move-result v1
8271 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
8273 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8275 + move-result v1
8277 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
8279 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8281 + move-result v1
8283 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
8285 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8287 + move-result v1
8289 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
8291 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8293 + move-result v1
8295 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
8297 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8299 + move-result v1
8301 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
8303 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8305 + move-result v1
8307 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
8309 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8311 + move-result v1
8313 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
8315 + invoke-virtual {p1}, Landroid/os/Parcel;->createIntArray()[I
8317 + move-result-object v1
8319 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
8321 + return-void
8323 + :cond_ce
8324 + invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
8326 + move-result-object v1
8328 + goto/16 :goto_b
8329 +.end method
8331 +.method public constructor <init>(Ljava/lang/Integer;Ljava/lang/String;I)V
8332 + .registers 6
8334 + const/4 v1, 0x0
8336 + const/4 v0, 0x0
8338 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
8340 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
8342 + iput-object p2, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
8344 + iput p3, p0, Landroid/privacy/PrivacySettings;->uid:I
8346 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
8348 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
8350 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
8352 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
8354 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8356 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
8358 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
8360 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8362 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
8364 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
8366 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
8368 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
8370 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
8372 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
8374 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
8376 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
8378 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
8380 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
8382 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
8384 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
8386 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
8388 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
8390 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
8392 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
8394 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
8396 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
8398 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
8400 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
8402 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
8404 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
8406 + return-void
8407 +.end method
8409 +.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
8410 + .registers 38
8412 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
8414 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
8416 + iput-object p2, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
8418 + iput p3, p0, Landroid/privacy/PrivacySettings;->uid:I
8420 + iput-byte p4, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
8422 + iput-object p5, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
8424 + iput-byte p6, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
8426 + iput-object p7, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
8428 + iput-byte p8, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8430 + iput-object p9, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
8432 + iput-object p10, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
8434 + iput-byte p11, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8436 + iput-object p12, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
8438 + iput-object p13, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
8440 + iput-byte p14, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
8442 + move/from16 v0, p15
8444 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
8446 + move/from16 v0, p16
8448 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
8450 + move-object/from16 v0, p17
8452 + iput-object v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
8454 + move/from16 v0, p18
8456 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
8458 + move-object/from16 v0, p19
8460 + iput-object v0, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
8462 + move/from16 v0, p20
8464 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
8466 + move/from16 v0, p21
8468 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
8470 + move/from16 v0, p22
8472 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
8474 + move/from16 v0, p23
8476 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
8478 + move/from16 v0, p24
8480 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
8482 + move/from16 v0, p25
8484 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
8486 + move/from16 v0, p26
8488 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
8490 + move/from16 v0, p27
8492 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
8494 + move/from16 v0, p28
8496 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
8498 + move/from16 v0, p29
8500 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
8502 + move/from16 v0, p30
8504 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
8506 + move/from16 v0, p34
8508 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
8510 + move/from16 v0, p35
8512 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
8514 + move-object/from16 v0, p36
8516 + iput-object v0, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
8518 + return-void
8519 +.end method
8521 +.method private getRandomLat()Ljava/lang/String;
8522 + .registers 10
8524 + const-wide v7, 0x4056800000000000L
8526 + invoke-static {}, Ljava/lang/Math;->random()D
8528 + move-result-wide v3
8530 + const-wide v5, 0x4066800000000000L
8532 + mul-double v0, v3, v5
8534 + cmpl-double v3, v0, v7
8536 + if-lez v3, :cond_35
8538 + new-instance v2, Ljava/math/BigDecimal;
8540 + sub-double v3, v0, v7
8542 + invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;-><init>(D)V
8544 + :goto_1b
8545 + new-instance v3, Ljava/lang/StringBuilder;
8547 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
8549 + const/4 v4, 0x6
8551 + const/4 v5, 0x4
8553 + invoke-virtual {v2, v4, v5}, Ljava/math/BigDecimal;->setScale(II)Ljava/math/BigDecimal;
8555 + move-result-object v4
8557 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
8559 + move-result-object v3
8561 + const-string v4, ""
8563 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8565 + move-result-object v3
8567 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8569 + move-result-object v3
8571 + return-object v3
8573 + :cond_35
8574 + new-instance v2, Ljava/math/BigDecimal;
8576 + neg-double v3, v0
8578 + invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;-><init>(D)V
8580 + goto :goto_1b
8581 +.end method
8583 +.method private getRandomLon()Ljava/lang/String;
8584 + .registers 10
8586 + const-wide v7, 0x4066800000000000L
8588 + invoke-static {}, Ljava/lang/Math;->random()D
8590 + move-result-wide v3
8592 + const-wide v5, 0x4076800000000000L
8594 + mul-double v0, v3, v5
8596 + cmpl-double v3, v0, v7
8598 + if-lez v3, :cond_35
8600 + new-instance v2, Ljava/math/BigDecimal;
8602 + sub-double v3, v0, v7
8604 + invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;-><init>(D)V
8606 + :goto_1b
8607 + new-instance v3, Ljava/lang/StringBuilder;
8609 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
8611 + const/4 v4, 0x6
8613 + const/4 v5, 0x4
8615 + invoke-virtual {v2, v4, v5}, Ljava/math/BigDecimal;->setScale(II)Ljava/math/BigDecimal;
8617 + move-result-object v4
8619 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
8621 + move-result-object v3
8623 + const-string v4, ""
8625 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8627 + move-result-object v3
8629 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8631 + move-result-object v3
8633 + return-object v3
8635 + :cond_35
8636 + new-instance v2, Ljava/math/BigDecimal;
8638 + neg-double v3, v0
8640 + invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;-><init>(D)V
8642 + goto :goto_1b
8643 +.end method
8646 +# virtual methods
8647 +.method public describeContents()I
8648 + .registers 2
8650 + const/4 v0, 0x0
8652 + return v0
8653 +.end method
8655 +.method public getAccountsAuthTokensSetting()B
8656 + .registers 2
8658 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
8660 + return v0
8661 +.end method
8663 +.method public getAccountsSetting()B
8664 + .registers 2
8666 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
8668 + return v0
8669 +.end method
8671 +.method public getAllowedContacts()[I
8672 + .registers 2
8674 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
8676 + return-object v0
8677 +.end method
8679 +.method public getBookmarksSetting()B
8680 + .registers 2
8682 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
8684 + return v0
8685 +.end method
8687 +.method public getCalendarSetting()B
8688 + .registers 2
8690 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
8692 + return v0
8693 +.end method
8695 +.method public getCallLogSetting()B
8696 + .registers 2
8698 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
8700 + return v0
8701 +.end method
8703 +.method public getContactsSetting()B
8704 + .registers 2
8706 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
8708 + return v0
8709 +.end method
8711 +.method public getDeviceId()Ljava/lang/String;
8712 + .registers 6
8714 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
8716 + const/4 v3, 0x1
8718 + if-ne v2, v3, :cond_8
8720 + const-string v2, ""
8722 + :goto_7
8723 + return-object v2
8725 + :cond_8
8726 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
8728 + const/4 v3, 0x3
8730 + if-ne v2, v3, :cond_35
8732 + new-instance v0, Ljava/util/Random;
8734 + invoke-direct {v0}, Ljava/util/Random;-><init>()V
8736 + new-instance v2, Ljava/lang/StringBuilder;
8738 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
8740 + invoke-virtual {v0}, Ljava/util/Random;->nextLong()J
8742 + move-result-wide v3
8744 + invoke-static {v3, v4}, Ljava/lang/Math;->abs(J)J
8746 + move-result-wide v3
8748 + invoke-virtual {v2, v3, v4}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
8750 + move-result-object v2
8752 + const-string v3, ""
8754 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8756 + move-result-object v2
8758 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8760 + move-result-object v1
8762 + const/4 v2, 0x0
8764 + const/16 v3, 0xf
8766 + invoke-virtual {v1, v2, v3}, Ljava/lang/String;->substring(II)Ljava/lang/String;
8768 + move-result-object v2
8770 + goto :goto_7
8772 + :cond_35
8773 + iget-object v2, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
8775 + goto :goto_7
8776 +.end method
8778 +.method public getDeviceIdSetting()B
8779 + .registers 2
8781 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
8783 + return v0
8784 +.end method
8786 +.method public getIncomingCallsSetting()B
8787 + .registers 2
8789 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
8791 + return v0
8792 +.end method
8794 +.method public getIntentBootCompletedSetting()B
8795 + .registers 2
8797 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
8799 + return v0
8800 +.end method
8802 +.method public getLine1Number()Ljava/lang/String;
8803 + .registers 6
8805 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
8807 + const/4 v3, 0x1
8809 + if-ne v2, v3, :cond_8
8811 + const-string v2, ""
8813 + :goto_7
8814 + return-object v2
8816 + :cond_8
8817 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
8819 + const/4 v3, 0x3
8821 + if-ne v2, v3, :cond_3b
8823 + new-instance v0, Ljava/util/Random;
8825 + invoke-direct {v0}, Ljava/util/Random;-><init>()V
8827 + new-instance v2, Ljava/lang/StringBuilder;
8829 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
8831 + const-string v3, "+"
8833 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8835 + move-result-object v2
8837 + invoke-virtual {v0}, Ljava/util/Random;->nextLong()J
8839 + move-result-wide v3
8841 + invoke-static {v3, v4}, Ljava/lang/Math;->abs(J)J
8843 + move-result-wide v3
8845 + invoke-virtual {v2, v3, v4}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
8847 + move-result-object v2
8849 + const-string v3, ""
8851 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8853 + move-result-object v2
8855 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8857 + move-result-object v1
8859 + const/4 v2, 0x0
8861 + const/16 v3, 0xd
8863 + invoke-virtual {v1, v2, v3}, Ljava/lang/String;->substring(II)Ljava/lang/String;
8865 + move-result-object v2
8867 + goto :goto_7
8869 + :cond_3b
8870 + iget-object v2, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
8872 + goto :goto_7
8873 +.end method
8875 +.method public getLine1NumberSetting()B
8876 + .registers 2
8878 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
8880 + return v0
8881 +.end method
8883 +.method public getLocationGpsLat()Ljava/lang/String;
8884 + .registers 3
8886 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8888 + const/4 v1, 0x1
8890 + if-ne v0, v1, :cond_8
8892 + const-string v0, ""
8894 + :goto_7
8895 + return-object v0
8897 + :cond_8
8898 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8900 + const/4 v1, 0x3
8902 + if-ne v0, v1, :cond_12
8904 + invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLat()Ljava/lang/String;
8906 + move-result-object v0
8908 + goto :goto_7
8910 + :cond_12
8911 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
8913 + goto :goto_7
8914 +.end method
8916 +.method public getLocationGpsLon()Ljava/lang/String;
8917 + .registers 3
8919 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8921 + const/4 v1, 0x1
8923 + if-ne v0, v1, :cond_8
8925 + const-string v0, ""
8927 + :goto_7
8928 + return-object v0
8930 + :cond_8
8931 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8933 + const/4 v1, 0x3
8935 + if-ne v0, v1, :cond_12
8937 + invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLon()Ljava/lang/String;
8939 + move-result-object v0
8941 + goto :goto_7
8943 + :cond_12
8944 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
8946 + goto :goto_7
8947 +.end method
8949 +.method public getLocationGpsSetting()B
8950 + .registers 2
8952 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8954 + return v0
8955 +.end method
8957 +.method public getLocationNetworkLat()Ljava/lang/String;
8958 + .registers 3
8960 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8962 + const/4 v1, 0x1
8964 + if-ne v0, v1, :cond_8
8966 + const-string v0, ""
8968 + :goto_7
8969 + return-object v0
8971 + :cond_8
8972 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8974 + const/4 v1, 0x3
8976 + if-ne v0, v1, :cond_12
8978 + invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLat()Ljava/lang/String;
8980 + move-result-object v0
8982 + goto :goto_7
8984 + :cond_12
8985 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
8987 + goto :goto_7
8988 +.end method
8990 +.method public getLocationNetworkLon()Ljava/lang/String;
8991 + .registers 3
8993 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8995 + const/4 v1, 0x1
8997 + if-ne v0, v1, :cond_8
8999 + const-string v0, ""
9001 + :goto_7
9002 + return-object v0
9004 + :cond_8
9005 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
9007 + const/4 v1, 0x3
9009 + if-ne v0, v1, :cond_12
9011 + invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLon()Ljava/lang/String;
9013 + move-result-object v0
9015 + goto :goto_7
9017 + :cond_12
9018 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
9020 + goto :goto_7
9021 +.end method
9023 +.method public getLocationNetworkSetting()B
9024 + .registers 2
9026 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
9028 + return v0
9029 +.end method
9031 +.method public getMmsSetting()B
9032 + .registers 2
9034 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
9036 + return v0
9037 +.end method
9039 +.method public getNetworkInfoSetting()B
9040 + .registers 2
9042 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
9044 + return v0
9045 +.end method
9047 +.method public getNotificationSetting()B
9048 + .registers 2
9050 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
9052 + return v0
9053 +.end method
9055 +.method public getOutgoingCallsSetting()B
9056 + .registers 2
9058 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
9060 + return v0
9061 +.end method
9063 +.method public getPackageName()Ljava/lang/String;
9064 + .registers 2
9066 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
9068 + return-object v0
9069 +.end method
9071 +.method public getSimInfoSetting()B
9072 + .registers 2
9074 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
9076 + return v0
9077 +.end method
9079 +.method public getSimSerialNumber()Ljava/lang/String;
9080 + .registers 5
9082 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
9084 + const/4 v2, 0x1
9086 + if-ne v1, v2, :cond_8
9088 + const-string v1, ""
9090 + :goto_7
9091 + return-object v1
9093 + :cond_8
9094 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
9096 + const/4 v2, 0x3
9098 + if-ne v1, v2, :cond_2e
9100 + new-instance v0, Ljava/util/Random;
9102 + invoke-direct {v0}, Ljava/util/Random;-><init>()V
9104 + new-instance v1, Ljava/lang/StringBuilder;
9106 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
9108 + invoke-virtual {v0}, Ljava/util/Random;->nextLong()J
9110 + move-result-wide v2
9112 + invoke-static {v2, v3}, Ljava/lang/Math;->abs(J)J
9114 + move-result-wide v2
9116 + invoke-virtual {v1, v2, v3}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
9118 + move-result-object v1
9120 + const-string v2, ""
9122 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9124 + move-result-object v1
9126 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
9128 + move-result-object v1
9130 + goto :goto_7
9132 + :cond_2e
9133 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
9135 + goto :goto_7
9136 +.end method
9138 +.method public getSimSerialNumberSetting()B
9139 + .registers 2
9141 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
9143 + return v0
9144 +.end method
9146 +.method public getSmsSetting()B
9147 + .registers 2
9149 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
9151 + return v0
9152 +.end method
9154 +.method public getSubscriberId()Ljava/lang/String;
9155 + .registers 6
9157 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
9159 + const/4 v3, 0x1
9161 + if-ne v2, v3, :cond_8
9163 + const-string v2, ""
9165 + :goto_7
9166 + return-object v2
9168 + :cond_8
9169 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
9171 + const/4 v3, 0x3
9173 + if-ne v2, v3, :cond_35
9175 + new-instance v0, Ljava/util/Random;
9177 + invoke-direct {v0}, Ljava/util/Random;-><init>()V
9179 + new-instance v2, Ljava/lang/StringBuilder;
9181 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
9183 + invoke-virtual {v0}, Ljava/util/Random;->nextLong()J
9185 + move-result-wide v3
9187 + invoke-static {v3, v4}, Ljava/lang/Math;->abs(J)J
9189 + move-result-wide v3
9191 + invoke-virtual {v2, v3, v4}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
9193 + move-result-object v2
9195 + const-string v3, ""
9197 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9199 + move-result-object v2
9201 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
9203 + move-result-object v1
9205 + const/4 v2, 0x0
9207 + const/16 v3, 0xf
9209 + invoke-virtual {v1, v2, v3}, Ljava/lang/String;->substring(II)Ljava/lang/String;
9211 + move-result-object v2
9213 + goto :goto_7
9215 + :cond_35
9216 + iget-object v2, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
9218 + goto :goto_7
9219 +.end method
9221 +.method public getSubscriberIdSetting()B
9222 + .registers 2
9224 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
9226 + return v0
9227 +.end method
9229 +.method public getSystemLogsSetting()B
9230 + .registers 2
9232 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
9234 + return v0
9235 +.end method
9237 +.method public getUid()I
9238 + .registers 2
9240 + iget v0, p0, Landroid/privacy/PrivacySettings;->uid:I
9242 + return v0
9243 +.end method
9245 +.method public get_id()Ljava/lang/Integer;
9246 + .registers 2
9248 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
9250 + return-object v0
9251 +.end method
9253 +.method public setAccountsAuthTokensSetting(B)V
9254 + .registers 2
9256 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
9258 + return-void
9259 +.end method
9261 +.method public setAccountsSetting(B)V
9262 + .registers 2
9264 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
9266 + return-void
9267 +.end method
9269 +.method public setAllowedContacts([I)V
9270 + .registers 2
9272 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
9274 + return-void
9275 +.end method
9277 +.method public setBookmarksSetting(B)V
9278 + .registers 2
9280 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
9282 + return-void
9283 +.end method
9285 +.method public setCalendarSetting(B)V
9286 + .registers 2
9288 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
9290 + return-void
9291 +.end method
9293 +.method public setCallLogSetting(B)V
9294 + .registers 2
9296 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
9298 + return-void
9299 +.end method
9301 +.method public setContactsSetting(B)V
9302 + .registers 2
9304 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
9306 + return-void
9307 +.end method
9309 +.method public setDeviceId(Ljava/lang/String;)V
9310 + .registers 2
9312 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
9314 + return-void
9315 +.end method
9317 +.method public setDeviceIdSetting(B)V
9318 + .registers 2
9320 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
9322 + return-void
9323 +.end method
9325 +.method public setIncomingCallsSetting(B)V
9326 + .registers 2
9328 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
9330 + return-void
9331 +.end method
9333 +.method public setIntentBootCompletedSetting(B)V
9334 + .registers 2
9336 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
9338 + return-void
9339 +.end method
9341 +.method public setLine1Number(Ljava/lang/String;)V
9342 + .registers 2
9344 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
9346 + return-void
9347 +.end method
9349 +.method public setLine1NumberSetting(B)V
9350 + .registers 2
9352 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
9354 + return-void
9355 +.end method
9357 +.method public setLocationGpsLat(Ljava/lang/String;)V
9358 + .registers 2
9360 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
9362 + return-void
9363 +.end method
9365 +.method public setLocationGpsLon(Ljava/lang/String;)V
9366 + .registers 2
9368 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
9370 + return-void
9371 +.end method
9373 +.method public setLocationGpsSetting(B)V
9374 + .registers 2
9376 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
9378 + return-void
9379 +.end method
9381 +.method public setLocationNetworkLat(Ljava/lang/String;)V
9382 + .registers 2
9384 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
9386 + return-void
9387 +.end method
9389 +.method public setLocationNetworkLon(Ljava/lang/String;)V
9390 + .registers 2
9392 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
9394 + return-void
9395 +.end method
9397 +.method public setLocationNetworkSetting(B)V
9398 + .registers 2
9400 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
9402 + return-void
9403 +.end method
9405 +.method public setMmsSetting(B)V
9406 + .registers 2
9408 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
9410 + return-void
9411 +.end method
9413 +.method public setNetworkInfoSetting(B)V
9414 + .registers 2
9416 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
9418 + return-void
9419 +.end method
9421 +.method public setNotificationSetting(B)V
9422 + .registers 2
9424 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
9426 + return-void
9427 +.end method
9429 +.method public setOutgoingCallsSetting(B)V
9430 + .registers 2
9432 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
9434 + return-void
9435 +.end method
9437 +.method public setPackageName(Ljava/lang/String;)V
9438 + .registers 2
9440 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
9442 + return-void
9443 +.end method
9445 +.method public setSimInfoSetting(B)V
9446 + .registers 2
9448 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
9450 + return-void
9451 +.end method
9453 +.method public setSimSerialNumber(Ljava/lang/String;)V
9454 + .registers 2
9456 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
9458 + return-void
9459 +.end method
9461 +.method public setSimSerialNumberSetting(B)V
9462 + .registers 2
9464 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
9466 + return-void
9467 +.end method
9469 +.method public setSmsSetting(B)V
9470 + .registers 2
9472 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
9474 + return-void
9475 +.end method
9477 +.method public setSubscriberId(Ljava/lang/String;)V
9478 + .registers 2
9480 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
9482 + return-void
9483 +.end method
9485 +.method public setSubscriberIdSetting(B)V
9486 + .registers 2
9488 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
9490 + return-void
9491 +.end method
9493 +.method public setSystemLogsSetting(B)V
9494 + .registers 2
9496 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
9498 + return-void
9499 +.end method
9501 +.method public setUid(I)V
9502 + .registers 2
9504 + iput p1, p0, Landroid/privacy/PrivacySettings;->uid:I
9506 + return-void
9507 +.end method
9509 +.method public toString()Ljava/lang/String;
9510 + .registers 3
9512 + new-instance v0, Ljava/lang/StringBuilder;
9514 + invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
9516 + const-string v1, "PrivacySettings [_id="
9518 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9520 + move-result-object v0
9522 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
9524 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
9526 + move-result-object v0
9528 + const-string v1, ", accountsAuthTokensSetting="
9530 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9532 + move-result-object v0
9534 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
9536 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9538 + move-result-object v0
9540 + const-string v1, ", accountsSetting="
9542 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9544 + move-result-object v0
9546 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
9548 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9550 + move-result-object v0
9552 + const-string v1, ", bookmarksSetting="
9554 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9556 + move-result-object v0
9558 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
9560 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9562 + move-result-object v0
9564 + const-string v1, ", calendarSetting="
9566 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9568 + move-result-object v0
9570 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
9572 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9574 + move-result-object v0
9576 + const-string v1, ", callLogSetting="
9578 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9580 + move-result-object v0
9582 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
9584 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9586 + move-result-object v0
9588 + const-string v1, ", contactsSetting="
9590 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9592 + move-result-object v0
9594 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
9596 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9598 + move-result-object v0
9600 + const-string v1, ", deviceId="
9602 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9604 + move-result-object v0
9606 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
9608 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9610 + move-result-object v0
9612 + const-string v1, ", deviceIdSetting="
9614 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9616 + move-result-object v0
9618 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
9620 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9622 + move-result-object v0
9624 + const-string v1, ", incomingCallsSetting="
9626 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9628 + move-result-object v0
9630 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
9632 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9634 + move-result-object v0
9636 + const-string v1, ", intentBootCompletedSetting="
9638 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9640 + move-result-object v0
9642 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
9644 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9646 + move-result-object v0
9648 + const-string v1, ", line1Number="
9650 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9652 + move-result-object v0
9654 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
9656 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9658 + move-result-object v0
9660 + const-string v1, ", line1NumberSetting="
9662 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9664 + move-result-object v0
9666 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
9668 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9670 + move-result-object v0
9672 + const-string v1, ", locationGpsLat="
9674 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9676 + move-result-object v0
9678 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
9680 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9682 + move-result-object v0
9684 + const-string v1, ", locationGpsLon="
9686 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9688 + move-result-object v0
9690 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
9692 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9694 + move-result-object v0
9696 + const-string v1, ", locationGpsSetting="
9698 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9700 + move-result-object v0
9702 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
9704 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9706 + move-result-object v0
9708 + const-string v1, ", locationNetworkLat="
9710 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9712 + move-result-object v0
9714 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
9716 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9718 + move-result-object v0
9720 + const-string v1, ", locationNetworkLon="
9722 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9724 + move-result-object v0
9726 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
9728 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9730 + move-result-object v0
9732 + const-string v1, ", locationNetworkSetting="
9734 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9736 + move-result-object v0
9738 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
9740 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9742 + move-result-object v0
9744 + const-string v1, ", mmsSetting="
9746 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9748 + move-result-object v0
9750 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
9752 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9754 + move-result-object v0
9756 + const-string v1, ", networkInfoSetting="
9758 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9760 + move-result-object v0
9762 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
9764 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9766 + move-result-object v0
9768 + const-string v1, ", notificationSetting="
9770 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9772 + move-result-object v0
9774 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
9776 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9778 + move-result-object v0
9780 + const-string v1, ", outgoingCallsSetting="
9782 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9784 + move-result-object v0
9786 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
9788 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9790 + move-result-object v0
9792 + const-string v1, ", packageName="
9794 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9796 + move-result-object v0
9798 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
9800 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9802 + move-result-object v0
9804 + const-string v1, ", simInfoSetting="
9806 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9808 + move-result-object v0
9810 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
9812 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9814 + move-result-object v0
9816 + const-string v1, ", simSerialNumber="
9818 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9820 + move-result-object v0
9822 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
9824 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9826 + move-result-object v0
9828 + const-string v1, ", simSerialNumberSetting="
9830 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9832 + move-result-object v0
9834 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
9836 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9838 + move-result-object v0
9840 + const-string v1, ", smsSetting="
9842 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9844 + move-result-object v0
9846 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
9848 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9850 + move-result-object v0
9852 + const-string v1, ", subscriberId="
9854 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9856 + move-result-object v0
9858 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
9860 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9862 + move-result-object v0
9864 + const-string v1, ", subscriberIdSetting="
9866 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9868 + move-result-object v0
9870 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
9872 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9874 + move-result-object v0
9876 + const-string v1, ", systemLogsSetting="
9878 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9880 + move-result-object v0
9882 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
9884 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9886 + move-result-object v0
9888 + const-string v1, ", uid="
9890 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9892 + move-result-object v0
9894 + iget v1, p0, Landroid/privacy/PrivacySettings;->uid:I
9896 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9898 + move-result-object v0
9900 + const-string v1, "]"
9902 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9904 + move-result-object v0
9906 + invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
9908 + move-result-object v0
9910 + return-object v0
9911 +.end method
9913 +.method public writeToParcel(Landroid/os/Parcel;I)V
9914 + .registers 4
9916 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
9918 + if-nez v0, :cond_a9
9920 + const/4 v0, -0x1
9922 + :goto_5
9923 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeInt(I)V
9925 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
9927 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9929 + iget v0, p0, Landroid/privacy/PrivacySettings;->uid:I
9931 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeInt(I)V
9933 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
9935 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9937 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
9939 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9941 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
9943 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9945 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
9947 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9949 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
9951 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9953 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
9955 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9957 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
9959 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9961 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
9963 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9965 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
9967 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9969 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
9971 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9973 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
9975 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9977 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
9979 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9981 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
9983 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9985 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
9987 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9989 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
9991 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9993 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
9995 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9997 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
9999 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
10001 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
10003 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
10005 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
10007 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
10009 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
10011 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
10013 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
10015 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
10017 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
10019 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
10021 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
10023 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
10025 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
10027 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
10029 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
10031 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
10033 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
10035 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
10037 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
10039 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
10041 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
10043 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
10045 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
10047 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
10049 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
10051 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeIntArray([I)V
10053 + return-void
10055 + :cond_a9
10056 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
10058 + invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
10060 + move-result v0
10062 + goto/16 :goto_5
10063 +.end method
10064 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali
10065 --- stock-framework/smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali 1969-12-31 18:00:00.000000000 -0600
10066 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali 2012-11-02 22:30:28.543776164 -0500
10067 @@ -0,0 +1,129 @@
10068 +.class Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10069 +.super Ljava/lang/Object;
10070 +.source "PrivacyAccountManager.java"
10072 +# interfaces
10073 +.implements Landroid/accounts/AccountManagerFuture;
10076 +# annotations
10077 +.annotation system Ldalvik/annotation/EnclosingClass;
10078 + value = Landroid/privacy/surrogate/PrivacyAccountManager;
10079 +.end annotation
10081 +.annotation system Ldalvik/annotation/InnerClass;
10082 + accessFlags = 0x2
10083 + name = "PrivacyAccountManagerFuture"
10084 +.end annotation
10086 +.annotation system Ldalvik/annotation/Signature;
10087 + value = {
10088 + "<V:",
10089 + "Ljava/lang/Object;",
10090 + ">",
10091 + "Ljava/lang/Object;",
10092 + "Landroid/accounts/AccountManagerFuture",
10093 + "<TV;>;"
10095 +.end annotation
10098 +# instance fields
10099 +.field private result:Ljava/lang/Object;
10100 + .annotation system Ldalvik/annotation/Signature;
10101 + value = {
10102 + "TV;"
10104 + .end annotation
10105 +.end field
10107 +.field final synthetic this$0:Landroid/privacy/surrogate/PrivacyAccountManager;
10110 +# direct methods
10111 +.method public constructor <init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
10112 + .registers 3
10113 + .annotation system Ldalvik/annotation/Signature;
10114 + value = {
10115 + "(TV;)V"
10117 + .end annotation
10119 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->this$0:Landroid/privacy/surrogate/PrivacyAccountManager;
10121 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
10123 + iput-object p2, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->result:Ljava/lang/Object;
10125 + return-void
10126 +.end method
10129 +# virtual methods
10130 +.method public cancel(Z)Z
10131 + .registers 3
10133 + const/4 v0, 0x0
10135 + return v0
10136 +.end method
10138 +.method public getResult()Ljava/lang/Object;
10139 + .registers 2
10140 + .annotation system Ldalvik/annotation/Signature;
10141 + value = {
10142 + "()TV;"
10144 + .end annotation
10146 + .annotation system Ldalvik/annotation/Throws;
10147 + value = {
10148 + Landroid/accounts/OperationCanceledException;,
10149 + Ljava/io/IOException;,
10150 + Landroid/accounts/AuthenticatorException;
10152 + .end annotation
10154 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->result:Ljava/lang/Object;
10156 + return-object v0
10157 +.end method
10159 +.method public getResult(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;
10160 + .registers 5
10161 + .annotation system Ldalvik/annotation/Signature;
10162 + value = {
10163 + "(J",
10164 + "Ljava/util/concurrent/TimeUnit;",
10165 + ")TV;"
10167 + .end annotation
10169 + .annotation system Ldalvik/annotation/Throws;
10170 + value = {
10171 + Landroid/accounts/OperationCanceledException;,
10172 + Ljava/io/IOException;,
10173 + Landroid/accounts/AuthenticatorException;
10175 + .end annotation
10177 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->result:Ljava/lang/Object;
10179 + return-object v0
10180 +.end method
10182 +.method public isCancelled()Z
10183 + .registers 2
10185 + const/4 v0, 0x0
10187 + return v0
10188 +.end method
10190 +.method public isDone()Z
10191 + .registers 2
10193 + const/4 v0, 0x1
10195 + return v0
10196 +.end method
10197 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyAccountManager.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyAccountManager.smali
10198 --- stock-framework/smali/android/privacy/surrogate/PrivacyAccountManager.smali 1969-12-31 18:00:00.000000000 -0600
10199 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyAccountManager.smali 2012-11-02 22:30:28.543776164 -0500
10200 @@ -0,0 +1,701 @@
10201 +.class public final Landroid/privacy/surrogate/PrivacyAccountManager;
10202 +.super Landroid/accounts/AccountManager;
10203 +.source "PrivacyAccountManager.java"
10206 +# annotations
10207 +.annotation system Ldalvik/annotation/MemberClasses;
10208 + value = {
10209 + Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10211 +.end annotation
10214 +# static fields
10215 +.field private static final TAG:Ljava/lang/String; = "PrivacyAccountManager"
10218 +# instance fields
10219 +.field private context:Landroid/content/Context;
10221 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
10224 +# direct methods
10225 +.method public constructor <init>(Landroid/content/Context;Landroid/accounts/IAccountManager;)V
10226 + .registers 5
10228 + invoke-direct {p0, p1, p2}, Landroid/accounts/AccountManager;-><init>(Landroid/content/Context;Landroid/accounts/IAccountManager;)V
10230 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10232 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
10234 + const-string/jumbo v1, "privacy"
10236 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
10238 + move-result-object v1
10240 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
10242 + move-result-object v1
10244 + invoke-direct {v0, p1, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
10246 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10248 + return-void
10249 +.end method
10251 +.method public constructor <init>(Landroid/content/Context;Landroid/accounts/IAccountManager;Landroid/os/Handler;)V
10252 + .registers 6
10254 + invoke-direct {p0, p1, p2, p3}, Landroid/accounts/AccountManager;-><init>(Landroid/content/Context;Landroid/accounts/IAccountManager;Landroid/os/Handler;)V
10256 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10258 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
10260 + const-string/jumbo v1, "privacy"
10262 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
10264 + move-result-object v1
10266 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
10268 + move-result-object v1
10270 + invoke-direct {v0, p1, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
10272 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10274 + return-void
10275 +.end method
10278 +# virtual methods
10279 +.method public blockingGetAuthToken(Landroid/accounts/Account;Ljava/lang/String;Z)Ljava/lang/String;
10280 + .registers 12
10281 + .annotation system Ldalvik/annotation/Throws;
10282 + value = {
10283 + Landroid/accounts/OperationCanceledException;,
10284 + Ljava/io/IOException;,
10285 + Landroid/accounts/AuthenticatorException;
10287 + .end annotation
10289 + const/4 v5, 0x0
10291 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10293 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10295 + move-result-object v1
10297 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10299 + move-result v2
10301 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10303 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10305 + move-result-object v6
10307 + if-eqz v6, :cond_23
10309 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
10311 + move-result v0
10313 + if-eqz v0, :cond_23
10315 + const/4 v7, 0x0
10317 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10319 + const/4 v3, 0x1
10321 + const-string v4, "authTokens"
10323 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10325 + :goto_22
10326 + return-object v7
10328 + :cond_23
10329 + invoke-super {p0, p1, p2, p3}, Landroid/accounts/AccountManager;->blockingGetAuthToken(Landroid/accounts/Account;Ljava/lang/String;Z)Ljava/lang/String;
10331 + move-result-object v7
10333 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10335 + const/4 v3, 0x0
10337 + const-string v4, "authTokens"
10339 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10341 + goto :goto_22
10342 +.end method
10344 +.method public getAccounts()[Landroid/accounts/Account;
10345 + .registers 10
10347 + const/4 v5, 0x0
10349 + const/4 v3, 0x0
10351 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10353 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10355 + move-result-object v1
10357 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10359 + move-result v2
10361 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10363 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10365 + move-result-object v6
10367 + if-eqz v6, :cond_27
10369 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
10371 + move-result v0
10373 + if-eqz v0, :cond_27
10375 + const-string v8, "[empty accounts list]"
10377 + new-array v7, v3, [Landroid/accounts/Account;
10379 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10381 + const/4 v3, 0x1
10383 + const-string v4, "accountsList"
10385 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10387 + :goto_26
10388 + return-object v7
10390 + :cond_27
10391 + const-string v8, "[real value]"
10393 + invoke-super {p0}, Landroid/accounts/AccountManager;->getAccounts()[Landroid/accounts/Account;
10395 + move-result-object v7
10397 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10399 + const-string v4, "accountsList"
10401 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10403 + goto :goto_26
10404 +.end method
10406 +.method public getAccountsByType(Ljava/lang/String;)[Landroid/accounts/Account;
10407 + .registers 11
10409 + const/4 v5, 0x0
10411 + const/4 v3, 0x0
10413 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10415 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10417 + move-result-object v1
10419 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10421 + move-result v2
10423 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10425 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10427 + move-result-object v6
10429 + if-eqz v6, :cond_27
10431 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
10433 + move-result v0
10435 + if-eqz v0, :cond_27
10437 + const-string v8, "[empty accounts list]"
10439 + new-array v7, v3, [Landroid/accounts/Account;
10441 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10443 + const/4 v3, 0x1
10445 + const-string v4, "accountsList"
10447 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10449 + :goto_26
10450 + return-object v7
10452 + :cond_27
10453 + const-string v8, "[real value]"
10455 + invoke-super {p0, p1}, Landroid/accounts/AccountManager;->getAccountsByType(Ljava/lang/String;)[Landroid/accounts/Account;
10457 + move-result-object v7
10459 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10461 + const-string v4, "accountsList"
10463 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10465 + goto :goto_26
10466 +.end method
10468 +.method public getAccountsByTypeAndFeatures(Ljava/lang/String;[Ljava/lang/String;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
10469 + .registers 14
10470 + .annotation system Ldalvik/annotation/Signature;
10471 + value = {
10472 + "(",
10473 + "Ljava/lang/String;",
10474 + "[",
10475 + "Ljava/lang/String;",
10476 + "Landroid/accounts/AccountManagerCallback",
10477 + "<[",
10478 + "Landroid/accounts/Account;",
10479 + ">;",
10480 + "Landroid/os/Handler;",
10481 + ")",
10482 + "Landroid/accounts/AccountManagerFuture",
10483 + "<[",
10484 + "Landroid/accounts/Account;",
10485 + ">;"
10487 + .end annotation
10489 + const/4 v5, 0x0
10491 + const/4 v3, 0x0
10493 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10495 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10497 + move-result-object v1
10499 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10501 + move-result v2
10503 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10505 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10507 + move-result-object v6
10509 + if-eqz v6, :cond_2c
10511 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
10513 + move-result v0
10515 + if-eqz v0, :cond_2c
10517 + const-string v8, "[false]"
10519 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10521 + new-array v0, v3, [Landroid/accounts/Account;
10523 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
10525 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10527 + const/4 v3, 0x1
10529 + const-string v4, "accountsList"
10531 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10533 + :goto_2b
10534 + return-object v7
10536 + :cond_2c
10537 + const-string v8, "[real value]"
10539 + 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;
10541 + move-result-object v7
10543 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10545 + const-string v4, "accountsList"
10547 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10549 + goto :goto_2b
10550 +.end method
10552 +.method public getAuthToken(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;Landroid/app/Activity;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
10553 + .registers 16
10554 + .annotation system Ldalvik/annotation/Signature;
10555 + value = {
10556 + "(",
10557 + "Landroid/accounts/Account;",
10558 + "Ljava/lang/String;",
10559 + "Landroid/os/Bundle;",
10560 + "Landroid/app/Activity;",
10561 + "Landroid/accounts/AccountManagerCallback",
10562 + "<",
10563 + "Landroid/os/Bundle;",
10564 + ">;",
10565 + "Landroid/os/Handler;",
10566 + ")",
10567 + "Landroid/accounts/AccountManagerFuture",
10568 + "<",
10569 + "Landroid/os/Bundle;",
10570 + ">;"
10572 + .end annotation
10574 + const/4 v5, 0x0
10576 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10578 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10580 + move-result-object v1
10582 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10584 + move-result v2
10586 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10588 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10590 + move-result-object v6
10592 + if-eqz v6, :cond_2e
10594 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
10596 + move-result v0
10598 + if-eqz v0, :cond_2e
10600 + const-string v8, "[empty]"
10602 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10604 + new-instance v0, Landroid/os/Bundle;
10606 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
10608 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
10610 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10612 + const/4 v3, 0x1
10614 + const-string v4, "authTokens"
10616 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10618 + :goto_2d
10619 + return-object v7
10621 + :cond_2e
10622 + const-string v8, "[real value]"
10624 + 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;
10626 + move-result-object v7
10628 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10630 + const/4 v3, 0x0
10632 + const-string v4, "authTokens"
10634 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10636 + goto :goto_2d
10637 +.end method
10639 +.method public getAuthToken(Landroid/accounts/Account;Ljava/lang/String;ZLandroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
10640 + .registers 15
10641 + .annotation system Ldalvik/annotation/Signature;
10642 + value = {
10643 + "(",
10644 + "Landroid/accounts/Account;",
10645 + "Ljava/lang/String;",
10646 + "Z",
10647 + "Landroid/accounts/AccountManagerCallback",
10648 + "<",
10649 + "Landroid/os/Bundle;",
10650 + ">;",
10651 + "Landroid/os/Handler;",
10652 + ")",
10653 + "Landroid/accounts/AccountManagerFuture",
10654 + "<",
10655 + "Landroid/os/Bundle;",
10656 + ">;"
10658 + .end annotation
10660 + const/4 v5, 0x0
10662 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10664 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10666 + move-result-object v1
10668 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10670 + move-result v2
10672 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10674 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10676 + move-result-object v6
10678 + if-eqz v6, :cond_2e
10680 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
10682 + move-result v0
10684 + if-eqz v0, :cond_2e
10686 + const-string v8, "[empty]"
10688 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10690 + new-instance v0, Landroid/os/Bundle;
10692 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
10694 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
10696 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10698 + const/4 v3, 0x1
10700 + const-string v4, "authTokens"
10702 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10704 + :goto_2d
10705 + return-object v7
10707 + :cond_2e
10708 + const-string v8, "[real value]"
10710 + invoke-super/range {p0 .. p5}, Landroid/accounts/AccountManager;->getAuthToken(Landroid/accounts/Account;Ljava/lang/String;ZLandroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
10712 + move-result-object v7
10714 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10716 + const/4 v3, 0x0
10718 + const-string v4, "authTokens"
10720 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10722 + goto :goto_2d
10723 +.end method
10725 +.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;
10726 + .registers 18
10727 + .annotation system Ldalvik/annotation/Signature;
10728 + value = {
10729 + "(",
10730 + "Ljava/lang/String;",
10731 + "Ljava/lang/String;",
10732 + "[",
10733 + "Ljava/lang/String;",
10734 + "Landroid/app/Activity;",
10735 + "Landroid/os/Bundle;",
10736 + "Landroid/os/Bundle;",
10737 + "Landroid/accounts/AccountManagerCallback",
10738 + "<",
10739 + "Landroid/os/Bundle;",
10740 + ">;",
10741 + "Landroid/os/Handler;",
10742 + ")",
10743 + "Landroid/accounts/AccountManagerFuture",
10744 + "<",
10745 + "Landroid/os/Bundle;",
10746 + ">;"
10748 + .end annotation
10750 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10752 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10754 + move-result-object v1
10756 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10758 + move-result v2
10760 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10762 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10764 + move-result-object v6
10766 + if-eqz v6, :cond_2e
10768 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
10770 + move-result v0
10772 + if-eqz v0, :cond_2e
10774 + const-string v8, "[empty]"
10776 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10778 + new-instance v0, Landroid/os/Bundle;
10780 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
10782 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
10784 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10786 + const/4 v3, 0x1
10788 + const-string v4, "authTokens"
10790 + const/4 v5, 0x0
10792 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10794 + :goto_2d
10795 + return-object v7
10797 + :cond_2e
10798 + const-string v8, "[real value]"
10800 + 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;
10802 + move-result-object v7
10804 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10806 + const/4 v3, 0x0
10808 + const-string v4, "authTokens"
10810 + const/4 v5, 0x0
10812 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10814 + goto :goto_2d
10815 +.end method
10817 +.method public hasFeatures(Landroid/accounts/Account;[Ljava/lang/String;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
10818 + .registers 14
10819 + .annotation system Ldalvik/annotation/Signature;
10820 + value = {
10821 + "(",
10822 + "Landroid/accounts/Account;",
10823 + "[",
10824 + "Ljava/lang/String;",
10825 + "Landroid/accounts/AccountManagerCallback",
10826 + "<",
10827 + "Ljava/lang/Boolean;",
10828 + ">;",
10829 + "Landroid/os/Handler;",
10830 + ")",
10831 + "Landroid/accounts/AccountManagerFuture",
10832 + "<",
10833 + "Ljava/lang/Boolean;",
10834 + ">;"
10836 + .end annotation
10838 + const/4 v5, 0x0
10840 + const/4 v3, 0x0
10842 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10844 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10846 + move-result-object v1
10848 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10850 + move-result v2
10852 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10854 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10856 + move-result-object v6
10858 + if-eqz v6, :cond_2e
10860 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
10862 + move-result v0
10864 + if-eqz v0, :cond_2e
10866 + const-string v8, "[false]"
10868 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10870 + invoke-static {v3}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
10872 + move-result-object v0
10874 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
10876 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10878 + const/4 v3, 0x1
10880 + const-string v4, "accountsList"
10882 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10884 + :goto_2d
10885 + return-object v7
10887 + :cond_2e
10888 + const-string v8, "[real value]"
10890 + 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;
10892 + move-result-object v7
10894 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10896 + const-string v4, "accountsList"
10898 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10900 + goto :goto_2d
10901 +.end method
10902 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyActivityManagerService.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyActivityManagerService.smali
10903 --- stock-framework/smali/android/privacy/surrogate/PrivacyActivityManagerService.smali 1969-12-31 18:00:00.000000000 -0600
10904 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyActivityManagerService.smali 2012-11-02 22:30:28.547776184 -0500
10905 @@ -0,0 +1,1087 @@
10906 +.class public final Landroid/privacy/surrogate/PrivacyActivityManagerService;
10907 +.super Ljava/lang/Object;
10908 +.source "PrivacyActivityManagerService.java"
10911 +# static fields
10912 +.field private static final TAG:Ljava/lang/String; = "PrivacyActivityManagerService"
10914 +.field private static pSetMan:Landroid/privacy/PrivacySettingsManager;
10916 +.field private static tmpIn:Landroid/content/Intent;
10918 +.field private static tmpInHash:J
10920 +.field private static tmpInReceivers:I
10922 +.field private static tmpMms:Landroid/content/Intent;
10924 +.field private static tmpMmsHash:J
10926 +.field private static tmpMmsReceivers:I
10928 +.field private static tmpOut:Landroid/content/Intent;
10930 +.field private static tmpOutHash:J
10932 +.field private static tmpOutReceivers:I
10934 +.field private static tmpPackageAddedHash:J
10936 +.field private static tmpSms:Landroid/content/Intent;
10938 +.field private static tmpSmsHash:J
10940 +.field private static tmpSmsReceivers:I
10943 +# direct methods
10944 +.method static constructor <clinit>()V
10945 + .registers 3
10947 + const/4 v2, 0x0
10949 + const-wide/16 v0, 0x0
10951 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInHash:J
10953 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
10955 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutHash:J
10957 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
10959 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsHash:J
10961 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
10963 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsHash:J
10965 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
10967 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpPackageAddedHash:J
10969 + return-void
10970 +.end method
10972 +.method public constructor <init>()V
10973 + .registers 1
10975 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
10977 + return-void
10978 +.end method
10980 +.method public static enforcePrivacyPermission(Ljava/lang/String;ILandroid/content/Intent;Landroid/content/Context;I)V
10981 + .registers 22
10983 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10985 + if-nez v2, :cond_11
10987 + const-string/jumbo v2, "privacy"
10989 + move-object/from16 v0, p3
10991 + invoke-virtual {v0, v2}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
10993 + move-result-object v2
10995 + check-cast v2, Landroid/privacy/PrivacySettingsManager;
10997 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10999 + :cond_11
11000 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->getAction()Ljava/lang/String;
11002 + move-result-object v9
11004 + const-string v2, "android.intent.action.NEW_OUTGOING_CALL"
11006 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11008 + move-result v2
11010 + if-eqz v2, :cond_ad
11012 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11014 + move-object/from16 v0, p0
11016 + move/from16 v1, p1
11018 + invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
11020 + move-result-object v8
11022 + const-string v2, "android.intent.extra.PHONE_NUMBER"
11024 + move-object/from16 v0, p2
11026 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
11028 + move-result-object v16
11030 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutHash:J
11032 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11034 + move-result-wide v4
11036 + cmp-long v2, v2, v4
11038 + if-eqz v2, :cond_49
11040 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->clone()Ljava/lang/Object;
11042 + move-result-object v2
11044 + check-cast v2, Landroid/content/Intent;
11046 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOut:Landroid/content/Intent;
11048 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11050 + move-result-wide v2
11052 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutHash:J
11054 + sput p4, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
11056 + :cond_49
11057 + if-eqz v8, :cond_76
11059 + :try_start_4b
11060 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getOutgoingCallsSetting()B
11062 + move-result v2
11064 + if-eqz v2, :cond_76
11066 + const-string v16, ""
11068 + const-string v2, "android.intent.extra.PHONE_NUMBER"
11070 + move-object/from16 v0, p2
11072 + move-object/from16 v1, v16
11074 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
11076 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11078 + const/4 v5, 0x1
11080 + const-string/jumbo v6, "outgoingCall"
11082 + const/4 v7, 0x0
11084 + move-object/from16 v3, p0
11086 + move/from16 v4, p1
11088 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11089 + :try_end_6a
11090 + .catch Ljava/lang/Exception; {:try_start_4b .. :try_end_6a} :catch_a0
11092 + :cond_6a
11093 + :goto_6a
11094 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
11096 + const/4 v3, 0x1
11098 + if-le v2, v3, :cond_a9
11100 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
11102 + add-int/lit8 v2, v2, -0x1
11104 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
11106 + :cond_75
11107 + :goto_75
11108 + return-void
11110 + :cond_76
11111 + :try_start_76
11112 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutHash:J
11114 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11116 + move-result-wide v4
11118 + cmp-long v2, v2, v4
11120 + if-nez v2, :cond_6a
11122 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOut:Landroid/content/Intent;
11124 + const-string v3, "android.intent.extra.PHONE_NUMBER"
11126 + invoke-virtual {v2, v3}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
11128 + move-result-object v16
11130 + const-string v2, "android.intent.extra.PHONE_NUMBER"
11132 + move-object/from16 v0, p2
11134 + move-object/from16 v1, v16
11136 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
11138 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11140 + const/4 v5, 0x0
11142 + const-string/jumbo v6, "outgoingCall"
11144 + const/4 v7, 0x0
11146 + move-object/from16 v3, p0
11148 + move/from16 v4, p1
11150 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11151 + :try_end_9f
11152 + .catch Ljava/lang/Exception; {:try_start_76 .. :try_end_9f} :catch_a0
11154 + goto :goto_6a
11156 + :catch_a0
11157 + move-exception v13
11159 + const-string v2, "PrivacyActivityManagerService"
11161 + const-string v3, "failed to enforce intent broadcast permission"
11163 + invoke-static {v2, v3, v13}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
11165 + goto :goto_6a
11167 + :cond_a9
11168 + const/4 v2, 0x0
11170 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOut:Landroid/content/Intent;
11172 + goto :goto_75
11174 + :cond_ad
11175 + const-string v2, "android.intent.action.PHONE_STATE"
11177 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11179 + move-result v2
11181 + if-eqz v2, :cond_14d
11183 + const-string v2, "incoming_number"
11185 + move-object/from16 v0, p2
11187 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
11189 + move-result-object v16
11191 + if-eqz v16, :cond_75
11193 + invoke-virtual/range {v16 .. v16}, Ljava/lang/String;->isEmpty()Z
11195 + move-result v2
11197 + if-nez v2, :cond_75
11199 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11201 + move-object/from16 v0, p0
11203 + move/from16 v1, p1
11205 + invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
11207 + move-result-object v8
11209 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInHash:J
11211 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11213 + move-result-wide v4
11215 + cmp-long v2, v2, v4
11217 + if-eqz v2, :cond_e9
11219 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->clone()Ljava/lang/Object;
11221 + move-result-object v2
11223 + check-cast v2, Landroid/content/Intent;
11225 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpIn:Landroid/content/Intent;
11227 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11229 + move-result-wide v2
11231 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInHash:J
11233 + sput p4, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
11235 + :cond_e9
11236 + if-eqz v8, :cond_116
11238 + :try_start_eb
11239 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getIncomingCallsSetting()B
11241 + move-result v2
11243 + if-eqz v2, :cond_116
11245 + const-string v16, ""
11247 + const-string v2, "incoming_number"
11249 + move-object/from16 v0, p2
11251 + move-object/from16 v1, v16
11253 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
11255 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11257 + const/4 v5, 0x1
11259 + const-string v6, "incomingCall"
11261 + const/4 v7, 0x0
11263 + move-object/from16 v3, p0
11265 + move/from16 v4, p1
11267 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11268 + :try_end_109
11269 + .catch Ljava/lang/Exception; {:try_start_eb .. :try_end_109} :catch_13f
11271 + :cond_109
11272 + :goto_109
11273 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
11275 + const/4 v3, 0x1
11277 + if-le v2, v3, :cond_148
11279 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
11281 + add-int/lit8 v2, v2, -0x1
11283 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
11285 + goto/16 :goto_75
11287 + :cond_116
11288 + :try_start_116
11289 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInHash:J
11291 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11293 + move-result-wide v4
11295 + cmp-long v2, v2, v4
11297 + if-nez v2, :cond_109
11299 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpIn:Landroid/content/Intent;
11301 + const-string v3, "incoming_number"
11303 + invoke-virtual {v2, v3}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
11305 + move-result-object v16
11307 + const-string v2, "incoming_number"
11309 + move-object/from16 v0, p2
11311 + move-object/from16 v1, v16
11313 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
11315 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11317 + const/4 v5, 0x0
11319 + const-string v6, "incomingCall"
11321 + const/4 v7, 0x0
11323 + move-object/from16 v3, p0
11325 + move/from16 v4, p1
11327 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11328 + :try_end_13e
11329 + .catch Ljava/lang/Exception; {:try_start_116 .. :try_end_13e} :catch_13f
11331 + goto :goto_109
11333 + :catch_13f
11334 + move-exception v13
11336 + const-string v2, "PrivacyActivityManagerService"
11338 + const-string v3, "failed to enforce intent broadcast permission"
11340 + invoke-static {v2, v3, v13}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
11342 + goto :goto_109
11344 + :cond_148
11345 + const/4 v2, 0x0
11347 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpIn:Landroid/content/Intent;
11349 + goto/16 :goto_75
11351 + :cond_14d
11352 + const-string v2, "android.provider.Telephony.SMS_RECEIVED"
11354 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11356 + move-result v2
11358 + if-eqz v2, :cond_222
11360 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11362 + move-object/from16 v0, p0
11364 + move/from16 v1, p1
11366 + invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
11368 + move-result-object v8
11370 + const-string v16, "[real]"
11372 + const-string/jumbo v2, "pdus"
11374 + move-object/from16 v0, p2
11376 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
11378 + move-result-object v2
11380 + check-cast v2, [Ljava/lang/Object;
11382 + move-object v15, v2
11384 + check-cast v15, [Ljava/lang/Object;
11386 + if-eqz v15, :cond_1cd
11388 + const/4 v2, 0x0
11390 + aget-object v2, v15, v2
11392 + check-cast v2, [B
11394 + check-cast v2, [B
11396 + move-object v12, v2
11398 + :goto_179
11399 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsHash:J
11401 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11403 + move-result-wide v4
11405 + cmp-long v2, v2, v4
11407 + if-eqz v2, :cond_193
11409 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->clone()Ljava/lang/Object;
11411 + move-result-object v2
11413 + check-cast v2, Landroid/content/Intent;
11415 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSms:Landroid/content/Intent;
11417 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11419 + move-result-wide v2
11421 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsHash:J
11423 + sput p4, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
11425 + :cond_193
11426 + if-eqz v8, :cond_1cf
11428 + :try_start_195
11429 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getSmsSetting()B
11431 + move-result v2
11433 + if-eqz v2, :cond_1cf
11435 + const-string v16, "[empty]"
11437 + const/4 v2, 0x1
11439 + new-array v14, v2, [Ljava/lang/Object;
11441 + const/4 v2, 0x0
11443 + const/16 v3, 0x10
11445 + new-array v3, v3, [B
11447 + fill-array-data v3, :array_350
11449 + aput-object v3, v14, v2
11451 + const-string/jumbo v2, "pdus"
11453 + move-object/from16 v0, p2
11455 + invoke-virtual {v0, v2, v14}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent;
11457 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11459 + const/4 v5, 0x1
11461 + const-string/jumbo v6, "sms"
11463 + const/4 v7, 0x0
11465 + move-object/from16 v3, p0
11467 + move/from16 v4, p1
11469 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11470 + :try_end_1c0
11471 + .catch Ljava/lang/Exception; {:try_start_195 .. :try_end_1c0} :catch_212
11473 + :cond_1c0
11474 + :goto_1c0
11475 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
11477 + const/4 v3, 0x1
11479 + if-le v2, v3, :cond_21d
11481 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
11483 + add-int/lit8 v2, v2, -0x1
11485 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
11487 + goto/16 :goto_75
11489 + :cond_1cd
11490 + const/4 v12, 0x0
11492 + goto :goto_179
11494 + :cond_1cf
11495 + :try_start_1cf
11496 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsHash:J
11498 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11500 + move-result-wide v4
11502 + cmp-long v2, v2, v4
11504 + if-nez v2, :cond_1c0
11506 + const-string/jumbo v2, "pdus"
11508 + sget-object v3, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSms:Landroid/content/Intent;
11510 + const-string/jumbo v4, "pdus"
11512 + invoke-virtual {v3, v4}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
11514 + move-result-object v3
11516 + move-object/from16 v0, p2
11518 + invoke-virtual {v0, v2, v3}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent;
11520 + const-string/jumbo v2, "pdus"
11522 + move-object/from16 v0, p2
11524 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
11526 + move-result-object v2
11528 + check-cast v2, [Ljava/lang/Object;
11530 + move-object v0, v2
11532 + check-cast v0, [Ljava/lang/Object;
11534 + move-object v15, v0
11536 + if-eqz v15, :cond_21b
11538 + const/4 v2, 0x0
11540 + aget-object v2, v15, v2
11542 + check-cast v2, [B
11544 + check-cast v2, [B
11546 + move-object v12, v2
11548 + :goto_203
11549 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11551 + const/4 v5, 0x0
11553 + const-string/jumbo v6, "sms"
11555 + const/4 v7, 0x0
11557 + move-object/from16 v3, p0
11559 + move/from16 v4, p1
11561 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11562 + :try_end_211
11563 + .catch Ljava/lang/Exception; {:try_start_1cf .. :try_end_211} :catch_212
11565 + goto :goto_1c0
11567 + :catch_212
11568 + move-exception v13
11570 + const-string v2, "PrivacyActivityManagerService"
11572 + const-string v3, "failed to enforce intent broadcast permission"
11574 + invoke-static {v2, v3, v13}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
11576 + goto :goto_1c0
11578 + :cond_21b
11579 + const/4 v12, 0x0
11581 + goto :goto_203
11583 + :cond_21d
11584 + const/4 v2, 0x0
11586 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSms:Landroid/content/Intent;
11588 + goto/16 :goto_75
11590 + :cond_222
11591 + const-string v2, "android.provider.Telephony.WAP_PUSH_RECEIVED"
11593 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11595 + move-result v2
11597 + if-nez v2, :cond_232
11599 + const-string v2, "android.intent.action.DATA_SMS_RECEIVED"
11601 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11603 + move-result v2
11605 + if-eqz v2, :cond_2ff
11607 + :cond_232
11608 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11610 + move-object/from16 v0, p0
11612 + move/from16 v1, p1
11614 + invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
11616 + move-result-object v8
11618 + const-string v16, "[real]"
11620 + const-string/jumbo v2, "pdus"
11622 + move-object/from16 v0, p2
11624 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
11626 + move-result-object v2
11628 + check-cast v2, [Ljava/lang/Object;
11630 + move-object v15, v2
11632 + check-cast v15, [Ljava/lang/Object;
11634 + if-eqz v15, :cond_2aa
11636 + const/4 v2, 0x0
11638 + aget-object v2, v15, v2
11640 + check-cast v2, [B
11642 + check-cast v2, [B
11644 + move-object v12, v2
11646 + :goto_256
11647 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsHash:J
11649 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11651 + move-result-wide v4
11653 + cmp-long v2, v2, v4
11655 + if-eqz v2, :cond_270
11657 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->clone()Ljava/lang/Object;
11659 + move-result-object v2
11661 + check-cast v2, Landroid/content/Intent;
11663 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMms:Landroid/content/Intent;
11665 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11667 + move-result-wide v2
11669 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsHash:J
11671 + sput p4, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
11673 + :cond_270
11674 + if-eqz v8, :cond_2ac
11676 + :try_start_272
11677 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getMmsSetting()B
11679 + move-result v2
11681 + if-eqz v2, :cond_2ac
11683 + const-string v16, "[empty]"
11685 + const/4 v2, 0x1
11687 + new-array v14, v2, [Ljava/lang/Object;
11689 + const/4 v2, 0x0
11691 + const/16 v3, 0x10
11693 + new-array v3, v3, [B
11695 + fill-array-data v3, :array_35c
11697 + aput-object v3, v14, v2
11699 + const-string/jumbo v2, "pdus"
11701 + move-object/from16 v0, p2
11703 + invoke-virtual {v0, v2, v14}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent;
11705 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11707 + const/4 v5, 0x1
11709 + const-string/jumbo v6, "mms"
11711 + const/4 v7, 0x0
11713 + move-object/from16 v3, p0
11715 + move/from16 v4, p1
11717 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11718 + :try_end_29d
11719 + .catch Ljava/lang/Exception; {:try_start_272 .. :try_end_29d} :catch_2ef
11721 + :cond_29d
11722 + :goto_29d
11723 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
11725 + const/4 v3, 0x1
11727 + if-le v2, v3, :cond_2fa
11729 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
11731 + add-int/lit8 v2, v2, -0x1
11733 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
11735 + goto/16 :goto_75
11737 + :cond_2aa
11738 + const/4 v12, 0x0
11740 + goto :goto_256
11742 + :cond_2ac
11743 + :try_start_2ac
11744 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsHash:J
11746 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11748 + move-result-wide v4
11750 + cmp-long v2, v2, v4
11752 + if-nez v2, :cond_29d
11754 + const-string/jumbo v2, "pdus"
11756 + sget-object v3, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMms:Landroid/content/Intent;
11758 + const-string/jumbo v4, "pdus"
11760 + invoke-virtual {v3, v4}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
11762 + move-result-object v3
11764 + move-object/from16 v0, p2
11766 + invoke-virtual {v0, v2, v3}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent;
11768 + const-string/jumbo v2, "pdus"
11770 + move-object/from16 v0, p2
11772 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
11774 + move-result-object v2
11776 + check-cast v2, [Ljava/lang/Object;
11778 + move-object v0, v2
11780 + check-cast v0, [Ljava/lang/Object;
11782 + move-object v15, v0
11784 + if-eqz v15, :cond_2f8
11786 + const/4 v2, 0x0
11788 + aget-object v2, v15, v2
11790 + check-cast v2, [B
11792 + check-cast v2, [B
11794 + move-object v12, v2
11796 + :goto_2e0
11797 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11799 + const/4 v5, 0x0
11801 + const-string/jumbo v6, "mms"
11803 + const/4 v7, 0x0
11805 + move-object/from16 v3, p0
11807 + move/from16 v4, p1
11809 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11810 + :try_end_2ee
11811 + .catch Ljava/lang/Exception; {:try_start_2ac .. :try_end_2ee} :catch_2ef
11813 + goto :goto_29d
11815 + :catch_2ef
11816 + move-exception v13
11818 + const-string v2, "PrivacyActivityManagerService"
11820 + const-string v3, "failed to enforce intent broadcast permission"
11822 + invoke-static {v2, v3, v13}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
11824 + goto :goto_29d
11826 + :cond_2f8
11827 + const/4 v12, 0x0
11829 + goto :goto_2e0
11831 + :cond_2fa
11832 + const/4 v2, 0x0
11834 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMms:Landroid/content/Intent;
11836 + goto/16 :goto_75
11838 + :cond_2ff
11839 + const-string v2, "android.intent.action.BOOT_COMPLETED"
11841 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11843 + move-result v2
11845 + if-eqz v2, :cond_30e
11847 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11849 + invoke-virtual {v2}, Landroid/privacy/PrivacySettingsManager;->setBootCompleted()V
11851 + goto/16 :goto_75
11853 + :cond_30e
11854 + const-string v2, "android.intent.action.PACKAGE_ADDED"
11856 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11858 + move-result v2
11860 + if-eqz v2, :cond_75
11862 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpPackageAddedHash:J
11864 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11866 + move-result-wide v4
11868 + cmp-long v2, v2, v4
11870 + if-eqz v2, :cond_75
11872 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11874 + move-result-wide v2
11876 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpPackageAddedHash:J
11878 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->getData()Landroid/net/Uri;
11880 + move-result-object v2
11882 + invoke-virtual {v2}, Landroid/net/Uri;->getSchemeSpecificPart()Ljava/lang/String;
11884 + move-result-object v10
11886 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->getExtras()Landroid/os/Bundle;
11888 + move-result-object v2
11890 + const-string v3, "android.intent.extra.UID"
11892 + invoke-virtual {v2, v3}, Landroid/os/Bundle;->getInt(Ljava/lang/String;)I
11894 + move-result v11
11896 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11898 + invoke-virtual {v2, v10, v11}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
11900 + move-result-object v8
11902 + if-eqz v8, :cond_75
11904 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getUid()I
11906 + move-result v2
11908 + if-eq v2, v11, :cond_75
11910 + invoke-virtual {v8, v11}, Landroid/privacy/PrivacySettings;->setUid(I)V
11912 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11914 + invoke-virtual {v2, v8}, Landroid/privacy/PrivacySettingsManager;->saveSettings(Landroid/privacy/PrivacySettings;)Z
11916 + goto/16 :goto_75
11918 + :array_350
11919 + .array-data 0x1
11920 + 0x0t
11921 + 0x20t
11922 + 0x1t
11923 + 0x81t
11924 + 0xf0t
11925 + 0x0t
11926 + 0x0t
11927 + 0x11t
11928 + 0x90t
11929 + 0x1t
11930 + 0x30t
11931 + 0x22t
11932 + 0x22t
11933 + 0x80t
11934 + 0x1t
11935 + 0x20t
11936 + .end array-data
11938 + :array_35c
11939 + .array-data 0x1
11940 + 0x0t
11941 + 0x20t
11942 + 0x1t
11943 + 0x81t
11944 + 0xf0t
11945 + 0x0t
11946 + 0x0t
11947 + 0x11t
11948 + 0x90t
11949 + 0x1t
11950 + 0x30t
11951 + 0x22t
11952 + 0x22t
11953 + 0x80t
11954 + 0x1t
11955 + 0x20t
11956 + .end array-data
11957 +.end method
11959 +.method private static hashCode(Landroid/content/Intent;)J
11960 + .registers 7
11962 + const-wide/16 v3, 0x0
11964 + const-string/jumbo v2, "privacy_hash"
11966 + invoke-virtual {p0, v2, v3, v4}, Landroid/content/Intent;->getLongExtra(Ljava/lang/String;J)J
11968 + move-result-wide v0
11970 + cmp-long v2, v0, v3
11972 + if-nez v2, :cond_1e
11974 + invoke-virtual {p0}, Landroid/content/Intent;->filterHashCode()I
11976 + move-result v2
11978 + int-to-long v2, v2
11980 + invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
11982 + move-result-wide v4
11984 + add-long v0, v2, v4
11986 + const-string/jumbo v2, "privacy_hash"
11988 + invoke-virtual {p0, v2, v0, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;J)Landroid/content/Intent;
11990 + :cond_1e
11991 + return-wide v0
11992 +.end method
11993 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyContentResolver.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyContentResolver.smali
11994 --- stock-framework/smali/android/privacy/surrogate/PrivacyContentResolver.smali 1969-12-31 18:00:00.000000000 -0600
11995 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyContentResolver.smali 2012-11-02 22:30:28.547776184 -0500
11996 @@ -0,0 +1,624 @@
11997 +.class public final Landroid/privacy/surrogate/PrivacyContentResolver;
11998 +.super Ljava/lang/Object;
11999 +.source "PrivacyContentResolver.java"
12002 +# static fields
12003 +.field private static final TAG:Ljava/lang/String; = "PrivacyContentResolver"
12005 +.field private static pSetMan:Landroid/privacy/PrivacySettingsManager;
12008 +# direct methods
12009 +.method public constructor <init>()V
12010 + .registers 1
12012 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
12014 + return-void
12015 +.end method
12017 +.method private static arrayToString([Ljava/lang/String;)Ljava/lang/String;
12018 + .registers 8
12020 + new-instance v4, Ljava/lang/StringBuffer;
12022 + invoke-direct {v4}, Ljava/lang/StringBuffer;-><init>()V
12024 + if-eqz p0, :cond_2d
12026 + move-object v0, p0
12028 + array-length v3, v0
12030 + const/4 v2, 0x0
12032 + :goto_a
12033 + if-ge v2, v3, :cond_30
12035 + aget-object v1, v0, v2
12037 + new-instance v5, Ljava/lang/StringBuilder;
12039 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
12041 + const-string v6, "["
12043 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
12045 + move-result-object v5
12047 + invoke-virtual {v5, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
12049 + move-result-object v5
12051 + const-string v6, "]"
12053 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
12055 + move-result-object v5
12057 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
12059 + move-result-object v5
12061 + invoke-virtual {v4, v5}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
12063 + add-int/lit8 v2, v2, 0x1
12065 + goto :goto_a
12067 + :cond_2d
12068 + const-string v5, ""
12070 + :goto_2f
12071 + return-object v5
12073 + :cond_30
12074 + invoke-virtual {v4}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String;
12076 + move-result-object v5
12078 + goto :goto_2f
12079 +.end method
12081 +.method public static enforcePrivacyPermission(Landroid/net/Uri;[Ljava/lang/String;Landroid/content/Context;Landroid/database/Cursor;)Landroid/database/Cursor;
12082 + .registers 21
12083 + .annotation system Ldalvik/annotation/Throws;
12084 + value = {
12085 + Landroid/os/RemoteException;
12087 + .end annotation
12089 + if-eqz p0, :cond_1e4
12091 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12093 + if-nez v1, :cond_13
12095 + const-string/jumbo v1, "privacy"
12097 + move-object/from16 v0, p2
12099 + invoke-virtual {v0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
12101 + move-result-object v1
12103 + check-cast v1, Landroid/privacy/PrivacySettingsManager;
12105 + sput-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12107 + :cond_13
12108 + invoke-virtual/range {p2 .. p2}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
12110 + move-result-object v2
12112 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
12114 + move-result v3
12116 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12118 + invoke-virtual {v1, v2, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
12120 + move-result-object v7
12122 + invoke-virtual/range {p0 .. p0}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
12124 + move-result-object v9
12126 + const-string v15, "[real]"
12128 + move-object/from16 v13, p3
12130 + if-eqz v9, :cond_54
12132 + const-string v1, "contacts"
12134 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12136 + move-result v1
12138 + if-nez v1, :cond_3b
12140 + const-string v1, "com.android.contacts"
12142 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12144 + move-result v1
12146 + if-eqz v1, :cond_ab
12148 + :cond_3b
12149 + if-eqz v7, :cond_54
12151 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getContactsSetting()B
12153 + move-result v1
12155 + const/4 v4, 0x1
12157 + if-ne v1, v4, :cond_55
12159 + const-string v15, "[empty]"
12161 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12163 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12165 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12167 + const/4 v4, 0x1
12169 + const-string v5, "contacts"
12171 + const/4 v6, 0x0
12173 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12175 + :cond_54
12176 + :goto_54
12177 + return-object v13
12179 + :cond_55
12180 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getContactsSetting()B
12182 + move-result v1
12184 + const/4 v4, 0x2
12186 + if-ne v1, v4, :cond_a1
12188 + invoke-virtual/range {p0 .. p0}, Landroid/net/Uri;->toString()Ljava/lang/String;
12190 + move-result-object v1
12192 + sget-object v4, Landroid/provider/ContactsContract$Contacts;->CONTENT_URI:Landroid/net/Uri;
12194 + invoke-virtual {v4}, Landroid/net/Uri;->toString()Ljava/lang/String;
12196 + move-result-object v4
12198 + invoke-virtual {v1, v4}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
12200 + move-result v1
12202 + if-eqz v1, :cond_a1
12204 + const/4 v11, 0x0
12206 + if-eqz p1, :cond_82
12208 + move-object/from16 v8, p1
12210 + array-length v12, v8
12212 + const/4 v10, 0x0
12214 + :goto_73
12215 + if-ge v10, v12, :cond_82
12217 + aget-object v16, v8, v10
12219 + const-string v1, "_id"
12221 + move-object/from16 v0, v16
12223 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12225 + move-result v1
12227 + if-eqz v1, :cond_93
12229 + const/4 v11, 0x1
12231 + :cond_82
12232 + if-nez v11, :cond_96
12234 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12236 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12238 + :goto_89
12239 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12241 + const/4 v4, 0x2
12243 + const-string v5, "contacts"
12245 + const/4 v6, 0x0
12247 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12249 + goto :goto_54
12251 + :cond_93
12252 + add-int/lit8 v10, v10, 0x1
12254 + goto :goto_73
12256 + :cond_96
12257 + new-instance v14, Landroid/privacy/surrogate/PrivacyCursor;
12259 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getAllowedContacts()[I
12261 + move-result-object v1
12263 + invoke-direct {v14, v13, v1}, Landroid/privacy/surrogate/PrivacyCursor;-><init>(Landroid/database/Cursor;[I)V
12265 + move-object v13, v14
12267 + goto :goto_89
12269 + :cond_a1
12270 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12272 + const/4 v4, 0x0
12274 + const-string v5, "contacts"
12276 + const/4 v6, 0x0
12278 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12280 + goto :goto_54
12282 + :cond_ab
12283 + const-string v1, "com.android.calendar"
12285 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12287 + move-result v1
12289 + if-eqz v1, :cond_d8
12291 + if-eqz v7, :cond_cd
12293 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getCalendarSetting()B
12295 + move-result v1
12297 + const/4 v4, 0x1
12299 + if-ne v1, v4, :cond_cd
12301 + const-string v15, "[empty]"
12303 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12305 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12307 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12309 + const/4 v4, 0x1
12311 + const-string v5, "calendar"
12313 + const/4 v6, 0x0
12315 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12317 + goto :goto_54
12319 + :cond_cd
12320 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12322 + const/4 v4, 0x0
12324 + const-string v5, "calendar"
12326 + const/4 v6, 0x0
12328 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12330 + goto/16 :goto_54
12332 + :cond_d8
12333 + sget-object v1, Landroid/provider/Telephony$Mms;->CONTENT_URI:Landroid/net/Uri;
12335 + invoke-virtual {v1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
12337 + move-result-object v1
12339 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12341 + move-result v1
12343 + if-eqz v1, :cond_10c
12345 + if-eqz v7, :cond_100
12347 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getMmsSetting()B
12349 + move-result v1
12351 + const/4 v4, 0x1
12353 + if-ne v1, v4, :cond_100
12355 + const-string v15, "[empty]"
12357 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12359 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12361 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12363 + const/4 v4, 0x1
12365 + const-string/jumbo v5, "mms"
12367 + const/4 v6, 0x0
12369 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12371 + goto/16 :goto_54
12373 + :cond_100
12374 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12376 + const/4 v4, 0x0
12378 + const-string/jumbo v5, "mms"
12380 + const/4 v6, 0x0
12382 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12384 + goto/16 :goto_54
12386 + :cond_10c
12387 + sget-object v1, Landroid/provider/Telephony$Sms;->CONTENT_URI:Landroid/net/Uri;
12389 + invoke-virtual {v1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
12391 + move-result-object v1
12393 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12395 + move-result v1
12397 + if-eqz v1, :cond_140
12399 + if-eqz v7, :cond_134
12401 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getSmsSetting()B
12403 + move-result v1
12405 + const/4 v4, 0x1
12407 + if-ne v1, v4, :cond_134
12409 + const-string v15, "[empty]"
12411 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12413 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12415 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12417 + const/4 v4, 0x1
12419 + const-string/jumbo v5, "sms"
12421 + const/4 v6, 0x0
12423 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12425 + goto/16 :goto_54
12427 + :cond_134
12428 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12430 + const/4 v4, 0x0
12432 + const-string/jumbo v5, "sms"
12434 + const/4 v6, 0x0
12436 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12438 + goto/16 :goto_54
12440 + :cond_140
12441 + sget-object v1, Landroid/provider/Telephony$MmsSms;->CONTENT_URI:Landroid/net/Uri;
12443 + invoke-virtual {v1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
12445 + move-result-object v1
12447 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12449 + move-result v1
12451 + if-nez v1, :cond_155
12453 + const-string/jumbo v1, "mms-sms-v2"
12455 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12457 + move-result v1
12459 + if-eqz v1, :cond_184
12461 + :cond_155
12462 + if-eqz v7, :cond_178
12464 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getMmsSetting()B
12466 + move-result v1
12468 + const/4 v4, 0x1
12470 + if-eq v1, v4, :cond_165
12472 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getSmsSetting()B
12474 + move-result v1
12476 + const/4 v4, 0x1
12478 + if-ne v1, v4, :cond_178
12480 + :cond_165
12481 + const-string v15, "[empty]"
12483 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12485 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12487 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12489 + const/4 v4, 0x1
12491 + const-string/jumbo v5, "mmsSms"
12493 + const/4 v6, 0x0
12495 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12497 + goto/16 :goto_54
12499 + :cond_178
12500 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12502 + const/4 v4, 0x0
12504 + const-string/jumbo v5, "mmsSms"
12506 + const/4 v6, 0x0
12508 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12510 + goto/16 :goto_54
12512 + :cond_184
12513 + const-string v1, "call_log"
12515 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12517 + move-result v1
12519 + if-eqz v1, :cond_1b2
12521 + if-eqz v7, :cond_1a7
12523 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getCallLogSetting()B
12525 + move-result v1
12527 + const/4 v4, 0x1
12529 + if-ne v1, v4, :cond_1a7
12531 + const-string v15, "[empty]"
12533 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12535 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12537 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12539 + const/4 v4, 0x1
12541 + const-string v5, "callLog"
12543 + const/4 v6, 0x0
12545 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12547 + goto/16 :goto_54
12549 + :cond_1a7
12550 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12552 + const/4 v4, 0x0
12554 + const-string v5, "callLog"
12556 + const/4 v6, 0x0
12558 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12560 + goto/16 :goto_54
12562 + :cond_1b2
12563 + sget-object v1, Landroid/provider/Browser;->BOOKMARKS_URI:Landroid/net/Uri;
12565 + invoke-virtual {v1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
12567 + move-result-object v1
12569 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12571 + move-result v1
12573 + if-eqz v1, :cond_54
12575 + if-eqz v7, :cond_1d9
12577 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getBookmarksSetting()B
12579 + move-result v1
12581 + const/4 v4, 0x1
12583 + if-ne v1, v4, :cond_1d9
12585 + const-string v15, "[empty]"
12587 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12589 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12591 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12593 + const/4 v4, 0x1
12595 + const-string v5, "bookmarks"
12597 + const/4 v6, 0x0
12599 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12601 + goto/16 :goto_54
12603 + :cond_1d9
12604 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12606 + const/4 v4, 0x0
12608 + const-string v5, "bookmarks"
12610 + const/4 v6, 0x0
12612 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12614 + goto/16 :goto_54
12616 + :cond_1e4
12617 + move-object/from16 v13, p3
12619 + goto/16 :goto_54
12620 +.end method
12621 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyCursor.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyCursor.smali
12622 --- stock-framework/smali/android/privacy/surrogate/PrivacyCursor.smali 1969-12-31 18:00:00.000000000 -0600
12623 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyCursor.smali 2012-11-02 22:30:28.547776184 -0500
12624 @@ -0,0 +1,1225 @@
12625 +.class public Landroid/privacy/surrogate/PrivacyCursor;
12626 +.super Ljava/lang/Object;
12627 +.source "PrivacyCursor.java"
12629 +# interfaces
12630 +.implements Landroid/database/Cursor;
12633 +# static fields
12634 +.field private static final TAG:Ljava/lang/String; = "PrivacyCursor"
12637 +# instance fields
12638 +.field private allowedIdMapping:[I
12640 +.field private allowedIds:[I
12642 +.field private realCursor:Landroid/database/Cursor;
12645 +# direct methods
12646 +.method public constructor <init>()V
12647 + .registers 1
12649 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
12651 + return-void
12652 +.end method
12654 +.method public constructor <init>(Landroid/database/Cursor;[I)V
12655 + .registers 7
12657 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
12659 + if-eqz p2, :cond_8
12661 + array-length v2, p2
12663 + if-nez v2, :cond_9
12665 + :cond_8
12666 + const/4 p1, 0x0
12668 + :cond_9
12669 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12671 + iput-object p2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIds:[I
12673 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12675 + if-eqz v2, :cond_3f
12677 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12679 + invoke-interface {v2}, Landroid/database/Cursor;->getPosition()I
12681 + move-result v0
12683 + array-length v2, p2
12685 + new-array v2, v2, [I
12687 + iput-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
12689 + const/4 v1, 0x0
12691 + :cond_1d
12692 + :goto_1d
12693 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12695 + invoke-interface {v2}, Landroid/database/Cursor;->moveToNext()Z
12697 + move-result v2
12699 + if-eqz v2, :cond_3a
12701 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12703 + invoke-direct {p0, v2}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(Landroid/database/Cursor;)Z
12705 + move-result v2
12707 + if-eqz v2, :cond_1d
12709 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
12711 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12713 + invoke-interface {v3}, Landroid/database/Cursor;->getPosition()I
12715 + move-result v3
12717 + aput v3, v2, v1
12719 + add-int/lit8 v1, v1, 0x1
12721 + goto :goto_1d
12723 + :cond_3a
12724 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12726 + invoke-interface {v2, v0}, Landroid/database/Cursor;->moveToPosition(I)Z
12728 + :cond_3f
12729 + return-void
12730 +.end method
12732 +.method private getContactId(Landroid/database/Cursor;)I
12733 + .registers 5
12735 + const-string v2, "_id"
12737 + invoke-interface {p1, v2}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
12739 + move-result v0
12741 + const/4 v1, -0x1
12743 + const/4 v2, -0x1
12745 + if-eq v0, v2, :cond_e
12747 + invoke-interface {p1, v0}, Landroid/database/Cursor;->getInt(I)I
12749 + move-result v1
12751 + :cond_e
12752 + return v1
12753 +.end method
12755 +.method private getMappedPos(I)I
12756 + .registers 4
12758 + const/4 v0, 0x0
12760 + :goto_1
12761 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
12763 + array-length v1, v1
12765 + if-ge v0, v1, :cond_10
12767 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
12769 + aget v1, v1, v0
12771 + if-ne v1, p1, :cond_d
12773 + :goto_c
12774 + return v0
12776 + :cond_d
12777 + add-int/lit8 v0, v0, 0x1
12779 + goto :goto_1
12781 + :cond_10
12782 + const/4 v0, -0x1
12784 + goto :goto_c
12785 +.end method
12787 +.method private isAllowed(I)Z
12788 + .registers 7
12790 + const/4 v4, 0x0
12792 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIds:[I
12794 + array-length v3, v0
12796 + const/4 v2, 0x0
12798 + :goto_5
12799 + if-ge v2, v3, :cond_c
12801 + aget v1, v0, v2
12803 + if-ne p1, v1, :cond_d
12805 + const/4 v4, 0x1
12807 + :cond_c
12808 + return v4
12810 + :cond_d
12811 + add-int/lit8 v2, v2, 0x1
12813 + goto :goto_5
12814 +.end method
12816 +.method private isAllowed(Landroid/database/Cursor;)Z
12817 + .registers 3
12819 + invoke-direct {p0, p1}, Landroid/privacy/surrogate/PrivacyCursor;->getContactId(Landroid/database/Cursor;)I
12821 + move-result v0
12823 + invoke-direct {p0, v0}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(I)Z
12825 + move-result v0
12827 + return v0
12828 +.end method
12831 +# virtual methods
12832 +.method public close()V
12833 + .registers 2
12835 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12837 + if-eqz v0, :cond_9
12839 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12841 + invoke-interface {v0}, Landroid/database/Cursor;->close()V
12843 + :cond_9
12844 + return-void
12845 +.end method
12847 +.method public copyStringToBuffer(ILandroid/database/CharArrayBuffer;)V
12848 + .registers 4
12850 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12852 + if-eqz v0, :cond_9
12854 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12856 + invoke-interface {v0, p1, p2}, Landroid/database/Cursor;->copyStringToBuffer(ILandroid/database/CharArrayBuffer;)V
12858 + :cond_9
12859 + return-void
12860 +.end method
12862 +.method public deactivate()V
12863 + .registers 2
12865 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12867 + if-eqz v0, :cond_9
12869 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12871 + invoke-interface {v0}, Landroid/database/Cursor;->deactivate()V
12873 + :cond_9
12874 + return-void
12875 +.end method
12877 +.method public getBlob(I)[B
12878 + .registers 3
12880 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12882 + if-eqz v0, :cond_b
12884 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12886 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getBlob(I)[B
12888 + move-result-object v0
12890 + :goto_a
12891 + return-object v0
12893 + :cond_b
12894 + const/4 v0, 0x0
12896 + new-array v0, v0, [B
12898 + goto :goto_a
12899 +.end method
12901 +.method public getColumnCount()I
12902 + .registers 2
12904 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12906 + if-eqz v0, :cond_b
12908 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12910 + invoke-interface {v0}, Landroid/database/Cursor;->getColumnCount()I
12912 + move-result v0
12914 + :goto_a
12915 + return v0
12917 + :cond_b
12918 + const/4 v0, 0x0
12920 + goto :goto_a
12921 +.end method
12923 +.method public getColumnIndex(Ljava/lang/String;)I
12924 + .registers 3
12926 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12928 + if-eqz v0, :cond_b
12930 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12932 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
12934 + move-result v0
12936 + :goto_a
12937 + return v0
12939 + :cond_b
12940 + const/4 v0, -0x1
12942 + goto :goto_a
12943 +.end method
12945 +.method public getColumnIndexOrThrow(Ljava/lang/String;)I
12946 + .registers 3
12947 + .annotation system Ldalvik/annotation/Throws;
12948 + value = {
12949 + Ljava/lang/IllegalArgumentException;
12951 + .end annotation
12953 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12955 + if-eqz v0, :cond_b
12957 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12959 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getColumnIndexOrThrow(Ljava/lang/String;)I
12961 + move-result v0
12963 + :goto_a
12964 + return v0
12966 + :cond_b
12967 + const/4 v0, -0x1
12969 + goto :goto_a
12970 +.end method
12972 +.method public getColumnName(I)Ljava/lang/String;
12973 + .registers 3
12975 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12977 + if-eqz v0, :cond_b
12979 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12981 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getColumnName(I)Ljava/lang/String;
12983 + move-result-object v0
12985 + :goto_a
12986 + return-object v0
12988 + :cond_b
12989 + const-string v0, ""
12991 + goto :goto_a
12992 +.end method
12994 +.method public getColumnNames()[Ljava/lang/String;
12995 + .registers 4
12997 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12999 + if-eqz v0, :cond_b
13001 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13003 + invoke-interface {v0}, Landroid/database/Cursor;->getColumnNames()[Ljava/lang/String;
13005 + move-result-object v0
13007 + :goto_a
13008 + return-object v0
13010 + :cond_b
13011 + const/4 v0, 0x1
13013 + new-array v0, v0, [Ljava/lang/String;
13015 + const/4 v1, 0x0
13017 + const-string v2, ""
13019 + aput-object v2, v0, v1
13021 + goto :goto_a
13022 +.end method
13024 +.method public getCount()I
13025 + .registers 4
13027 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13029 + if-eqz v0, :cond_23
13031 + const-string v0, "PrivacyCursor"
13033 + new-instance v1, Ljava/lang/StringBuilder;
13035 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
13037 + const-string v2, "getCount: "
13039 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13041 + move-result-object v1
13043 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13045 + array-length v2, v2
13047 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
13049 + move-result-object v1
13051 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
13053 + move-result-object v1
13055 + invoke-static {v0, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
13057 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13059 + array-length v0, v0
13061 + :goto_22
13062 + return v0
13064 + :cond_23
13065 + const/4 v0, 0x0
13067 + goto :goto_22
13068 +.end method
13070 +.method public getDouble(I)D
13071 + .registers 4
13073 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13075 + if-eqz v0, :cond_b
13077 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13079 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getDouble(I)D
13081 + move-result-wide v0
13083 + :goto_a
13084 + return-wide v0
13086 + :cond_b
13087 + const-wide/16 v0, 0x0
13089 + goto :goto_a
13090 +.end method
13092 +.method public getExtras()Landroid/os/Bundle;
13093 + .registers 2
13095 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13097 + if-eqz v0, :cond_b
13099 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13101 + invoke-interface {v0}, Landroid/database/Cursor;->getExtras()Landroid/os/Bundle;
13103 + move-result-object v0
13105 + :goto_a
13106 + return-object v0
13108 + :cond_b
13109 + new-instance v0, Landroid/os/Bundle;
13111 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
13113 + goto :goto_a
13114 +.end method
13116 +.method public getFloat(I)F
13117 + .registers 3
13119 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13121 + if-eqz v0, :cond_b
13123 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13125 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getFloat(I)F
13127 + move-result v0
13129 + :goto_a
13130 + return v0
13132 + :cond_b
13133 + const/4 v0, 0x0
13135 + goto :goto_a
13136 +.end method
13138 +.method public getInt(I)I
13139 + .registers 4
13141 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13143 + if-eqz v1, :cond_b
13145 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13147 + invoke-interface {v1, p1}, Landroid/database/Cursor;->getInt(I)I
13149 + move-result v0
13151 + :goto_a
13152 + return v0
13154 + :cond_b
13155 + const/4 v0, 0x0
13157 + goto :goto_a
13158 +.end method
13160 +.method public getLong(I)J
13161 + .registers 4
13163 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13165 + if-eqz v0, :cond_b
13167 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13169 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getLong(I)J
13171 + move-result-wide v0
13173 + :goto_a
13174 + return-wide v0
13176 + :cond_b
13177 + const-wide/16 v0, 0x0
13179 + goto :goto_a
13180 +.end method
13182 +.method public getPosition()I
13183 + .registers 5
13185 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13187 + if-eqz v1, :cond_37
13189 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13191 + invoke-interface {v1}, Landroid/database/Cursor;->getPosition()I
13193 + move-result v1
13195 + invoke-direct {p0, v1}, Landroid/privacy/surrogate/PrivacyCursor;->getMappedPos(I)I
13197 + move-result v0
13199 + const-string v1, "PrivacyCursor"
13201 + new-instance v2, Ljava/lang/StringBuilder;
13203 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
13205 + const-string v3, "getPosition - mapped position: "
13207 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13209 + move-result-object v2
13211 + invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
13213 + move-result-object v2
13215 + const-string v3, " real position: "
13217 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13219 + move-result-object v2
13221 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13223 + invoke-interface {v3}, Landroid/database/Cursor;->getPosition()I
13225 + move-result v3
13227 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
13229 + move-result-object v2
13231 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
13233 + move-result-object v2
13235 + invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
13237 + :goto_36
13238 + return v0
13240 + :cond_37
13241 + const/4 v0, -0x1
13243 + goto :goto_36
13244 +.end method
13246 +.method public getShort(I)S
13247 + .registers 3
13249 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13251 + if-eqz v0, :cond_b
13253 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13255 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getShort(I)S
13257 + move-result v0
13259 + :goto_a
13260 + return v0
13262 + :cond_b
13263 + const/4 v0, 0x0
13265 + goto :goto_a
13266 +.end method
13268 +.method public getString(I)Ljava/lang/String;
13269 + .registers 3
13271 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13273 + if-eqz v0, :cond_b
13275 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13277 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
13279 + move-result-object v0
13281 + :goto_a
13282 + return-object v0
13284 + :cond_b
13285 + const-string v0, ""
13287 + goto :goto_a
13288 +.end method
13290 +.method public getType(I)I
13291 + .registers 3
13293 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13295 + if-eqz v0, :cond_b
13297 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13299 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getType(I)I
13301 + move-result v0
13303 + :goto_a
13304 + return v0
13306 + :cond_b
13307 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13309 + const/4 v0, 0x0
13311 + goto :goto_a
13312 +.end method
13314 +.method public getWantsAllOnMoveCalls()Z
13315 + .registers 2
13317 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13319 + if-eqz v0, :cond_b
13321 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13323 + invoke-interface {v0}, Landroid/database/Cursor;->getWantsAllOnMoveCalls()Z
13325 + move-result v0
13327 + :goto_a
13328 + return v0
13330 + :cond_b
13331 + const/4 v0, 0x0
13333 + goto :goto_a
13334 +.end method
13336 +.method public isAfterLast()Z
13337 + .registers 2
13339 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13341 + if-eqz v0, :cond_b
13343 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13345 + invoke-interface {v0}, Landroid/database/Cursor;->isAfterLast()Z
13347 + move-result v0
13349 + :goto_a
13350 + return v0
13352 + :cond_b
13353 + const/4 v0, 0x0
13355 + goto :goto_a
13356 +.end method
13358 +.method public isBeforeFirst()Z
13359 + .registers 2
13361 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13363 + if-eqz v0, :cond_b
13365 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13367 + invoke-interface {v0}, Landroid/database/Cursor;->isBeforeFirst()Z
13369 + move-result v0
13371 + :goto_a
13372 + return v0
13374 + :cond_b
13375 + const/4 v0, 0x0
13377 + goto :goto_a
13378 +.end method
13380 +.method public isClosed()Z
13381 + .registers 2
13383 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13385 + if-eqz v0, :cond_b
13387 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13389 + invoke-interface {v0}, Landroid/database/Cursor;->isClosed()Z
13391 + move-result v0
13393 + :goto_a
13394 + return v0
13396 + :cond_b
13397 + const/4 v0, 0x0
13399 + goto :goto_a
13400 +.end method
13402 +.method public isFirst()Z
13403 + .registers 4
13405 + const/4 v0, 0x0
13407 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13409 + if-eqz v1, :cond_12
13411 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13413 + invoke-interface {v1}, Landroid/database/Cursor;->getPosition()I
13415 + move-result v1
13417 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13419 + aget v2, v2, v0
13421 + if-ne v1, v2, :cond_12
13423 + const/4 v0, 0x1
13425 + :cond_12
13426 + return v0
13427 +.end method
13429 +.method public isLast()Z
13430 + .registers 4
13432 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13434 + if-eqz v0, :cond_17
13436 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13438 + invoke-interface {v0}, Landroid/database/Cursor;->getPosition()I
13440 + move-result v0
13442 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13444 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13446 + array-length v2, v2
13448 + add-int/lit8 v2, v2, -0x1
13450 + aget v1, v1, v2
13452 + if-ne v0, v1, :cond_17
13454 + const/4 v0, 0x1
13456 + :goto_16
13457 + return v0
13459 + :cond_17
13460 + const/4 v0, 0x0
13462 + goto :goto_16
13463 +.end method
13465 +.method public isNull(I)Z
13466 + .registers 3
13468 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13470 + if-eqz v0, :cond_b
13472 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13474 + invoke-interface {v0, p1}, Landroid/database/Cursor;->isNull(I)Z
13476 + move-result v0
13478 + :goto_a
13479 + return v0
13481 + :cond_b
13482 + const/4 v0, 0x0
13484 + goto :goto_a
13485 +.end method
13487 +.method public move(I)Z
13488 + .registers 8
13490 + const/4 v2, 0x0
13492 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13494 + if-eqz v3, :cond_33
13496 + const-string v3, "PrivacyCursor"
13498 + new-instance v4, Ljava/lang/StringBuilder;
13500 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
13502 + const-string/jumbo v5, "move - offset: "
13504 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13506 + move-result-object v4
13508 + invoke-virtual {v4, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
13510 + move-result-object v4
13512 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
13514 + move-result-object v4
13516 + invoke-static {v3, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
13518 + :try_start_1e
13519 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13521 + iget-object v4, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13523 + invoke-interface {v4}, Landroid/database/Cursor;->getPosition()I
13525 + move-result v4
13527 + invoke-direct {p0, v4}, Landroid/privacy/surrogate/PrivacyCursor;->getMappedPos(I)I
13529 + move-result v4
13531 + add-int/2addr v4, p1
13533 + aget v1, v3, v4
13535 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13537 + invoke-interface {v3, v1}, Landroid/database/Cursor;->moveToPosition(I)Z
13538 + :try_end_32
13539 + .catch Ljava/lang/ArrayIndexOutOfBoundsException; {:try_start_1e .. :try_end_32} :catch_34
13541 + move-result v2
13543 + :cond_33
13544 + :goto_33
13545 + return v2
13547 + :catch_34
13548 + move-exception v0
13550 + goto :goto_33
13551 +.end method
13553 +.method public moveToFirst()Z
13554 + .registers 4
13556 + const/4 v0, 0x0
13558 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13560 + if-eqz v1, :cond_f
13562 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13564 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13566 + aget v2, v2, v0
13568 + invoke-interface {v1, v2}, Landroid/database/Cursor;->moveToPosition(I)Z
13570 + move-result v0
13572 + :cond_f
13573 + return v0
13574 +.end method
13576 +.method public moveToLast()Z
13577 + .registers 5
13579 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13581 + if-eqz v1, :cond_14
13583 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13585 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13587 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13589 + array-length v3, v3
13591 + add-int/lit8 v3, v3, -0x1
13593 + aget v2, v2, v3
13595 + invoke-interface {v1, v2}, Landroid/database/Cursor;->moveToPosition(I)Z
13597 + move-result v0
13599 + :goto_13
13600 + return v0
13602 + :cond_14
13603 + const/4 v0, 0x0
13605 + goto :goto_13
13606 +.end method
13608 +.method public moveToNext()Z
13609 + .registers 3
13611 + const/4 v0, 0x0
13613 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13615 + if-eqz v1, :cond_d
13617 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13619 + invoke-interface {v1}, Landroid/database/Cursor;->moveToNext()Z
13621 + move-result v1
13623 + if-nez v1, :cond_e
13625 + :cond_d
13626 + return v0
13628 + :cond_e
13629 + const/4 v0, 0x1
13631 + :goto_f
13632 + const/4 v1, 0x1
13634 + if-ne v0, v1, :cond_d
13636 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13638 + invoke-direct {p0, v1}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(Landroid/database/Cursor;)Z
13640 + move-result v1
13642 + if-nez v1, :cond_d
13644 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13646 + invoke-interface {v1}, Landroid/database/Cursor;->moveToNext()Z
13648 + move-result v0
13650 + goto :goto_f
13651 +.end method
13653 +.method public moveToPosition(I)Z
13654 + .registers 6
13656 + const/4 v1, 0x0
13658 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13660 + if-eqz v2, :cond_f
13662 + :try_start_5
13663 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13665 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13667 + aget v3, v3, p1
13669 + invoke-interface {v2, v3}, Landroid/database/Cursor;->moveToPosition(I)Z
13670 + :try_end_e
13671 + .catch Ljava/lang/ArrayIndexOutOfBoundsException; {:try_start_5 .. :try_end_e} :catch_10
13673 + move-result v1
13675 + :cond_f
13676 + :goto_f
13677 + return v1
13679 + :catch_10
13680 + move-exception v0
13682 + goto :goto_f
13683 +.end method
13685 +.method public moveToPrevious()Z
13686 + .registers 3
13688 + const/4 v0, 0x0
13690 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13692 + if-eqz v1, :cond_d
13694 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13696 + invoke-interface {v1}, Landroid/database/Cursor;->moveToPrevious()Z
13698 + move-result v1
13700 + if-nez v1, :cond_e
13702 + :cond_d
13703 + return v0
13705 + :cond_e
13706 + const/4 v0, 0x1
13708 + :goto_f
13709 + const/4 v1, 0x1
13711 + if-ne v0, v1, :cond_d
13713 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13715 + invoke-direct {p0, v1}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(Landroid/database/Cursor;)Z
13717 + move-result v1
13719 + if-nez v1, :cond_d
13721 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13723 + invoke-interface {v1}, Landroid/database/Cursor;->moveToPrevious()Z
13725 + move-result v0
13727 + goto :goto_f
13728 +.end method
13730 +.method public registerContentObserver(Landroid/database/ContentObserver;)V
13731 + .registers 3
13733 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13735 + if-eqz v0, :cond_9
13737 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13739 + invoke-interface {v0, p1}, Landroid/database/Cursor;->registerContentObserver(Landroid/database/ContentObserver;)V
13741 + :cond_9
13742 + return-void
13743 +.end method
13745 +.method public registerDataSetObserver(Landroid/database/DataSetObserver;)V
13746 + .registers 3
13748 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13750 + if-eqz v0, :cond_9
13752 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13754 + invoke-interface {v0, p1}, Landroid/database/Cursor;->registerDataSetObserver(Landroid/database/DataSetObserver;)V
13756 + :cond_9
13757 + return-void
13758 +.end method
13760 +.method public requery()Z
13761 + .registers 2
13763 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13765 + if-eqz v0, :cond_b
13767 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13769 + invoke-interface {v0}, Landroid/database/Cursor;->requery()Z
13771 + move-result v0
13773 + :goto_a
13774 + return v0
13776 + :cond_b
13777 + const/4 v0, 0x0
13779 + goto :goto_a
13780 +.end method
13782 +.method public respond(Landroid/os/Bundle;)Landroid/os/Bundle;
13783 + .registers 3
13785 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13787 + if-eqz v0, :cond_b
13789 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13791 + invoke-interface {v0, p1}, Landroid/database/Cursor;->respond(Landroid/os/Bundle;)Landroid/os/Bundle;
13793 + move-result-object v0
13795 + :goto_a
13796 + return-object v0
13798 + :cond_b
13799 + new-instance v0, Landroid/os/Bundle;
13801 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
13803 + goto :goto_a
13804 +.end method
13806 +.method public setNotificationUri(Landroid/content/ContentResolver;Landroid/net/Uri;)V
13807 + .registers 4
13809 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13811 + if-eqz v0, :cond_9
13813 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13815 + invoke-interface {v0, p1, p2}, Landroid/database/Cursor;->setNotificationUri(Landroid/content/ContentResolver;Landroid/net/Uri;)V
13817 + :cond_9
13818 + return-void
13819 +.end method
13821 +.method public unregisterContentObserver(Landroid/database/ContentObserver;)V
13822 + .registers 3
13824 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13826 + if-eqz v0, :cond_9
13828 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13830 + invoke-interface {v0, p1}, Landroid/database/Cursor;->unregisterContentObserver(Landroid/database/ContentObserver;)V
13832 + :cond_9
13833 + return-void
13834 +.end method
13836 +.method public unregisterDataSetObserver(Landroid/database/DataSetObserver;)V
13837 + .registers 3
13839 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13841 + if-eqz v0, :cond_9
13843 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13845 + invoke-interface {v0, p1}, Landroid/database/Cursor;->unregisterDataSetObserver(Landroid/database/DataSetObserver;)V
13847 + :cond_9
13848 + return-void
13849 +.end method
13850 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali
13851 --- stock-framework/smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali 1969-12-31 18:00:00.000000000 -0600
13852 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali 2012-11-02 22:30:28.547776184 -0500
13853 @@ -0,0 +1,134 @@
13854 +.class Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
13855 +.super Ljava/lang/Thread;
13856 +.source "PrivacyLocationManager.java"
13859 +# annotations
13860 +.annotation system Ldalvik/annotation/EnclosingClass;
13861 + value = Landroid/privacy/surrogate/PrivacyLocationManager;
13862 +.end annotation
13864 +.annotation system Ldalvik/annotation/InnerClass;
13865 + accessFlags = 0x2
13866 + name = "PrivacyLocationUpdater"
13867 +.end annotation
13870 +# instance fields
13871 +.field private intent:Landroid/app/PendingIntent;
13873 +.field private latitude:D
13875 +.field private listener:Landroid/location/LocationListener;
13877 +.field private longitude:D
13879 +.field private provider:Ljava/lang/String;
13881 +.field final synthetic this$0:Landroid/privacy/surrogate/PrivacyLocationManager;
13884 +# direct methods
13885 +.method public constructor <init>(Landroid/privacy/surrogate/PrivacyLocationManager;Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;DD)V
13886 + .registers 9
13888 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->this$0:Landroid/privacy/surrogate/PrivacyLocationManager;
13890 + invoke-direct {p0}, Ljava/lang/Thread;-><init>()V
13892 + iput-object p2, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->provider:Ljava/lang/String;
13894 + iput-object p3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->listener:Landroid/location/LocationListener;
13896 + iput-object p4, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->intent:Landroid/app/PendingIntent;
13898 + iput-wide p5, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->latitude:D
13900 + iput-wide p7, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->longitude:D
13902 + return-void
13903 +.end method
13906 +# virtual methods
13907 +.method public run()V
13908 + .registers 8
13910 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->provider:Ljava/lang/String;
13912 + if-eqz v3, :cond_43
13914 + new-instance v2, Landroid/location/Location;
13916 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->provider:Ljava/lang/String;
13918 + invoke-direct {v2, v3}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
13920 + iget-wide v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->latitude:D
13922 + invoke-virtual {v2, v3, v4}, Landroid/location/Location;->setLatitude(D)V
13924 + iget-wide v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->longitude:D
13926 + invoke-virtual {v2, v3, v4}, Landroid/location/Location;->setLongitude(D)V
13928 + const/4 v1, 0x0
13930 + :goto_16
13931 + const/4 v3, 0x5
13933 + if-ge v1, v3, :cond_43
13935 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->listener:Landroid/location/LocationListener;
13937 + if-eqz v3, :cond_34
13939 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->listener:Landroid/location/LocationListener;
13941 + invoke-interface {v3, v2}, Landroid/location/LocationListener;->onLocationChanged(Landroid/location/Location;)V
13943 + :cond_22
13944 + :goto_22
13945 + :try_start_22
13946 + invoke-static {}, Ljava/lang/Math;->random()D
13948 + move-result-wide v3
13950 + const-wide v5, 0x408f400000000000L
13952 + mul-double/2addr v3, v5
13954 + double-to-int v3, v3
13956 + int-to-long v3, v3
13958 + invoke-static {v3, v4}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->sleep(J)V
13959 + :try_end_31
13960 + .catch Ljava/lang/InterruptedException; {:try_start_22 .. :try_end_31} :catch_3e
13962 + :goto_31
13963 + add-int/lit8 v1, v1, 0x1
13965 + goto :goto_16
13967 + :cond_34
13968 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->intent:Landroid/app/PendingIntent;
13970 + if-eqz v3, :cond_22
13972 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->intent:Landroid/app/PendingIntent;
13974 + invoke-virtual {v3}, Landroid/app/PendingIntent;->cancel()V
13976 + goto :goto_22
13978 + :catch_3e
13979 + move-exception v0
13981 + invoke-virtual {v0}, Ljava/lang/InterruptedException;->printStackTrace()V
13983 + goto :goto_31
13985 + :cond_43
13986 + return-void
13987 +.end method
13988 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyLocationManager.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyLocationManager.smali
13989 --- stock-framework/smali/android/privacy/surrogate/PrivacyLocationManager.smali 1969-12-31 18:00:00.000000000 -0600
13990 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyLocationManager.smali 2012-11-02 22:30:28.551776211 -0500
13991 @@ -0,0 +1,2091 @@
13992 +.class public final Landroid/privacy/surrogate/PrivacyLocationManager;
13993 +.super Landroid/location/LocationManager;
13994 +.source "PrivacyLocationManager.java"
13997 +# annotations
13998 +.annotation system Ldalvik/annotation/MemberClasses;
13999 + value = {
14000 + Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
14002 +.end annotation
14005 +# static fields
14006 +.field private static final CUSTOM_LOCATION_UPDATE_COUNT:I = 0x5
14008 +.field private static final TAG:Ljava/lang/String; = "PrivacyLocationManager"
14011 +# instance fields
14012 +.field private context:Landroid/content/Context;
14014 +.field private lock:Ljava/lang/Object;
14016 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
14019 +# direct methods
14020 +.method public constructor <init>(Landroid/location/ILocationManager;Landroid/content/Context;)V
14021 + .registers 5
14023 + invoke-direct {p0, p2, p1}, Landroid/location/LocationManager;-><init>(Landroid/content/Context;Landroid/location/ILocationManager;)V
14025 + new-instance v0, Ljava/lang/Object;
14027 + invoke-direct {v0}, Ljava/lang/Object;-><init>()V
14029 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->lock:Ljava/lang/Object;
14031 + iput-object p2, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
14033 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
14035 + const-string/jumbo v1, "privacy"
14037 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
14039 + move-result-object v1
14041 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
14043 + move-result-object v1
14045 + invoke-direct {v0, p2, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
14047 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14049 + return-void
14050 +.end method
14052 +.method private requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
14053 + .registers 7
14055 + const/4 v2, 0x3
14057 + if-nez p1, :cond_5
14059 + const/4 v0, 0x0
14061 + :goto_4
14062 + return v0
14064 + :cond_5
14065 + invoke-virtual {p1}, Landroid/location/Criteria;->getAccuracy()I
14067 + move-result v0
14069 + const/4 v1, 0x1
14071 + if-eq v0, v1, :cond_24
14073 + invoke-virtual {p1}, Landroid/location/Criteria;->getBearingAccuracy()I
14075 + move-result v0
14077 + if-eq v0, v2, :cond_24
14079 + invoke-virtual {p1}, Landroid/location/Criteria;->getHorizontalAccuracy()I
14081 + move-result v0
14083 + if-eq v0, v2, :cond_24
14085 + invoke-virtual {p1}, Landroid/location/Criteria;->getVerticalAccuracy()I
14087 + move-result v0
14089 + if-eq v0, v2, :cond_24
14091 + invoke-virtual {p1}, Landroid/location/Criteria;->getSpeedAccuracy()I
14093 + move-result v0
14095 + if-ne v0, v2, :cond_2b
14097 + :cond_24
14098 + const-string v0, "gps"
14100 + invoke-direct {p0, v0, p2, p3}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
14102 + move-result v0
14104 + goto :goto_4
14106 + :cond_2b
14107 + const-string/jumbo v0, "network"
14109 + invoke-direct {p0, v0, p2, p3}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
14111 + move-result v0
14113 + goto :goto_4
14114 +.end method
14116 +.method private requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
14117 + .registers 24
14119 + move-object/from16 v0, p0
14121 + iget-object v0, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->lock:Ljava/lang/Object;
14123 + move-object/from16 v19, v0
14125 + monitor-enter v19
14127 + :try_start_7
14128 + move-object/from16 v0, p0
14130 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
14132 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
14134 + move-result-object v2
14136 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
14138 + move-result v3
14140 + move-object/from16 v0, p0
14142 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14144 + invoke-virtual {v1, v2, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
14146 + move-result-object v7
14148 + const/16 v18, 0x0
14150 + if-eqz v7, :cond_239
14152 + const-string v1, "gps"
14154 + move-object/from16 v0, p1
14156 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
14158 + move-result v1
14160 + if-eqz v1, :cond_111
14162 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
14164 + move-result v1
14166 + packed-switch v1, :pswitch_data_25e
14168 + :cond_30
14169 + :goto_30
14170 + monitor-exit v19
14172 + return v18
14174 + :pswitch_32
14175 + move-object/from16 v0, p0
14177 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14179 + const/4 v4, 0x0
14181 + const-string v5, "locationGPS"
14183 + const/4 v6, 0x0
14185 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14187 + goto :goto_30
14189 + :catchall_3e
14190 + move-exception v1
14192 + monitor-exit v19
14193 + :try_end_40
14194 + .catchall {:try_start_7 .. :try_end_40} :catchall_3e
14196 + throw v1
14198 + :pswitch_41
14199 + if-eqz p3, :cond_46
14201 + :try_start_43
14202 + invoke-virtual/range {p3 .. p3}, Landroid/app/PendingIntent;->cancel()V
14204 + :cond_46
14205 + const/16 v18, 0x1
14207 + move-object/from16 v0, p0
14209 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14211 + const/4 v4, 0x1
14213 + const-string v5, "locationGPS"
14215 + const/4 v6, 0x0
14217 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14218 + :try_end_53
14219 + .catchall {:try_start_43 .. :try_end_53} :catchall_3e
14221 + goto :goto_30
14223 + :pswitch_54
14224 + :try_start_54
14225 + new-instance v8, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
14227 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
14229 + move-result-object v1
14231 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14233 + move-result-wide v13
14235 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
14237 + move-result-object v1
14239 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14241 + move-result-wide v15
14243 + move-object/from16 v9, p0
14245 + move-object/from16 v10, p1
14247 + move-object/from16 v11, p2
14249 + move-object/from16 v12, p3
14251 + 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
14253 + invoke-virtual {v8}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->start()V
14254 + :try_end_74
14255 + .catchall {:try_start_54 .. :try_end_74} :catchall_3e
14256 + .catch Ljava/lang/NumberFormatException; {:try_start_54 .. :try_end_74} :catch_a6
14258 + const/16 v18, 0x1
14260 + :goto_76
14261 + :try_start_76
14262 + move-object/from16 v0, p0
14264 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14266 + const/4 v4, 0x2
14268 + const-string v5, "locationGPS"
14270 + new-instance v6, Ljava/lang/StringBuilder;
14272 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
14274 + const-string v8, "Lat: "
14276 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14278 + move-result-object v6
14280 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
14282 + move-result-object v8
14284 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14286 + move-result-object v6
14288 + const-string v8, " Lon: "
14290 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14292 + move-result-object v6
14294 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
14296 + move-result-object v8
14298 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14300 + move-result-object v6
14302 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14304 + move-result-object v6
14306 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14308 + goto :goto_30
14310 + :catch_a6
14311 + move-exception v17
14313 + const-string v1, "PrivacyLocationManager"
14315 + const-string/jumbo v4, "requestLocationUpdates: invalid coordinates"
14317 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
14318 + :try_end_af
14319 + .catchall {:try_start_76 .. :try_end_af} :catchall_3e
14321 + const/16 v18, 0x1
14323 + goto :goto_76
14325 + :pswitch_b2
14326 + :try_start_b2
14327 + new-instance v8, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
14329 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
14331 + move-result-object v1
14333 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14335 + move-result-wide v13
14337 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
14339 + move-result-object v1
14341 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14343 + move-result-wide v15
14345 + move-object/from16 v9, p0
14347 + move-object/from16 v10, p1
14349 + move-object/from16 v11, p2
14351 + move-object/from16 v12, p3
14353 + 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
14355 + invoke-virtual {v8}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->start()V
14356 + :try_end_d2
14357 + .catchall {:try_start_b2 .. :try_end_d2} :catchall_3e
14358 + .catch Ljava/lang/NumberFormatException; {:try_start_b2 .. :try_end_d2} :catch_105
14360 + const/16 v18, 0x1
14362 + :goto_d4
14363 + :try_start_d4
14364 + move-object/from16 v0, p0
14366 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14368 + const/4 v4, 0x3
14370 + const-string v5, "locationGPS"
14372 + new-instance v6, Ljava/lang/StringBuilder;
14374 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
14376 + const-string v8, "Lat: "
14378 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14380 + move-result-object v6
14382 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
14384 + move-result-object v8
14386 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14388 + move-result-object v6
14390 + const-string v8, " Lon: "
14392 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14394 + move-result-object v6
14396 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
14398 + move-result-object v8
14400 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14402 + move-result-object v6
14404 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14406 + move-result-object v6
14408 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14410 + goto/16 :goto_30
14412 + :catch_105
14413 + move-exception v17
14415 + const-string v1, "PrivacyLocationManager"
14417 + const-string/jumbo v4, "requestLocationUpdates: invalid coordinates"
14419 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
14421 + const/16 v18, 0x1
14423 + goto :goto_d4
14425 + :cond_111
14426 + const-string/jumbo v1, "network"
14428 + move-object/from16 v0, p1
14430 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
14432 + move-result v1
14434 + if-eqz v1, :cond_204
14436 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
14438 + move-result v1
14440 + packed-switch v1, :pswitch_data_26a
14442 + goto/16 :goto_30
14444 + :pswitch_125
14445 + move-object/from16 v0, p0
14447 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14449 + const/4 v4, 0x0
14451 + const-string v5, "locationNetwork"
14453 + const/4 v6, 0x0
14455 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14457 + goto/16 :goto_30
14459 + :pswitch_132
14460 + if-eqz p3, :cond_137
14462 + invoke-virtual/range {p3 .. p3}, Landroid/app/PendingIntent;->cancel()V
14464 + :cond_137
14465 + const/16 v18, 0x1
14467 + move-object/from16 v0, p0
14469 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14471 + const/4 v4, 0x1
14473 + const-string v5, "locationNetwork"
14475 + const/4 v6, 0x0
14477 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14478 + :try_end_144
14479 + .catchall {:try_start_d4 .. :try_end_144} :catchall_3e
14481 + goto/16 :goto_30
14483 + :pswitch_146
14484 + :try_start_146
14485 + new-instance v8, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
14487 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
14489 + move-result-object v1
14491 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14493 + move-result-wide v13
14495 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
14497 + move-result-object v1
14499 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14501 + move-result-wide v15
14503 + move-object/from16 v9, p0
14505 + move-object/from16 v10, p1
14507 + move-object/from16 v11, p2
14509 + move-object/from16 v12, p3
14511 + 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
14513 + invoke-virtual {v8}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->start()V
14514 + :try_end_166
14515 + .catchall {:try_start_146 .. :try_end_166} :catchall_3e
14516 + .catch Ljava/lang/NumberFormatException; {:try_start_146 .. :try_end_166} :catch_199
14518 + const/16 v18, 0x1
14520 + :goto_168
14521 + :try_start_168
14522 + move-object/from16 v0, p0
14524 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14526 + const/4 v4, 0x2
14528 + const-string v5, "locationNetwork"
14530 + new-instance v6, Ljava/lang/StringBuilder;
14532 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
14534 + const-string v8, "Lat: "
14536 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14538 + move-result-object v6
14540 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
14542 + move-result-object v8
14544 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14546 + move-result-object v6
14548 + const-string v8, " Lon: "
14550 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14552 + move-result-object v6
14554 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
14556 + move-result-object v8
14558 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14560 + move-result-object v6
14562 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14564 + move-result-object v6
14566 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14568 + goto/16 :goto_30
14570 + :catch_199
14571 + move-exception v17
14573 + const-string v1, "PrivacyLocationManager"
14575 + const-string/jumbo v4, "requestLocationUpdates: invalid coordinates"
14577 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
14578 + :try_end_1a2
14579 + .catchall {:try_start_168 .. :try_end_1a2} :catchall_3e
14581 + const/16 v18, 0x1
14583 + goto :goto_168
14585 + :pswitch_1a5
14586 + :try_start_1a5
14587 + new-instance v8, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
14589 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
14591 + move-result-object v1
14593 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14595 + move-result-wide v13
14597 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
14599 + move-result-object v1
14601 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14603 + move-result-wide v15
14605 + move-object/from16 v9, p0
14607 + move-object/from16 v10, p1
14609 + move-object/from16 v11, p2
14611 + move-object/from16 v12, p3
14613 + 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
14615 + invoke-virtual {v8}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->start()V
14616 + :try_end_1c5
14617 + .catchall {:try_start_1a5 .. :try_end_1c5} :catchall_3e
14618 + .catch Ljava/lang/NumberFormatException; {:try_start_1a5 .. :try_end_1c5} :catch_1f8
14620 + const/16 v18, 0x1
14622 + :goto_1c7
14623 + :try_start_1c7
14624 + move-object/from16 v0, p0
14626 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14628 + const/4 v4, 0x3
14630 + const-string v5, "locationNetwork"
14632 + new-instance v6, Ljava/lang/StringBuilder;
14634 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
14636 + const-string v8, "Lat: "
14638 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14640 + move-result-object v6
14642 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
14644 + move-result-object v8
14646 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14648 + move-result-object v6
14650 + const-string v8, " Lon: "
14652 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14654 + move-result-object v6
14656 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
14658 + move-result-object v8
14660 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14662 + move-result-object v6
14664 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14666 + move-result-object v6
14668 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14670 + goto/16 :goto_30
14672 + :catch_1f8
14673 + move-exception v17
14675 + const-string v1, "PrivacyLocationManager"
14677 + const-string/jumbo v4, "requestLocationUpdates: invalid coordinates"
14679 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
14681 + const/16 v18, 0x1
14683 + goto :goto_1c7
14685 + :cond_204
14686 + const-string/jumbo v1, "passive"
14688 + move-object/from16 v0, p1
14690 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
14692 + move-result v1
14694 + if-eqz v1, :cond_30
14696 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
14698 + move-result v1
14700 + if-nez v1, :cond_22a
14702 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
14704 + move-result v1
14706 + if-nez v1, :cond_22a
14708 + const/16 v18, 0x0
14710 + move-object/from16 v0, p0
14712 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14714 + const/4 v4, 0x0
14716 + const-string v5, "locationGPS"
14718 + const/4 v6, 0x0
14720 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14722 + goto/16 :goto_30
14724 + :cond_22a
14725 + const/16 v18, 0x1
14727 + move-object/from16 v0, p0
14729 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14731 + const/4 v4, 0x1
14733 + const-string v5, "locationGPS"
14735 + const/4 v6, 0x0
14737 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14739 + goto/16 :goto_30
14741 + :cond_239
14742 + const-string/jumbo v1, "network"
14744 + move-object/from16 v0, p1
14746 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
14748 + move-result v1
14750 + if-eqz v1, :cond_251
14752 + move-object/from16 v0, p0
14754 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14756 + const/4 v4, 0x0
14758 + const-string v5, "locationNetwork"
14760 + const/4 v6, 0x0
14762 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14764 + goto/16 :goto_30
14766 + :cond_251
14767 + move-object/from16 v0, p0
14769 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14771 + const/4 v4, 0x0
14773 + const-string v5, "locationGPS"
14775 + const/4 v6, 0x0
14777 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14778 + :try_end_25c
14779 + .catchall {:try_start_1c7 .. :try_end_25c} :catchall_3e
14781 + goto/16 :goto_30
14783 + :pswitch_data_25e
14784 + .packed-switch 0x0
14785 + :pswitch_32
14786 + :pswitch_41
14787 + :pswitch_54
14788 + :pswitch_b2
14789 + .end packed-switch
14791 + :pswitch_data_26a
14792 + .packed-switch 0x0
14793 + :pswitch_125
14794 + :pswitch_132
14795 + :pswitch_146
14796 + :pswitch_1a5
14797 + .end packed-switch
14798 +.end method
14801 +# virtual methods
14802 +.method public addNmeaListener(Landroid/location/GpsStatus$NmeaListener;)Z
14803 + .registers 10
14805 + const/4 v5, 0x0
14807 + const/4 v7, 0x0
14809 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
14811 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
14813 + move-result-object v1
14815 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
14817 + move-result v2
14819 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14821 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
14823 + move-result-object v6
14825 + if-eqz v6, :cond_24
14827 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
14829 + move-result v0
14831 + if-eqz v0, :cond_24
14833 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14835 + const/4 v3, 0x1
14837 + const-string v4, "locationGPS"
14839 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14841 + move v0, v7
14843 + :goto_23
14844 + return v0
14846 + :cond_24
14847 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14849 + const-string v4, "locationGPS"
14851 + move v3, v7
14853 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14855 + invoke-super {p0, p1}, Landroid/location/LocationManager;->addNmeaListener(Landroid/location/GpsStatus$NmeaListener;)Z
14857 + move-result v0
14859 + goto :goto_23
14860 +.end method
14862 +.method public getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
14863 + .registers 14
14865 + const/4 v11, 0x3
14867 + const/4 v10, 0x2
14869 + const/4 v8, 0x1
14871 + const/4 v3, 0x0
14873 + const/4 v5, 0x0
14875 + if-nez p1, :cond_c
14877 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
14879 + move-result-object v7
14881 + :cond_b
14882 + :goto_b
14883 + return-object v7
14885 + :cond_c
14886 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
14888 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
14890 + move-result-object v1
14892 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
14894 + move-result v2
14896 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14898 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
14900 + move-result-object v6
14902 + const/4 v7, 0x0
14904 + if-eqz v6, :cond_22c
14906 + const-string v0, "gps"
14908 + invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
14910 + move-result v0
14912 + if-eqz v0, :cond_ff
14914 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
14916 + move-result v0
14918 + packed-switch v0, :pswitch_data_29a
14920 + goto :goto_b
14922 + :pswitch_2f
14923 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
14925 + move-result-object v7
14927 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14929 + const-string v4, "locationGPS"
14931 + if-eqz v7, :cond_5e
14933 + new-instance v5, Ljava/lang/StringBuilder;
14935 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
14937 + const-string v8, "Lat: "
14939 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14941 + move-result-object v5
14943 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
14945 + move-result-wide v8
14947 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
14949 + move-result-object v5
14951 + const-string v8, " Lon: "
14953 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14955 + move-result-object v5
14957 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
14959 + move-result-wide v8
14961 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
14963 + move-result-object v5
14965 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14967 + move-result-object v5
14969 + :cond_5e
14970 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14972 + goto :goto_b
14974 + :pswitch_62
14975 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14977 + const-string v4, "locationGPS"
14979 + move v3, v8
14981 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14983 + goto :goto_b
14985 + :pswitch_6b
14986 + new-instance v7, Landroid/location/Location;
14988 + invoke-direct {v7, p1}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
14990 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
14992 + move-result-object v0
14994 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14996 + move-result-wide v3
14998 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLatitude(D)V
15000 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
15002 + move-result-object v0
15004 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
15006 + move-result-wide v3
15008 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLongitude(D)V
15010 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15012 + const-string v4, "locationGPS"
15014 + new-instance v3, Ljava/lang/StringBuilder;
15016 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
15018 + const-string v5, "Lat: "
15020 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15022 + move-result-object v3
15024 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15026 + move-result-wide v8
15028 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15030 + move-result-object v3
15032 + const-string v5, " Lon: "
15034 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15036 + move-result-object v3
15038 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15040 + move-result-wide v8
15042 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15044 + move-result-object v3
15046 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15048 + move-result-object v5
15050 + move v3, v10
15052 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15054 + goto/16 :goto_b
15056 + :pswitch_b5
15057 + new-instance v7, Landroid/location/Location;
15059 + invoke-direct {v7, p1}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
15061 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
15063 + move-result-object v0
15065 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
15067 + move-result-wide v3
15069 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLatitude(D)V
15071 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
15073 + move-result-object v0
15075 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
15077 + move-result-wide v3
15079 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLongitude(D)V
15081 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15083 + const-string v4, "locationGPS"
15085 + new-instance v3, Ljava/lang/StringBuilder;
15087 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
15089 + const-string v5, "Lat: "
15091 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15093 + move-result-object v3
15095 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15097 + move-result-wide v8
15099 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15101 + move-result-object v3
15103 + const-string v5, " Lon: "
15105 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15107 + move-result-object v3
15109 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15111 + move-result-wide v8
15113 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15115 + move-result-object v3
15117 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15119 + move-result-object v5
15121 + move v3, v11
15123 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15125 + goto/16 :goto_b
15127 + :cond_ff
15128 + const-string/jumbo v0, "network"
15130 + invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15132 + move-result v0
15134 + if-eqz v0, :cond_1e3
15136 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15138 + move-result v0
15140 + packed-switch v0, :pswitch_data_2a6
15142 + goto/16 :goto_b
15144 + :pswitch_111
15145 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
15147 + move-result-object v7
15149 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15151 + const-string v4, "locationNetwork"
15153 + if-eqz v7, :cond_140
15155 + new-instance v5, Ljava/lang/StringBuilder;
15157 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
15159 + const-string v8, "Lat: "
15161 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15163 + move-result-object v5
15165 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15167 + move-result-wide v8
15169 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15171 + move-result-object v5
15173 + const-string v8, " Lon: "
15175 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15177 + move-result-object v5
15179 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15181 + move-result-wide v8
15183 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15185 + move-result-object v5
15187 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15189 + move-result-object v5
15191 + :cond_140
15192 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15194 + goto/16 :goto_b
15196 + :pswitch_145
15197 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15199 + const-string v4, "locationNetwork"
15201 + move v3, v8
15203 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15205 + goto/16 :goto_b
15207 + :pswitch_14f
15208 + new-instance v7, Landroid/location/Location;
15210 + invoke-direct {v7, p1}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
15212 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
15214 + move-result-object v0
15216 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
15218 + move-result-wide v3
15220 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLatitude(D)V
15222 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
15224 + move-result-object v0
15226 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
15228 + move-result-wide v3
15230 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLongitude(D)V
15232 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15234 + const-string v4, "locationNetwork"
15236 + new-instance v3, Ljava/lang/StringBuilder;
15238 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
15240 + const-string v5, "Lat: "
15242 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15244 + move-result-object v3
15246 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15248 + move-result-wide v8
15250 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15252 + move-result-object v3
15254 + const-string v5, " Lon: "
15256 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15258 + move-result-object v3
15260 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15262 + move-result-wide v8
15264 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15266 + move-result-object v3
15268 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15270 + move-result-object v5
15272 + move v3, v10
15274 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15276 + goto/16 :goto_b
15278 + :pswitch_199
15279 + new-instance v7, Landroid/location/Location;
15281 + invoke-direct {v7, p1}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
15283 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
15285 + move-result-object v0
15287 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
15289 + move-result-wide v3
15291 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLatitude(D)V
15293 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
15295 + move-result-object v0
15297 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
15299 + move-result-wide v3
15301 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLongitude(D)V
15303 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15305 + const-string v4, "locationNetwork"
15307 + new-instance v3, Ljava/lang/StringBuilder;
15309 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
15311 + const-string v5, "Lat: "
15313 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15315 + move-result-object v3
15317 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15319 + move-result-wide v8
15321 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15323 + move-result-object v3
15325 + const-string v5, " Lon: "
15327 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15329 + move-result-object v3
15331 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15333 + move-result-wide v8
15335 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15337 + move-result-object v3
15339 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15341 + move-result-object v5
15343 + move v3, v11
15345 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15347 + goto/16 :goto_b
15349 + :cond_1e3
15350 + const-string/jumbo v0, "passive"
15352 + invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15354 + move-result v0
15356 + if-eqz v0, :cond_b
15358 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
15360 + move-result v0
15362 + if-nez v0, :cond_b
15364 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15366 + move-result v0
15368 + if-nez v0, :cond_b
15370 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
15372 + move-result-object v7
15374 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15376 + const-string v4, "locationGPS"
15378 + if-eqz v7, :cond_227
15380 + new-instance v5, Ljava/lang/StringBuilder;
15382 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
15384 + const-string v8, "Lat: "
15386 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15388 + move-result-object v5
15390 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15392 + move-result-wide v8
15394 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15396 + move-result-object v5
15398 + const-string v8, " Lon: "
15400 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15402 + move-result-object v5
15404 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15406 + move-result-wide v8
15408 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15410 + move-result-object v5
15412 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15414 + move-result-object v5
15416 + :cond_227
15417 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15419 + goto/16 :goto_b
15421 + :cond_22c
15422 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
15424 + move-result-object v7
15426 + const-string/jumbo v0, "network"
15428 + invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15430 + move-result v0
15432 + if-eqz v0, :cond_269
15434 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15436 + const-string v4, "locationNetwork"
15438 + if-eqz v7, :cond_264
15440 + new-instance v5, Ljava/lang/StringBuilder;
15442 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
15444 + const-string v8, "Lat: "
15446 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15448 + move-result-object v5
15450 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15452 + move-result-wide v8
15454 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15456 + move-result-object v5
15458 + const-string v8, " Lon: "
15460 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15462 + move-result-object v5
15464 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15466 + move-result-wide v8
15468 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15470 + move-result-object v5
15472 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15474 + move-result-object v5
15476 + :cond_264
15477 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15479 + goto/16 :goto_b
15481 + :cond_269
15482 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15484 + const-string v4, "locationGPS"
15486 + if-eqz v7, :cond_294
15488 + new-instance v5, Ljava/lang/StringBuilder;
15490 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
15492 + const-string v8, "Lat: "
15494 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15496 + move-result-object v5
15498 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15500 + move-result-wide v8
15502 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15504 + move-result-object v5
15506 + const-string v8, " Lon: "
15508 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15510 + move-result-object v5
15512 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15514 + move-result-wide v8
15516 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15518 + move-result-object v5
15520 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15522 + move-result-object v5
15524 + :cond_294
15525 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15527 + goto/16 :goto_b
15529 + nop
15531 + :pswitch_data_29a
15532 + .packed-switch 0x0
15533 + :pswitch_2f
15534 + :pswitch_62
15535 + :pswitch_6b
15536 + :pswitch_b5
15537 + .end packed-switch
15539 + :pswitch_data_2a6
15540 + .packed-switch 0x0
15541 + :pswitch_111
15542 + :pswitch_145
15543 + :pswitch_14f
15544 + :pswitch_199
15545 + .end packed-switch
15546 +.end method
15548 +.method public getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15549 + .registers 7
15551 + if-nez p1, :cond_7
15553 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15555 + move-result-object v0
15557 + :cond_6
15558 + :goto_6
15559 + return-object v0
15561 + :cond_7
15562 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15564 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
15566 + invoke-virtual {v3}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
15568 + move-result-object v3
15570 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
15572 + move-result v4
15574 + invoke-virtual {v2, v3, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
15576 + move-result-object v1
15578 + const/4 v0, 0x0
15580 + if-eqz v1, :cond_5f
15582 + const-string v2, "gps"
15584 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15586 + move-result v2
15588 + if-eqz v2, :cond_2f
15590 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
15592 + move-result v2
15594 + packed-switch v2, :pswitch_data_64
15596 + :pswitch_29
15597 + goto :goto_6
15599 + :pswitch_2a
15600 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15602 + move-result-object v0
15604 + goto :goto_6
15606 + :cond_2f
15607 + const-string/jumbo v2, "network"
15609 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15611 + move-result v2
15613 + if-eqz v2, :cond_45
15615 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15617 + move-result v2
15619 + packed-switch v2, :pswitch_data_70
15621 + :pswitch_3f
15622 + goto :goto_6
15624 + :pswitch_40
15625 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15627 + move-result-object v0
15629 + goto :goto_6
15631 + :cond_45
15632 + const-string/jumbo v2, "passive"
15634 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15636 + move-result v2
15638 + if-eqz v2, :cond_6
15640 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
15642 + move-result v2
15644 + if-eqz v2, :cond_5a
15646 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15648 + move-result v2
15650 + if-nez v2, :cond_6
15652 + :cond_5a
15653 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15655 + move-result-object v0
15657 + goto :goto_6
15659 + :cond_5f
15660 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15662 + move-result-object v0
15664 + goto :goto_6
15666 + :pswitch_data_64
15667 + .packed-switch 0x0
15668 + :pswitch_2a
15669 + :pswitch_29
15670 + :pswitch_2a
15671 + :pswitch_2a
15672 + .end packed-switch
15674 + :pswitch_data_70
15675 + .packed-switch 0x0
15676 + :pswitch_40
15677 + :pswitch_3f
15678 + :pswitch_40
15679 + :pswitch_40
15680 + .end packed-switch
15681 +.end method
15683 +.method public isProviderEnabled(Ljava/lang/String;)Z
15684 + .registers 7
15686 + if-nez p1, :cond_7
15688 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
15690 + move-result v0
15692 + :cond_6
15693 + :goto_6
15694 + :pswitch_6
15695 + return v0
15697 + :cond_7
15698 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15700 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
15702 + invoke-virtual {v3}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
15704 + move-result-object v3
15706 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
15708 + move-result v4
15710 + invoke-virtual {v2, v3, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
15712 + move-result-object v1
15714 + const/4 v0, 0x0
15716 + if-eqz v1, :cond_65
15718 + const-string v2, "gps"
15720 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15722 + move-result v2
15724 + if-eqz v2, :cond_31
15726 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
15728 + move-result v2
15730 + packed-switch v2, :pswitch_data_6a
15732 + goto :goto_6
15734 + :pswitch_2a
15735 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
15737 + move-result v0
15739 + goto :goto_6
15741 + :pswitch_2f
15742 + const/4 v0, 0x1
15744 + goto :goto_6
15746 + :cond_31
15747 + const-string/jumbo v2, "network"
15749 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15751 + move-result v2
15753 + if-eqz v2, :cond_49
15755 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15757 + move-result v2
15759 + packed-switch v2, :pswitch_data_76
15761 + goto :goto_6
15763 + :pswitch_42
15764 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
15766 + move-result v0
15768 + goto :goto_6
15770 + :pswitch_47
15771 + const/4 v0, 0x1
15773 + goto :goto_6
15775 + :cond_49
15776 + const-string/jumbo v2, "passive"
15778 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15780 + move-result v2
15782 + if-eqz v2, :cond_6
15784 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
15786 + move-result v2
15788 + if-eqz v2, :cond_5e
15790 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15792 + move-result v2
15794 + if-nez v2, :cond_63
15796 + :cond_5e
15797 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
15799 + move-result v0
15801 + goto :goto_6
15803 + :cond_63
15804 + const/4 v0, 0x0
15806 + goto :goto_6
15808 + :cond_65
15809 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
15811 + move-result v0
15813 + goto :goto_6
15815 + :pswitch_data_6a
15816 + .packed-switch 0x0
15817 + :pswitch_2a
15818 + :pswitch_6
15819 + :pswitch_2f
15820 + :pswitch_2f
15821 + .end packed-switch
15823 + :pswitch_data_76
15824 + .packed-switch 0x0
15825 + :pswitch_42
15826 + :pswitch_6
15827 + :pswitch_47
15828 + :pswitch_47
15829 + .end packed-switch
15830 +.end method
15832 +.method public requestLocationUpdates(JFLandroid/location/Criteria;Landroid/app/PendingIntent;)V
15833 + .registers 7
15835 + if-eqz p4, :cond_4
15837 + if-nez p5, :cond_8
15839 + :cond_4
15840 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/app/PendingIntent;)V
15842 + :cond_7
15843 + :goto_7
15844 + return-void
15846 + :cond_8
15847 + const/4 v0, 0x0
15849 + invoke-direct {p0, p4, v0, p5}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15851 + move-result v0
15853 + if-nez v0, :cond_7
15855 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/app/PendingIntent;)V
15857 + goto :goto_7
15858 +.end method
15860 +.method public requestLocationUpdates(JFLandroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
15861 + .registers 8
15863 + if-eqz p4, :cond_4
15865 + if-nez p5, :cond_8
15867 + :cond_4
15868 + invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
15870 + :cond_7
15871 + :goto_7
15872 + return-void
15874 + :cond_8
15875 + const/4 v0, 0x0
15877 + invoke-direct {p0, p4, p5, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15879 + move-result v0
15881 + if-nez v0, :cond_7
15883 + invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
15885 + goto :goto_7
15886 +.end method
15888 +.method public requestLocationUpdates(Ljava/lang/String;JFLandroid/app/PendingIntent;)V
15889 + .registers 7
15891 + if-eqz p1, :cond_4
15893 + if-nez p5, :cond_8
15895 + :cond_4
15896 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/app/PendingIntent;)V
15898 + :cond_7
15899 + :goto_7
15900 + return-void
15902 + :cond_8
15903 + const/4 v0, 0x0
15905 + invoke-direct {p0, p1, v0, p5}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15907 + move-result v0
15909 + if-nez v0, :cond_7
15911 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/app/PendingIntent;)V
15913 + goto :goto_7
15914 +.end method
15916 +.method public requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;)V
15917 + .registers 7
15919 + if-eqz p1, :cond_4
15921 + if-nez p5, :cond_8
15923 + :cond_4
15924 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;)V
15926 + :cond_7
15927 + :goto_7
15928 + return-void
15930 + :cond_8
15931 + const/4 v0, 0x0
15933 + invoke-direct {p0, p1, p5, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15935 + move-result v0
15937 + if-nez v0, :cond_7
15939 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;)V
15941 + goto :goto_7
15942 +.end method
15944 +.method public requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;Landroid/os/Looper;)V
15945 + .registers 8
15947 + if-eqz p1, :cond_4
15949 + if-nez p5, :cond_8
15951 + :cond_4
15952 + invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;Landroid/os/Looper;)V
15954 + :cond_7
15955 + :goto_7
15956 + return-void
15958 + :cond_8
15959 + const/4 v0, 0x0
15961 + invoke-direct {p0, p1, p5, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15963 + move-result v0
15965 + if-nez v0, :cond_7
15967 + invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;Landroid/os/Looper;)V
15969 + goto :goto_7
15970 +.end method
15972 +.method public requestSingleUpdate(Landroid/location/Criteria;Landroid/app/PendingIntent;)V
15973 + .registers 4
15975 + if-eqz p1, :cond_4
15977 + if-nez p2, :cond_8
15979 + :cond_4
15980 + invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/app/PendingIntent;)V
15982 + :cond_7
15983 + :goto_7
15984 + return-void
15986 + :cond_8
15987 + const/4 v0, 0x0
15989 + invoke-direct {p0, p1, v0, p2}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15991 + move-result v0
15993 + if-nez v0, :cond_7
15995 + invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/app/PendingIntent;)V
15997 + goto :goto_7
15998 +.end method
16000 +.method public requestSingleUpdate(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
16001 + .registers 5
16003 + if-eqz p1, :cond_4
16005 + if-nez p2, :cond_8
16007 + :cond_4
16008 + invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
16010 + :cond_7
16011 + :goto_7
16012 + return-void
16014 + :cond_8
16015 + const/4 v0, 0x0
16017 + invoke-direct {p0, p1, p2, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
16019 + move-result v0
16021 + if-nez v0, :cond_7
16023 + invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
16025 + goto :goto_7
16026 +.end method
16028 +.method public requestSingleUpdate(Ljava/lang/String;Landroid/app/PendingIntent;)V
16029 + .registers 4
16031 + if-eqz p1, :cond_4
16033 + if-nez p2, :cond_8
16035 + :cond_4
16036 + invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/app/PendingIntent;)V
16038 + :cond_7
16039 + :goto_7
16040 + return-void
16042 + :cond_8
16043 + const/4 v0, 0x0
16045 + invoke-direct {p0, p1, v0, p2}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
16047 + move-result v0
16049 + if-nez v0, :cond_7
16051 + invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/app/PendingIntent;)V
16053 + goto :goto_7
16054 +.end method
16056 +.method public requestSingleUpdate(Ljava/lang/String;Landroid/location/LocationListener;Landroid/os/Looper;)V
16057 + .registers 5
16059 + if-eqz p1, :cond_4
16061 + if-nez p2, :cond_8
16063 + :cond_4
16064 + invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/location/LocationListener;Landroid/os/Looper;)V
16066 + :cond_7
16067 + :goto_7
16068 + return-void
16070 + :cond_8
16071 + const/4 v0, 0x0
16073 + invoke-direct {p0, p1, p2, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
16075 + move-result v0
16077 + if-nez v0, :cond_7
16079 + invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/location/LocationListener;Landroid/os/Looper;)V
16081 + goto :goto_7
16082 +.end method
16083 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyTelephonyManager.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyTelephonyManager.smali
16084 --- stock-framework/smali/android/privacy/surrogate/PrivacyTelephonyManager.smali 1969-12-31 18:00:00.000000000 -0600
16085 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyTelephonyManager.smali 2012-11-02 22:30:28.555776223 -0500
16086 @@ -0,0 +1,731 @@
16087 +.class public final Landroid/privacy/surrogate/PrivacyTelephonyManager;
16088 +.super Landroid/telephony/TelephonyManager;
16089 +.source "PrivacyTelephonyManager.java"
16092 +# static fields
16093 +.field private static final TAG:Ljava/lang/String; = "PrivacyTelephonyManager"
16096 +# instance fields
16097 +.field private context:Landroid/content/Context;
16099 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
16102 +# direct methods
16103 +.method public constructor <init>(Landroid/content/Context;)V
16104 + .registers 4
16106 + invoke-direct {p0, p1}, Landroid/telephony/TelephonyManager;-><init>(Landroid/content/Context;)V
16108 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16110 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
16112 + const-string/jumbo v1, "privacy"
16114 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
16116 + move-result-object v1
16118 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
16120 + move-result-object v1
16122 + invoke-direct {v0, p1, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
16124 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16126 + return-void
16127 +.end method
16129 +.method private getNetworkInfo()Ljava/lang/String;
16130 + .registers 8
16132 + const/4 v5, 0x0
16134 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16136 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16138 + move-result-object v1
16140 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16142 + move-result v2
16144 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16146 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16148 + move-result-object v6
16150 + if-eqz v6, :cond_25
16152 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
16154 + move-result v0
16156 + if-eqz v0, :cond_25
16158 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16160 + const/4 v3, 0x1
16162 + const-string/jumbo v4, "networkInfoCurrent"
16164 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16166 + const-string v5, ""
16168 + :goto_24
16169 + return-object v5
16171 + :cond_25
16172 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16174 + const/4 v3, 0x0
16176 + const-string/jumbo v4, "networkInfoCurrent"
16178 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16180 + goto :goto_24
16181 +.end method
16183 +.method private getSimInfo()Ljava/lang/String;
16184 + .registers 8
16186 + const/4 v5, 0x0
16188 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16190 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16192 + move-result-object v1
16194 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16196 + move-result v2
16198 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16200 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16202 + move-result-object v6
16204 + if-eqz v6, :cond_25
16206 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSimInfoSetting()B
16208 + move-result v0
16210 + if-eqz v0, :cond_25
16212 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16214 + const/4 v3, 0x1
16216 + const-string/jumbo v4, "networkInfoSIM"
16218 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16220 + const-string v5, ""
16222 + :goto_24
16223 + return-object v5
16225 + :cond_25
16226 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16228 + const/4 v3, 0x0
16230 + const-string/jumbo v4, "networkInfoSIM"
16232 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16234 + goto :goto_24
16235 +.end method
16238 +# virtual methods
16239 +.method public getDeviceId()Ljava/lang/String;
16240 + .registers 8
16242 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16244 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16246 + move-result-object v1
16248 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16250 + move-result v2
16252 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16254 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16256 + move-result-object v6
16258 + if-eqz v6, :cond_28
16260 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
16262 + move-result v0
16264 + if-eqz v0, :cond_28
16266 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceId()Ljava/lang/String;
16268 + move-result-object v5
16270 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16272 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
16274 + move-result v3
16276 + const-string v4, "deviceID"
16278 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16280 + :goto_27
16281 + return-object v5
16283 + :cond_28
16284 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getDeviceId()Ljava/lang/String;
16286 + move-result-object v5
16288 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16290 + const/4 v3, 0x0
16292 + const-string v4, "deviceID"
16294 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16296 + goto :goto_27
16297 +.end method
16299 +.method public getLine1Number()Ljava/lang/String;
16300 + .registers 8
16302 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16304 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16306 + move-result-object v1
16308 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16310 + move-result v2
16312 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16314 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16316 + move-result-object v6
16318 + if-eqz v6, :cond_28
16320 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
16322 + move-result v0
16324 + if-eqz v0, :cond_28
16326 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1Number()Ljava/lang/String;
16328 + move-result-object v5
16330 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16332 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
16334 + move-result v3
16336 + const-string v4, "line1Number"
16338 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16340 + :goto_27
16341 + return-object v5
16343 + :cond_28
16344 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getLine1Number()Ljava/lang/String;
16346 + move-result-object v5
16348 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16350 + const/4 v3, 0x0
16352 + const-string v4, "line1Number"
16354 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16356 + goto :goto_27
16357 +.end method
16359 +.method public getNeighboringCellInfo()Ljava/util/List;
16360 + .registers 10
16361 + .annotation system Ldalvik/annotation/Signature;
16362 + value = {
16363 + "()",
16364 + "Ljava/util/List",
16365 + "<",
16366 + "Landroid/telephony/NeighboringCellInfo;",
16367 + ">;"
16369 + .end annotation
16371 + iget-object v6, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16373 + iget-object v7, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16375 + invoke-virtual {v7}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16377 + move-result-object v7
16379 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16381 + move-result v8
16383 + invoke-virtual {v6, v7, v8}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16385 + move-result-object v5
16387 + const/4 v3, 0x0
16389 + const-string v4, "[null]"
16391 + if-eqz v5, :cond_1c
16393 + invoke-virtual {v5}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
16395 + move-result v6
16397 + const/4 v7, 0x1
16399 + if-ne v6, v7, :cond_1d
16401 + :cond_1c
16402 + :goto_1c
16403 + return-object v3
16405 + :cond_1d
16406 + invoke-virtual {v5}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
16408 + move-result v6
16410 + if-eqz v6, :cond_2b
16412 + new-instance v3, Ljava/util/ArrayList;
16414 + invoke-direct {v3}, Ljava/util/ArrayList;-><init>()V
16416 + const-string v4, "[empty list of cells]"
16418 + goto :goto_1c
16420 + :cond_2b
16421 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNeighboringCellInfo()Ljava/util/List;
16423 + move-result-object v3
16425 + const-string v0, ""
16427 + invoke-interface {v3}, Ljava/util/List;->iterator()Ljava/util/Iterator;
16429 + move-result-object v2
16431 + :goto_35
16432 + invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z
16434 + move-result v6
16436 + if-eqz v6, :cond_5f
16438 + invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
16440 + move-result-object v1
16442 + check-cast v1, Landroid/telephony/NeighboringCellInfo;
16444 + new-instance v6, Ljava/lang/StringBuilder;
16446 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
16448 + invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16450 + move-result-object v6
16452 + const-string v7, "\t"
16454 + invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16456 + move-result-object v6
16458 + invoke-virtual {v6, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
16460 + move-result-object v6
16462 + const-string v7, "\n"
16464 + invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16466 + move-result-object v6
16468 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
16470 + move-result-object v0
16472 + goto :goto_35
16474 + :cond_5f
16475 + new-instance v6, Ljava/lang/StringBuilder;
16477 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
16479 + const-string v7, "[real value]:\n"
16481 + invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16483 + move-result-object v6
16485 + invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16487 + move-result-object v6
16489 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
16491 + move-result-object v4
16493 + goto :goto_1c
16494 +.end method
16496 +.method public getNetworkCountryIso()Ljava/lang/String;
16497 + .registers 2
16499 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getNetworkInfo()Ljava/lang/String;
16501 + move-result-object v0
16503 + if-nez v0, :cond_a
16505 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNetworkCountryIso()Ljava/lang/String;
16507 + move-result-object v0
16509 + :cond_a
16510 + return-object v0
16511 +.end method
16513 +.method public getNetworkOperator()Ljava/lang/String;
16514 + .registers 2
16516 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getNetworkInfo()Ljava/lang/String;
16518 + move-result-object v0
16520 + if-nez v0, :cond_a
16522 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNetworkOperator()Ljava/lang/String;
16524 + move-result-object v0
16526 + :cond_a
16527 + return-object v0
16528 +.end method
16530 +.method public getNetworkOperatorName()Ljava/lang/String;
16531 + .registers 2
16533 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getNetworkInfo()Ljava/lang/String;
16535 + move-result-object v0
16537 + if-nez v0, :cond_a
16539 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNetworkOperatorName()Ljava/lang/String;
16541 + move-result-object v0
16543 + :cond_a
16544 + return-object v0
16545 +.end method
16547 +.method public getSimCountryIso()Ljava/lang/String;
16548 + .registers 2
16550 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getSimInfo()Ljava/lang/String;
16552 + move-result-object v0
16554 + if-nez v0, :cond_a
16556 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSimCountryIso()Ljava/lang/String;
16558 + move-result-object v0
16560 + :cond_a
16561 + return-object v0
16562 +.end method
16564 +.method public getSimOperator()Ljava/lang/String;
16565 + .registers 2
16567 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getSimInfo()Ljava/lang/String;
16569 + move-result-object v0
16571 + if-nez v0, :cond_a
16573 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSimOperator()Ljava/lang/String;
16575 + move-result-object v0
16577 + :cond_a
16578 + return-object v0
16579 +.end method
16581 +.method public getSimOperatorName()Ljava/lang/String;
16582 + .registers 2
16584 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getSimInfo()Ljava/lang/String;
16586 + move-result-object v0
16588 + if-nez v0, :cond_a
16590 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSimOperatorName()Ljava/lang/String;
16592 + move-result-object v0
16594 + :cond_a
16595 + return-object v0
16596 +.end method
16598 +.method public getSimSerialNumber()Ljava/lang/String;
16599 + .registers 8
16601 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16603 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16605 + move-result-object v1
16607 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16609 + move-result v2
16611 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16613 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16615 + move-result-object v6
16617 + if-eqz v6, :cond_29
16619 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSimSerialNumberSetting()B
16621 + move-result v0
16623 + if-eqz v0, :cond_29
16625 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSimSerialNumber()Ljava/lang/String;
16627 + move-result-object v5
16629 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16631 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSimSerialNumberSetting()B
16633 + move-result v3
16635 + const-string/jumbo v4, "simSerial"
16637 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16639 + :goto_28
16640 + return-object v5
16642 + :cond_29
16643 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSimSerialNumber()Ljava/lang/String;
16645 + move-result-object v5
16647 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16649 + const/4 v3, 0x0
16651 + const-string/jumbo v4, "simSerial"
16653 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16655 + goto :goto_28
16656 +.end method
16658 +.method public getSubscriberId()Ljava/lang/String;
16659 + .registers 8
16661 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16663 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16665 + move-result-object v1
16667 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16669 + move-result v2
16671 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16673 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16675 + move-result-object v6
16677 + if-eqz v6, :cond_29
16679 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberIdSetting()B
16681 + move-result v0
16683 + if-eqz v0, :cond_29
16685 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberId()Ljava/lang/String;
16687 + move-result-object v5
16689 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16691 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberIdSetting()B
16693 + move-result v3
16695 + const-string/jumbo v4, "subscriberID"
16697 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16699 + :goto_28
16700 + return-object v5
16702 + :cond_29
16703 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSubscriberId()Ljava/lang/String;
16705 + move-result-object v5
16707 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16709 + const/4 v3, 0x0
16711 + const-string/jumbo v4, "subscriberID"
16713 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16715 + goto :goto_28
16716 +.end method
16718 +.method public getVoiceMailNumber()Ljava/lang/String;
16719 + .registers 8
16721 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16723 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16725 + move-result-object v1
16727 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16729 + move-result v2
16731 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16733 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16735 + move-result-object v6
16737 + if-eqz v6, :cond_28
16739 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
16741 + move-result v0
16743 + if-eqz v0, :cond_28
16745 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1Number()Ljava/lang/String;
16747 + move-result-object v5
16749 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16751 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
16753 + move-result v3
16755 + const-string v4, "line1Number"
16757 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16759 + :goto_27
16760 + return-object v5
16762 + :cond_28
16763 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getVoiceMailNumber()Ljava/lang/String;
16765 + move-result-object v5
16767 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16769 + const/4 v3, 0x0
16771 + const-string v4, "line1Number"
16773 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16775 + goto :goto_27
16776 +.end method
16778 +.method public listen(Landroid/telephony/PhoneStateListener;I)V
16779 + .registers 4
16781 + and-int/lit8 v0, p2, 0x10
16783 + if-nez v0, :cond_8
16785 + and-int/lit8 v0, p2, 0x20
16787 + if-eqz v0, :cond_21
16789 + :cond_8
16790 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16792 + invoke-virtual {p1, v0}, Landroid/telephony/PhoneStateListener;->setContext(Landroid/content/Context;)V
16794 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16796 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16798 + move-result-object v0
16800 + invoke-virtual {p1, v0}, Landroid/telephony/PhoneStateListener;->setPackageName(Ljava/lang/String;)V
16802 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16804 + move-result v0
16806 + invoke-virtual {p1, v0}, Landroid/telephony/PhoneStateListener;->setUid(I)V
16808 + invoke-super {p0, p1, p2}, Landroid/telephony/TelephonyManager;->listen(Landroid/telephony/PhoneStateListener;I)V
16810 + :goto_20
16811 + return-void
16813 + :cond_21
16814 + invoke-super {p0, p1, p2}, Landroid/telephony/TelephonyManager;->listen(Landroid/telephony/PhoneStateListener;I)V
16816 + goto :goto_20
16817 +.end method
16818 diff -Npru stock-framework/smali/android/telephony/PhoneStateListener$1.smali pdroid-framework/smali/android/telephony/PhoneStateListener$1.smali
16819 --- stock-framework/smali/android/telephony/PhoneStateListener$1.smali 2012-11-02 22:31:09.543979472 -0500
16820 +++ pdroid-framework/smali/android/telephony/PhoneStateListener$1.smali 2012-11-02 22:30:28.883777849 -0500
16821 @@ -64,23 +64,196 @@
16822 .end method
16824 .method public onCallStateChanged(ILjava/lang/String;)V
16825 - .registers 6
16826 + .registers 19
16828 - iget-object v0, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16829 + move-object/from16 v0, p0
16831 - iget-object v0, v0, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
16832 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16834 - const/16 v1, 0x20
16835 + #getter for: Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
16836 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
16838 - const/4 v2, 0x0
16839 + move-result-object v3
16841 - invoke-static {v0, v1, p1, v2, p2}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
16842 + if-eqz v3, :cond_99
16844 - move-result-object v0
16845 + if-eqz p2, :cond_99
16847 - invoke-virtual {v0}, Landroid/os/Message;->sendToTarget()V
16848 + invoke-virtual/range {p2 .. p2}, Ljava/lang/String;->isEmpty()Z
16850 + move-result v3
16852 + if-nez v3, :cond_99
16854 + move-object/from16 v0, p0
16856 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16858 + #getter for: Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
16859 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
16861 + move-result-object v3
16863 + const-string/jumbo v4, "privacy"
16865 + invoke-virtual {v3, v4}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
16867 + move-result-object v2
16869 + check-cast v2, Landroid/privacy/PrivacySettingsManager;
16871 + move-object/from16 v0, p0
16873 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16875 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
16876 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
16878 + move-result-object v3
16880 + move-object/from16 v0, p0
16882 + iget-object v4, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16884 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
16885 + invoke-static {v4}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
16887 + move-result v4
16889 + invoke-virtual {v2, v3, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16891 + move-result-object v8
16893 + if-eqz v8, :cond_6a
16895 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getIncomingCallsSetting()B
16897 + move-result v3
16899 + if-eqz v3, :cond_6a
16901 + const-string v7, ""
16903 + move-object/from16 v0, p0
16905 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16907 + iget-object v3, v3, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
16909 + const/16 v4, 0x20
16911 + const/4 v5, 0x0
16913 + move/from16 v0, p1
16915 + invoke-static {v3, v4, v0, v5, v7}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
16917 + move-result-object v3
16919 + invoke-virtual {v3}, Landroid/os/Message;->sendToTarget()V
16921 + move-object/from16 v0, p0
16923 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16925 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
16926 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
16928 + move-result-object v3
16930 + move-object/from16 v0, p0
16932 + iget-object v4, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16934 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
16935 + invoke-static {v4}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
16937 + move-result v4
16939 + const/4 v5, 0x1
16941 + const-string v6, "incomingCall"
16943 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16945 + :goto_69
16946 return-void
16948 + :cond_6a
16949 + move-object/from16 v0, p0
16951 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16953 + iget-object v3, v3, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
16955 + const/16 v4, 0x20
16957 + const/4 v5, 0x0
16959 + move/from16 v0, p1
16961 + move-object/from16 v1, p2
16963 + invoke-static {v3, v4, v0, v5, v1}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
16965 + move-result-object v3
16967 + invoke-virtual {v3}, Landroid/os/Message;->sendToTarget()V
16969 + move-object/from16 v0, p0
16971 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16973 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
16974 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
16976 + move-result-object v10
16978 + move-object/from16 v0, p0
16980 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16982 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
16983 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
16985 + move-result v11
16987 + const/4 v12, 0x0
16989 + const-string v13, "incomingCall"
16991 + move-object v9, v2
16993 + move-object/from16 v14, p2
16995 + move-object v15, v8
16997 + invoke-virtual/range {v9 .. v15}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16999 + goto :goto_69
17001 + :cond_99
17002 + move-object/from16 v0, p0
17004 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
17006 + iget-object v3, v3, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
17008 + const/16 v4, 0x20
17010 + const/4 v5, 0x0
17012 + move/from16 v0, p1
17014 + move-object/from16 v1, p2
17016 + invoke-static {v3, v4, v0, v5, v1}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
17018 + move-result-object v3
17020 + invoke-virtual {v3}, Landroid/os/Message;->sendToTarget()V
17022 + goto :goto_69
17023 .end method
17025 .method public onCellInfoChanged(Landroid/telephony/CellInfo;)V
17026 @@ -104,27 +277,124 @@
17027 .end method
17029 .method public onCellLocationChanged(Landroid/os/Bundle;)V
17030 - .registers 6
17031 + .registers 10
17033 + const/4 v5, 0x0
17035 const/4 v3, 0x0
17037 invoke-static {p1}, Landroid/telephony/CellLocation;->newFromBundle(Landroid/os/Bundle;)Landroid/telephony/CellLocation;
17039 + move-result-object v7
17041 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
17043 + #getter for: Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
17044 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
17046 + move-result-object v1
17048 + if-eqz v1, :cond_4a
17050 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
17052 + #getter for: Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
17053 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
17055 + move-result-object v1
17057 + const-string/jumbo v2, "privacy"
17059 + invoke-virtual {v1, v2}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
17061 move-result-object v0
17063 + check-cast v0, Landroid/privacy/PrivacySettingsManager;
17065 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
17067 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
17068 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
17070 + move-result-object v1
17072 + iget-object v2, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
17074 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
17075 + invoke-static {v2}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
17077 + move-result v2
17079 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
17081 + move-result-object v6
17083 + if-eqz v6, :cond_4b
17085 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
17087 + move-result v1
17089 + if-eqz v1, :cond_4b
17091 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
17093 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
17094 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
17096 + move-result-object v1
17098 + iget-object v2, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
17100 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
17101 + invoke-static {v2}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
17103 + move-result v2
17105 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
17107 + move-result v3
17109 + const-string v4, "locationNetwork"
17111 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
17113 + :cond_4a
17114 + :goto_4a
17115 + return-void
17117 + :cond_4b
17118 iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
17120 iget-object v1, v1, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
17122 const/16 v2, 0x10
17124 - invoke-static {v1, v2, v3, v3, v0}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
17125 + invoke-static {v1, v2, v3, v3, v7}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
17127 move-result-object v1
17129 invoke-virtual {v1}, Landroid/os/Message;->sendToTarget()V
17131 - return-void
17132 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
17134 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
17135 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
17137 + move-result-object v1
17139 + iget-object v2, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
17141 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
17142 + invoke-static {v2}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
17144 + move-result v2
17146 + const-string v4, "locationNetwork"
17148 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
17150 + goto :goto_4a
17151 .end method
17153 .method public onDataActivity(I)V
17154 diff -Npru stock-framework/smali/android/telephony/PhoneStateListener.smali pdroid-framework/smali/android/telephony/PhoneStateListener.smali
17155 --- stock-framework/smali/android/telephony/PhoneStateListener.smali 2012-11-02 22:31:08.503974315 -0500
17156 +++ pdroid-framework/smali/android/telephony/PhoneStateListener.smali 2012-11-02 22:30:27.895772950 -0500
17157 @@ -31,12 +31,20 @@
17159 .field public static final LISTEN_SIGNAL_STRENGTHS:I = 0x100
17161 +.field private static final TAG:Ljava/lang/String; = "PhoneStateListener"
17164 # instance fields
17165 .field callback:Lcom/android/internal/telephony/IPhoneStateListener;
17167 +.field private context:Landroid/content/Context;
17169 .field mHandler:Landroid/os/Handler;
17171 +.field private packageName:Ljava/lang/String;
17173 +.field private uid:I
17176 # direct methods
17177 .method public constructor <init>()V
17178 @@ -59,6 +67,30 @@
17179 return-void
17180 .end method
17182 +.method static synthetic access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
17183 + .registers 2
17185 + iget-object v0, p0, Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
17187 + return-object v0
17188 +.end method
17190 +.method static synthetic access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
17191 + .registers 2
17193 + iget-object v0, p0, Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
17195 + return-object v0
17196 +.end method
17198 +.method static synthetic access$200(Landroid/telephony/PhoneStateListener;)I
17199 + .registers 2
17201 + iget v0, p0, Landroid/telephony/PhoneStateListener;->uid:I
17203 + return v0
17204 +.end method
17207 # virtual methods
17208 .method public onCallForwardingIndicatorChanged(Z)V
17209 @@ -134,3 +166,27 @@
17211 return-void
17212 .end method
17214 +.method public setContext(Landroid/content/Context;)V
17215 + .registers 2
17217 + iput-object p1, p0, Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
17219 + return-void
17220 +.end method
17222 +.method public setPackageName(Ljava/lang/String;)V
17223 + .registers 2
17225 + iput-object p1, p0, Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
17227 + return-void
17228 +.end method
17230 +.method public setUid(I)V
17231 + .registers 2
17233 + iput p1, p0, Landroid/telephony/PhoneStateListener;->uid:I
17235 + return-void
17236 +.end method