Huge refactor for 4.2
[auto-patcher.git] / patches / pdroid / 4.1 / cm / 20120913 / framework.patch
blobbee69ec62ae0fa012ddc56f659c8882d72223886
1 diff -NpruEbB stock_framework/smali/android/app/BackStackRecord.smali moded_framework/smali/android/app/BackStackRecord.smali
2 --- stock_framework/smali/android/app/BackStackRecord.smali 2012-09-13 08:57:57.808837653 -0700
3 +++ moded_framework/smali/android/app/BackStackRecord.smali 2012-09-13 08:58:48.081849390 -0700
4 @@ -758,12 +758,12 @@
6 iget v4, p0, Landroid/app/BackStackRecord;->mExitAnim:I
8 - if-eqz v4, :cond_6d
9 + if-eqz v4, :cond_6e
11 :cond_4e
12 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
14 - const-string v4, "mEnterAnim=#"
15 + const-string/jumbo v4, "mEnterAnim=#"
17 invoke-virtual {p3, v4}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
19 @@ -787,16 +787,16 @@
21 invoke-virtual {p3, v4}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
23 - :cond_6d
24 + :cond_6e
25 iget v4, p0, Landroid/app/BackStackRecord;->mPopEnterAnim:I
27 - if-nez v4, :cond_75
28 + if-nez v4, :cond_76
30 iget v4, p0, Landroid/app/BackStackRecord;->mPopExitAnim:I
32 - if-eqz v4, :cond_95
33 + if-eqz v4, :cond_96
35 - :cond_75
36 + :cond_76
37 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
39 const-string/jumbo v4, "mPopEnterAnim=#"
40 @@ -823,16 +823,16 @@
42 invoke-virtual {p3, v4}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
44 - :cond_95
45 + :cond_96
46 iget v4, p0, Landroid/app/BackStackRecord;->mBreadCrumbTitleRes:I
48 - if-nez v4, :cond_9d
49 + if-nez v4, :cond_9e
51 iget-object v4, p0, Landroid/app/BackStackRecord;->mBreadCrumbTitleText:Ljava/lang/CharSequence;
53 - if-eqz v4, :cond_b8
54 + if-eqz v4, :cond_b9
56 - :cond_9d
57 + :cond_9e
58 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
60 const-string v4, "mBreadCrumbTitleRes=#"
61 @@ -855,16 +855,16 @@
63 invoke-virtual {p3, v4}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
65 - :cond_b8
66 + :cond_b9
67 iget v4, p0, Landroid/app/BackStackRecord;->mBreadCrumbShortTitleRes:I
69 - if-nez v4, :cond_c0
70 + if-nez v4, :cond_c1
72 iget-object v4, p0, Landroid/app/BackStackRecord;->mBreadCrumbShortTitleText:Ljava/lang/CharSequence;
74 - if-eqz v4, :cond_db
75 + if-eqz v4, :cond_dc
77 - :cond_c0
78 + :cond_c1
79 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
81 const-string v4, "mBreadCrumbShortTitleRes=#"
82 @@ -887,10 +887,10 @@
84 invoke-virtual {p3, v4}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
86 - :cond_db
87 + :cond_dc
88 iget-object v4, p0, Landroid/app/BackStackRecord;->mHead:Landroid/app/BackStackRecord$Op;
90 - if-eqz v4, :cond_1c1
91 + if-eqz v4, :cond_1c2
93 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
95 @@ -920,8 +920,8 @@
97 const/4 v2, 0x0
99 - :goto_fd
100 - if-eqz v3, :cond_1c1
101 + :goto_fe
102 + if-eqz v3, :cond_1c2
104 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
106 @@ -955,13 +955,13 @@
108 iget v4, v3, Landroid/app/BackStackRecord$Op;->enterAnim:I
110 - if-nez v4, :cond_12e
111 + if-nez v4, :cond_12f
113 iget v4, v3, Landroid/app/BackStackRecord$Op;->exitAnim:I
115 - if-eqz v4, :cond_14d
116 + if-eqz v4, :cond_14e
118 - :cond_12e
119 + :cond_12f
120 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
122 const-string v4, "enterAnim=#"
123 @@ -988,16 +988,16 @@
125 invoke-virtual {p3, v4}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
127 - :cond_14d
128 + :cond_14e
129 iget v4, v3, Landroid/app/BackStackRecord$Op;->popEnterAnim:I
131 - if-nez v4, :cond_155
132 + if-nez v4, :cond_156
134 iget v4, v3, Landroid/app/BackStackRecord$Op;->popExitAnim:I
136 - if-eqz v4, :cond_175
137 + if-eqz v4, :cond_176
139 - :cond_155
140 + :cond_156
141 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
143 const-string/jumbo v4, "popEnterAnim=#"
144 @@ -1024,10 +1024,10 @@
146 invoke-virtual {p3, v4}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
148 - :cond_175
149 + :cond_176
150 iget-object v4, v3, Landroid/app/BackStackRecord$Op;->removed:Ljava/util/ArrayList;
152 - if-eqz v4, :cond_1bd
153 + if-eqz v4, :cond_1be
155 iget-object v4, v3, Landroid/app/BackStackRecord$Op;->removed:Ljava/util/ArrayList;
157 @@ -1035,18 +1035,18 @@
159 move-result v4
161 - if-lez v4, :cond_1bd
162 + if-lez v4, :cond_1be
164 const/4 v0, 0x0
166 - :goto_182
167 + :goto_183
168 iget-object v4, v3, Landroid/app/BackStackRecord$Op;->removed:Ljava/util/ArrayList;
170 invoke-virtual {v4}, Ljava/util/ArrayList;->size()I
172 move-result v4
174 - if-ge v0, v4, :cond_1bd
175 + if-ge v0, v4, :cond_1be
177 invoke-virtual {p3, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
179 @@ -1058,13 +1058,13 @@
181 const/4 v5, 0x1
183 - if-ne v4, v5, :cond_1a7
184 + if-ne v4, v5, :cond_1a8
186 const-string v4, "Removed: "
188 invoke-virtual {p3, v4}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
190 - :goto_19b
191 + :goto_19c
192 iget-object v4, v3, Landroid/app/BackStackRecord$Op;->removed:Ljava/util/ArrayList;
194 invoke-virtual {v4, v0}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
195 @@ -1075,9 +1075,9 @@
197 add-int/lit8 v0, v0, 0x1
199 - goto :goto_182
200 + goto :goto_183
202 - :cond_1a7
203 + :cond_1a8
204 const-string v4, "Removed:"
206 invoke-virtual {p3, v4}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
207 @@ -1094,14 +1094,14 @@
209 invoke-virtual {p3, v4}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
211 - goto :goto_19b
212 + goto :goto_19c
214 - :cond_1bd
215 + :cond_1be
216 iget-object v3, v3, Landroid/app/BackStackRecord$Op;->next:Landroid/app/BackStackRecord$Op;
218 - goto/16 :goto_fd
219 + goto/16 :goto_fe
221 - :cond_1c1
222 + :cond_1c2
223 return-void
224 .end method
226 diff -NpruEbB stock_framework/smali/android/app/ContextImpl$20.smali moded_framework/smali/android/app/ContextImpl$20.smali
227 --- stock_framework/smali/android/app/ContextImpl$20.smali 2012-09-13 08:57:57.838844823 -0700
228 +++ moded_framework/smali/android/app/ContextImpl$20.smali 2012-09-13 08:58:48.111856559 -0700
229 @@ -26,21 +26,25 @@
231 # virtual methods
232 .method public createStaticService()Ljava/lang/Object;
233 - .registers 4
234 + .registers 5
236 - const-string v1, "location"
237 + const-string v2, "location"
239 - invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
240 + invoke-static {v2}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
242 move-result-object v0
244 - new-instance v1, Landroid/location/LocationManager;
246 invoke-static {v0}, Landroid/location/ILocationManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/location/ILocationManager;
248 - move-result-object v2
249 + move-result-object v1
251 + new-instance v2, Landroid/privacy/surrogate/PrivacyLocationManager;
253 + invoke-static {}, Landroid/app/ContextImpl;->getStaticOuterContext()Landroid/content/Context;
255 + move-result-object v3
257 - invoke-direct {v1, v2}, Landroid/location/LocationManager;-><init>(Landroid/location/ILocationManager;)V
258 + invoke-direct {v2, v1, v3}, Landroid/privacy/surrogate/PrivacyLocationManager;-><init>(Landroid/location/ILocationManager;Landroid/content/Context;)V
260 - return-object v1
261 + return-object v2
262 .end method
263 diff -NpruEbB stock_framework/smali/android/app/ContextImpl$29.smali moded_framework/smali/android/app/ContextImpl$29.smali
264 --- stock_framework/smali/android/app/ContextImpl$29.smali 2012-09-13 08:57:57.869852231 -0700
265 +++ moded_framework/smali/android/app/ContextImpl$29.smali 2012-09-13 08:58:48.141863729 -0700
266 @@ -28,13 +28,13 @@
267 .method public createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
268 .registers 4
270 - new-instance v0, Landroid/telephony/TelephonyManager;
271 + new-instance v0, Landroid/privacy/surrogate/PrivacyTelephonyManager;
273 invoke-virtual {p1}, Landroid/app/ContextImpl;->getOuterContext()Landroid/content/Context;
275 move-result-object v1
277 - invoke-direct {v0, v1}, Landroid/telephony/TelephonyManager;-><init>(Landroid/content/Context;)V
278 + invoke-direct {v0, v1}, Landroid/privacy/surrogate/PrivacyTelephonyManager;-><init>(Landroid/content/Context;)V
280 return-object v0
281 .end method
282 diff -NpruEbB stock_framework/smali/android/app/ContextImpl$3.smali moded_framework/smali/android/app/ContextImpl$3.smali
283 --- stock_framework/smali/android/app/ContextImpl$3.smali 2012-09-13 08:57:57.873853187 -0700
284 +++ moded_framework/smali/android/app/ContextImpl$3.smali 2012-09-13 08:58:48.144864446 -0700
285 @@ -38,9 +38,9 @@
287 move-result-object v1
289 - new-instance v2, Landroid/accounts/AccountManager;
290 + new-instance v2, Landroid/privacy/surrogate/PrivacyAccountManager;
292 - invoke-direct {v2, p1, v1}, Landroid/accounts/AccountManager;-><init>(Landroid/content/Context;Landroid/accounts/IAccountManager;)V
293 + invoke-direct {v2, p1, v1}, Landroid/privacy/surrogate/PrivacyAccountManager;-><init>(Landroid/content/Context;Landroid/accounts/IAccountManager;)V
295 return-object v2
296 .end method
297 diff -NpruEbB stock_framework/smali/android/app/ContextImpl$40.smali moded_framework/smali/android/app/ContextImpl$40.smali
298 --- stock_framework/smali/android/app/ContextImpl$40.smali 1969-12-31 16:00:00.000000000 -0800
299 +++ moded_framework/smali/android/app/ContextImpl$40.smali 2012-09-13 08:58:48.144864446 -0700
300 @@ -0,0 +1,50 @@
301 +.class final Landroid/app/ContextImpl$40;
302 +.super Landroid/app/ContextImpl$StaticServiceFetcher;
303 +.source "ContextImpl.java"
306 +# annotations
307 +.annotation system Ldalvik/annotation/EnclosingClass;
308 + value = Landroid/app/ContextImpl;
309 +.end annotation
311 +.annotation system Ldalvik/annotation/InnerClass;
312 + accessFlags = 0x8
313 + name = null
314 +.end annotation
317 +# direct methods
318 +.method constructor <init>()V
319 + .registers 1
321 + invoke-direct {p0}, Landroid/app/ContextImpl$StaticServiceFetcher;-><init>()V
323 + return-void
324 +.end method
327 +# virtual methods
328 +.method public createStaticService()Ljava/lang/Object;
329 + .registers 5
331 + const-string/jumbo v2, "privacy"
333 + invoke-static {v2}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
335 + move-result-object v0
337 + invoke-static {v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
339 + move-result-object v1
341 + new-instance v2, Landroid/privacy/PrivacySettingsManager;
343 + invoke-static {}, Landroid/app/ContextImpl;->getStaticOuterContext()Landroid/content/Context;
345 + move-result-object v3
347 + invoke-direct {v2, v3, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
349 + return-object v2
350 +.end method
351 diff -NpruEbB stock_framework/smali/android/app/ContextImpl.smali moded_framework/smali/android/app/ContextImpl.smali
352 --- stock_framework/smali/android/app/ContextImpl.smali 2012-09-13 08:57:57.973877086 -0700
353 +++ moded_framework/smali/android/app/ContextImpl.smali 2012-09-13 08:58:48.245888584 -0700
354 @@ -36,6 +36,8 @@
356 .field private static sNextPerContextServiceCacheIndex:I
358 +.field private static sOuterContext:Landroid/content/Context;
360 .field private static final sSharedPrefs:Ljava/util/HashMap;
361 .annotation system Ldalvik/annotation/Signature;
362 value = {
363 @@ -442,6 +444,14 @@
365 invoke-static {v0, v1}, Landroid/app/ContextImpl;->registerService(Ljava/lang/String;Landroid/app/ContextImpl$ServiceFetcher;)V
367 + const-string/jumbo v0, "privacy"
369 + new-instance v1, Landroid/app/ContextImpl$40;
371 + invoke-direct {v1}, Landroid/app/ContextImpl$40;-><init>()V
373 + invoke-static {v0, v1}, Landroid/app/ContextImpl;->registerService(Ljava/lang/String;Landroid/app/ContextImpl$ServiceFetcher;)V
375 return-void
376 .end method
378 @@ -476,6 +486,8 @@
380 iput-object p0, p0, Landroid/app/ContextImpl;->mOuterContext:Landroid/content/Context;
382 + sput-object p0, Landroid/app/ContextImpl;->sOuterContext:Landroid/content/Context;
384 return-void
385 .end method
387 @@ -530,6 +542,8 @@
389 iput-object p0, p0, Landroid/app/ContextImpl;->mOuterContext:Landroid/content/Context;
391 + sput-object p0, Landroid/app/ContextImpl;->sOuterContext:Landroid/content/Context;
393 return-void
394 .end method
396 @@ -999,6 +1013,14 @@
397 throw v0
398 .end method
400 +.method static final getStaticOuterContext()Landroid/content/Context;
401 + .registers 1
403 + sget-object v0, Landroid/app/ContextImpl;->sOuterContext:Landroid/content/Context;
405 + return-object v0
406 +.end method
408 .method private getWallpaperManager()Landroid/app/WallpaperManager;
409 .registers 2
411 @@ -4272,6 +4294,8 @@
413 iput-object p1, p0, Landroid/app/ContextImpl;->mOuterContext:Landroid/content/Context;
415 + sput-object p1, Landroid/app/ContextImpl;->sOuterContext:Landroid/content/Context;
417 return-void
418 .end method
420 diff -NpruEbB stock_framework/smali/android/content/ContentResolver.smali moded_framework/smali/android/content/ContentResolver.smali
421 --- stock_framework/smali/android/content/ContentResolver.smali 2012-09-13 08:57:57.924865376 -0700
422 +++ moded_framework/smali/android/content/ContentResolver.smali 2012-09-13 08:58:48.208879741 -0700
423 @@ -3506,8 +3506,8 @@
425 invoke-virtual {v0, v9}, Landroid/os/CancellationSignal;->setRemote(Landroid/os/ICancellationSignal;)V
426 :try_end_1d
427 - .catchall {:try_start_a .. :try_end_1d} :catchall_a8
428 - .catch Landroid/os/RemoteException; {:try_start_a .. :try_end_1d} :catch_9b
429 + .catchall {:try_start_a .. :try_end_1d} :catchall_b6
430 + .catch Landroid/os/RemoteException; {:try_start_a .. :try_end_1d} :catch_a9
432 :cond_1d
433 move-object/from16 v4, p1
434 @@ -3523,64 +3523,82 @@
435 :try_start_27
436 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;
437 :try_end_2a
438 - .catchall {:try_start_27 .. :try_end_2a} :catchall_a8
439 - .catch Landroid/os/DeadObjectException; {:try_start_27 .. :try_end_2a} :catch_3e
440 - .catch Landroid/os/RemoteException; {:try_start_27 .. :try_end_2a} :catch_9b
441 + .catchall {:try_start_27 .. :try_end_2a} :catchall_b6
442 + .catch Landroid/os/DeadObjectException; {:try_start_27 .. :try_end_2a} :catch_4c
443 + .catch Landroid/os/RemoteException; {:try_start_27 .. :try_end_2a} :catch_a9
445 move-result-object v19
447 :goto_2b
448 - if-nez v19, :cond_67
449 + :try_start_2b
450 + move-object/from16 v0, p0
452 + iget-object v4, v0, Landroid/content/ContentResolver;->mContext:Landroid/content/Context;
454 + move-object/from16 v0, p1
456 + move-object/from16 v1, p2
458 + move-object/from16 v2, v19
460 + 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;
461 + :try_end_38
462 + .catchall {:try_start_2b .. :try_end_38} :catchall_b6
463 + .catch Landroid/os/RemoteException; {:try_start_2b .. :try_end_38} :catch_a9
465 + move-result-object v19
467 + if-nez v19, :cond_75
469 const/16 v22, 0x0
471 - if-eqz v3, :cond_36
472 + if-eqz v3, :cond_44
474 move-object/from16 v0, p0
476 invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
478 - :cond_36
479 + :cond_44
480 if-eqz v10, :cond_8
482 - :goto_38
483 + :goto_46
484 move-object/from16 v0, p0
486 invoke-virtual {v0, v10}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
488 goto :goto_8
490 - :catch_3e
491 + :catch_4c
492 move-exception v18
494 - :try_start_3f
495 + :try_start_4d
496 move-object/from16 v0, p0
498 invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->unstableProviderDied(Landroid/content/IContentProvider;)V
500 invoke-virtual/range {p0 .. p1}, Landroid/content/ContentResolver;->acquireProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
501 - :try_end_47
502 - .catchall {:try_start_3f .. :try_end_47} :catchall_a8
503 - .catch Landroid/os/RemoteException; {:try_start_3f .. :try_end_47} :catch_9b
504 + :try_end_55
505 + .catchall {:try_start_4d .. :try_end_55} :catchall_b6
506 + .catch Landroid/os/RemoteException; {:try_start_4d .. :try_end_55} :catch_a9
508 move-result-object v10
510 - if-nez v10, :cond_56
511 + if-nez v10, :cond_64
513 const/16 v22, 0x0
515 - if-eqz v3, :cond_53
516 + if-eqz v3, :cond_61
518 move-object/from16 v0, p0
520 invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
522 - :cond_53
523 + :cond_61
524 if-eqz v10, :cond_8
526 - goto :goto_38
527 + goto :goto_46
529 - :cond_56
530 + :cond_64
531 move-object/from16 v11, p1
533 move-object/from16 v12, p2
534 @@ -3593,14 +3611,14 @@
536 move-object/from16 v16, v9
538 - :try_start_62
539 + :try_start_70
540 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;
542 move-result-object v19
544 goto :goto_2b
546 - :cond_67
547 + :cond_75
548 invoke-interface/range {v19 .. v19}, Landroid/database/Cursor;->getCount()I
550 invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
551 @@ -3623,11 +3641,11 @@
553 new-instance v22, Landroid/content/ContentResolver$CursorWrapperInner;
555 - if-eqz v10, :cond_96
556 + if-eqz v10, :cond_a4
558 move-object v4, v10
560 - :goto_82
561 + :goto_90
562 move-object/from16 v0, v22
564 move-object/from16 v1, p0
565 @@ -3635,67 +3653,67 @@
566 move-object/from16 v2, v19
568 invoke-direct {v0, v1, v2, v4}, Landroid/content/ContentResolver$CursorWrapperInner;-><init>(Landroid/content/ContentResolver;Landroid/database/Cursor;Landroid/content/IContentProvider;)V
569 - :try_end_8b
570 - .catchall {:try_start_62 .. :try_end_8b} :catchall_a8
571 - .catch Landroid/os/RemoteException; {:try_start_62 .. :try_end_8b} :catch_9b
572 + :try_end_99
573 + .catchall {:try_start_70 .. :try_end_99} :catchall_b6
574 + .catch Landroid/os/RemoteException; {:try_start_70 .. :try_end_99} :catch_a9
576 const/4 v10, 0x0
578 - if-eqz v3, :cond_93
579 + if-eqz v3, :cond_a1
581 move-object/from16 v0, p0
583 invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
585 - :cond_93
586 + :cond_a1
587 if-eqz v10, :cond_8
589 - goto :goto_38
590 + goto :goto_46
592 - :cond_96
593 - :try_start_96
594 + :cond_a4
595 + :try_start_a4
596 invoke-virtual/range {p0 .. p1}, Landroid/content/ContentResolver;->acquireProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
597 - :try_end_99
598 - .catchall {:try_start_96 .. :try_end_99} :catchall_a8
599 - .catch Landroid/os/RemoteException; {:try_start_96 .. :try_end_99} :catch_9b
600 + :try_end_a7
601 + .catchall {:try_start_a4 .. :try_end_a7} :catchall_b6
602 + .catch Landroid/os/RemoteException; {:try_start_a4 .. :try_end_a7} :catch_a9
604 move-result-object v4
606 - goto :goto_82
607 + goto :goto_90
609 - :catch_9b
610 + :catch_a9
611 move-exception v18
613 const/16 v22, 0x0
615 - if-eqz v3, :cond_a5
616 + if-eqz v3, :cond_b3
618 move-object/from16 v0, p0
620 invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
622 - :cond_a5
623 + :cond_b3
624 if-eqz v10, :cond_8
626 - goto :goto_38
627 + goto :goto_46
629 - :catchall_a8
630 + :catchall_b6
631 move-exception v4
633 - if-eqz v3, :cond_b0
634 + if-eqz v3, :cond_be
636 move-object/from16 v0, p0
638 invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
640 - :cond_b0
641 - if-eqz v10, :cond_b7
642 + :cond_be
643 + if-eqz v10, :cond_c5
645 move-object/from16 v0, p0
647 invoke-virtual {v0, v10}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
649 - :cond_b7
650 + :cond_c5
651 throw v4
652 .end method
654 diff -NpruEbB stock_framework/smali/android/content/pm/ContainerEncryptionParams.smali moded_framework/smali/android/content/pm/ContainerEncryptionParams.smali
655 --- stock_framework/smali/android/content/pm/ContainerEncryptionParams.smali 2012-09-13 08:58:00.408458781 -0700
656 +++ moded_framework/smali/android/content/pm/ContainerEncryptionParams.smali 2012-09-13 08:58:50.121336686 -0700
657 @@ -801,7 +801,7 @@
659 invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
661 - const-string v1, "mEncryptionAlgorithm=\""
662 + const-string/jumbo v1, "mEncryptionAlgorithm=\""
664 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
666 @@ -813,7 +813,7 @@
668 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
670 - const-string v1, "mEncryptionSpec="
671 + const-string/jumbo v1, "mEncryptionSpec="
673 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
675 @@ -825,7 +825,7 @@
677 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
679 - const-string v1, "mEncryptionKey="
680 + const-string/jumbo v1, "mEncryptionKey="
682 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
684 diff -NpruEbB stock_framework/smali/android/location/Location.smali moded_framework/smali/android/location/Location.smali
685 --- stock_framework/smali/android/location/Location.smali 2012-09-13 08:58:03.485193908 -0700
686 +++ moded_framework/smali/android/location/Location.smali 2012-09-13 08:58:51.974779529 -0700
687 @@ -1859,7 +1859,7 @@
689 move-result-object v0
691 - const-string v1, "mExtras="
692 + const-string/jumbo v1, "mExtras="
694 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
696 diff -NpruEbB stock_framework/smali/android/privacy/IPrivacySettingsManager.smali moded_framework/smali/android/privacy/IPrivacySettingsManager.smali
697 --- stock_framework/smali/android/privacy/IPrivacySettingsManager.smali 1969-12-31 16:00:00.000000000 -0800
698 +++ moded_framework/smali/android/privacy/IPrivacySettingsManager.smali 2012-09-13 08:58:54.520387753 -0700
699 @@ -0,0 +1,104 @@
700 +.class public interface abstract Landroid/privacy/IPrivacySettingsManager;
701 +.super Ljava/lang/Object;
702 +.source "IPrivacySettingsManager.java"
704 +# interfaces
705 +.implements Landroid/os/IInterface;
708 +# annotations
709 +.annotation system Ldalvik/annotation/MemberClasses;
710 + value = {
711 + Landroid/privacy/IPrivacySettingsManager$Stub;
713 +.end annotation
716 +# virtual methods
717 +.method public abstract addObserver(Ljava/lang/String;)V
718 + .annotation system Ldalvik/annotation/Throws;
719 + value = {
720 + Landroid/os/RemoteException;
722 + .end annotation
723 +.end method
725 +.method public abstract deleteSettings(Ljava/lang/String;)Z
726 + .annotation system Ldalvik/annotation/Throws;
727 + value = {
728 + Landroid/os/RemoteException;
730 + .end annotation
731 +.end method
733 +.method public abstract getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
734 + .annotation system Ldalvik/annotation/Throws;
735 + value = {
736 + Landroid/os/RemoteException;
738 + .end annotation
739 +.end method
741 +.method public abstract getVersion()D
742 + .annotation system Ldalvik/annotation/Throws;
743 + value = {
744 + Landroid/os/RemoteException;
746 + .end annotation
747 +.end method
749 +.method public abstract notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
750 + .annotation system Ldalvik/annotation/Throws;
751 + value = {
752 + Landroid/os/RemoteException;
754 + .end annotation
755 +.end method
757 +.method public abstract purgeSettings()Z
758 + .annotation system Ldalvik/annotation/Throws;
759 + value = {
760 + Landroid/os/RemoteException;
762 + .end annotation
763 +.end method
765 +.method public abstract registerObservers()V
766 + .annotation system Ldalvik/annotation/Throws;
767 + value = {
768 + Landroid/os/RemoteException;
770 + .end annotation
771 +.end method
773 +.method public abstract saveSettings(Landroid/privacy/PrivacySettings;)Z
774 + .annotation system Ldalvik/annotation/Throws;
775 + value = {
776 + Landroid/os/RemoteException;
778 + .end annotation
779 +.end method
781 +.method public abstract setBootCompleted()V
782 + .annotation system Ldalvik/annotation/Throws;
783 + value = {
784 + Landroid/os/RemoteException;
786 + .end annotation
787 +.end method
789 +.method public abstract setEnabled(Z)Z
790 + .annotation system Ldalvik/annotation/Throws;
791 + value = {
792 + Landroid/os/RemoteException;
794 + .end annotation
795 +.end method
797 +.method public abstract setNotificationsEnabled(Z)Z
798 + .annotation system Ldalvik/annotation/Throws;
799 + value = {
800 + Landroid/os/RemoteException;
802 + .end annotation
803 +.end method
804 diff -NpruEbB stock_framework/smali/android/privacy/IPrivacySettingsManager$Stub$Proxy.smali moded_framework/smali/android/privacy/IPrivacySettingsManager$Stub$Proxy.smali
805 --- stock_framework/smali/android/privacy/IPrivacySettingsManager$Stub$Proxy.smali 1969-12-31 16:00:00.000000000 -0800
806 +++ moded_framework/smali/android/privacy/IPrivacySettingsManager$Stub$Proxy.smali 2012-09-13 08:58:54.540392532 -0700
807 @@ -0,0 +1,743 @@
808 +.class Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;
809 +.super Ljava/lang/Object;
810 +.source "IPrivacySettingsManager.java"
812 +# interfaces
813 +.implements Landroid/privacy/IPrivacySettingsManager;
816 +# annotations
817 +.annotation system Ldalvik/annotation/EnclosingClass;
818 + value = Landroid/privacy/IPrivacySettingsManager$Stub;
819 +.end annotation
821 +.annotation system Ldalvik/annotation/InnerClass;
822 + accessFlags = 0xa
823 + name = "Proxy"
824 +.end annotation
827 +# instance fields
828 +.field private mRemote:Landroid/os/IBinder;
831 +# direct methods
832 +.method constructor <init>(Landroid/os/IBinder;)V
833 + .registers 2
835 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
837 + iput-object p1, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
839 + return-void
840 +.end method
843 +# virtual methods
844 +.method public addObserver(Ljava/lang/String;)V
845 + .registers 7
846 + .annotation system Ldalvik/annotation/Throws;
847 + value = {
848 + Landroid/os/RemoteException;
850 + .end annotation
852 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
854 + move-result-object v0
856 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
858 + move-result-object v1
860 + :try_start_8
861 + const-string v2, "android.privacy.IPrivacySettingsManager"
863 + invoke-virtual {v0, v2}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
865 + invoke-virtual {v0, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
867 + iget-object v2, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
869 + const/4 v3, 0x6
871 + const/4 v4, 0x0
873 + invoke-interface {v2, v3, v0, v1, v4}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
875 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
876 + :try_end_1a
877 + .catchall {:try_start_8 .. :try_end_1a} :catchall_21
879 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
881 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
883 + return-void
885 + :catchall_21
886 + move-exception v2
888 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
890 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
892 + throw v2
893 +.end method
895 +.method public asBinder()Landroid/os/IBinder;
896 + .registers 2
898 + iget-object v0, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
900 + return-object v0
901 +.end method
903 +.method public deleteSettings(Ljava/lang/String;)Z
904 + .registers 8
905 + .annotation system Ldalvik/annotation/Throws;
906 + value = {
907 + Landroid/os/RemoteException;
909 + .end annotation
911 + const/4 v2, 0x0
913 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
915 + move-result-object v0
917 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
919 + move-result-object v1
921 + :try_start_9
922 + const-string v3, "android.privacy.IPrivacySettingsManager"
924 + invoke-virtual {v0, v3}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
926 + invoke-virtual {v0, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
928 + iget-object v3, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
930 + const/4 v4, 0x3
932 + const/4 v5, 0x0
934 + invoke-interface {v3, v4, v0, v1, v5}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
936 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
938 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
939 + :try_end_1e
940 + .catchall {:try_start_9 .. :try_end_1e} :catchall_29
942 + move-result v3
944 + if-eqz v3, :cond_22
946 + const/4 v2, 0x1
948 + :cond_22
949 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
951 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
953 + return v2
955 + :catchall_29
956 + move-exception v3
958 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
960 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
962 + throw v3
963 +.end method
965 +.method public getInterfaceDescriptor()Ljava/lang/String;
966 + .registers 2
968 + const-string v0, "android.privacy.IPrivacySettingsManager"
970 + return-object v0
971 +.end method
973 +.method public getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
974 + .registers 8
975 + .annotation system Ldalvik/annotation/Throws;
976 + value = {
977 + Landroid/os/RemoteException;
979 + .end annotation
981 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
983 + move-result-object v0
985 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
987 + move-result-object v1
989 + :try_start_8
990 + const-string v3, "android.privacy.IPrivacySettingsManager"
992 + invoke-virtual {v0, v3}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
994 + invoke-virtual {v0, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
996 + iget-object v3, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
998 + const/4 v4, 0x1
1000 + const/4 v5, 0x0
1002 + invoke-interface {v3, v4, v0, v1, v5}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1004 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
1006 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
1008 + move-result v3
1010 + if-eqz v3, :cond_2f
1012 + sget-object v3, Landroid/privacy/PrivacySettings;->CREATOR:Landroid/os/Parcelable$Creator;
1014 + invoke-interface {v3, v1}, Landroid/os/Parcelable$Creator;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
1016 + move-result-object v2
1018 + check-cast v2, Landroid/privacy/PrivacySettings;
1019 + :try_end_28
1020 + .catchall {:try_start_8 .. :try_end_28} :catchall_31
1022 + :goto_28
1023 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1025 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1027 + return-object v2
1029 + :cond_2f
1030 + const/4 v2, 0x0
1032 + goto :goto_28
1034 + :catchall_31
1035 + move-exception v3
1037 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1039 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1041 + throw v3
1042 +.end method
1044 +.method public getVersion()D
1045 + .registers 8
1046 + .annotation system Ldalvik/annotation/Throws;
1047 + value = {
1048 + Landroid/os/RemoteException;
1050 + .end annotation
1052 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1054 + move-result-object v0
1056 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1058 + move-result-object v1
1060 + :try_start_8
1061 + const-string v4, "android.privacy.IPrivacySettingsManager"
1063 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
1065 + iget-object v4, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
1067 + const/16 v5, 0x8
1069 + const/4 v6, 0x0
1071 + invoke-interface {v4, v5, v0, v1, v6}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1073 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
1075 + invoke-virtual {v1}, Landroid/os/Parcel;->readDouble()D
1076 + :try_end_1b
1077 + .catchall {:try_start_8 .. :try_end_1b} :catchall_23
1079 + move-result-wide v2
1081 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1083 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1085 + return-wide v2
1087 + :catchall_23
1088 + move-exception v4
1090 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1092 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1094 + throw v4
1095 +.end method
1097 +.method public notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
1098 + .registers 10
1099 + .annotation system Ldalvik/annotation/Throws;
1100 + value = {
1101 + Landroid/os/RemoteException;
1103 + .end annotation
1105 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1107 + move-result-object v0
1109 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1111 + move-result-object v1
1113 + :try_start_8
1114 + const-string v2, "android.privacy.IPrivacySettingsManager"
1116 + invoke-virtual {v0, v2}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
1118 + invoke-virtual {v0, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
1120 + invoke-virtual {v0, p2}, Landroid/os/Parcel;->writeByte(B)V
1122 + invoke-virtual {v0, p3}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
1124 + invoke-virtual {v0, p4}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
1126 + iget-object v2, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
1128 + const/4 v3, 0x4
1130 + const/4 v4, 0x0
1132 + invoke-interface {v2, v3, v0, v1, v4}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1134 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
1135 + :try_end_23
1136 + .catchall {:try_start_8 .. :try_end_23} :catchall_2a
1138 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1140 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1142 + return-void
1144 + :catchall_2a
1145 + move-exception v2
1147 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1149 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1151 + throw v2
1152 +.end method
1154 +.method public purgeSettings()Z
1155 + .registers 7
1156 + .annotation system Ldalvik/annotation/Throws;
1157 + value = {
1158 + Landroid/os/RemoteException;
1160 + .end annotation
1162 + const/4 v2, 0x0
1164 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1166 + move-result-object v0
1168 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1170 + move-result-object v1
1172 + :try_start_9
1173 + const-string v3, "android.privacy.IPrivacySettingsManager"
1175 + invoke-virtual {v0, v3}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
1177 + iget-object v3, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
1179 + const/4 v4, 0x7
1181 + const/4 v5, 0x0
1183 + invoke-interface {v3, v4, v0, v1, v5}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1185 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
1187 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
1188 + :try_end_1b
1189 + .catchall {:try_start_9 .. :try_end_1b} :catchall_26
1191 + move-result v3
1193 + if-eqz v3, :cond_1f
1195 + const/4 v2, 0x1
1197 + :cond_1f
1198 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1200 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1202 + return v2
1204 + :catchall_26
1205 + move-exception v3
1207 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1209 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1211 + throw v3
1212 +.end method
1214 +.method public registerObservers()V
1215 + .registers 6
1216 + .annotation system Ldalvik/annotation/Throws;
1217 + value = {
1218 + Landroid/os/RemoteException;
1220 + .end annotation
1222 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1224 + move-result-object v0
1226 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1228 + move-result-object v1
1230 + :try_start_8
1231 + const-string v2, "android.privacy.IPrivacySettingsManager"
1233 + invoke-virtual {v0, v2}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
1235 + iget-object v2, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
1237 + const/4 v3, 0x5
1239 + const/4 v4, 0x0
1241 + invoke-interface {v2, v3, v0, v1, v4}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1243 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
1244 + :try_end_17
1245 + .catchall {:try_start_8 .. :try_end_17} :catchall_1e
1247 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1249 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1251 + return-void
1253 + :catchall_1e
1254 + move-exception v2
1256 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1258 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1260 + throw v2
1261 +.end method
1263 +.method public saveSettings(Landroid/privacy/PrivacySettings;)Z
1264 + .registers 9
1265 + .annotation system Ldalvik/annotation/Throws;
1266 + value = {
1267 + Landroid/os/RemoteException;
1269 + .end annotation
1271 + const/4 v2, 0x1
1273 + const/4 v3, 0x0
1275 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1277 + move-result-object v0
1279 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1281 + move-result-object v1
1283 + :try_start_a
1284 + const-string v4, "android.privacy.IPrivacySettingsManager"
1286 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
1288 + if-eqz p1, :cond_30
1290 + const/4 v4, 0x1
1292 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInt(I)V
1294 + const/4 v4, 0x0
1296 + invoke-virtual {p1, v0, v4}, Landroid/privacy/PrivacySettings;->writeToParcel(Landroid/os/Parcel;I)V
1298 + :goto_19
1299 + iget-object v4, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
1301 + const/4 v5, 0x2
1303 + const/4 v6, 0x0
1305 + invoke-interface {v4, v5, v0, v1, v6}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1307 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
1309 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
1310 + :try_end_26
1311 + .catchall {:try_start_a .. :try_end_26} :catchall_35
1313 + move-result v4
1315 + if-eqz v4, :cond_3d
1317 + :goto_29
1318 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1320 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1322 + return v2
1324 + :cond_30
1325 + const/4 v4, 0x0
1327 + :try_start_31
1328 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInt(I)V
1329 + :try_end_34
1330 + .catchall {:try_start_31 .. :try_end_34} :catchall_35
1332 + goto :goto_19
1334 + :catchall_35
1335 + move-exception v3
1337 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1339 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1341 + throw v3
1343 + :cond_3d
1344 + move v2, v3
1346 + goto :goto_29
1347 +.end method
1349 +.method public setBootCompleted()V
1350 + .registers 6
1351 + .annotation system Ldalvik/annotation/Throws;
1352 + value = {
1353 + Landroid/os/RemoteException;
1355 + .end annotation
1357 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1359 + move-result-object v0
1361 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1363 + move-result-object v1
1365 + :try_start_8
1366 + const-string v2, "android.privacy.IPrivacySettingsManager"
1368 + invoke-virtual {v0, v2}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
1370 + iget-object v2, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
1372 + const/16 v3, 0xb
1374 + const/4 v4, 0x0
1376 + invoke-interface {v2, v3, v0, v1, v4}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1378 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
1379 + :try_end_18
1380 + .catchall {:try_start_8 .. :try_end_18} :catchall_1f
1382 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1384 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1386 + return-void
1388 + :catchall_1f
1389 + move-exception v2
1391 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1393 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1395 + throw v2
1396 +.end method
1398 +.method public setEnabled(Z)Z
1399 + .registers 9
1400 + .annotation system Ldalvik/annotation/Throws;
1401 + value = {
1402 + Landroid/os/RemoteException;
1404 + .end annotation
1406 + const/4 v2, 0x1
1408 + const/4 v3, 0x0
1410 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1412 + move-result-object v0
1414 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1416 + move-result-object v1
1418 + :try_start_a
1419 + const-string v4, "android.privacy.IPrivacySettingsManager"
1421 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
1423 + if-eqz p1, :cond_2d
1425 + move v4, v2
1427 + :goto_12
1428 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInt(I)V
1430 + iget-object v4, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
1432 + const/16 v5, 0x9
1434 + const/4 v6, 0x0
1436 + invoke-interface {v4, v5, v0, v1, v6}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1438 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
1440 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
1441 + :try_end_23
1442 + .catchall {:try_start_a .. :try_end_23} :catchall_31
1444 + move-result v4
1446 + if-eqz v4, :cond_2f
1448 + :goto_26
1449 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1451 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1453 + return v2
1455 + :cond_2d
1456 + move v4, v3
1458 + goto :goto_12
1460 + :cond_2f
1461 + move v2, v3
1463 + goto :goto_26
1465 + :catchall_31
1466 + move-exception v3
1468 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1470 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1472 + throw v3
1473 +.end method
1475 +.method public setNotificationsEnabled(Z)Z
1476 + .registers 9
1477 + .annotation system Ldalvik/annotation/Throws;
1478 + value = {
1479 + Landroid/os/RemoteException;
1481 + .end annotation
1483 + const/4 v2, 0x1
1485 + const/4 v3, 0x0
1487 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1489 + move-result-object v0
1491 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
1493 + move-result-object v1
1495 + :try_start_a
1496 + const-string v4, "android.privacy.IPrivacySettingsManager"
1498 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
1500 + if-eqz p1, :cond_2d
1502 + move v4, v2
1504 + :goto_12
1505 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInt(I)V
1507 + iget-object v4, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
1509 + const/16 v5, 0xa
1511 + const/4 v6, 0x0
1513 + invoke-interface {v4, v5, v0, v1, v6}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1515 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
1517 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
1518 + :try_end_23
1519 + .catchall {:try_start_a .. :try_end_23} :catchall_31
1521 + move-result v4
1523 + if-eqz v4, :cond_2f
1525 + :goto_26
1526 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1528 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1530 + return v2
1532 + :cond_2d
1533 + move v4, v3
1535 + goto :goto_12
1537 + :cond_2f
1538 + move v2, v3
1540 + goto :goto_26
1542 + :catchall_31
1543 + move-exception v3
1545 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
1547 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
1549 + throw v3
1550 +.end method
1551 diff -NpruEbB stock_framework/smali/android/privacy/IPrivacySettingsManager$Stub.smali moded_framework/smali/android/privacy/IPrivacySettingsManager$Stub.smali
1552 --- stock_framework/smali/android/privacy/IPrivacySettingsManager$Stub.smali 1969-12-31 16:00:00.000000000 -0800
1553 +++ moded_framework/smali/android/privacy/IPrivacySettingsManager$Stub.smali 2012-09-13 08:58:54.540392532 -0700
1554 @@ -0,0 +1,412 @@
1555 +.class public abstract Landroid/privacy/IPrivacySettingsManager$Stub;
1556 +.super Landroid/os/Binder;
1557 +.source "IPrivacySettingsManager.java"
1559 +# interfaces
1560 +.implements Landroid/privacy/IPrivacySettingsManager;
1563 +# annotations
1564 +.annotation system Ldalvik/annotation/EnclosingClass;
1565 + value = Landroid/privacy/IPrivacySettingsManager;
1566 +.end annotation
1568 +.annotation system Ldalvik/annotation/InnerClass;
1569 + accessFlags = 0x409
1570 + name = "Stub"
1571 +.end annotation
1573 +.annotation system Ldalvik/annotation/MemberClasses;
1574 + value = {
1575 + Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;
1577 +.end annotation
1580 +# static fields
1581 +.field private static final DESCRIPTOR:Ljava/lang/String; = "android.privacy.IPrivacySettingsManager"
1583 +.field static final TRANSACTION_addObserver:I = 0x6
1585 +.field static final TRANSACTION_deleteSettings:I = 0x3
1587 +.field static final TRANSACTION_getSettings:I = 0x1
1589 +.field static final TRANSACTION_getVersion:I = 0x8
1591 +.field static final TRANSACTION_notification:I = 0x4
1593 +.field static final TRANSACTION_purgeSettings:I = 0x7
1595 +.field static final TRANSACTION_registerObservers:I = 0x5
1597 +.field static final TRANSACTION_saveSettings:I = 0x2
1599 +.field static final TRANSACTION_setBootCompleted:I = 0xb
1601 +.field static final TRANSACTION_setEnabled:I = 0x9
1603 +.field static final TRANSACTION_setNotificationsEnabled:I = 0xa
1606 +# direct methods
1607 +.method public constructor <init>()V
1608 + .registers 2
1610 + invoke-direct {p0}, Landroid/os/Binder;-><init>()V
1612 + const-string v0, "android.privacy.IPrivacySettingsManager"
1614 + invoke-virtual {p0, p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->attachInterface(Landroid/os/IInterface;Ljava/lang/String;)V
1616 + return-void
1617 +.end method
1619 +.method public static asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
1620 + .registers 3
1622 + if-nez p0, :cond_4
1624 + const/4 v0, 0x0
1626 + :goto_3
1627 + return-object v0
1629 + :cond_4
1630 + const-string v1, "android.privacy.IPrivacySettingsManager"
1632 + invoke-interface {p0, v1}, Landroid/os/IBinder;->queryLocalInterface(Ljava/lang/String;)Landroid/os/IInterface;
1634 + move-result-object v0
1636 + if-eqz v0, :cond_13
1638 + instance-of v1, v0, Landroid/privacy/IPrivacySettingsManager;
1640 + if-eqz v1, :cond_13
1642 + check-cast v0, Landroid/privacy/IPrivacySettingsManager;
1644 + goto :goto_3
1646 + :cond_13
1647 + new-instance v0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;
1649 + invoke-direct {v0, p0}, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
1651 + goto :goto_3
1652 +.end method
1655 +# virtual methods
1656 +.method public asBinder()Landroid/os/IBinder;
1657 + .registers 1
1659 + return-object p0
1660 +.end method
1662 +.method public onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1663 + .registers 14
1664 + .annotation system Ldalvik/annotation/Throws;
1665 + value = {
1666 + Landroid/os/RemoteException;
1668 + .end annotation
1670 + const/4 v6, 0x0
1672 + const/4 v7, 0x1
1674 + sparse-switch p1, :sswitch_data_10e
1676 + invoke-super {p0, p1, p2, p3, p4}, Landroid/os/Binder;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
1678 + move-result v7
1680 + :goto_9
1681 + return v7
1683 + :sswitch_a
1684 + const-string v6, "android.privacy.IPrivacySettingsManager"
1686 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
1688 + goto :goto_9
1690 + :sswitch_10
1691 + const-string v8, "android.privacy.IPrivacySettingsManager"
1693 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1695 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
1697 + move-result-object v0
1699 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
1701 + move-result-object v4
1703 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1705 + if-eqz v4, :cond_29
1707 + invoke-virtual {p3, v7}, Landroid/os/Parcel;->writeInt(I)V
1709 + invoke-virtual {v4, p3, v7}, Landroid/privacy/PrivacySettings;->writeToParcel(Landroid/os/Parcel;I)V
1711 + goto :goto_9
1713 + :cond_29
1714 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
1716 + goto :goto_9
1718 + :sswitch_2d
1719 + const-string v8, "android.privacy.IPrivacySettingsManager"
1721 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1723 + invoke-virtual {p2}, Landroid/os/Parcel;->readInt()I
1725 + move-result v8
1727 + if-eqz v8, :cond_4e
1729 + sget-object v8, Landroid/privacy/PrivacySettings;->CREATOR:Landroid/os/Parcelable$Creator;
1731 + invoke-interface {v8, p2}, Landroid/os/Parcelable$Creator;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
1733 + move-result-object v0
1735 + check-cast v0, Landroid/privacy/PrivacySettings;
1737 + :goto_40
1738 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->saveSettings(Landroid/privacy/PrivacySettings;)Z
1740 + move-result v4
1742 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1744 + if-eqz v4, :cond_4a
1746 + move v6, v7
1748 + :cond_4a
1749 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
1751 + goto :goto_9
1753 + :cond_4e
1754 + const/4 v0, 0x0
1756 + goto :goto_40
1758 + :sswitch_50
1759 + const-string v8, "android.privacy.IPrivacySettingsManager"
1761 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1763 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
1765 + move-result-object v0
1767 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->deleteSettings(Ljava/lang/String;)Z
1769 + move-result v4
1771 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1773 + if-eqz v4, :cond_63
1775 + move v6, v7
1777 + :cond_63
1778 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
1780 + goto :goto_9
1782 + :sswitch_67
1783 + const-string v6, "android.privacy.IPrivacySettingsManager"
1785 + invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1787 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
1789 + move-result-object v0
1791 + invoke-virtual {p2}, Landroid/os/Parcel;->readByte()B
1793 + move-result v1
1795 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
1797 + move-result-object v2
1799 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
1801 + move-result-object v3
1803 + invoke-virtual {p0, v0, v1, v2, v3}, Landroid/privacy/IPrivacySettingsManager$Stub;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
1805 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1807 + goto :goto_9
1809 + :sswitch_83
1810 + const-string v6, "android.privacy.IPrivacySettingsManager"
1812 + invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1814 + invoke-virtual {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;->registerObservers()V
1816 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1818 + goto/16 :goto_9
1820 + :sswitch_90
1821 + const-string v6, "android.privacy.IPrivacySettingsManager"
1823 + invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1825 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
1827 + move-result-object v0
1829 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->addObserver(Ljava/lang/String;)V
1831 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1833 + goto/16 :goto_9
1835 + :sswitch_a1
1836 + const-string v8, "android.privacy.IPrivacySettingsManager"
1838 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1840 + invoke-virtual {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;->purgeSettings()Z
1842 + move-result v4
1844 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1846 + if-eqz v4, :cond_b0
1848 + move v6, v7
1850 + :cond_b0
1851 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
1853 + goto/16 :goto_9
1855 + :sswitch_b5
1856 + const-string v6, "android.privacy.IPrivacySettingsManager"
1858 + invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1860 + invoke-virtual {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;->getVersion()D
1862 + move-result-wide v4
1864 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1866 + invoke-virtual {p3, v4, v5}, Landroid/os/Parcel;->writeDouble(D)V
1868 + goto/16 :goto_9
1870 + :sswitch_c6
1871 + const-string v8, "android.privacy.IPrivacySettingsManager"
1873 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1875 + invoke-virtual {p2}, Landroid/os/Parcel;->readInt()I
1877 + move-result v8
1879 + if-eqz v8, :cond_e1
1881 + move v0, v7
1883 + :goto_d2
1884 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->setEnabled(Z)Z
1886 + move-result v4
1888 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1890 + if-eqz v4, :cond_dc
1892 + move v6, v7
1894 + :cond_dc
1895 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
1897 + goto/16 :goto_9
1899 + :cond_e1
1900 + move v0, v6
1902 + goto :goto_d2
1904 + :sswitch_e3
1905 + const-string v8, "android.privacy.IPrivacySettingsManager"
1907 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1909 + invoke-virtual {p2}, Landroid/os/Parcel;->readInt()I
1911 + move-result v8
1913 + if-eqz v8, :cond_fe
1915 + move v0, v7
1917 + :goto_ef
1918 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->setNotificationsEnabled(Z)Z
1920 + move-result v4
1922 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1924 + if-eqz v4, :cond_f9
1926 + move v6, v7
1928 + :cond_f9
1929 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
1931 + goto/16 :goto_9
1933 + :cond_fe
1934 + move v0, v6
1936 + goto :goto_ef
1938 + :sswitch_100
1939 + const-string v6, "android.privacy.IPrivacySettingsManager"
1941 + invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
1943 + invoke-virtual {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;->setBootCompleted()V
1945 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
1947 + goto/16 :goto_9
1949 + nop
1951 + :sswitch_data_10e
1952 + .sparse-switch
1953 + 0x1 -> :sswitch_10
1954 + 0x2 -> :sswitch_2d
1955 + 0x3 -> :sswitch_50
1956 + 0x4 -> :sswitch_67
1957 + 0x5 -> :sswitch_83
1958 + 0x6 -> :sswitch_90
1959 + 0x7 -> :sswitch_a1
1960 + 0x8 -> :sswitch_b5
1961 + 0x9 -> :sswitch_c6
1962 + 0xa -> :sswitch_e3
1963 + 0xb -> :sswitch_100
1964 + 0x5f4e5446 -> :sswitch_a
1965 + .end sparse-switch
1966 +.end method
1967 diff -NpruEbB stock_framework/smali/android/privacy/PrivacyFileObserver.smali moded_framework/smali/android/privacy/PrivacyFileObserver.smali
1968 --- stock_framework/smali/android/privacy/PrivacyFileObserver.smali 1969-12-31 16:00:00.000000000 -0800
1969 +++ moded_framework/smali/android/privacy/PrivacyFileObserver.smali 2012-09-13 08:58:54.541392771 -0700
1970 @@ -0,0 +1,217 @@
1971 +.class public Landroid/privacy/PrivacyFileObserver;
1972 +.super Landroid/os/FileObserver;
1973 +.source "PrivacyFileObserver.java"
1976 +# static fields
1977 +.field public static final PACKAGE_PATH_INDEX:I = 0x3
1979 +.field public static final TAG:Ljava/lang/String; = "PrivacyFileObserver"
1982 +# instance fields
1983 +.field public absolutePath:Ljava/lang/String;
1985 +.field public children:Ljava/util/HashMap;
1986 + .annotation system Ldalvik/annotation/Signature;
1987 + value = {
1988 + "Ljava/util/HashMap",
1989 + "<",
1990 + "Ljava/lang/String;",
1991 + "Landroid/privacy/PrivacyFileObserver;",
1992 + ">;"
1994 + .end annotation
1995 +.end field
1997 +.field private pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
2000 +# direct methods
2001 +.method public constructor <init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
2002 + .registers 12
2004 + const/16 v8, 0xfff
2006 + invoke-direct {p0, p1, v8}, Landroid/os/FileObserver;-><init>(Ljava/lang/String;I)V
2008 + iput-object p1, p0, Landroid/privacy/PrivacyFileObserver;->absolutePath:Ljava/lang/String;
2010 + iput-object p2, p0, Landroid/privacy/PrivacyFileObserver;->pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
2012 + new-instance v8, Ljava/util/HashMap;
2014 + invoke-direct {v8}, Ljava/util/HashMap;-><init>()V
2016 + iput-object v8, p0, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap;
2018 + new-instance v7, Ljava/io/File;
2020 + iget-object v8, p0, Landroid/privacy/PrivacyFileObserver;->absolutePath:Ljava/lang/String;
2022 + invoke-direct {v7, v8}, Ljava/io/File;-><init>(Ljava/lang/String;)V
2024 + invoke-virtual {v7}, Ljava/io/File;->isDirectory()Z
2026 + move-result v8
2028 + if-eqz v8, :cond_42
2030 + invoke-virtual {v7}, Ljava/io/File;->listFiles()[Ljava/io/File;
2032 + move-result-object v6
2034 + move-object v0, v6
2036 + array-length v4, v0
2038 + const/4 v3, 0x0
2040 + :goto_24
2041 + if-ge v3, v4, :cond_42
2043 + aget-object v2, v0, v3
2045 + invoke-virtual {v2}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
2047 + move-result-object v5
2049 + new-instance v1, Landroid/privacy/PrivacyFileObserver;
2051 + invoke-direct {v1, v5, p2}, Landroid/privacy/PrivacyFileObserver;-><init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
2053 + iget-object v8, p0, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap;
2055 + invoke-virtual {v8, v5, v1}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
2057 + invoke-virtual {v2}, Ljava/io/File;->isFile()Z
2059 + move-result v8
2061 + if-eqz v8, :cond_3f
2063 + invoke-virtual {v1}, Landroid/privacy/PrivacyFileObserver;->startWatching()V
2065 + :cond_3f
2066 + add-int/lit8 v3, v3, 0x1
2068 + goto :goto_24
2070 + :cond_42
2071 + return-void
2072 +.end method
2075 +# virtual methods
2076 +.method public addObserver(Ljava/lang/String;)V
2077 + .registers 6
2079 + new-instance v2, Ljava/lang/StringBuilder;
2081 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
2083 + iget-object v3, p0, Landroid/privacy/PrivacyFileObserver;->absolutePath:Ljava/lang/String;
2085 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2087 + move-result-object v2
2089 + const-string v3, "/"
2091 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2093 + move-result-object v2
2095 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2097 + move-result-object v2
2099 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2101 + move-result-object v1
2103 + iget-object v2, p0, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap;
2105 + invoke-virtual {v2, v1}, Ljava/util/HashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
2107 + new-instance v0, Landroid/privacy/PrivacyFileObserver;
2109 + iget-object v2, p0, Landroid/privacy/PrivacyFileObserver;->pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
2111 + invoke-direct {v0, v1, v2}, Landroid/privacy/PrivacyFileObserver;-><init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
2113 + iget-object v2, p0, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap;
2115 + invoke-virtual {v2, v1, v0}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
2117 + return-void
2118 +.end method
2120 +.method public onEvent(ILjava/lang/String;)V
2121 + .registers 11
2123 + and-int/lit8 v4, p1, 0x1
2125 + if-eqz v4, :cond_34
2127 + new-instance v3, Ljava/util/StringTokenizer;
2129 + iget-object v4, p0, Landroid/privacy/PrivacyFileObserver;->absolutePath:Ljava/lang/String;
2131 + const-string v5, "/"
2133 + invoke-direct {v3, v4, v5}, Ljava/util/StringTokenizer;-><init>(Ljava/lang/String;Ljava/lang/String;)V
2135 + const/4 v0, 0x0
2137 + :goto_e
2138 + const/4 v4, 0x3
2140 + if-ge v0, v4, :cond_1d
2142 + invoke-virtual {v3}, Ljava/util/StringTokenizer;->hasMoreElements()Z
2144 + move-result v4
2146 + if-eqz v4, :cond_1d
2148 + invoke-virtual {v3}, Ljava/util/StringTokenizer;->nextToken()Ljava/lang/String;
2150 + add-int/lit8 v0, v0, 0x1
2152 + goto :goto_e
2154 + :cond_1d
2155 + invoke-virtual {v3}, Ljava/util/StringTokenizer;->nextToken()Ljava/lang/String;
2157 + move-result-object v2
2159 + iget-object v4, p0, Landroid/privacy/PrivacyFileObserver;->pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
2161 + invoke-virtual {v4, v2}, Landroid/privacy/PrivacySettingsManagerService;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
2163 + move-result-object v1
2165 + iget-object v4, p0, Landroid/privacy/PrivacyFileObserver;->pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
2167 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getSystemLogsSetting()B
2169 + move-result v5
2171 + const-string/jumbo v6, "systemLogs"
2173 + const/4 v7, 0x0
2175 + invoke-virtual {v4, v2, v5, v6, v7}, Landroid/privacy/PrivacySettingsManagerService;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
2177 + :cond_34
2178 + return-void
2179 +.end method
2181 +.method public startWatching()V
2182 + .registers 1
2184 + invoke-super {p0}, Landroid/os/FileObserver;->startWatching()V
2186 + return-void
2187 +.end method
2188 diff -NpruEbB stock_framework/smali/android/privacy/PrivacyPersistenceAdapter.smali moded_framework/smali/android/privacy/PrivacyPersistenceAdapter.smali
2189 --- stock_framework/smali/android/privacy/PrivacyPersistenceAdapter.smali 1969-12-31 16:00:00.000000000 -0800
2190 +++ moded_framework/smali/android/privacy/PrivacyPersistenceAdapter.smali 2012-09-13 08:58:54.561397549 -0700
2191 @@ -0,0 +1,4631 @@
2192 +.class public Landroid/privacy/PrivacyPersistenceAdapter;
2193 +.super Ljava/lang/Object;
2194 +.source "PrivacyPersistenceAdapter.java"
2197 +# static fields
2198 +.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) );"
2200 +.field private static final CREATE_TABLE_MAP:Ljava/lang/String; = "CREATE TABLE IF NOT EXISTS map ( name TEXT PRIMARY KEY, value TEXT );"
2202 +.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);"
2204 +.field private static final DATABASE_FIELDS:[Ljava/lang/String; = null
2206 +.field private static final DATABASE_FILE:Ljava/lang/String; = "/data/system/privacy.db"
2208 +.field private static final DATABASE_VERSION:I = 0x3
2210 +.field public static final DUMMY_UID:I = -0x1
2212 +.field private static final INSERT_ENABLED:Ljava/lang/String; = "INSERT OR REPLACE INTO map (name, value) VALUES (\"enabled\", \"1\");"
2214 +.field private static final INSERT_NOTIFICATIONS_ENABLED:Ljava/lang/String; = "INSERT OR REPLACE INTO map (name, value) VALUES (\"notifications_enabled\", \"1\");"
2216 +.field private static final INSERT_VERSION:Ljava/lang/String; = "INSERT OR REPLACE INTO map (name, value) VALUES (\"db_version\", 3);"
2218 +.field private static final RETRY_QUERY_COUNT:I = 0x5
2220 +.field public static final SETTINGS_DIRECTORY:Ljava/lang/String; = "/data/system/privacy"
2222 +.field public static final SETTING_DB_VERSION:Ljava/lang/String; = "db_version"
2224 +.field public static final SETTING_ENABLED:Ljava/lang/String; = "enabled"
2226 +.field public static final SETTING_NOTIFICATIONS_ENABLED:Ljava/lang/String; = "notifications_enabled"
2228 +.field private static final TABLE_ALLOWED_CONTACTS:Ljava/lang/String; = "allowed_contacts"
2230 +.field private static final TABLE_MAP:Ljava/lang/String; = "map"
2232 +.field private static final TABLE_SETTINGS:Ljava/lang/String; = "settings"
2234 +.field private static final TABLE_VERSION:Ljava/lang/String; = "version"
2236 +.field private static final TAG:Ljava/lang/String; = "PrivacyPersistenceAdapter"
2238 +.field public static final VALUE_FALSE:Ljava/lang/String; = "0"
2240 +.field public static final VALUE_TRUE:Ljava/lang/String; = "1"
2242 +.field public static readingThreads:Ljava/lang/Integer;
2245 +# instance fields
2246 +.field private context:Landroid/content/Context;
2248 +.field private db:Landroid/database/sqlite/SQLiteDatabase;
2251 +# direct methods
2252 +.method static constructor <clinit>()V
2253 + .registers 3
2255 + const/4 v2, 0x0
2257 + invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
2259 + move-result-object v0
2261 + sput-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2263 + const/16 v0, 0x23
2265 + new-array v0, v0, [Ljava/lang/String;
2267 + const-string v1, "_id"
2269 + aput-object v1, v0, v2
2271 + const/4 v1, 0x1
2273 + const-string/jumbo v2, "packageName"
2275 + aput-object v2, v0, v1
2277 + const/4 v1, 0x2
2279 + const-string/jumbo v2, "uid"
2281 + aput-object v2, v0, v1
2283 + const/4 v1, 0x3
2285 + const-string v2, "deviceIdSetting"
2287 + aput-object v2, v0, v1
2289 + const/4 v1, 0x4
2291 + const-string v2, "deviceId"
2293 + aput-object v2, v0, v1
2295 + const/4 v1, 0x5
2297 + const-string v2, "line1NumberSetting"
2299 + aput-object v2, v0, v1
2301 + const/4 v1, 0x6
2303 + const-string v2, "line1Number"
2305 + aput-object v2, v0, v1
2307 + const/4 v1, 0x7
2309 + const-string v2, "locationGpsSetting"
2311 + aput-object v2, v0, v1
2313 + const/16 v1, 0x8
2315 + const-string v2, "locationGpsLat"
2317 + aput-object v2, v0, v1
2319 + const/16 v1, 0x9
2321 + const-string v2, "locationGpsLon"
2323 + aput-object v2, v0, v1
2325 + const/16 v1, 0xa
2327 + const-string v2, "locationNetworkSetting"
2329 + aput-object v2, v0, v1
2331 + const/16 v1, 0xb
2333 + const-string v2, "locationNetworkLat"
2335 + aput-object v2, v0, v1
2337 + const/16 v1, 0xc
2339 + const-string v2, "locationNetworkLon"
2341 + aput-object v2, v0, v1
2343 + const/16 v1, 0xd
2345 + const-string/jumbo v2, "networkInfoSetting"
2347 + aput-object v2, v0, v1
2349 + const/16 v1, 0xe
2351 + const-string/jumbo v2, "simInfoSetting"
2353 + aput-object v2, v0, v1
2355 + const/16 v1, 0xf
2357 + const-string/jumbo v2, "simSerialNumberSetting"
2359 + aput-object v2, v0, v1
2361 + const/16 v1, 0x10
2363 + const-string/jumbo v2, "simSerialNumber"
2365 + aput-object v2, v0, v1
2367 + const/16 v1, 0x11
2369 + const-string/jumbo v2, "subscriberIdSetting"
2371 + aput-object v2, v0, v1
2373 + const/16 v1, 0x12
2375 + const-string/jumbo v2, "subscriberId"
2377 + aput-object v2, v0, v1
2379 + const/16 v1, 0x13
2381 + const-string v2, "accountsSetting"
2383 + aput-object v2, v0, v1
2385 + const/16 v1, 0x14
2387 + const-string v2, "accountsAuthTokensSetting"
2389 + aput-object v2, v0, v1
2391 + const/16 v1, 0x15
2393 + const-string/jumbo v2, "outgoingCallsSetting"
2395 + aput-object v2, v0, v1
2397 + const/16 v1, 0x16
2399 + const-string v2, "incomingCallsSetting"
2401 + aput-object v2, v0, v1
2403 + const/16 v1, 0x17
2405 + const-string v2, "contactsSetting"
2407 + aput-object v2, v0, v1
2409 + const/16 v1, 0x18
2411 + const-string v2, "calendarSetting"
2413 + aput-object v2, v0, v1
2415 + const/16 v1, 0x19
2417 + const-string/jumbo v2, "mmsSetting"
2419 + aput-object v2, v0, v1
2421 + const/16 v1, 0x1a
2423 + const-string/jumbo v2, "smsSetting"
2425 + aput-object v2, v0, v1
2427 + const/16 v1, 0x1b
2429 + const-string v2, "callLogSetting"
2431 + aput-object v2, v0, v1
2433 + const/16 v1, 0x1c
2435 + const-string v2, "bookmarksSetting"
2437 + aput-object v2, v0, v1
2439 + const/16 v1, 0x1d
2441 + const-string/jumbo v2, "systemLogsSetting"
2443 + aput-object v2, v0, v1
2445 + const/16 v1, 0x1e
2447 + const-string v2, "externalStorageSetting"
2449 + aput-object v2, v0, v1
2451 + const/16 v1, 0x1f
2453 + const-string v2, "cameraSetting"
2455 + aput-object v2, v0, v1
2457 + const/16 v1, 0x20
2459 + const-string/jumbo v2, "recordAudioSetting"
2461 + aput-object v2, v0, v1
2463 + const/16 v1, 0x21
2465 + const-string/jumbo v2, "notificationSetting"
2467 + aput-object v2, v0, v1
2469 + const/16 v1, 0x22
2471 + const-string v2, "intentBootCompletedSetting"
2473 + aput-object v2, v0, v1
2475 + sput-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->DATABASE_FIELDS:[Ljava/lang/String;
2477 + return-void
2478 +.end method
2480 +.method public constructor <init>(Landroid/content/Context;)V
2481 + .registers 6
2483 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
2485 + iput-object p1, p0, Landroid/privacy/PrivacyPersistenceAdapter;->context:Landroid/content/Context;
2487 + new-instance v2, Ljava/io/File;
2489 + const-string v3, "/data/system/"
2491 + invoke-direct {v2, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
2493 + invoke-virtual {v2}, Ljava/io/File;->canWrite()Z
2495 + move-result v0
2497 + if-eqz v0, :cond_3c
2499 + new-instance v2, Ljava/io/File;
2501 + const-string v3, "/data/system/privacy.db"
2503 + invoke-direct {v2, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
2505 + invoke-virtual {v2}, Ljava/io/File;->exists()Z
2507 + move-result v2
2509 + if-nez v2, :cond_22
2511 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->createDatabase()V
2513 + :cond_22
2514 + new-instance v2, Ljava/io/File;
2516 + const-string v3, "/data/system/privacy"
2518 + invoke-direct {v2, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
2520 + invoke-virtual {v2}, Ljava/io/File;->exists()Z
2522 + move-result v2
2524 + if-nez v2, :cond_32
2526 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->createSettingsDir()V
2528 + :cond_32
2529 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getDbVersion()I
2531 + move-result v1
2533 + const/4 v2, 0x3
2535 + if-ge v1, v2, :cond_3c
2537 + invoke-direct {p0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->upgradeDatabase(I)V
2539 + :cond_3c
2540 + return-void
2541 +.end method
2543 +.method private declared-synchronized createDatabase()V
2544 + .registers 6
2546 + monitor-enter p0
2548 + :try_start_1
2549 + const-string v2, "PrivacyPersistenceAdapter"
2551 + const-string v3, "createDatabase - creating privacy database file"
2553 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
2554 + :try_end_8
2555 + .catchall {:try_start_1 .. :try_end_8} :catchall_4c
2557 + :try_start_8
2558 + const-string v2, "/data/system/privacy.db"
2560 + const/4 v3, 0x0
2562 + const/high16 v4, 0x1000
2564 + invoke-static {v2, v3, v4}, Landroid/database/sqlite/SQLiteDatabase;->openDatabase(Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;I)Landroid/database/sqlite/SQLiteDatabase;
2566 + move-result-object v0
2568 + const-string v2, "PrivacyPersistenceAdapter"
2570 + const-string v3, "createDatabase - creating privacy database"
2572 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
2574 + 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);"
2576 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
2578 + const-string v2, "CREATE TABLE IF NOT EXISTS allowed_contacts ( settings_id, contact_id, PRIMARY KEY(settings_id, contact_id) );"
2580 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
2582 + const-string v2, "CREATE TABLE IF NOT EXISTS map ( name TEXT PRIMARY KEY, value TEXT );"
2584 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
2586 + const-string v2, "INSERT OR REPLACE INTO map (name, value) VALUES (\"db_version\", 3);"
2588 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
2590 + const-string v2, "INSERT OR REPLACE INTO map (name, value) VALUES (\"enabled\", \"1\");"
2592 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
2594 + const-string v2, "INSERT OR REPLACE INTO map (name, value) VALUES (\"notifications_enabled\", \"1\");"
2596 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
2598 + if-eqz v0, :cond_41
2600 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
2602 + move-result v2
2604 + if-eqz v2, :cond_41
2606 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
2607 + :try_end_41
2608 + .catchall {:try_start_8 .. :try_end_41} :catchall_4c
2609 + .catch Landroid/database/SQLException; {:try_start_8 .. :try_end_41} :catch_43
2611 + :cond_41
2612 + :goto_41
2613 + monitor-exit p0
2615 + return-void
2617 + :catch_43
2618 + move-exception v1
2620 + :try_start_44
2621 + const-string v2, "PrivacyPersistenceAdapter"
2623 + const-string v3, "createDatabase - failed to create privacy database"
2625 + invoke-static {v2, v3, v1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
2626 + :try_end_4b
2627 + .catchall {:try_start_44 .. :try_end_4b} :catchall_4c
2629 + goto :goto_41
2631 + :catchall_4c
2632 + move-exception v2
2634 + monitor-exit p0
2636 + throw v2
2637 +.end method
2639 +.method private declared-synchronized createSettingsDir()V
2640 + .registers 4
2642 + monitor-enter p0
2644 + :try_start_1
2645 + new-instance v0, Ljava/io/File;
2647 + const-string v1, "/data/system/privacy/"
2649 + invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
2651 + invoke-virtual {v0}, Ljava/io/File;->mkdirs()Z
2653 + const/4 v1, 0x1
2655 + const/4 v2, 0x0
2657 + invoke-virtual {v0, v1, v2}, Ljava/io/File;->setReadable(ZZ)Z
2659 + const/4 v1, 0x1
2661 + const/4 v2, 0x0
2663 + invoke-virtual {v0, v1, v2}, Ljava/io/File;->setExecutable(ZZ)Z
2664 + :try_end_15
2665 + .catchall {:try_start_1 .. :try_end_15} :catchall_17
2667 + monitor-exit p0
2669 + return-void
2671 + :catchall_17
2672 + move-exception v1
2674 + monitor-exit p0
2676 + throw v1
2677 +.end method
2679 +.method private deleteRecursive(Ljava/io/File;)V
2680 + .registers 7
2682 + invoke-virtual {p1}, Ljava/io/File;->isDirectory()Z
2684 + move-result v4
2686 + if-eqz v4, :cond_16
2688 + invoke-virtual {p1}, Ljava/io/File;->listFiles()[Ljava/io/File;
2690 + move-result-object v0
2692 + array-length v3, v0
2694 + const/4 v2, 0x0
2696 + :goto_c
2697 + if-ge v2, v3, :cond_16
2699 + aget-object v1, v0, v2
2701 + invoke-direct {p0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteRecursive(Ljava/io/File;)V
2703 + add-int/lit8 v2, v2, 0x1
2705 + goto :goto_c
2707 + :cond_16
2708 + invoke-virtual {p1}, Ljava/io/File;->delete()Z
2710 + return-void
2711 +.end method
2713 +.method private getDbVersion()I
2714 + .registers 9
2716 + const/4 v4, 0x1
2718 + const/4 v3, -0x1
2720 + sget-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2722 + sget-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2724 + invoke-virtual {v6}, Ljava/lang/Integer;->intValue()I
2726 + move-result v6
2728 + add-int/lit8 v6, v6, 0x1
2730 + invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
2732 + move-result-object v6
2734 + sput-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2736 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
2738 + move-result-object v1
2740 + :try_start_16
2741 + const-string v6, "SELECT name FROM sqlite_master WHERE type=\'table\' AND name=\'map\';"
2743 + invoke-direct {p0, v1, v6}, Landroid/privacy/PrivacyPersistenceAdapter;->rawQuery(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;)Landroid/database/Cursor;
2745 + move-result-object v0
2747 + if-eqz v0, :cond_5e
2749 + invoke-interface {v0}, Landroid/database/Cursor;->getCount()I
2751 + move-result v6
2753 + if-nez v6, :cond_25
2755 + const/4 v3, 0x1
2757 + :cond_25
2758 + invoke-interface {v0}, Landroid/database/Cursor;->close()V
2760 + sget-object v7, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2762 + monitor-enter v7
2763 + :try_end_2b
2764 + .catch Ljava/lang/Exception; {:try_start_16 .. :try_end_2b} :catch_55
2766 + :try_start_2b
2767 + sget-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2769 + sget-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2771 + invoke-virtual {v6}, Ljava/lang/Integer;->intValue()I
2773 + move-result v6
2775 + add-int/lit8 v6, v6, -0x1
2777 + invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
2779 + move-result-object v6
2781 + sput-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2783 + sget-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
2785 + invoke-virtual {v6}, Ljava/lang/Integer;->intValue()I
2787 + move-result v6
2789 + if-nez v6, :cond_4e
2791 + if-eqz v1, :cond_4e
2793 + invoke-virtual {v1}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
2795 + move-result v6
2797 + if-eqz v6, :cond_4e
2799 + invoke-virtual {v1}, Landroid/database/sqlite/SQLiteDatabase;->close()V
2801 + :cond_4e
2802 + monitor-exit v7
2804 + :goto_4f
2805 + if-ne v3, v4, :cond_66
2807 + :goto_51
2808 + return v3
2810 + :catchall_52
2811 + move-exception v6
2813 + monitor-exit v7
2814 + :try_end_54
2815 + .catchall {:try_start_2b .. :try_end_54} :catchall_52
2817 + :try_start_54
2818 + throw v6
2819 + :try_end_55
2820 + .catch Ljava/lang/Exception; {:try_start_54 .. :try_end_55} :catch_55
2822 + :catch_55
2823 + move-exception v2
2825 + const-string v6, "PrivacyPersistenceAdapter"
2827 + const-string v7, "getDbVersion - failed to check if table map exists (exception)"
2829 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
2831 + goto :goto_4f
2833 + :cond_5e
2834 + :try_start_5e
2835 + const-string v6, "PrivacyPersistenceAdapter"
2837 + const-string v7, "getDbVersion - failed to check if table map exists (cursor is null)"
2839 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
2840 + :try_end_65
2841 + .catch Ljava/lang/Exception; {:try_start_5e .. :try_end_65} :catch_55
2843 + goto :goto_4f
2845 + :cond_66
2846 + const-string v6, "db_version"
2848 + invoke-virtual {p0, v6}, Landroid/privacy/PrivacyPersistenceAdapter;->getValue(Ljava/lang/String;)Ljava/lang/String;
2850 + move-result-object v5
2852 + if-nez v5, :cond_70
2854 + move v3, v4
2856 + goto :goto_51
2858 + :cond_70
2859 + :try_start_70
2860 + invoke-static {v5}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
2861 + :try_end_73
2862 + .catch Ljava/lang/Exception; {:try_start_70 .. :try_end_73} :catch_76
2864 + move-result v4
2866 + move v3, v4
2868 + goto :goto_51
2870 + :catch_76
2871 + move-exception v2
2873 + const-string v6, "PrivacyPersistenceAdapter"
2875 + const-string v7, "getDbVersion - failed to parse database version; returning 1"
2877 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
2879 + move v3, v4
2881 + goto :goto_51
2882 +.end method
2884 +.method private declared-synchronized getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
2885 + .registers 4
2887 + monitor-enter p0
2889 + :try_start_1
2890 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2892 + if-eqz v0, :cond_11
2894 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2896 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
2898 + move-result v0
2900 + if-eqz v0, :cond_11
2902 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2903 + :try_end_f
2904 + .catchall {:try_start_1 .. :try_end_f} :catchall_1e
2906 + :goto_f
2907 + monitor-exit p0
2909 + return-object v0
2911 + :cond_11
2912 + :try_start_11
2913 + const-string v0, "/data/system/privacy.db"
2915 + const/4 v1, 0x0
2917 + const/4 v2, 0x1
2919 + invoke-static {v0, v1, v2}, Landroid/database/sqlite/SQLiteDatabase;->openDatabase(Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;I)Landroid/database/sqlite/SQLiteDatabase;
2921 + move-result-object v0
2923 + iput-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2925 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2926 + :try_end_1d
2927 + .catchall {:try_start_11 .. :try_end_1d} :catchall_1e
2929 + goto :goto_f
2931 + :catchall_1e
2932 + move-exception v0
2934 + monitor-exit p0
2936 + throw v0
2937 +.end method
2939 +.method private declared-synchronized getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
2940 + .registers 4
2942 + monitor-enter p0
2944 + :try_start_1
2945 + new-instance v0, Ljava/io/File;
2947 + const-string v1, "/data/system/privacy.db"
2949 + invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
2951 + invoke-virtual {v0}, Ljava/io/File;->exists()Z
2953 + move-result v0
2955 + if-nez v0, :cond_11
2957 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->createDatabase()V
2959 + :cond_11
2960 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2962 + if-eqz v0, :cond_29
2964 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2966 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
2968 + move-result v0
2970 + if-eqz v0, :cond_29
2972 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2974 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isReadOnly()Z
2976 + move-result v0
2978 + if-nez v0, :cond_29
2980 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
2981 + :try_end_27
2982 + .catchall {:try_start_1 .. :try_end_27} :catchall_36
2984 + :goto_27
2985 + monitor-exit p0
2987 + return-object v0
2989 + :cond_29
2990 + :try_start_29
2991 + const-string v0, "/data/system/privacy.db"
2993 + const/4 v1, 0x0
2995 + const/4 v2, 0x0
2997 + invoke-static {v0, v1, v2}, Landroid/database/sqlite/SQLiteDatabase;->openDatabase(Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;I)Landroid/database/sqlite/SQLiteDatabase;
2999 + move-result-object v0
3001 + iput-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
3003 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
3004 + :try_end_35
3005 + .catchall {:try_start_29 .. :try_end_35} :catchall_36
3007 + goto :goto_27
3009 + :catchall_36
3010 + move-exception v0
3012 + monitor-exit p0
3014 + throw v0
3015 +.end method
3017 +.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;
3018 + .registers 16
3019 + .annotation system Ldalvik/annotation/Throws;
3020 + value = {
3021 + Ljava/lang/Exception;
3023 + .end annotation
3025 + const/4 v0, 0x0
3027 + const/4 v3, 0x0
3029 + const/4 v2, 0x0
3031 + :goto_3
3032 + if-nez v3, :cond_27
3034 + const/4 v4, 0x5
3036 + if-ge v2, v4, :cond_27
3038 + if-eqz v0, :cond_d
3040 + :try_start_a
3041 + invoke-interface {v0}, Landroid/database/Cursor;->close()V
3043 + :cond_d
3044 + 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;
3045 + :try_end_10
3046 + .catch Ljava/lang/IllegalStateException; {:try_start_a .. :try_end_10} :catch_15
3048 + move-result-object v0
3050 + const/4 v3, 0x1
3052 + :goto_12
3053 + add-int/lit8 v2, v2, 0x1
3055 + goto :goto_3
3057 + :catch_15
3058 + move-exception v1
3060 + const/4 v3, 0x0
3062 + if-eqz p1, :cond_22
3064 + invoke-virtual {p1}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3066 + move-result v4
3068 + if-eqz v4, :cond_22
3070 + invoke-virtual {p1}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3072 + :cond_22
3073 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
3075 + move-result-object p1
3077 + goto :goto_12
3079 + :cond_27
3080 + if-nez v3, :cond_32
3082 + new-instance v4, Ljava/lang/Exception;
3084 + const-string/jumbo v5, "query - failed to execute query on the DB"
3086 + invoke-direct {v4, v5}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
3088 + throw v4
3090 + :cond_32
3091 + return-object v0
3092 +.end method
3094 +.method private rawQuery(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;)Landroid/database/Cursor;
3095 + .registers 9
3096 + .annotation system Ldalvik/annotation/Throws;
3097 + value = {
3098 + Ljava/lang/Exception;
3100 + .end annotation
3102 + const/4 v0, 0x0
3104 + const/4 v3, 0x0
3106 + const/4 v2, 0x0
3108 + :goto_3
3109 + if-nez v3, :cond_28
3111 + const/4 v4, 0x5
3113 + if-ge v2, v4, :cond_28
3115 + if-eqz v0, :cond_d
3117 + :try_start_a
3118 + invoke-interface {v0}, Landroid/database/Cursor;->close()V
3120 + :cond_d
3121 + const/4 v4, 0x0
3123 + invoke-virtual {p1, p2, v4}, Landroid/database/sqlite/SQLiteDatabase;->rawQuery(Ljava/lang/String;[Ljava/lang/String;)Landroid/database/Cursor;
3124 + :try_end_11
3125 + .catch Ljava/lang/IllegalStateException; {:try_start_a .. :try_end_11} :catch_16
3127 + move-result-object v0
3129 + const/4 v3, 0x1
3131 + :goto_13
3132 + add-int/lit8 v2, v2, 0x1
3134 + goto :goto_3
3136 + :catch_16
3137 + move-exception v1
3139 + const/4 v3, 0x0
3141 + if-eqz p1, :cond_23
3143 + invoke-virtual {p1}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3145 + move-result v4
3147 + if-eqz v4, :cond_23
3149 + invoke-virtual {p1}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3151 + :cond_23
3152 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
3154 + move-result-object p1
3156 + goto :goto_13
3158 + :cond_28
3159 + if-nez v3, :cond_33
3161 + new-instance v4, Ljava/lang/Exception;
3163 + const-string/jumbo v5, "query - failed to execute query on the DB"
3165 + invoke-direct {v4, v5}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
3167 + throw v4
3169 + :cond_33
3170 + return-object v0
3171 +.end method
3173 +.method private declared-synchronized upgradeDatabase(I)V
3174 + .registers 23
3176 + monitor-enter p0
3178 + :try_start_1
3179 + const-string v17, "PrivacyPersistenceAdapter"
3181 + new-instance v18, Ljava/lang/StringBuilder;
3183 + invoke-direct/range {v18 .. v18}, Ljava/lang/StringBuilder;-><init>()V
3185 + const-string/jumbo v19, "upgradeDatabase - upgrading DB from version "
3187 + invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3189 + move-result-object v18
3191 + move-object/from16 v0, v18
3193 + move/from16 v1, p1
3195 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
3197 + move-result-object v18
3199 + const-string v19, " to "
3201 + invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3203 + move-result-object v18
3205 + const/16 v19, 0x3
3207 + invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
3209 + move-result-object v18
3211 + invoke-virtual/range {v18 .. v18}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3213 + move-result-object v18
3215 + invoke-static/range {v17 .. v18}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
3217 + new-instance v6, Ljava/io/File;
3219 + const-string v17, "/data/system/privacy.db"
3221 + move-object/from16 v0, v17
3223 + invoke-direct {v6, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
3225 + new-instance v5, Ljava/io/File;
3227 + const-string v17, "/data/system/privacy.db.bak"
3229 + move-object/from16 v0, v17
3231 + invoke-direct {v5, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
3232 + :try_end_3c
3233 + .catchall {:try_start_1 .. :try_end_3c} :catchall_66
3235 + :try_start_3c
3236 + invoke-virtual {v5}, Ljava/io/File;->delete()Z
3237 + :try_end_3f
3238 + .catchall {:try_start_3c .. :try_end_3f} :catchall_66
3239 + .catch Ljava/lang/SecurityException; {:try_start_3c .. :try_end_3f} :catch_5c
3241 + :goto_3f
3242 + :try_start_3f
3243 + invoke-static {v6, v5}, Landroid/os/FileUtils;->copyFile(Ljava/io/File;Ljava/io/File;)Z
3245 + invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
3247 + move-result-wide v17
3249 + invoke-virtual {v5}, Ljava/io/File;->lastModified()J
3251 + move-result-wide v19
3253 + sub-long v17, v17, v19
3255 + const-wide/16 v19, 0x7d0
3257 + cmp-long v17, v17, v19
3259 + if-lez v17, :cond_69
3261 + const-string v17, "PrivacyPersistenceAdapter"
3263 + const-string/jumbo v18, "upgradeDatabase - could not create a database backup, aborting..."
3265 + invoke-static/range {v17 .. v18}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
3266 + :try_end_5a
3267 + .catchall {:try_start_3f .. :try_end_5a} :catchall_66
3269 + :goto_5a
3270 + monitor-exit p0
3272 + return-void
3274 + :catch_5c
3275 + move-exception v7
3277 + :try_start_5d
3278 + const-string v17, "PrivacyPersistenceAdapter"
3280 + const-string/jumbo v18, "upgradeDatabase - could not remove old backup"
3282 + invoke-static/range {v17 .. v18}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
3283 + :try_end_65
3284 + .catchall {:try_start_5d .. :try_end_65} :catchall_66
3286 + goto :goto_3f
3288 + :catchall_66
3289 + move-exception v17
3291 + monitor-exit p0
3293 + throw v17
3295 + :cond_69
3296 + :try_start_69
3297 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
3299 + move-result-object v4
3301 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->beginTransaction()V
3303 + packed-switch p1, :pswitch_data_164
3305 + :cond_73
3306 + :goto_73
3307 + if-eqz v4, :cond_159
3309 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3311 + move-result v17
3313 + if-eqz v17, :cond_159
3315 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
3317 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3319 + :goto_81
3320 + invoke-virtual/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->purgeSettings()Z
3321 + :try_end_84
3322 + .catchall {:try_start_69 .. :try_end_84} :catchall_66
3324 + goto :goto_5a
3326 + :pswitch_85
3327 + if-eqz v4, :cond_73
3329 + :try_start_87
3330 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3332 + move-result v17
3334 + if-eqz v17, :cond_73
3336 + const-string v17, "DROP TABLE IF EXISTS version;"
3338 + move-object/from16 v0, v17
3340 + invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
3342 + const-string v17, "CREATE TABLE IF NOT EXISTS allowed_contacts ( settings_id, contact_id, PRIMARY KEY(settings_id, contact_id) );"
3344 + move-object/from16 v0, v17
3346 + invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
3348 + const-string v17, "CREATE TABLE IF NOT EXISTS map ( name TEXT PRIMARY KEY, value TEXT );"
3350 + move-object/from16 v0, v17
3352 + invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
3354 + const-string v17, "INSERT OR REPLACE INTO map (name, value) VALUES (\"db_version\", 3);"
3356 + move-object/from16 v0, v17
3358 + invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
3360 + const-string v17, "INSERT OR REPLACE INTO map (name, value) VALUES (\"enabled\", \"1\");"
3362 + move-object/from16 v0, v17
3364 + invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
3366 + const-string v17, "INSERT OR REPLACE INTO map (name, value) VALUES (\"notifications_enabled\", \"1\");"
3368 + move-object/from16 v0, v17
3370 + invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
3372 + new-instance v14, Ljava/io/File;
3374 + const-string v17, "/data/system/privacy"
3376 + move-object/from16 v0, v17
3378 + invoke-direct {v14, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
3380 + invoke-virtual {v14}, Ljava/io/File;->listFiles()[Ljava/io/File;
3382 + move-result-object v2
3384 + array-length v10, v2
3386 + const/4 v8, 0x0
3388 + move v9, v8
3390 + :goto_c7
3391 + if-ge v9, v10, :cond_127
3393 + aget-object v13, v2, v9
3395 + invoke-virtual {v13}, Ljava/io/File;->listFiles()[Ljava/io/File;
3397 + move-result-object v3
3399 + array-length v11, v3
3401 + const/4 v8, 0x0
3403 + :goto_d1
3404 + if-ge v8, v11, :cond_123
3406 + aget-object v16, v3, v8
3408 + invoke-virtual/range {v16 .. v16}, Ljava/io/File;->isDirectory()Z
3410 + move-result v17
3412 + if-eqz v17, :cond_120
3414 + invoke-virtual/range {v16 .. v16}, Ljava/io/File;->listFiles()[Ljava/io/File;
3416 + move-result-object v15
3418 + const/16 v17, 0x0
3420 + aget-object v17, v15, v17
3422 + if-eqz v17, :cond_120
3424 + new-instance v12, Ljava/io/File;
3426 + new-instance v17, Ljava/lang/StringBuilder;
3428 + invoke-direct/range {v17 .. v17}, Ljava/lang/StringBuilder;-><init>()V
3430 + move-object/from16 v0, v17
3432 + invoke-virtual {v0, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
3434 + move-result-object v17
3436 + const-string v18, "/"
3438 + invoke-virtual/range {v17 .. v18}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3440 + move-result-object v17
3442 + const/16 v18, 0x0
3444 + aget-object v18, v15, v18
3446 + invoke-virtual/range {v18 .. v18}, Ljava/io/File;->getName()Ljava/lang/String;
3448 + move-result-object v18
3450 + invoke-virtual/range {v17 .. v18}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3452 + move-result-object v17
3454 + invoke-virtual/range {v17 .. v17}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3456 + move-result-object v17
3458 + move-object/from16 v0, v17
3460 + invoke-direct {v12, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
3462 + invoke-virtual {v12}, Ljava/io/File;->delete()Z
3464 + const/16 v17, 0x0
3466 + aget-object v17, v15, v17
3468 + move-object/from16 v0, v17
3470 + invoke-virtual {v0, v12}, Ljava/io/File;->renameTo(Ljava/io/File;)Z
3472 + move-object/from16 v0, p0
3474 + move-object/from16 v1, v16
3476 + invoke-direct {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteRecursive(Ljava/io/File;)V
3478 + :cond_120
3479 + add-int/lit8 v8, v8, 0x1
3481 + goto :goto_d1
3483 + :cond_123
3484 + add-int/lit8 v8, v9, 0x1
3486 + move v9, v8
3488 + goto :goto_c7
3490 + :cond_127
3491 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->setTransactionSuccessful()V
3492 + :try_end_12a
3493 + .catchall {:try_start_87 .. :try_end_12a} :catchall_66
3494 + .catch Ljava/lang/Exception; {:try_start_87 .. :try_end_12a} :catch_12c
3496 + goto/16 :goto_73
3498 + :catch_12c
3499 + move-exception v7
3501 + if-eqz v4, :cond_13b
3503 + :try_start_12f
3504 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3506 + move-result v17
3508 + if-eqz v17, :cond_13b
3510 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
3512 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3514 + :cond_13b
3515 + const-string v17, "PrivacyPersistenceAdapter"
3517 + const-string/jumbo v18, "upgradeDatabase - could not upgrade DB; will restore backup"
3519 + move-object/from16 v0, v17
3521 + move-object/from16 v1, v18
3523 + invoke-static {v0, v1, v7}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
3525 + invoke-static {v5, v6}, Landroid/os/FileUtils;->copyFile(Ljava/io/File;Ljava/io/File;)Z
3527 + invoke-virtual {v5}, Ljava/io/File;->delete()Z
3529 + goto/16 :goto_73
3531 + :pswitch_14f
3532 + const-string v17, "PrivacyPersistenceAdapter"
3534 + const-string/jumbo v18, "upgradeDatabase - trying to upgrade most current DB version"
3536 + invoke-static/range {v17 .. v18}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
3538 + goto/16 :goto_73
3540 + :cond_159
3541 + const-string v17, "PrivacyPersistenceAdapter"
3543 + const-string/jumbo v18, "upgradeDatabase - database is null or closed; cant call endTransaction()"
3545 + invoke-static/range {v17 .. v18}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
3546 + :try_end_161
3547 + .catchall {:try_start_12f .. :try_end_161} :catchall_66
3549 + goto/16 :goto_81
3551 + nop
3553 + :pswitch_data_164
3554 + .packed-switch 0x1
3555 + :pswitch_85
3556 + :pswitch_85
3557 + :pswitch_14f
3558 + .end packed-switch
3559 +.end method
3562 +# virtual methods
3563 +.method public declared-synchronized deleteSettings(Ljava/lang/String;)Z
3564 + .registers 16
3566 + monitor-enter p0
3568 + const/4 v11, 0x1
3570 + :try_start_2
3571 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
3573 + move-result-object v0
3575 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->beginTransaction()V
3576 + :try_end_9
3577 + .catchall {:try_start_2 .. :try_end_9} :catchall_107
3579 + :try_start_9
3580 + const-string/jumbo v1, "settings"
3582 + const/4 v2, 0x1
3584 + new-array v2, v2, [Ljava/lang/String;
3586 + const/4 v3, 0x0
3588 + const-string v4, "_id"
3590 + aput-object v4, v2, v3
3592 + const-string/jumbo v3, "packageName=?"
3594 + const/4 v4, 0x1
3596 + new-array v4, v4, [Ljava/lang/String;
3598 + const/4 v5, 0x0
3600 + aput-object p1, v4, v5
3602 + const/4 v5, 0x0
3604 + const/4 v6, 0x0
3606 + const/4 v7, 0x0
3608 + 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;
3610 + move-result-object v8
3612 + if-eqz v8, :cond_4c
3614 + invoke-interface {v8}, Landroid/database/Cursor;->getCount()I
3616 + move-result v1
3618 + if-lez v1, :cond_4c
3620 + invoke-interface {v8}, Landroid/database/Cursor;->moveToFirst()Z
3622 + move-result v1
3624 + if-eqz v1, :cond_4c
3626 + const/4 v1, 0x0
3628 + invoke-interface {v8, v1}, Landroid/database/Cursor;->getInt(I)I
3630 + move-result v10
3632 + const-string v1, "allowed_contacts"
3634 + const-string/jumbo v2, "settings_id=?"
3636 + const/4 v3, 0x1
3638 + new-array v3, v3, [Ljava/lang/String;
3640 + const/4 v4, 0x0
3642 + invoke-static {v10}, Ljava/lang/Integer;->toString(I)Ljava/lang/String;
3644 + move-result-object v5
3646 + aput-object v5, v3, v4
3648 + invoke-virtual {v0, v1, v2, v3}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
3650 + invoke-interface {v8}, Landroid/database/Cursor;->close()V
3652 + :cond_4c
3653 + const-string/jumbo v1, "settings"
3655 + const-string/jumbo v2, "packageName=?"
3657 + const/4 v3, 0x1
3659 + new-array v3, v3, [Ljava/lang/String;
3661 + const/4 v4, 0x0
3663 + aput-object p1, v3, v4
3665 + invoke-virtual {v0, v1, v2, v3}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
3667 + move-result v1
3669 + if-nez v1, :cond_8d
3671 + const-string v1, "PrivacyPersistenceAdapter"
3673 + new-instance v2, Ljava/lang/StringBuilder;
3675 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
3677 + const-string v3, "deleteSettings - database entry for "
3679 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3681 + move-result-object v2
3683 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3685 + move-result-object v2
3687 + const-string v3, " not found"
3689 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3691 + move-result-object v2
3693 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3695 + move-result-object v2
3697 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
3698 + :try_end_7c
3699 + .catchall {:try_start_9 .. :try_end_7c} :catchall_10a
3700 + .catch Ljava/lang/Exception; {:try_start_9 .. :try_end_7c} :catch_ef
3702 + const/4 v1, 0x0
3704 + :try_start_7d
3705 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
3707 + if-eqz v0, :cond_8b
3709 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3711 + move-result v2
3713 + if-eqz v2, :cond_8b
3715 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3716 + :try_end_8b
3717 + .catchall {:try_start_7d .. :try_end_8b} :catchall_107
3719 + :cond_8b
3720 + :goto_8b
3721 + monitor-exit p0
3723 + return v1
3725 + :cond_8d
3726 + :try_start_8d
3727 + new-instance v12, Ljava/io/File;
3729 + new-instance v1, Ljava/lang/StringBuilder;
3731 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
3733 + const-string v2, "/data/system/privacy/"
3735 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3737 + move-result-object v1
3739 + invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3741 + move-result-object v1
3743 + const-string v2, "/"
3745 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3747 + move-result-object v1
3749 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3751 + move-result-object v1
3753 + invoke-direct {v12, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
3755 + new-instance v13, Ljava/io/File;
3757 + new-instance v1, Ljava/lang/StringBuilder;
3759 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
3761 + const-string v2, "/data/system/privacy/"
3763 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3765 + move-result-object v1
3767 + invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3769 + move-result-object v1
3771 + const-string v2, "/systemLogsSetting"
3773 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3775 + move-result-object v1
3777 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3779 + move-result-object v1
3781 + invoke-direct {v13, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
3783 + invoke-virtual {v13}, Ljava/io/File;->delete()Z
3785 + invoke-virtual {v12}, Ljava/io/File;->list()[Ljava/lang/String;
3787 + move-result-object v1
3789 + if-eqz v1, :cond_d9
3791 + invoke-virtual {v12}, Ljava/io/File;->list()[Ljava/lang/String;
3793 + move-result-object v1
3795 + array-length v1, v1
3797 + if-nez v1, :cond_dc
3799 + :cond_d9
3800 + invoke-virtual {v12}, Ljava/io/File;->delete()Z
3802 + :cond_dc
3803 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->setTransactionSuccessful()V
3804 + :try_end_df
3805 + .catchall {:try_start_8d .. :try_end_df} :catchall_10a
3806 + .catch Ljava/lang/Exception; {:try_start_8d .. :try_end_df} :catch_ef
3808 + :try_start_df
3809 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
3811 + if-eqz v0, :cond_ed
3813 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3815 + move-result v1
3817 + if-eqz v1, :cond_ed
3819 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3820 + :try_end_ed
3821 + .catchall {:try_start_df .. :try_end_ed} :catchall_107
3823 + :cond_ed
3824 + :goto_ed
3825 + move v1, v11
3827 + goto :goto_8b
3829 + :catch_ef
3830 + move-exception v9
3832 + const/4 v11, 0x0
3834 + :try_start_f1
3835 + const-string v1, "PrivacyPersistenceAdapter"
3837 + const-string v2, "deleteSettings - could not delete settings"
3839 + invoke-static {v1, v2, v9}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
3840 + :try_end_f8
3841 + .catchall {:try_start_f1 .. :try_end_f8} :catchall_10a
3843 + :try_start_f8
3844 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
3846 + if-eqz v0, :cond_ed
3848 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3850 + move-result v1
3852 + if-eqz v1, :cond_ed
3854 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3855 + :try_end_106
3856 + .catchall {:try_start_f8 .. :try_end_106} :catchall_107
3858 + goto :goto_ed
3860 + :catchall_107
3861 + move-exception v1
3863 + monitor-exit p0
3865 + throw v1
3867 + :catchall_10a
3868 + move-exception v1
3870 + :try_start_10b
3871 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
3873 + if-eqz v0, :cond_119
3875 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
3877 + move-result v2
3879 + if-eqz v2, :cond_119
3881 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
3883 + :cond_119
3884 + throw v1
3885 + :try_end_11a
3886 + .catchall {:try_start_10b .. :try_end_11a} :catchall_107
3887 +.end method
3889 +.method public declared-synchronized getSettings(Ljava/lang/String;Z)Landroid/privacy/PrivacySettings;
3890 + .registers 47
3892 + monitor-enter p0
3894 + const/16 v43, 0x0
3896 + if-nez p1, :cond_10
3898 + :try_start_5
3899 + const-string v1, "PrivacyPersistenceAdapter"
3901 + const-string v4, "getSettings - insufficient application identifier - package name is required"
3903 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
3904 + :try_end_c
3905 + .catchall {:try_start_5 .. :try_end_c} :catchall_2d8
3907 + move-object/from16 v3, v43
3909 + :goto_e
3910 + monitor-exit p0
3912 + return-object v43
3914 + :cond_10
3915 + :try_start_10
3916 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
3918 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
3920 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
3922 + move-result v1
3924 + add-int/lit8 v1, v1, 0x1
3926 + invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
3928 + move-result-object v1
3930 + sput-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
3931 + :try_end_20
3932 + .catchall {:try_start_10 .. :try_end_20} :catchall_2d8
3934 + :try_start_20
3935 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
3936 + :try_end_23
3937 + .catchall {:try_start_20 .. :try_end_23} :catchall_2d8
3938 + .catch Landroid/database/sqlite/SQLiteException; {:try_start_20 .. :try_end_23} :catch_245
3940 + move-result-object v2
3942 + const/16 v41, 0x0
3944 + :try_start_26
3945 + const-string/jumbo v3, "settings"
3947 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->DATABASE_FIELDS:[Ljava/lang/String;
3949 + const-string/jumbo v5, "packageName=?"
3951 + const/4 v1, 0x1
3953 + new-array v6, v1, [Ljava/lang/String;
3955 + const/4 v1, 0x0
3957 + aput-object p1, v6, v1
3959 + const/4 v7, 0x0
3961 + const/4 v8, 0x0
3963 + const/4 v9, 0x0
3965 + const/4 v10, 0x0
3967 + move-object/from16 v1, p0
3969 + 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;
3971 + move-result-object v41
3973 + if-eqz v41, :cond_2dc
3975 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->moveToFirst()Z
3977 + move-result v1
3979 + if-eqz v1, :cond_2dc
3981 + new-instance v3, Landroid/privacy/PrivacySettings;
3983 + const/4 v1, 0x0
3985 + move-object/from16 v0, v41
3987 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getInt(I)I
3989 + move-result v1
3991 + invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
3993 + move-result-object v4
3995 + const/4 v1, 0x1
3997 + move-object/from16 v0, v41
3999 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
4001 + move-result-object v5
4003 + const/4 v1, 0x2
4005 + move-object/from16 v0, v41
4007 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getInt(I)I
4009 + move-result v6
4011 + const/4 v1, 0x3
4013 + move-object/from16 v0, v41
4015 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4017 + move-result v1
4019 + int-to-byte v7, v1
4021 + const/4 v1, 0x4
4023 + move-object/from16 v0, v41
4025 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
4027 + move-result-object v8
4029 + const/4 v1, 0x5
4031 + move-object/from16 v0, v41
4033 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4035 + move-result v1
4037 + int-to-byte v9, v1
4039 + const/4 v1, 0x6
4041 + move-object/from16 v0, v41
4043 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
4045 + move-result-object v10
4047 + const/4 v1, 0x7
4049 + move-object/from16 v0, v41
4051 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4053 + move-result v1
4055 + int-to-byte v11, v1
4057 + const/16 v1, 0x8
4059 + move-object/from16 v0, v41
4061 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
4063 + move-result-object v12
4065 + const/16 v1, 0x9
4067 + move-object/from16 v0, v41
4069 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
4071 + move-result-object v13
4073 + const/16 v1, 0xa
4075 + move-object/from16 v0, v41
4077 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4079 + move-result v1
4081 + int-to-byte v14, v1
4083 + const/16 v1, 0xb
4085 + move-object/from16 v0, v41
4087 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
4089 + move-result-object v15
4091 + const/16 v1, 0xc
4093 + move-object/from16 v0, v41
4095 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
4097 + move-result-object v16
4099 + const/16 v1, 0xd
4101 + move-object/from16 v0, v41
4103 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4105 + move-result v1
4107 + int-to-byte v0, v1
4109 + move/from16 v17, v0
4111 + const/16 v1, 0xe
4113 + move-object/from16 v0, v41
4115 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4117 + move-result v1
4119 + int-to-byte v0, v1
4121 + move/from16 v18, v0
4123 + const/16 v1, 0xf
4125 + move-object/from16 v0, v41
4127 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4129 + move-result v1
4131 + int-to-byte v0, v1
4133 + move/from16 v19, v0
4135 + const/16 v1, 0x10
4137 + move-object/from16 v0, v41
4139 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
4141 + move-result-object v20
4143 + const/16 v1, 0x11
4145 + move-object/from16 v0, v41
4147 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4149 + move-result v1
4151 + int-to-byte v0, v1
4153 + move/from16 v21, v0
4155 + const/16 v1, 0x12
4157 + move-object/from16 v0, v41
4159 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
4161 + move-result-object v22
4163 + const/16 v1, 0x13
4165 + move-object/from16 v0, v41
4167 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4169 + move-result v1
4171 + int-to-byte v0, v1
4173 + move/from16 v23, v0
4175 + const/16 v1, 0x14
4177 + move-object/from16 v0, v41
4179 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4181 + move-result v1
4183 + int-to-byte v0, v1
4185 + move/from16 v24, v0
4187 + const/16 v1, 0x15
4189 + move-object/from16 v0, v41
4191 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4193 + move-result v1
4195 + int-to-byte v0, v1
4197 + move/from16 v25, v0
4199 + const/16 v1, 0x16
4201 + move-object/from16 v0, v41
4203 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4205 + move-result v1
4207 + int-to-byte v0, v1
4209 + move/from16 v26, v0
4211 + const/16 v1, 0x17
4213 + move-object/from16 v0, v41
4215 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4217 + move-result v1
4219 + int-to-byte v0, v1
4221 + move/from16 v27, v0
4223 + const/16 v1, 0x18
4225 + move-object/from16 v0, v41
4227 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4229 + move-result v1
4231 + int-to-byte v0, v1
4233 + move/from16 v28, v0
4235 + const/16 v1, 0x19
4237 + move-object/from16 v0, v41
4239 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4241 + move-result v1
4243 + int-to-byte v0, v1
4245 + move/from16 v29, v0
4247 + const/16 v1, 0x1a
4249 + move-object/from16 v0, v41
4251 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4253 + move-result v1
4255 + int-to-byte v0, v1
4257 + move/from16 v30, v0
4259 + const/16 v1, 0x1b
4261 + move-object/from16 v0, v41
4263 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4265 + move-result v1
4267 + int-to-byte v0, v1
4269 + move/from16 v31, v0
4271 + const/16 v1, 0x1c
4273 + move-object/from16 v0, v41
4275 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4277 + move-result v1
4279 + int-to-byte v0, v1
4281 + move/from16 v32, v0
4283 + const/16 v1, 0x1d
4285 + move-object/from16 v0, v41
4287 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4289 + move-result v1
4291 + int-to-byte v0, v1
4293 + move/from16 v33, v0
4295 + const/16 v1, 0x1e
4297 + move-object/from16 v0, v41
4299 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4301 + move-result v1
4303 + int-to-byte v0, v1
4305 + move/from16 v34, v0
4307 + const/16 v1, 0x1f
4309 + move-object/from16 v0, v41
4311 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4313 + move-result v1
4315 + int-to-byte v0, v1
4317 + move/from16 v35, v0
4319 + const/16 v1, 0x20
4321 + move-object/from16 v0, v41
4323 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4325 + move-result v1
4327 + int-to-byte v0, v1
4329 + move/from16 v36, v0
4331 + const/16 v1, 0x21
4333 + move-object/from16 v0, v41
4335 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4337 + move-result v1
4339 + int-to-byte v0, v1
4341 + move/from16 v37, v0
4343 + const/16 v1, 0x22
4345 + move-object/from16 v0, v41
4347 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
4349 + move-result v1
4351 + int-to-byte v0, v1
4353 + move/from16 v38, v0
4355 + const/16 v39, 0x0
4357 + 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
4358 + :try_end_1a1
4359 + .catchall {:try_start_26 .. :try_end_1a1} :catchall_29b
4360 + .catch Ljava/lang/Exception; {:try_start_26 .. :try_end_1a1} :catch_2d3
4362 + :try_start_1a1
4363 + new-instance v1, Ljava/lang/StringBuilder;
4365 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
4367 + const-string v4, "SELECT * FROM allowed_contacts WHERE settings_id="
4369 + invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4371 + move-result-object v1
4373 + invoke-virtual {v3}, Landroid/privacy/PrivacySettings;->get_id()Ljava/lang/Integer;
4375 + move-result-object v4
4377 + invoke-virtual {v4}, Ljava/lang/Integer;->intValue()I
4379 + move-result v4
4381 + invoke-static {v4}, Ljava/lang/Integer;->toString(I)Ljava/lang/String;
4383 + move-result-object v4
4385 + invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4387 + move-result-object v1
4389 + const-string v4, ";"
4391 + invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4393 + move-result-object v1
4395 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4397 + move-result-object v1
4399 + move-object/from16 v0, p0
4401 + invoke-direct {v0, v2, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->rawQuery(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;)Landroid/database/Cursor;
4403 + move-result-object v41
4405 + if-eqz v41, :cond_268
4407 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->getCount()I
4409 + move-result v1
4411 + if-lez v1, :cond_268
4413 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->getCount()I
4415 + move-result v1
4417 + new-array v0, v1, [I
4419 + move-object/from16 v40, v0
4421 + :goto_1dc
4422 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->moveToNext()Z
4424 + move-result v1
4426 + if-eqz v1, :cond_263
4428 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->getPosition()I
4430 + move-result v1
4432 + const/4 v4, 0x1
4434 + move-object/from16 v0, v41
4436 + invoke-interface {v0, v4}, Landroid/database/Cursor;->getInt(I)I
4438 + move-result v4
4440 + aput v4, v40, v1
4441 + :try_end_1ef
4442 + .catchall {:try_start_1a1 .. :try_end_1ef} :catchall_2d1
4443 + .catch Ljava/lang/Exception; {:try_start_1a1 .. :try_end_1ef} :catch_1f0
4445 + goto :goto_1dc
4447 + :catch_1f0
4448 + move-exception v42
4450 + :goto_1f1
4451 + :try_start_1f1
4452 + const-string v1, "PrivacyPersistenceAdapter"
4454 + new-instance v4, Ljava/lang/StringBuilder;
4456 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
4458 + const-string v5, "getSettings - failed to get settings for package: "
4460 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4462 + move-result-object v4
4464 + move-object/from16 v0, p1
4466 + invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4468 + move-result-object v4
4470 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4472 + move-result-object v4
4474 + move-object/from16 v0, v42
4476 + invoke-static {v1, v4, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
4478 + invoke-virtual/range {v42 .. v42}, Ljava/lang/Exception;->printStackTrace()V
4480 + if-eqz v41, :cond_215
4482 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->close()V
4483 + :try_end_215
4484 + .catchall {:try_start_1f1 .. :try_end_215} :catchall_2d1
4486 + :cond_215
4487 + if-eqz v41, :cond_21a
4489 + :try_start_217
4490 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->close()V
4492 + :cond_21a
4493 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4495 + monitor-enter v4
4496 + :try_end_21d
4497 + .catchall {:try_start_217 .. :try_end_21d} :catchall_298
4499 + :try_start_21d
4500 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4502 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4504 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
4506 + move-result v1
4508 + add-int/lit8 v1, v1, -0x1
4510 + invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4512 + move-result-object v1
4514 + sput-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4516 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4518 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
4520 + move-result v1
4522 + if-nez v1, :cond_240
4524 + if-eqz v2, :cond_240
4526 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
4528 + move-result v1
4530 + if-eqz v1, :cond_240
4532 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
4534 + :cond_240
4535 + monitor-exit v4
4536 + :try_end_241
4537 + .catchall {:try_start_21d .. :try_end_241} :catchall_2ce
4539 + :goto_241
4540 + move-object/from16 v43, v3
4542 + goto/16 :goto_e
4544 + :catch_245
4545 + move-exception v42
4547 + :try_start_246
4548 + const-string v1, "PrivacyPersistenceAdapter"
4550 + const-string v4, "getSettings - database could not be opened"
4552 + move-object/from16 v0, v42
4554 + invoke-static {v1, v4, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
4556 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4558 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4560 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
4562 + move-result v1
4564 + add-int/lit8 v1, v1, -0x1
4566 + invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4568 + move-result-object v1
4570 + sput-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4571 + :try_end_25f
4572 + .catchall {:try_start_246 .. :try_end_25f} :catchall_2d8
4574 + move-object/from16 v3, v43
4576 + goto/16 :goto_e
4578 + :cond_263
4579 + :try_start_263
4580 + move-object/from16 v0, v40
4582 + invoke-virtual {v3, v0}, Landroid/privacy/PrivacySettings;->setAllowedContacts([I)V
4583 + :try_end_268
4584 + .catchall {:try_start_263 .. :try_end_268} :catchall_2d1
4585 + .catch Ljava/lang/Exception; {:try_start_263 .. :try_end_268} :catch_1f0
4587 + :cond_268
4588 + :goto_268
4589 + if-eqz v41, :cond_26d
4591 + :try_start_26a
4592 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->close()V
4594 + :cond_26d
4595 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4597 + monitor-enter v4
4598 + :try_end_270
4599 + .catchall {:try_start_26a .. :try_end_270} :catchall_298
4601 + :try_start_270
4602 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4604 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4606 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
4608 + move-result v1
4610 + add-int/lit8 v1, v1, -0x1
4612 + invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4614 + move-result-object v1
4616 + sput-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4618 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4620 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
4622 + move-result v1
4624 + if-nez v1, :cond_293
4626 + if-eqz v2, :cond_293
4628 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
4630 + move-result v1
4632 + if-eqz v1, :cond_293
4634 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
4636 + :cond_293
4637 + monitor-exit v4
4639 + goto :goto_241
4641 + :catchall_295
4642 + move-exception v1
4644 + monitor-exit v4
4645 + :try_end_297
4646 + .catchall {:try_start_270 .. :try_end_297} :catchall_295
4648 + :try_start_297
4649 + throw v1
4650 + :try_end_298
4651 + .catchall {:try_start_297 .. :try_end_298} :catchall_298
4653 + :catchall_298
4654 + move-exception v1
4656 + :goto_299
4657 + monitor-exit p0
4659 + throw v1
4661 + :catchall_29b
4662 + move-exception v1
4664 + move-object/from16 v3, v43
4666 + :goto_29e
4667 + if-eqz v41, :cond_2a3
4669 + :try_start_2a0
4670 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->close()V
4672 + :cond_2a3
4673 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4675 + monitor-enter v4
4676 + :try_end_2a6
4677 + .catchall {:try_start_2a0 .. :try_end_2a6} :catchall_298
4679 + :try_start_2a6
4680 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4682 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4684 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
4686 + move-result v5
4688 + add-int/lit8 v5, v5, -0x1
4690 + invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4692 + move-result-object v5
4694 + sput-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4696 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4698 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
4700 + move-result v5
4702 + if-nez v5, :cond_2c9
4704 + if-eqz v2, :cond_2c9
4706 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
4708 + move-result v5
4710 + if-eqz v5, :cond_2c9
4712 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
4714 + :cond_2c9
4715 + monitor-exit v4
4716 + :try_end_2ca
4717 + .catchall {:try_start_2a6 .. :try_end_2ca} :catchall_2cb
4719 + :try_start_2ca
4720 + throw v1
4721 + :try_end_2cb
4722 + .catchall {:try_start_2ca .. :try_end_2cb} :catchall_298
4724 + :catchall_2cb
4725 + move-exception v1
4727 + :try_start_2cc
4728 + monitor-exit v4
4729 + :try_end_2cd
4730 + .catchall {:try_start_2cc .. :try_end_2cd} :catchall_2cb
4732 + :try_start_2cd
4733 + throw v1
4734 + :try_end_2ce
4735 + .catchall {:try_start_2cd .. :try_end_2ce} :catchall_298
4737 + :catchall_2ce
4738 + move-exception v1
4740 + :try_start_2cf
4741 + monitor-exit v4
4742 + :try_end_2d0
4743 + .catchall {:try_start_2cf .. :try_end_2d0} :catchall_2ce
4745 + :try_start_2d0
4746 + throw v1
4747 + :try_end_2d1
4748 + .catchall {:try_start_2d0 .. :try_end_2d1} :catchall_298
4750 + :catchall_2d1
4751 + move-exception v1
4753 + goto :goto_29e
4755 + :catch_2d3
4756 + move-exception v42
4758 + move-object/from16 v3, v43
4760 + goto/16 :goto_1f1
4762 + :catchall_2d8
4763 + move-exception v1
4765 + move-object/from16 v3, v43
4767 + goto :goto_299
4769 + :cond_2dc
4770 + move-object/from16 v3, v43
4772 + goto :goto_268
4773 +.end method
4775 +.method public getValue(Ljava/lang/String;)Ljava/lang/String;
4776 + .registers 15
4778 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4780 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4782 + invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
4784 + move-result v0
4786 + add-int/lit8 v0, v0, 0x1
4788 + invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4790 + move-result-object v0
4792 + sput-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4794 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
4796 + move-result-object v1
4798 + const/4 v12, 0x0
4800 + :try_start_15
4801 + const-string/jumbo v2, "map"
4803 + const/4 v0, 0x1
4805 + new-array v3, v0, [Ljava/lang/String;
4807 + const/4 v0, 0x0
4809 + const-string/jumbo v4, "value"
4811 + aput-object v4, v3, v0
4813 + const-string/jumbo v4, "name=?"
4815 + const/4 v0, 0x1
4817 + new-array v5, v0, [Ljava/lang/String;
4819 + const/4 v0, 0x0
4821 + aput-object p1, v5, v0
4823 + const/4 v6, 0x0
4825 + const/4 v7, 0x0
4827 + const/4 v8, 0x0
4829 + const/4 v9, 0x0
4831 + move-object v0, p0
4833 + 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;
4835 + move-result-object v10
4837 + if-eqz v10, :cond_77
4839 + invoke-interface {v10}, Landroid/database/Cursor;->getCount()I
4841 + move-result v0
4843 + if-lez v0, :cond_77
4845 + invoke-interface {v10}, Landroid/database/Cursor;->moveToFirst()Z
4847 + move-result v0
4849 + if-eqz v0, :cond_77
4851 + const-string/jumbo v0, "value"
4853 + invoke-interface {v10, v0}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
4855 + move-result v0
4857 + invoke-interface {v10, v0}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
4859 + move-result-object v12
4861 + invoke-interface {v10}, Landroid/database/Cursor;->close()V
4862 + :try_end_4f
4863 + .catch Ljava/lang/Exception; {:try_start_15 .. :try_end_4f} :catch_90
4865 + :goto_4f
4866 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4868 + monitor-enter v2
4870 + :try_start_52
4871 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4873 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4875 + invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
4877 + move-result v0
4879 + add-int/lit8 v0, v0, -0x1
4881 + invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
4883 + move-result-object v0
4885 + sput-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4887 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
4889 + invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
4891 + move-result v0
4893 + if-nez v0, :cond_75
4895 + if-eqz v1, :cond_75
4897 + invoke-virtual {v1}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
4899 + move-result v0
4901 + if-eqz v0, :cond_75
4903 + invoke-virtual {v1}, Landroid/database/sqlite/SQLiteDatabase;->close()V
4905 + :cond_75
4906 + monitor-exit v2
4907 + :try_end_76
4908 + .catchall {:try_start_52 .. :try_end_76} :catchall_aa
4910 + return-object v12
4912 + :cond_77
4913 + :try_start_77
4914 + const-string v0, "PrivacyPersistenceAdapter"
4916 + new-instance v2, Ljava/lang/StringBuilder;
4918 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
4920 + const-string v3, "getValue - could not get value for name: "
4922 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4924 + move-result-object v2
4926 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4928 + move-result-object v2
4930 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4932 + move-result-object v2
4934 + invoke-static {v0, v2}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
4935 + :try_end_8f
4936 + .catch Ljava/lang/Exception; {:try_start_77 .. :try_end_8f} :catch_90
4938 + goto :goto_4f
4940 + :catch_90
4941 + move-exception v11
4943 + const-string v0, "PrivacyPersistenceAdapter"
4945 + new-instance v2, Ljava/lang/StringBuilder;
4947 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
4949 + const-string v3, "getValue - could not get value for name: "
4951 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4953 + move-result-object v2
4955 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4957 + move-result-object v2
4959 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4961 + move-result-object v2
4963 + invoke-static {v0, v2, v11}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
4965 + goto :goto_4f
4967 + :catchall_aa
4968 + move-exception v0
4970 + :try_start_ab
4971 + monitor-exit v2
4972 + :try_end_ac
4973 + .catchall {:try_start_ab .. :try_end_ac} :catchall_aa
4975 + throw v0
4976 +.end method
4978 +.method public purgeSettings()Z
4979 + .registers 28
4981 + const/16 v25, 0x1
4983 + new-instance v13, Ljava/util/ArrayList;
4985 + invoke-direct {v13}, Ljava/util/ArrayList;-><init>()V
4987 + move-object/from16 v0, p0
4989 + iget-object v2, v0, Landroid/privacy/PrivacyPersistenceAdapter;->context:Landroid/content/Context;
4991 + invoke-virtual {v2}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
4993 + move-result-object v21
4995 + const/16 v2, 0x80
4997 + move-object/from16 v0, v21
4999 + invoke-virtual {v0, v2}, Landroid/content/pm/PackageManager;->getInstalledApplications(I)Ljava/util/List;
5001 + move-result-object v19
5003 + invoke-interface/range {v19 .. v19}, Ljava/util/List;->iterator()Ljava/util/Iterator;
5005 + move-result-object v18
5007 + :goto_1b
5008 + invoke-interface/range {v18 .. v18}, Ljava/util/Iterator;->hasNext()Z
5010 + move-result v2
5012 + if-eqz v2, :cond_2d
5014 + invoke-interface/range {v18 .. v18}, Ljava/util/Iterator;->next()Ljava/lang/Object;
5016 + move-result-object v12
5018 + check-cast v12, Landroid/content/pm/ApplicationInfo;
5020 + iget-object v2, v12, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
5022 + invoke-interface {v13, v2}, Ljava/util/List;->add(Ljava/lang/Object;)Z
5024 + goto :goto_1b
5026 + :cond_2d
5027 + new-instance v26, Ljava/io/File;
5029 + const-string v2, "/data/system/privacy"
5031 + move-object/from16 v0, v26
5033 + invoke-direct {v0, v2}, Ljava/io/File;-><init>(Ljava/lang/String;)V
5035 + invoke-virtual/range {v26 .. v26}, Ljava/io/File;->listFiles()[Ljava/io/File;
5037 + move-result-object v15
5039 + array-length v0, v15
5041 + move/from16 v20, v0
5043 + const/16 v18, 0x0
5045 + :goto_3f
5046 + move/from16 v0, v18
5048 + move/from16 v1, v20
5050 + if-ge v0, v1, :cond_5d
5052 + aget-object v23, v15, v18
5054 + invoke-virtual/range {v23 .. v23}, Ljava/io/File;->getName()Ljava/lang/String;
5056 + move-result-object v24
5058 + move-object/from16 v0, v24
5060 + invoke-interface {v13, v0}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
5062 + move-result v2
5064 + if-nez v2, :cond_5a
5066 + move-object/from16 v0, p0
5068 + move-object/from16 v1, v23
5070 + invoke-direct {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteRecursive(Ljava/io/File;)V
5072 + :cond_5a
5073 + add-int/lit8 v18, v18, 0x1
5075 + goto :goto_3f
5077 + :cond_5d
5078 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5080 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5082 + invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
5084 + move-result v2
5086 + add-int/lit8 v2, v2, 0x1
5088 + invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5090 + move-result-object v2
5092 + sput-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5094 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
5096 + move-result-object v3
5098 + const/16 v16, 0x0
5100 + :try_start_73
5101 + const-string/jumbo v4, "settings"
5103 + const/4 v2, 0x1
5105 + new-array v5, v2, [Ljava/lang/String;
5107 + const/4 v2, 0x0
5109 + const-string/jumbo v6, "packageName"
5111 + aput-object v6, v5, v2
5113 + const/4 v6, 0x0
5115 + const/4 v7, 0x0
5117 + const/4 v8, 0x0
5119 + const/4 v9, 0x0
5121 + const/4 v10, 0x0
5123 + const/4 v11, 0x0
5125 + move-object/from16 v2, p0
5127 + 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;
5129 + move-result-object v16
5131 + new-instance v14, Ljava/util/ArrayList;
5133 + invoke-direct {v14}, Ljava/util/ArrayList;-><init>()V
5135 + :goto_90
5136 + invoke-interface/range {v16 .. v16}, Landroid/database/Cursor;->moveToNext()Z
5138 + move-result v2
5140 + if-eqz v2, :cond_142
5142 + const/4 v2, 0x0
5144 + move-object/from16 v0, v16
5146 + invoke-interface {v0, v2}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
5148 + move-result-object v24
5150 + move-object/from16 v0, v24
5152 + invoke-interface {v13, v0}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
5154 + move-result v2
5156 + if-nez v2, :cond_e7
5158 + move-object/from16 v0, p0
5160 + move-object/from16 v1, v24
5162 + invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteSettings(Ljava/lang/String;)Z
5163 + :try_end_ac
5164 + .catchall {:try_start_73 .. :try_end_ac} :catchall_107
5165 + .catch Ljava/lang/Exception; {:try_start_73 .. :try_end_ac} :catch_ad
5167 + goto :goto_90
5169 + :catch_ad
5170 + move-exception v17
5172 + :try_start_ae
5173 + const-string v2, "PrivacyPersistenceAdapter"
5175 + const-string/jumbo v4, "purgeSettings - purging DB failed"
5177 + move-object/from16 v0, v17
5179 + invoke-static {v2, v4, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
5180 + :try_end_b8
5181 + .catchall {:try_start_ae .. :try_end_b8} :catchall_107
5183 + const/16 v25, 0x0
5185 + if-eqz v16, :cond_bf
5187 + invoke-interface/range {v16 .. v16}, Landroid/database/Cursor;->close()V
5189 + :cond_bf
5190 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5192 + monitor-enter v4
5194 + :try_start_c2
5195 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5197 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5199 + invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
5201 + move-result v2
5203 + add-int/lit8 v2, v2, -0x1
5205 + invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5207 + move-result-object v2
5209 + sput-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5211 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5213 + invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
5215 + move-result v2
5217 + if-nez v2, :cond_e5
5219 + if-eqz v3, :cond_e5
5221 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
5223 + move-result v2
5225 + if-eqz v2, :cond_e5
5227 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->close()V
5229 + :cond_e5
5230 + monitor-exit v4
5231 + :try_end_e6
5232 + .catchall {:try_start_c2 .. :try_end_e6} :catchall_13f
5234 + :goto_e6
5235 + return v25
5237 + :cond_e7
5238 + :try_start_e7
5239 + move-object/from16 v0, v24
5241 + invoke-interface {v14, v0}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
5243 + move-result v2
5245 + if-eqz v2, :cond_135
5247 + const/4 v2, 0x0
5249 + move-object/from16 v0, p0
5251 + move-object/from16 v1, v24
5253 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacyPersistenceAdapter;->getSettings(Ljava/lang/String;Z)Landroid/privacy/PrivacySettings;
5255 + move-result-object v22
5257 + move-object/from16 v0, p0
5259 + move-object/from16 v1, v24
5261 + invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteSettings(Ljava/lang/String;)Z
5263 + move-object/from16 v0, p0
5265 + move-object/from16 v1, v22
5267 + invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->saveSettings(Landroid/privacy/PrivacySettings;)Z
5268 + :try_end_106
5269 + .catchall {:try_start_e7 .. :try_end_106} :catchall_107
5270 + .catch Ljava/lang/Exception; {:try_start_e7 .. :try_end_106} :catch_ad
5272 + goto :goto_90
5274 + :catchall_107
5275 + move-exception v2
5277 + if-eqz v16, :cond_10d
5279 + invoke-interface/range {v16 .. v16}, Landroid/database/Cursor;->close()V
5281 + :cond_10d
5282 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5284 + monitor-enter v4
5286 + :try_start_110
5287 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5289 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5291 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
5293 + move-result v5
5295 + add-int/lit8 v5, v5, -0x1
5297 + invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5299 + move-result-object v5
5301 + sput-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5303 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5305 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
5307 + move-result v5
5309 + if-nez v5, :cond_133
5311 + if-eqz v3, :cond_133
5313 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
5315 + move-result v5
5317 + if-eqz v5, :cond_133
5319 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->close()V
5321 + :cond_133
5322 + monitor-exit v4
5323 + :try_end_134
5324 + .catchall {:try_start_110 .. :try_end_134} :catchall_13c
5326 + throw v2
5328 + :cond_135
5329 + :try_start_135
5330 + move-object/from16 v0, v24
5332 + invoke-interface {v14, v0}, Ljava/util/List;->add(Ljava/lang/Object;)Z
5333 + :try_end_13a
5334 + .catchall {:try_start_135 .. :try_end_13a} :catchall_107
5335 + .catch Ljava/lang/Exception; {:try_start_135 .. :try_end_13a} :catch_ad
5337 + goto/16 :goto_90
5339 + :catchall_13c
5340 + move-exception v2
5342 + :try_start_13d
5343 + monitor-exit v4
5344 + :try_end_13e
5345 + .catchall {:try_start_13d .. :try_end_13e} :catchall_13c
5347 + throw v2
5349 + :catchall_13f
5350 + move-exception v2
5352 + :try_start_140
5353 + monitor-exit v4
5354 + :try_end_141
5355 + .catchall {:try_start_140 .. :try_end_141} :catchall_13f
5357 + throw v2
5359 + :cond_142
5360 + if-eqz v16, :cond_147
5362 + invoke-interface/range {v16 .. v16}, Landroid/database/Cursor;->close()V
5364 + :cond_147
5365 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5367 + monitor-enter v4
5369 + :try_start_14a
5370 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5372 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5374 + invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
5376 + move-result v2
5378 + add-int/lit8 v2, v2, -0x1
5380 + invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5382 + move-result-object v2
5384 + sput-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5386 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5388 + invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
5390 + move-result v2
5392 + if-nez v2, :cond_16d
5394 + if-eqz v3, :cond_16d
5396 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
5398 + move-result v2
5400 + if-eqz v2, :cond_16d
5402 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->close()V
5404 + :cond_16d
5405 + monitor-exit v4
5407 + goto/16 :goto_e6
5409 + :catchall_170
5410 + move-exception v2
5412 + monitor-exit v4
5413 + :try_end_172
5414 + .catchall {:try_start_14a .. :try_end_172} :catchall_170
5416 + throw v2
5417 +.end method
5419 +.method public declared-synchronized saveSettings(Landroid/privacy/PrivacySettings;)Z
5420 + .registers 27
5422 + monitor-enter p0
5424 + const/16 v18, 0x1
5426 + :try_start_3
5427 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getPackageName()Ljava/lang/String;
5429 + move-result-object v17
5431 + if-eqz v17, :cond_f
5433 + invoke-virtual/range {v17 .. v17}, Ljava/lang/String;->isEmpty()Z
5435 + move-result v3
5437 + if-eqz v3, :cond_1a
5439 + :cond_f
5440 + const-string v3, "PrivacyPersistenceAdapter"
5442 + const-string/jumbo v4, "saveSettings - either package name, UID or both is missing"
5444 + invoke-static {v3, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
5445 + :try_end_17
5446 + .catchall {:try_start_3 .. :try_end_17} :catchall_2c2
5448 + const/4 v3, 0x0
5450 + :goto_18
5451 + monitor-exit p0
5453 + return v3
5455 + :cond_1a
5456 + :try_start_1a
5457 + new-instance v23, Landroid/content/ContentValues;
5459 + invoke-direct/range {v23 .. v23}, Landroid/content/ContentValues;-><init>()V
5461 + const-string/jumbo v3, "packageName"
5463 + move-object/from16 v0, v23
5465 + move-object/from16 v1, v17
5467 + invoke-virtual {v0, v3, v1}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5469 + const-string/jumbo v3, "uid"
5471 + const/4 v4, -0x1
5473 + invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5475 + move-result-object v4
5477 + move-object/from16 v0, v23
5479 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
5481 + const-string v3, "deviceIdSetting"
5483 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
5485 + move-result v4
5487 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5489 + move-result-object v4
5491 + move-object/from16 v0, v23
5493 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5495 + const-string v3, "deviceId"
5497 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getDeviceId()Ljava/lang/String;
5499 + move-result-object v4
5501 + move-object/from16 v0, v23
5503 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5505 + const-string v3, "line1NumberSetting"
5507 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
5509 + move-result v4
5511 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5513 + move-result-object v4
5515 + move-object/from16 v0, v23
5517 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5519 + const-string v3, "line1Number"
5521 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLine1Number()Ljava/lang/String;
5523 + move-result-object v4
5525 + move-object/from16 v0, v23
5527 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5529 + const-string v3, "locationGpsSetting"
5531 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
5533 + move-result v4
5535 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5537 + move-result-object v4
5539 + move-object/from16 v0, v23
5541 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5543 + const-string v3, "locationGpsLat"
5545 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
5547 + move-result-object v4
5549 + move-object/from16 v0, v23
5551 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5553 + const-string v3, "locationGpsLon"
5555 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
5557 + move-result-object v4
5559 + move-object/from16 v0, v23
5561 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5563 + const-string v3, "locationNetworkSetting"
5565 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
5567 + move-result v4
5569 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5571 + move-result-object v4
5573 + move-object/from16 v0, v23
5575 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5577 + const-string v3, "locationNetworkLat"
5579 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
5581 + move-result-object v4
5583 + move-object/from16 v0, v23
5585 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5587 + const-string v3, "locationNetworkLon"
5589 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
5591 + move-result-object v4
5593 + move-object/from16 v0, v23
5595 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5597 + const-string/jumbo v3, "networkInfoSetting"
5599 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
5601 + move-result v4
5603 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5605 + move-result-object v4
5607 + move-object/from16 v0, v23
5609 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5611 + const-string/jumbo v3, "simInfoSetting"
5613 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSimInfoSetting()B
5615 + move-result v4
5617 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5619 + move-result-object v4
5621 + move-object/from16 v0, v23
5623 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5625 + const-string/jumbo v3, "simSerialNumberSetting"
5627 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSimSerialNumberSetting()B
5629 + move-result v4
5631 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5633 + move-result-object v4
5635 + move-object/from16 v0, v23
5637 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5639 + const-string/jumbo v3, "simSerialNumber"
5641 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSimSerialNumber()Ljava/lang/String;
5643 + move-result-object v4
5645 + move-object/from16 v0, v23
5647 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5649 + const-string/jumbo v3, "subscriberIdSetting"
5651 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSubscriberIdSetting()B
5653 + move-result v4
5655 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5657 + move-result-object v4
5659 + move-object/from16 v0, v23
5661 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5663 + const-string/jumbo v3, "subscriberId"
5665 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSubscriberId()Ljava/lang/String;
5667 + move-result-object v4
5669 + move-object/from16 v0, v23
5671 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
5673 + const-string v3, "accountsSetting"
5675 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
5677 + move-result v4
5679 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5681 + move-result-object v4
5683 + move-object/from16 v0, v23
5685 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5687 + const-string v3, "accountsAuthTokensSetting"
5689 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
5691 + move-result v4
5693 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5695 + move-result-object v4
5697 + move-object/from16 v0, v23
5699 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5701 + const-string/jumbo v3, "outgoingCallsSetting"
5703 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getOutgoingCallsSetting()B
5705 + move-result v4
5707 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5709 + move-result-object v4
5711 + move-object/from16 v0, v23
5713 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5715 + const-string v3, "incomingCallsSetting"
5717 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getIncomingCallsSetting()B
5719 + move-result v4
5721 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5723 + move-result-object v4
5725 + move-object/from16 v0, v23
5727 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5729 + const-string v3, "contactsSetting"
5731 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getContactsSetting()B
5733 + move-result v4
5735 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5737 + move-result-object v4
5739 + move-object/from16 v0, v23
5741 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5743 + const-string v3, "calendarSetting"
5745 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getCalendarSetting()B
5747 + move-result v4
5749 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5751 + move-result-object v4
5753 + move-object/from16 v0, v23
5755 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5757 + const-string/jumbo v3, "mmsSetting"
5759 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getMmsSetting()B
5761 + move-result v4
5763 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5765 + move-result-object v4
5767 + move-object/from16 v0, v23
5769 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5771 + const-string/jumbo v3, "smsSetting"
5773 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSmsSetting()B
5775 + move-result v4
5777 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5779 + move-result-object v4
5781 + move-object/from16 v0, v23
5783 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5785 + const-string v3, "callLogSetting"
5787 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getCallLogSetting()B
5789 + move-result v4
5791 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5793 + move-result-object v4
5795 + move-object/from16 v0, v23
5797 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5799 + const-string v3, "bookmarksSetting"
5801 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getBookmarksSetting()B
5803 + move-result v4
5805 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5807 + move-result-object v4
5809 + move-object/from16 v0, v23
5811 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5813 + const-string/jumbo v3, "systemLogsSetting"
5815 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSystemLogsSetting()B
5817 + move-result v4
5819 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5821 + move-result-object v4
5823 + move-object/from16 v0, v23
5825 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5827 + const-string/jumbo v3, "notificationSetting"
5829 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getNotificationSetting()B
5831 + move-result v4
5833 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5835 + move-result-object v4
5837 + move-object/from16 v0, v23
5839 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5841 + const-string v3, "intentBootCompletedSetting"
5843 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getIntentBootCompletedSetting()B
5845 + move-result v4
5847 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
5849 + move-result-object v4
5851 + move-object/from16 v0, v23
5853 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
5855 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5857 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5859 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
5861 + move-result v3
5863 + add-int/lit8 v3, v3, 0x1
5865 + invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5867 + move-result-object v3
5869 + sput-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5871 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
5873 + move-result-object v2
5875 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->beginTransaction()V
5876 + :try_end_1eb
5877 + .catchall {:try_start_1a .. :try_end_1eb} :catchall_2c2
5879 + const/4 v11, 0x0
5881 + :try_start_1ec
5882 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->get_id()Ljava/lang/Integer;
5884 + move-result-object v15
5886 + if-eqz v15, :cond_2c8
5888 + const-string/jumbo v3, "settings"
5890 + const-string v4, "_id=?"
5892 + const/4 v5, 0x1
5894 + new-array v5, v5, [Ljava/lang/String;
5896 + const/4 v6, 0x0
5898 + invoke-virtual {v15}, Ljava/lang/Integer;->toString()Ljava/lang/String;
5900 + move-result-object v7
5902 + aput-object v7, v5, v6
5904 + move-object/from16 v0, v23
5906 + 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
5908 + move-result v3
5910 + const/4 v4, 0x1
5912 + if-ge v3, v4, :cond_249
5914 + new-instance v3, Ljava/lang/Exception;
5916 + const-string/jumbo v4, "saveSettings - failed to update database entry"
5918 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
5920 + throw v3
5921 + :try_end_213
5922 + .catchall {:try_start_1ec .. :try_end_213} :catchall_291
5923 + .catch Ljava/lang/Exception; {:try_start_1ec .. :try_end_213} :catch_213
5925 + :catch_213
5926 + move-exception v13
5928 + const/16 v18, 0x0
5930 + :try_start_216
5931 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
5933 + if-eqz v11, :cond_21e
5935 + invoke-interface {v11}, Landroid/database/Cursor;->close()V
5937 + :cond_21e
5938 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5940 + monitor-enter v4
5941 + :try_end_221
5942 + .catchall {:try_start_216 .. :try_end_221} :catchall_2c2
5944 + :try_start_221
5945 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5947 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5949 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
5951 + move-result v3
5953 + add-int/lit8 v3, v3, -0x1
5955 + invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
5957 + move-result-object v3
5959 + sput-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5961 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
5963 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
5965 + move-result v3
5967 + if-nez v3, :cond_244
5969 + if-eqz v2, :cond_244
5971 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
5973 + move-result v3
5975 + if-eqz v3, :cond_244
5977 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
5979 + :cond_244
5980 + monitor-exit v4
5981 + :try_end_245
5982 + .catchall {:try_start_221 .. :try_end_245} :catchall_4ca
5984 + :goto_245
5985 + move/from16 v3, v18
5987 + goto/16 :goto_18
5989 + :cond_249
5990 + :try_start_249
5991 + const-string v3, "allowed_contacts"
5993 + const-string/jumbo v4, "settings_id=?"
5995 + const/4 v5, 0x1
5997 + new-array v5, v5, [Ljava/lang/String;
5999 + const/4 v6, 0x0
6001 + invoke-virtual {v15}, Ljava/lang/Integer;->toString()Ljava/lang/String;
6003 + move-result-object v7
6005 + aput-object v7, v5, v6
6007 + invoke-virtual {v2, v3, v4, v5}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
6009 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAllowedContacts()[I
6011 + move-result-object v10
6013 + if-eqz v10, :cond_3f2
6015 + new-instance v12, Landroid/content/ContentValues;
6017 + invoke-direct {v12}, Landroid/content/ContentValues;-><init>()V
6019 + const/4 v14, 0x0
6021 + :goto_267
6022 + array-length v3, v10
6024 + if-ge v14, v3, :cond_3f2
6026 + const-string/jumbo v3, "settings_id"
6028 + invoke-virtual {v12, v3, v15}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
6030 + const-string v3, "contact_id"
6032 + aget v4, v10, v14
6034 + invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
6036 + move-result-object v4
6038 + invoke-virtual {v12, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
6040 + const-string v3, "allowed_contacts"
6042 + const/4 v4, 0x0
6044 + invoke-virtual {v2, v3, v4, v12}, Landroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
6046 + move-result-wide v3
6048 + const-wide/16 v5, -0x1
6050 + cmp-long v3, v3, v5
6052 + if-nez v3, :cond_2c5
6054 + new-instance v3, Ljava/lang/Exception;
6056 + const-string/jumbo v4, "saveSettings - failed to update database entry (contacts)"
6058 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
6060 + throw v3
6061 + :try_end_291
6062 + .catchall {:try_start_249 .. :try_end_291} :catchall_291
6063 + .catch Ljava/lang/Exception; {:try_start_249 .. :try_end_291} :catch_213
6065 + :catchall_291
6066 + move-exception v3
6068 + :try_start_292
6069 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
6071 + if-eqz v11, :cond_29a
6073 + invoke-interface {v11}, Landroid/database/Cursor;->close()V
6075 + :cond_29a
6076 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6078 + monitor-enter v4
6079 + :try_end_29d
6080 + .catchall {:try_start_292 .. :try_end_29d} :catchall_2c2
6082 + :try_start_29d
6083 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6085 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6087 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
6089 + move-result v5
6091 + add-int/lit8 v5, v5, -0x1
6093 + invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
6095 + move-result-object v5
6097 + sput-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6099 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6101 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
6103 + move-result v5
6105 + if-nez v5, :cond_2c0
6107 + if-eqz v2, :cond_2c0
6109 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
6111 + move-result v5
6113 + if-eqz v5, :cond_2c0
6115 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
6117 + :cond_2c0
6118 + monitor-exit v4
6119 + :try_end_2c1
6120 + .catchall {:try_start_29d .. :try_end_2c1} :catchall_4cd
6122 + :try_start_2c1
6123 + throw v3
6124 + :try_end_2c2
6125 + .catchall {:try_start_2c1 .. :try_end_2c2} :catchall_2c2
6127 + :catchall_2c2
6128 + move-exception v3
6130 + monitor-exit p0
6132 + throw v3
6134 + :cond_2c5
6135 + add-int/lit8 v14, v14, 0x1
6137 + goto :goto_267
6139 + :cond_2c8
6140 + :try_start_2c8
6141 + const-string/jumbo v3, "settings"
6143 + const/4 v4, 0x1
6145 + new-array v4, v4, [Ljava/lang/String;
6147 + const/4 v5, 0x0
6149 + const-string v6, "_id"
6151 + aput-object v6, v4, v5
6153 + const-string/jumbo v5, "packageName=?"
6155 + const/4 v6, 0x1
6157 + new-array v6, v6, [Ljava/lang/String;
6159 + const/4 v7, 0x0
6161 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getPackageName()Ljava/lang/String;
6163 + move-result-object v8
6165 + aput-object v8, v6, v7
6167 + const/4 v7, 0x0
6169 + const/4 v8, 0x0
6171 + const/4 v9, 0x0
6173 + 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;
6175 + move-result-object v11
6177 + if-eqz v11, :cond_3e7
6179 + invoke-interface {v11}, Landroid/database/Cursor;->getCount()I
6181 + move-result v3
6183 + const/4 v4, 0x1
6185 + if-ne v3, v4, :cond_36e
6187 + const-string/jumbo v3, "settings"
6189 + const-string/jumbo v4, "packageName=?"
6191 + const/4 v5, 0x1
6193 + new-array v5, v5, [Ljava/lang/String;
6195 + const/4 v6, 0x0
6197 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getPackageName()Ljava/lang/String;
6199 + move-result-object v7
6201 + aput-object v7, v5, v6
6203 + move-object/from16 v0, v23
6205 + 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
6207 + move-result v3
6209 + const/4 v4, 0x1
6211 + if-ge v3, v4, :cond_312
6213 + new-instance v3, Ljava/lang/Exception;
6215 + const-string/jumbo v4, "saveSettings - failed to update database entry"
6217 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
6219 + throw v3
6221 + :cond_312
6222 + invoke-interface {v11}, Landroid/database/Cursor;->moveToFirst()Z
6224 + move-result v3
6226 + if-eqz v3, :cond_3f2
6228 + const/4 v3, 0x0
6230 + invoke-interface {v11, v3}, Landroid/database/Cursor;->getInt(I)I
6232 + move-result v3
6234 + invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
6236 + move-result-object v16
6238 + const-string v3, "allowed_contacts"
6240 + const-string/jumbo v4, "settings_id=?"
6242 + const/4 v5, 0x1
6244 + new-array v5, v5, [Ljava/lang/String;
6246 + const/4 v6, 0x0
6248 + invoke-virtual/range {v16 .. v16}, Ljava/lang/Integer;->toString()Ljava/lang/String;
6250 + move-result-object v7
6252 + aput-object v7, v5, v6
6254 + invoke-virtual {v2, v3, v4, v5}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
6256 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAllowedContacts()[I
6258 + move-result-object v10
6260 + if-eqz v10, :cond_3f2
6262 + new-instance v12, Landroid/content/ContentValues;
6264 + invoke-direct {v12}, Landroid/content/ContentValues;-><init>()V
6266 + const/4 v14, 0x0
6268 + :goto_33f
6269 + array-length v3, v10
6271 + if-ge v14, v3, :cond_3f2
6273 + const-string/jumbo v3, "settings_id"
6275 + move-object/from16 v0, v16
6277 + invoke-virtual {v12, v3, v0}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
6279 + const-string v3, "contact_id"
6281 + aget v4, v10, v14
6283 + invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
6285 + move-result-object v4
6287 + invoke-virtual {v12, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
6289 + const-string v3, "allowed_contacts"
6291 + const/4 v4, 0x0
6293 + invoke-virtual {v2, v3, v4, v12}, Landroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
6295 + move-result-wide v3
6297 + const-wide/16 v5, -0x1
6299 + cmp-long v3, v3, v5
6301 + if-nez v3, :cond_36b
6303 + new-instance v3, Ljava/lang/Exception;
6305 + const-string/jumbo v4, "saveSettings - failed to update database entry (contacts)"
6307 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
6309 + throw v3
6311 + :cond_36b
6312 + add-int/lit8 v14, v14, 0x1
6314 + goto :goto_33f
6316 + :cond_36e
6317 + invoke-interface {v11}, Landroid/database/Cursor;->getCount()I
6319 + move-result v3
6321 + if-nez v3, :cond_3dc
6323 + const-string/jumbo v3, "settings"
6325 + const/4 v4, 0x0
6327 + move-object/from16 v0, v23
6329 + invoke-virtual {v2, v3, v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
6331 + move-result-wide v19
6333 + const-wide/16 v3, -0x1
6335 + cmp-long v3, v19, v3
6337 + if-nez v3, :cond_38d
6339 + new-instance v3, Ljava/lang/Exception;
6341 + const-string/jumbo v4, "saveSettings - failed to insert new record into DB"
6343 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
6345 + throw v3
6347 + :cond_38d
6348 + const-string v3, "allowed_contacts"
6350 + const-string/jumbo v4, "settings_id=?"
6352 + const/4 v5, 0x1
6354 + new-array v5, v5, [Ljava/lang/String;
6356 + const/4 v6, 0x0
6358 + invoke-static/range {v19 .. v20}, Ljava/lang/Long;->toString(J)Ljava/lang/String;
6360 + move-result-object v7
6362 + aput-object v7, v5, v6
6364 + invoke-virtual {v2, v3, v4, v5}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
6366 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAllowedContacts()[I
6368 + move-result-object v10
6370 + if-eqz v10, :cond_3f2
6372 + new-instance v12, Landroid/content/ContentValues;
6374 + invoke-direct {v12}, Landroid/content/ContentValues;-><init>()V
6376 + const/4 v14, 0x0
6378 + :goto_3ab
6379 + array-length v3, v10
6381 + if-ge v14, v3, :cond_3f2
6383 + const-string/jumbo v3, "settings_id"
6385 + invoke-static/range {v19 .. v20}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
6387 + move-result-object v4
6389 + invoke-virtual {v12, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Long;)V
6391 + const-string v3, "contact_id"
6393 + aget v4, v10, v14
6395 + invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
6397 + move-result-object v4
6399 + invoke-virtual {v12, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
6401 + const-string v3, "allowed_contacts"
6403 + const/4 v4, 0x0
6405 + invoke-virtual {v2, v3, v4, v12}, Landroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
6407 + move-result-wide v3
6409 + const-wide/16 v5, -0x1
6411 + cmp-long v3, v3, v5
6413 + if-nez v3, :cond_3d9
6415 + new-instance v3, Ljava/lang/Exception;
6417 + const-string/jumbo v4, "saveSettings - failed to update database entry (contacts)"
6419 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
6421 + throw v3
6423 + :cond_3d9
6424 + add-int/lit8 v14, v14, 0x1
6426 + goto :goto_3ab
6428 + :cond_3dc
6429 + const/16 v18, 0x0
6431 + new-instance v3, Ljava/lang/Exception;
6433 + const-string/jumbo v4, "saveSettings - duplicate entries in the privacy.db"
6435 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
6437 + throw v3
6439 + :cond_3e7
6440 + const/16 v18, 0x0
6442 + new-instance v3, Ljava/lang/Exception;
6444 + const-string/jumbo v4, "saveSettings - cursor is null, database access failed"
6446 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
6448 + throw v3
6450 + :cond_3f2
6451 + new-instance v21, Ljava/io/File;
6453 + new-instance v3, Ljava/lang/StringBuilder;
6455 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
6457 + const-string v4, "/data/system/privacy/"
6459 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6461 + move-result-object v3
6463 + move-object/from16 v0, v17
6465 + invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6467 + move-result-object v3
6469 + const-string v4, "/"
6471 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6473 + move-result-object v3
6475 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6477 + move-result-object v3
6479 + move-object/from16 v0, v21
6481 + invoke-direct {v0, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
6483 + new-instance v22, Ljava/io/File;
6485 + new-instance v3, Ljava/lang/StringBuilder;
6487 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
6489 + const-string v4, "/data/system/privacy/"
6491 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6493 + move-result-object v3
6495 + move-object/from16 v0, v17
6497 + invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6499 + move-result-object v3
6501 + const-string v4, "/"
6503 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6505 + move-result-object v3
6507 + const-string v4, "/systemLogsSetting"
6509 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6511 + move-result-object v3
6513 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6515 + move-result-object v3
6517 + move-object/from16 v0, v22
6519 + invoke-direct {v0, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
6520 + :try_end_43c
6521 + .catchall {:try_start_2c8 .. :try_end_43c} :catchall_291
6522 + .catch Ljava/lang/Exception; {:try_start_2c8 .. :try_end_43c} :catch_213
6524 + :try_start_43c
6525 + invoke-virtual/range {v21 .. v21}, Ljava/io/File;->mkdirs()Z
6527 + const/4 v3, 0x1
6529 + const/4 v4, 0x0
6531 + move-object/from16 v0, v21
6533 + invoke-virtual {v0, v3, v4}, Ljava/io/File;->setReadable(ZZ)Z
6535 + const/4 v3, 0x1
6537 + const/4 v4, 0x0
6539 + move-object/from16 v0, v21
6541 + invoke-virtual {v0, v3, v4}, Ljava/io/File;->setExecutable(ZZ)Z
6543 + invoke-virtual/range {v22 .. v22}, Ljava/io/File;->createNewFile()Z
6545 + const/4 v3, 0x1
6547 + const/4 v4, 0x0
6549 + move-object/from16 v0, v22
6551 + invoke-virtual {v0, v3, v4}, Ljava/io/File;->setReadable(ZZ)Z
6553 + new-instance v24, Ljava/io/OutputStreamWriter;
6555 + new-instance v3, Ljava/io/FileOutputStream;
6557 + move-object/from16 v0, v22
6559 + invoke-direct {v3, v0}, Ljava/io/FileOutputStream;-><init>(Ljava/io/File;)V
6561 + move-object/from16 v0, v24
6563 + invoke-direct {v0, v3}, Ljava/io/OutputStreamWriter;-><init>(Ljava/io/OutputStream;)V
6565 + new-instance v3, Ljava/lang/StringBuilder;
6567 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
6569 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSystemLogsSetting()B
6571 + move-result v4
6573 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
6575 + move-result-object v3
6577 + const-string v4, ""
6579 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6581 + move-result-object v3
6583 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6585 + move-result-object v3
6587 + move-object/from16 v0, v24
6589 + invoke-virtual {v0, v3}, Ljava/io/OutputStreamWriter;->append(Ljava/lang/CharSequence;)Ljava/io/Writer;
6591 + invoke-virtual/range {v24 .. v24}, Ljava/io/OutputStreamWriter;->flush()V
6593 + invoke-virtual/range {v24 .. v24}, Ljava/io/OutputStreamWriter;->close()V
6594 + :try_end_487
6595 + .catchall {:try_start_43c .. :try_end_487} :catchall_291
6596 + .catch Ljava/io/IOException; {:try_start_43c .. :try_end_487} :catch_4be
6597 + .catch Ljava/lang/Exception; {:try_start_43c .. :try_end_487} :catch_213
6599 + :try_start_487
6600 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->setTransactionSuccessful()V
6601 + :try_end_48a
6602 + .catchall {:try_start_487 .. :try_end_48a} :catchall_291
6603 + .catch Ljava/lang/Exception; {:try_start_487 .. :try_end_48a} :catch_213
6605 + :try_start_48a
6606 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
6608 + if-eqz v11, :cond_492
6610 + invoke-interface {v11}, Landroid/database/Cursor;->close()V
6612 + :cond_492
6613 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6615 + monitor-enter v4
6616 + :try_end_495
6617 + .catchall {:try_start_48a .. :try_end_495} :catchall_2c2
6619 + :try_start_495
6620 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6622 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6624 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
6626 + move-result v3
6628 + add-int/lit8 v3, v3, -0x1
6630 + invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
6632 + move-result-object v3
6634 + sput-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6636 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6638 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
6640 + move-result v3
6642 + if-nez v3, :cond_4b8
6644 + if-eqz v2, :cond_4b8
6646 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
6648 + move-result v3
6650 + if-eqz v3, :cond_4b8
6652 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
6654 + :cond_4b8
6655 + monitor-exit v4
6657 + goto/16 :goto_245
6659 + :catchall_4bb
6660 + move-exception v3
6662 + monitor-exit v4
6663 + :try_end_4bd
6664 + .catchall {:try_start_495 .. :try_end_4bd} :catchall_4bb
6666 + :try_start_4bd
6667 + throw v3
6668 + :try_end_4be
6669 + .catchall {:try_start_4bd .. :try_end_4be} :catchall_2c2
6671 + :catch_4be
6672 + move-exception v13
6674 + const/16 v18, 0x0
6676 + :try_start_4c1
6677 + new-instance v3, Ljava/lang/Exception;
6679 + const-string/jumbo v4, "saveSettings - could not write settings to file"
6681 + invoke-direct {v3, v4, v13}, Ljava/lang/Exception;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
6683 + throw v3
6684 + :try_end_4ca
6685 + .catchall {:try_start_4c1 .. :try_end_4ca} :catchall_291
6686 + .catch Ljava/lang/Exception; {:try_start_4c1 .. :try_end_4ca} :catch_213
6688 + :catchall_4ca
6689 + move-exception v3
6691 + :try_start_4cb
6692 + monitor-exit v4
6693 + :try_end_4cc
6694 + .catchall {:try_start_4cb .. :try_end_4cc} :catchall_4ca
6696 + :try_start_4cc
6697 + throw v3
6698 + :try_end_4cd
6699 + .catchall {:try_start_4cc .. :try_end_4cd} :catchall_2c2
6701 + :catchall_4cd
6702 + move-exception v3
6704 + :try_start_4ce
6705 + monitor-exit v4
6706 + :try_end_4cf
6707 + .catchall {:try_start_4ce .. :try_end_4cf} :catchall_4cd
6709 + :try_start_4cf
6710 + throw v3
6711 + :try_end_4d0
6712 + .catchall {:try_start_4cf .. :try_end_4d0} :catchall_2c2
6713 +.end method
6715 +.method public declared-synchronized setValue(Ljava/lang/String;Ljava/lang/String;)Z
6716 + .registers 10
6718 + monitor-enter p0
6720 + :try_start_1
6721 + const-string v3, "PrivacyPersistenceAdapter"
6723 + new-instance v4, Ljava/lang/StringBuilder;
6725 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
6727 + const-string/jumbo v5, "setValue - name "
6729 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6731 + move-result-object v4
6733 + invoke-virtual {v4, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6735 + move-result-object v4
6737 + const-string v5, " value "
6739 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6741 + move-result-object v4
6743 + invoke-virtual {v4, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6745 + move-result-object v4
6747 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6749 + move-result-object v4
6751 + invoke-static {v3, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
6753 + new-instance v2, Landroid/content/ContentValues;
6755 + invoke-direct {v2}, Landroid/content/ContentValues;-><init>()V
6757 + const-string/jumbo v3, "name"
6759 + invoke-virtual {v2, v3, p1}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
6761 + const-string/jumbo v3, "value"
6763 + invoke-virtual {v2, v3, p2}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
6765 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
6767 + move-result-object v0
6769 + const-string/jumbo v3, "map"
6771 + const/4 v4, 0x0
6773 + invoke-virtual {v0, v3, v4, v2}, Landroid/database/sqlite/SQLiteDatabase;->replace(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
6775 + move-result-wide v3
6777 + const-wide/16 v5, -0x1
6779 + cmp-long v3, v3, v5
6781 + if-eqz v3, :cond_5d
6783 + const/4 v1, 0x1
6785 + :goto_48
6786 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6788 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
6790 + move-result v3
6792 + if-nez v3, :cond_5b
6794 + if-eqz v0, :cond_5b
6796 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
6798 + move-result v3
6800 + if-eqz v3, :cond_5b
6802 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
6803 + :try_end_5b
6804 + .catchall {:try_start_1 .. :try_end_5b} :catchall_5f
6806 + :cond_5b
6807 + monitor-exit p0
6809 + return v1
6811 + :cond_5d
6812 + const/4 v1, 0x0
6814 + goto :goto_48
6816 + :catchall_5f
6817 + move-exception v3
6819 + monitor-exit p0
6821 + throw v3
6822 +.end method
6823 diff -NpruEbB stock_framework/smali/android/privacy/PrivacySettings$1.smali moded_framework/smali/android/privacy/PrivacySettings$1.smali
6824 --- stock_framework/smali/android/privacy/PrivacySettings$1.smali 1969-12-31 16:00:00.000000000 -0800
6825 +++ moded_framework/smali/android/privacy/PrivacySettings$1.smali 2012-09-13 08:58:54.561397549 -0700
6826 @@ -0,0 +1,77 @@
6827 +.class final Landroid/privacy/PrivacySettings$1;
6828 +.super Ljava/lang/Object;
6829 +.source "PrivacySettings.java"
6831 +# interfaces
6832 +.implements Landroid/os/Parcelable$Creator;
6835 +# annotations
6836 +.annotation system Ldalvik/annotation/EnclosingClass;
6837 + value = Landroid/privacy/PrivacySettings;
6838 +.end annotation
6840 +.annotation system Ldalvik/annotation/InnerClass;
6841 + accessFlags = 0x8
6842 + name = null
6843 +.end annotation
6845 +.annotation system Ldalvik/annotation/Signature;
6846 + value = {
6847 + "Ljava/lang/Object;",
6848 + "Landroid/os/Parcelable$Creator",
6849 + "<",
6850 + "Landroid/privacy/PrivacySettings;",
6851 + ">;"
6853 +.end annotation
6856 +# direct methods
6857 +.method constructor <init>()V
6858 + .registers 1
6860 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
6862 + return-void
6863 +.end method
6866 +# virtual methods
6867 +.method public createFromParcel(Landroid/os/Parcel;)Landroid/privacy/PrivacySettings;
6868 + .registers 3
6870 + new-instance v0, Landroid/privacy/PrivacySettings;
6872 + invoke-direct {v0, p1}, Landroid/privacy/PrivacySettings;-><init>(Landroid/os/Parcel;)V
6874 + return-object v0
6875 +.end method
6877 +.method public bridge synthetic createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
6878 + .registers 3
6880 + invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettings$1;->createFromParcel(Landroid/os/Parcel;)Landroid/privacy/PrivacySettings;
6882 + move-result-object v0
6884 + return-object v0
6885 +.end method
6887 +.method public newArray(I)[Landroid/privacy/PrivacySettings;
6888 + .registers 3
6890 + new-array v0, p1, [Landroid/privacy/PrivacySettings;
6892 + return-object v0
6893 +.end method
6895 +.method public bridge synthetic newArray(I)[Ljava/lang/Object;
6896 + .registers 3
6898 + invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettings$1;->newArray(I)[Landroid/privacy/PrivacySettings;
6900 + move-result-object v0
6902 + return-object v0
6903 +.end method
6904 diff -NpruEbB stock_framework/smali/android/privacy/PrivacySettingsManagerService.smali moded_framework/smali/android/privacy/PrivacySettingsManagerService.smali
6905 --- stock_framework/smali/android/privacy/PrivacySettingsManagerService.smali 1969-12-31 16:00:00.000000000 -0800
6906 +++ moded_framework/smali/android/privacy/PrivacySettingsManagerService.smali 2012-09-13 08:58:54.564398267 -0700
6907 @@ -0,0 +1,535 @@
6908 +.class public Landroid/privacy/PrivacySettingsManagerService;
6909 +.super Landroid/privacy/IPrivacySettingsManager$Stub;
6910 +.source "PrivacySettingsManagerService.java"
6913 +# static fields
6914 +.field private static final TAG:Ljava/lang/String; = "PrivacySettingsManagerService"
6916 +.field private static final VERSION:D = 1.32
6918 +.field private static final WRITE_PRIVACY_SETTINGS:Ljava/lang/String; = "android.privacy.WRITE_PRIVACY_SETTINGS"
6920 +.field public static obs:Landroid/privacy/PrivacyFileObserver;
6923 +# instance fields
6924 +.field private bootCompleted:Z
6926 +.field private context:Landroid/content/Context;
6928 +.field private enabled:Z
6930 +.field private notificationsEnabled:Z
6932 +.field private persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
6935 +# direct methods
6936 +.method public constructor <init>(Landroid/content/Context;)V
6937 + .registers 5
6939 + invoke-direct {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;-><init>()V
6941 + const-string v0, "PrivacySettingsManagerService"
6943 + new-instance v1, Ljava/lang/StringBuilder;
6945 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
6947 + const-string v2, "PrivacySettingsManagerService - initializing for package: "
6949 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6951 + move-result-object v1
6953 + invoke-virtual {p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
6955 + move-result-object v2
6957 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6959 + move-result-object v1
6961 + const-string v2, " UID: "
6963 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6965 + move-result-object v1
6967 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
6969 + move-result v2
6971 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
6973 + move-result-object v1
6975 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6977 + move-result-object v1
6979 + invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
6981 + iput-object p1, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
6983 + new-instance v0, Landroid/privacy/PrivacyPersistenceAdapter;
6985 + invoke-direct {v0, p1}, Landroid/privacy/PrivacyPersistenceAdapter;-><init>(Landroid/content/Context;)V
6987 + iput-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
6989 + new-instance v0, Landroid/privacy/PrivacyFileObserver;
6991 + const-string v1, "/data/system/privacy"
6993 + invoke-direct {v0, v1, p0}, Landroid/privacy/PrivacyFileObserver;-><init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
6995 + sput-object v0, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
6997 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
6999 + const-string v1, "enabled"
7001 + invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->getValue(Ljava/lang/String;)Ljava/lang/String;
7003 + move-result-object v0
7005 + const-string v1, "1"
7007 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
7009 + move-result v0
7011 + iput-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->enabled:Z
7013 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
7015 + const-string/jumbo v1, "notifications_enabled"
7017 + invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->getValue(Ljava/lang/String;)Ljava/lang/String;
7019 + move-result-object v0
7021 + const-string v1, "1"
7023 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
7025 + move-result v0
7027 + iput-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->notificationsEnabled:Z
7029 + const/4 v0, 0x0
7031 + iput-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->bootCompleted:Z
7033 + return-void
7034 +.end method
7037 +# virtual methods
7038 +.method public addObserver(Ljava/lang/String;)V
7039 + .registers 5
7041 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
7043 + const-string v1, "android.privacy.WRITE_PRIVACY_SETTINGS"
7045 + const-string v2, "Requires WRITE_PRIVACY_SETTINGS"
7047 + invoke-virtual {v0, v1, v2}, Landroid/content/Context;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
7049 + sget-object v0, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
7051 + invoke-virtual {v0, p1}, Landroid/privacy/PrivacyFileObserver;->addObserver(Ljava/lang/String;)V
7053 + return-void
7054 +.end method
7056 +.method public deleteSettings(Ljava/lang/String;)Z
7057 + .registers 8
7059 + const/4 v5, 0x1
7061 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
7063 + move-result v2
7065 + const/16 v3, 0x3e8
7067 + if-eq v2, v3, :cond_12
7069 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
7071 + const-string v3, "android.privacy.WRITE_PRIVACY_SETTINGS"
7073 + const-string v4, "Requires WRITE_PRIVACY_SETTINGS"
7075 + invoke-virtual {v2, v3, v4}, Landroid/content/Context;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
7077 + :cond_12
7078 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
7080 + invoke-virtual {v2, p1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteSettings(Ljava/lang/String;)Z
7082 + move-result v1
7084 + new-instance v2, Ljava/lang/StringBuilder;
7086 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
7088 + const-string v3, "/data/system/privacy/"
7090 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7092 + move-result-object v2
7094 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7096 + move-result-object v2
7098 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
7100 + move-result-object v0
7102 + new-instance v2, Ljava/io/File;
7104 + invoke-direct {v2, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
7106 + invoke-virtual {v2}, Ljava/io/File;->exists()Z
7108 + move-result v2
7110 + if-eqz v2, :cond_3e
7112 + if-ne v1, v5, :cond_3e
7114 + sget-object v2, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
7116 + invoke-virtual {v2, v0}, Landroid/privacy/PrivacyFileObserver;->addObserver(Ljava/lang/String;)V
7118 + :cond_3d
7119 + :goto_3d
7120 + return v1
7122 + :cond_3e
7123 + if-ne v1, v5, :cond_3d
7125 + sget-object v2, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
7127 + iget-object v2, v2, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap;
7129 + invoke-virtual {v2, v0}, Ljava/util/HashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
7131 + goto :goto_3d
7132 +.end method
7134 +.method public getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
7135 + .registers 4
7137 + iget-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->enabled:Z
7139 + if-nez v0, :cond_12
7141 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
7143 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
7145 + move-result-object v0
7147 + const-string v1, "com.privacy.pdroid"
7149 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
7151 + move-result v0
7153 + if-eqz v0, :cond_1a
7155 + :cond_12
7156 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
7158 + const/4 v1, 0x0
7160 + invoke-virtual {v0, p1, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->getSettings(Ljava/lang/String;Z)Landroid/privacy/PrivacySettings;
7162 + move-result-object v0
7164 + :goto_19
7165 + return-object v0
7167 + :cond_1a
7168 + const/4 v0, 0x0
7170 + goto :goto_19
7171 +.end method
7173 +.method public getVersion()D
7174 + .registers 3
7176 + const-wide v0, 0x3ff51eb851eb851fL
7178 + return-wide v0
7179 +.end method
7181 +.method public notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
7182 + .registers 8
7184 + iget-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->bootCompleted:Z
7186 + if-eqz v1, :cond_34
7188 + iget-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->notificationsEnabled:Z
7190 + if-eqz v1, :cond_34
7192 + new-instance v0, Landroid/content/Intent;
7194 + invoke-direct {v0}, Landroid/content/Intent;-><init>()V
7196 + const-string v1, "com.privacy.pdroid.PRIVACY_NOTIFICATION"
7198 + invoke-virtual {v0, v1}, Landroid/content/Intent;->setAction(Ljava/lang/String;)Landroid/content/Intent;
7200 + const-string/jumbo v1, "packageName"
7202 + invoke-virtual {v0, v1, p1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
7204 + const-string/jumbo v1, "uid"
7206 + const/4 v2, -0x1
7208 + invoke-virtual {v0, v1, v2}, Landroid/content/Intent;->putExtra(Ljava/lang/String;I)Landroid/content/Intent;
7210 + const-string v1, "accessMode"
7212 + invoke-virtual {v0, v1, p2}, Landroid/content/Intent;->putExtra(Ljava/lang/String;B)Landroid/content/Intent;
7214 + const-string v1, "dataType"
7216 + invoke-virtual {v0, v1, p3}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
7218 + const-string/jumbo v1, "output"
7220 + invoke-virtual {v0, v1, p4}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
7222 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
7224 + invoke-virtual {v1, v0}, Landroid/content/Context;->sendBroadcast(Landroid/content/Intent;)V
7226 + :cond_34
7227 + return-void
7228 +.end method
7230 +.method public purgeSettings()Z
7231 + .registers 2
7233 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
7235 + invoke-virtual {v0}, Landroid/privacy/PrivacyPersistenceAdapter;->purgeSettings()Z
7237 + move-result v0
7239 + return v0
7240 +.end method
7242 +.method public registerObservers()V
7243 + .registers 4
7245 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
7247 + const-string v1, "android.privacy.WRITE_PRIVACY_SETTINGS"
7249 + const-string v2, "Requires WRITE_PRIVACY_SETTINGS"
7251 + invoke-virtual {v0, v1, v2}, Landroid/content/Context;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
7253 + new-instance v0, Landroid/privacy/PrivacyFileObserver;
7255 + const-string v1, "/data/system/privacy"
7257 + invoke-direct {v0, v1, p0}, Landroid/privacy/PrivacyFileObserver;-><init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
7259 + sput-object v0, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
7261 + return-void
7262 +.end method
7264 +.method public saveSettings(Landroid/privacy/PrivacySettings;)Z
7265 + .registers 6
7267 + const-string v1, "PrivacySettingsManagerService"
7269 + new-instance v2, Ljava/lang/StringBuilder;
7271 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
7273 + const-string/jumbo v3, "saveSettings - checking if caller (UID: "
7275 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7277 + move-result-object v2
7279 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
7281 + move-result v3
7283 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
7285 + move-result-object v2
7287 + const-string v3, ") has sufficient permissions"
7289 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7291 + move-result-object v2
7293 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
7295 + move-result-object v2
7297 + invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
7299 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
7301 + move-result v1
7303 + const/16 v2, 0x3e8
7305 + if-eq v1, v2, :cond_34
7307 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
7309 + const-string v2, "android.privacy.WRITE_PRIVACY_SETTINGS"
7311 + const-string v3, "Requires WRITE_PRIVACY_SETTINGS"
7313 + invoke-virtual {v1, v2, v3}, Landroid/content/Context;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
7315 + :cond_34
7316 + const-string v1, "PrivacySettingsManagerService"
7318 + new-instance v2, Ljava/lang/StringBuilder;
7320 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
7322 + const-string/jumbo v3, "saveSettings - "
7324 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7326 + move-result-object v2
7328 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
7330 + move-result-object v2
7332 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
7334 + move-result-object v2
7336 + invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
7338 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
7340 + invoke-virtual {v1, p1}, Landroid/privacy/PrivacyPersistenceAdapter;->saveSettings(Landroid/privacy/PrivacySettings;)Z
7342 + move-result v0
7344 + const/4 v1, 0x1
7346 + if-ne v0, v1, :cond_5f
7348 + sget-object v1, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
7350 + invoke-virtual {p1}, Landroid/privacy/PrivacySettings;->getPackageName()Ljava/lang/String;
7352 + move-result-object v2
7354 + invoke-virtual {v1, v2}, Landroid/privacy/PrivacyFileObserver;->addObserver(Ljava/lang/String;)V
7356 + :cond_5f
7357 + return v0
7358 +.end method
7360 +.method public setBootCompleted()V
7361 + .registers 2
7363 + const/4 v0, 0x1
7365 + iput-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->bootCompleted:Z
7367 + return-void
7368 +.end method
7370 +.method public setEnabled(Z)Z
7371 + .registers 6
7373 + const/4 v1, 0x1
7375 + if-eqz p1, :cond_12
7377 + const-string v0, "1"
7379 + :goto_5
7380 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
7382 + const-string v3, "enabled"
7384 + invoke-virtual {v2, v3, v0}, Landroid/privacy/PrivacyPersistenceAdapter;->setValue(Ljava/lang/String;Ljava/lang/String;)Z
7386 + move-result v2
7388 + if-eqz v2, :cond_15
7390 + iput-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->enabled:Z
7392 + :goto_11
7393 + return v1
7395 + :cond_12
7396 + const-string v0, "0"
7398 + goto :goto_5
7400 + :cond_15
7401 + const/4 v1, 0x0
7403 + goto :goto_11
7404 +.end method
7406 +.method public setNotificationsEnabled(Z)Z
7407 + .registers 6
7409 + const/4 v1, 0x1
7411 + if-eqz p1, :cond_15
7413 + const-string v0, "1"
7415 + :goto_5
7416 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
7418 + const-string/jumbo v3, "notifications_enabled"
7420 + invoke-virtual {v2, v3, v0}, Landroid/privacy/PrivacyPersistenceAdapter;->setValue(Ljava/lang/String;Ljava/lang/String;)Z
7422 + move-result v2
7424 + if-eqz v2, :cond_18
7426 + iput-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->notificationsEnabled:Z
7428 + iput-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->bootCompleted:Z
7430 + :goto_14
7431 + return v1
7433 + :cond_15
7434 + const-string v0, "0"
7436 + goto :goto_5
7438 + :cond_18
7439 + const/4 v1, 0x0
7441 + goto :goto_14
7442 +.end method
7443 diff -NpruEbB stock_framework/smali/android/privacy/PrivacySettingsManager.smali moded_framework/smali/android/privacy/PrivacySettingsManager.smali
7444 --- stock_framework/smali/android/privacy/PrivacySettingsManager.smali 1969-12-31 16:00:00.000000000 -0800
7445 +++ moded_framework/smali/android/privacy/PrivacySettingsManager.smali 2012-09-13 08:58:54.564398267 -0700
7446 @@ -0,0 +1,531 @@
7447 +.class public Landroid/privacy/PrivacySettingsManager;
7448 +.super Ljava/lang/Object;
7449 +.source "PrivacySettingsManager.java"
7452 +# static fields
7453 +.field public static final ACTION_PRIVACY_NOTIFICATION:Ljava/lang/String; = "com.privacy.pdroid.PRIVACY_NOTIFICATION"
7455 +.field private static final TAG:Ljava/lang/String; = "PrivacySettingsManager"
7458 +# instance fields
7459 +.field private service:Landroid/privacy/IPrivacySettingsManager;
7462 +# direct methods
7463 +.method public constructor <init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
7464 + .registers 3
7466 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
7468 + iput-object p2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7470 + return-void
7471 +.end method
7474 +# virtual methods
7475 +.method public addObserver(Ljava/lang/String;)V
7476 + .registers 5
7478 + :try_start_0
7479 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7481 + if-eqz v1, :cond_a
7483 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7485 + invoke-interface {v1, p1}, Landroid/privacy/IPrivacySettingsManager;->addObserver(Ljava/lang/String;)V
7487 + :goto_9
7488 + return-void
7490 + :cond_a
7491 + const-string v1, "PrivacySettingsManager"
7493 + const-string v2, "deleteSettings - PrivacySettingsManagerService is null"
7495 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7496 + :try_end_11
7497 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_11} :catch_12
7499 + goto :goto_9
7501 + :catch_12
7502 + move-exception v0
7504 + const-string v1, "PrivacySettingsManager"
7506 + const-string v2, "RemoteException in addObserver: "
7508 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7510 + goto :goto_9
7511 +.end method
7513 +.method public deleteSettings(Ljava/lang/String;)Z
7514 + .registers 3
7516 + invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettingsManager;->deleteSettings(Ljava/lang/String;)Z
7518 + move-result v0
7520 + return v0
7521 +.end method
7523 +.method public deleteSettings(Ljava/lang/String;I)Z
7524 + .registers 7
7526 + const/4 v1, 0x0
7528 + :try_start_1
7529 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7531 + if-eqz v2, :cond_c
7533 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7535 + invoke-interface {v2, p1}, Landroid/privacy/IPrivacySettingsManager;->deleteSettings(Ljava/lang/String;)Z
7537 + move-result v1
7539 + :goto_b
7540 + return v1
7542 + :cond_c
7543 + const-string v2, "PrivacySettingsManager"
7545 + const-string v3, "deleteSettings - PrivacySettingsManagerService is null"
7547 + invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7548 + :try_end_13
7549 + .catch Landroid/os/RemoteException; {:try_start_1 .. :try_end_13} :catch_14
7551 + goto :goto_b
7553 + :catch_14
7554 + move-exception v0
7556 + const-string v2, "PrivacySettingsManager"
7558 + const-string v3, "RemoteException in deleteSettings: "
7560 + invoke-static {v2, v3, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7562 + goto :goto_b
7563 +.end method
7565 +.method public getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
7566 + .registers 6
7568 + const/4 v1, 0x0
7570 + :try_start_1
7571 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7573 + if-eqz v2, :cond_c
7575 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7577 + invoke-interface {v2, p1}, Landroid/privacy/IPrivacySettingsManager;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
7579 + move-result-object v1
7581 + :goto_b
7582 + return-object v1
7584 + :cond_c
7585 + const-string v2, "PrivacySettingsManager"
7587 + const-string v3, "getSettings - PrivacySettingsManagerService is null"
7589 + invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7590 + :try_end_13
7591 + .catch Landroid/os/RemoteException; {:try_start_1 .. :try_end_13} :catch_14
7593 + goto :goto_b
7595 + :catch_14
7596 + move-exception v0
7598 + invoke-virtual {v0}, Landroid/os/RemoteException;->printStackTrace()V
7600 + goto :goto_b
7601 +.end method
7603 +.method public getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
7604 + .registers 4
7606 + invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
7608 + move-result-object v0
7610 + return-object v0
7611 +.end method
7613 +.method public getVersion()D
7614 + .registers 4
7616 + :try_start_0
7617 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7619 + if-eqz v1, :cond_b
7621 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7623 + invoke-interface {v1}, Landroid/privacy/IPrivacySettingsManager;->getVersion()D
7625 + move-result-wide v1
7627 + :goto_a
7628 + return-wide v1
7630 + :cond_b
7631 + const-string v1, "PrivacySettingsManager"
7633 + const-string v2, "getVersion - PrivacySettingsManagerService is null"
7635 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7636 + :try_end_12
7637 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_12} :catch_15
7639 + :goto_12
7640 + const-wide/16 v1, 0x0
7642 + goto :goto_a
7644 + :catch_15
7645 + move-exception v0
7647 + const-string v1, "PrivacySettingsManager"
7649 + const-string v2, "RemoteException in getVersion: "
7651 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7653 + goto :goto_12
7654 +.end method
7656 +.method public isServiceAvailable()Z
7657 + .registers 2
7659 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7661 + if-eqz v0, :cond_6
7663 + const/4 v0, 0x1
7665 + :goto_5
7666 + return v0
7668 + :cond_6
7669 + const/4 v0, 0x0
7671 + goto :goto_5
7672 +.end method
7674 +.method public notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
7675 + .registers 9
7677 + :try_start_0
7678 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7680 + if-eqz v1, :cond_a
7682 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7684 + invoke-interface {v1, p1, p2, p3, p4}, Landroid/privacy/IPrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
7686 + :goto_9
7687 + return-void
7689 + :cond_a
7690 + const-string v1, "PrivacySettingsManager"
7692 + const-string v2, "deleteSettings - PrivacySettingsManagerService is null"
7694 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7695 + :try_end_11
7696 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_11} :catch_12
7698 + goto :goto_9
7700 + :catch_12
7701 + move-exception v0
7703 + const-string v1, "PrivacySettingsManager"
7705 + const-string v2, "RemoteException in notification: "
7707 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7709 + goto :goto_9
7710 +.end method
7712 +.method public notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
7713 + .registers 13
7715 + move-object v0, p0
7717 + move-object v1, p1
7719 + move v2, p3
7721 + move-object v3, p4
7723 + move-object v4, p5
7725 + move-object v5, p6
7727 + invoke-virtual/range {v0 .. v5}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
7729 + return-void
7730 +.end method
7732 +.method public purgeSettings()Z
7733 + .registers 4
7735 + :try_start_0
7736 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7738 + if-eqz v1, :cond_b
7740 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7742 + invoke-interface {v1}, Landroid/privacy/IPrivacySettingsManager;->purgeSettings()Z
7744 + move-result v1
7746 + :goto_a
7747 + return v1
7749 + :cond_b
7750 + const-string v1, "PrivacySettingsManager"
7752 + const-string v2, "deleteSettings - PrivacySettingsManagerService is null"
7754 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7755 + :try_end_12
7756 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_12} :catch_14
7758 + :goto_12
7759 + const/4 v1, 0x0
7761 + goto :goto_a
7763 + :catch_14
7764 + move-exception v0
7766 + const-string v1, "PrivacySettingsManager"
7768 + const-string v2, "RemoteException in purgeSettings: "
7770 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7772 + goto :goto_12
7773 +.end method
7775 +.method public registerObservers()V
7776 + .registers 4
7778 + :try_start_0
7779 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7781 + if-eqz v1, :cond_a
7783 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7785 + invoke-interface {v1}, Landroid/privacy/IPrivacySettingsManager;->registerObservers()V
7787 + :goto_9
7788 + return-void
7790 + :cond_a
7791 + const-string v1, "PrivacySettingsManager"
7793 + const-string v2, "deleteSettings - PrivacySettingsManagerService is null"
7795 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7796 + :try_end_11
7797 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_11} :catch_12
7799 + goto :goto_9
7801 + :catch_12
7802 + move-exception v0
7804 + const-string v1, "PrivacySettingsManager"
7806 + const-string v2, "RemoteException in registerObservers: "
7808 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7810 + goto :goto_9
7811 +.end method
7813 +.method public saveSettings(Landroid/privacy/PrivacySettings;)Z
7814 + .registers 6
7816 + const/4 v1, 0x0
7818 + :try_start_1
7819 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7821 + if-eqz v2, :cond_c
7823 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7825 + invoke-interface {v2, p1}, Landroid/privacy/IPrivacySettingsManager;->saveSettings(Landroid/privacy/PrivacySettings;)Z
7827 + move-result v1
7829 + :goto_b
7830 + return v1
7832 + :cond_c
7833 + const-string v2, "PrivacySettingsManager"
7835 + const-string/jumbo v3, "saveSettings - PrivacySettingsManagerService is null"
7837 + invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7838 + :try_end_14
7839 + .catch Landroid/os/RemoteException; {:try_start_1 .. :try_end_14} :catch_15
7841 + goto :goto_b
7843 + :catch_15
7844 + move-exception v0
7846 + const-string v2, "PrivacySettingsManager"
7848 + const-string v3, "RemoteException in saveSettings: "
7850 + invoke-static {v2, v3, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7852 + goto :goto_b
7853 +.end method
7855 +.method public setBootCompleted()V
7856 + .registers 4
7858 + :try_start_0
7859 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7861 + if-eqz v1, :cond_a
7863 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7865 + invoke-interface {v1}, Landroid/privacy/IPrivacySettingsManager;->setBootCompleted()V
7867 + :goto_9
7868 + return-void
7870 + :cond_a
7871 + const-string v1, "PrivacySettingsManager"
7873 + const-string/jumbo v2, "setBootCompleted - PrivacySettingsManagerService is null"
7875 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7876 + :try_end_12
7877 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_12} :catch_13
7879 + goto :goto_9
7881 + :catch_13
7882 + move-exception v0
7884 + const-string v1, "PrivacySettingsManager"
7886 + const-string v2, "RemoteException in setBootCompleted: "
7888 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7890 + goto :goto_9
7891 +.end method
7893 +.method public setEnabled(Z)Z
7894 + .registers 5
7896 + :try_start_0
7897 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7899 + if-eqz v1, :cond_b
7901 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7903 + invoke-interface {v1, p1}, Landroid/privacy/IPrivacySettingsManager;->setEnabled(Z)Z
7905 + move-result v1
7907 + :goto_a
7908 + return v1
7910 + :cond_b
7911 + const-string v1, "PrivacySettingsManager"
7913 + const-string/jumbo v2, "setEnabled - PrivacySettingsManagerService is null"
7915 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7916 + :try_end_13
7917 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_13} :catch_15
7919 + :goto_13
7920 + const/4 v1, 0x0
7922 + goto :goto_a
7924 + :catch_15
7925 + move-exception v0
7927 + const-string v1, "PrivacySettingsManager"
7929 + const-string v2, "RemoteException in setEnabled: "
7931 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7933 + goto :goto_13
7934 +.end method
7936 +.method public setNotificationsEnabled(Z)Z
7937 + .registers 5
7939 + :try_start_0
7940 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7942 + if-eqz v1, :cond_b
7944 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
7946 + invoke-interface {v1, p1}, Landroid/privacy/IPrivacySettingsManager;->setNotificationsEnabled(Z)Z
7948 + move-result v1
7950 + :goto_a
7951 + return v1
7953 + :cond_b
7954 + const-string v1, "PrivacySettingsManager"
7956 + const-string/jumbo v2, "setNotificationsEnabled - PrivacySettingsManagerService is null"
7958 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7959 + :try_end_13
7960 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_13} :catch_15
7962 + :goto_13
7963 + const/4 v1, 0x0
7965 + goto :goto_a
7967 + :catch_15
7968 + move-exception v0
7970 + const-string v1, "PrivacySettingsManager"
7972 + const-string v2, "RemoteException in setNotificationsEnabled: "
7974 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7976 + goto :goto_13
7977 +.end method
7978 diff -NpruEbB stock_framework/smali/android/privacy/PrivacySettings.smali moded_framework/smali/android/privacy/PrivacySettings.smali
7979 --- stock_framework/smali/android/privacy/PrivacySettings.smali 1969-12-31 16:00:00.000000000 -0800
7980 +++ moded_framework/smali/android/privacy/PrivacySettings.smali 2012-09-13 08:58:54.563398026 -0700
7981 @@ -0,0 +1,2109 @@
7982 +.class public final Landroid/privacy/PrivacySettings;
7983 +.super Ljava/lang/Object;
7984 +.source "PrivacySettings.java"
7986 +# interfaces
7987 +.implements Landroid/os/Parcelable;
7990 +# static fields
7991 +.field public static final CREATOR:Landroid/os/Parcelable$Creator; = null
7992 + .annotation system Ldalvik/annotation/Signature;
7993 + value = {
7994 + "Landroid/os/Parcelable$Creator",
7995 + "<",
7996 + "Landroid/privacy/PrivacySettings;",
7997 + ">;"
7999 + .end annotation
8000 +.end field
8002 +.field public static final CUSTOM:B = 0x2t
8004 +.field public static final DATA_ACCOUNTS_LIST:Ljava/lang/String; = "accountsList"
8006 +.field public static final DATA_AUTH_TOKENS:Ljava/lang/String; = "authTokens"
8008 +.field public static final DATA_BOOKMARKS:Ljava/lang/String; = "bookmarks"
8010 +.field public static final DATA_CALENDAR:Ljava/lang/String; = "calendar"
8012 +.field public static final DATA_CALL_LOG:Ljava/lang/String; = "callLog"
8014 +.field public static final DATA_CONTACTS:Ljava/lang/String; = "contacts"
8016 +.field public static final DATA_DEVICE_ID:Ljava/lang/String; = "deviceID"
8018 +.field public static final DATA_INCOMING_CALL:Ljava/lang/String; = "incomingCall"
8020 +.field public static final DATA_INTENT_BOOT_COMPLETED:Ljava/lang/String; = "intentBootCompleted"
8022 +.field public static final DATA_LINE_1_NUMBER:Ljava/lang/String; = "line1Number"
8024 +.field public static final DATA_LOCATION_GPS:Ljava/lang/String; = "locationGPS"
8026 +.field public static final DATA_LOCATION_NETWORK:Ljava/lang/String; = "locationNetwork"
8028 +.field public static final DATA_MMS:Ljava/lang/String; = "mms"
8030 +.field public static final DATA_MMS_SMS:Ljava/lang/String; = "mmsSms"
8032 +.field public static final DATA_NETWORK_INFO_CURRENT:Ljava/lang/String; = "networkInfoCurrent"
8034 +.field public static final DATA_NETWORK_INFO_SIM:Ljava/lang/String; = "networkInfoSIM"
8036 +.field public static final DATA_OUTGOING_CALL:Ljava/lang/String; = "outgoingCall"
8038 +.field public static final DATA_SIM_SERIAL:Ljava/lang/String; = "simSerial"
8040 +.field public static final DATA_SMS:Ljava/lang/String; = "sms"
8042 +.field public static final DATA_SUBSCRIBER_ID:Ljava/lang/String; = "subscriberID"
8044 +.field public static final DATA_SYSTEM_LOGS:Ljava/lang/String; = "systemLogs"
8046 +.field public static final EMPTY:B = 0x1t
8048 +.field public static final RANDOM:B = 0x3t
8050 +.field public static final REAL:B = 0x0t
8052 +.field public static final SETTING_NOTIFY_OFF:B = 0x0t
8054 +.field public static final SETTING_NOTIFY_ON:B = 0x1t
8057 +# instance fields
8058 +.field private final _id:Ljava/lang/Integer;
8060 +.field private accountsAuthTokensSetting:B
8062 +.field private accountsSetting:B
8064 +.field private allowedContacts:[I
8066 +.field private bookmarksSetting:B
8068 +.field private calendarSetting:B
8070 +.field private callLogSetting:B
8072 +.field private contactsSetting:B
8074 +.field private deviceId:Ljava/lang/String;
8076 +.field private deviceIdSetting:B
8078 +.field private incomingCallsSetting:B
8080 +.field private intentBootCompletedSetting:B
8082 +.field private line1Number:Ljava/lang/String;
8084 +.field private line1NumberSetting:B
8086 +.field private locationGpsLat:Ljava/lang/String;
8088 +.field private locationGpsLon:Ljava/lang/String;
8090 +.field private locationGpsSetting:B
8092 +.field private locationNetworkLat:Ljava/lang/String;
8094 +.field private locationNetworkLon:Ljava/lang/String;
8096 +.field private locationNetworkSetting:B
8098 +.field private mmsSetting:B
8100 +.field private networkInfoSetting:B
8102 +.field private notificationSetting:B
8104 +.field private outgoingCallsSetting:B
8106 +.field private packageName:Ljava/lang/String;
8108 +.field private simInfoSetting:B
8110 +.field private simSerialNumber:Ljava/lang/String;
8112 +.field private simSerialNumberSetting:B
8114 +.field private smsSetting:B
8116 +.field private subscriberId:Ljava/lang/String;
8118 +.field private subscriberIdSetting:B
8120 +.field private systemLogsSetting:B
8122 +.field private uid:I
8125 +# direct methods
8126 +.method static constructor <clinit>()V
8127 + .registers 1
8129 + new-instance v0, Landroid/privacy/PrivacySettings$1;
8131 + invoke-direct {v0}, Landroid/privacy/PrivacySettings$1;-><init>()V
8133 + sput-object v0, Landroid/privacy/PrivacySettings;->CREATOR:Landroid/os/Parcelable$Creator;
8135 + return-void
8136 +.end method
8138 +.method public constructor <init>(Landroid/os/Parcel;)V
8139 + .registers 4
8141 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
8143 + invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I
8145 + move-result v0
8147 + const/4 v1, -0x1
8149 + if-ne v0, v1, :cond_ce
8151 + const/4 v1, 0x0
8153 + :goto_b
8154 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
8156 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
8158 + move-result-object v1
8160 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
8162 + invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I
8164 + move-result v1
8166 + iput v1, p0, Landroid/privacy/PrivacySettings;->uid:I
8168 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8170 + move-result v1
8172 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
8174 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
8176 + move-result-object v1
8178 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
8180 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8182 + move-result v1
8184 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
8186 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
8188 + move-result-object v1
8190 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
8192 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8194 + move-result v1
8196 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8198 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
8200 + move-result-object v1
8202 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
8204 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
8206 + move-result-object v1
8208 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
8210 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8212 + move-result v1
8214 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8216 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
8218 + move-result-object v1
8220 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
8222 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
8224 + move-result-object v1
8226 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
8228 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8230 + move-result v1
8232 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
8234 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8236 + move-result v1
8238 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
8240 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8242 + move-result v1
8244 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
8246 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
8248 + move-result-object v1
8250 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
8252 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8254 + move-result v1
8256 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
8258 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
8260 + move-result-object v1
8262 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
8264 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8266 + move-result v1
8268 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
8270 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8272 + move-result v1
8274 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
8276 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8278 + move-result v1
8280 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
8282 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8284 + move-result v1
8286 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
8288 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8290 + move-result v1
8292 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
8294 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8296 + move-result v1
8298 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
8300 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8302 + move-result v1
8304 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
8306 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8308 + move-result v1
8310 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
8312 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8314 + move-result v1
8316 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
8318 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8320 + move-result v1
8322 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
8324 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8326 + move-result v1
8328 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
8330 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8332 + move-result v1
8334 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
8336 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
8338 + move-result v1
8340 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
8342 + invoke-virtual {p1}, Landroid/os/Parcel;->createIntArray()[I
8344 + move-result-object v1
8346 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
8348 + return-void
8350 + :cond_ce
8351 + invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
8353 + move-result-object v1
8355 + goto/16 :goto_b
8356 +.end method
8358 +.method public constructor <init>(Ljava/lang/Integer;Ljava/lang/String;I)V
8359 + .registers 6
8361 + const/4 v1, 0x0
8363 + const/4 v0, 0x0
8365 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
8367 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
8369 + iput-object p2, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
8371 + iput p3, p0, Landroid/privacy/PrivacySettings;->uid:I
8373 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
8375 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
8377 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
8379 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
8381 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8383 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
8385 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
8387 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8389 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
8391 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
8393 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
8395 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
8397 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
8399 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
8401 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
8403 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
8405 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
8407 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
8409 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
8411 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
8413 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
8415 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
8417 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
8419 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
8421 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
8423 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
8425 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
8427 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
8429 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
8431 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
8433 + return-void
8434 +.end method
8436 +.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
8437 + .registers 38
8439 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
8441 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
8443 + iput-object p2, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
8445 + iput p3, p0, Landroid/privacy/PrivacySettings;->uid:I
8447 + iput-byte p4, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
8449 + iput-object p5, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
8451 + iput-byte p6, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
8453 + iput-object p7, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
8455 + iput-byte p8, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8457 + iput-object p9, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
8459 + iput-object p10, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
8461 + iput-byte p11, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8463 + iput-object p12, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
8465 + iput-object p13, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
8467 + iput-byte p14, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
8469 + move/from16 v0, p15
8471 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
8473 + move/from16 v0, p16
8475 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
8477 + move-object/from16 v0, p17
8479 + iput-object v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
8481 + move/from16 v0, p18
8483 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
8485 + move-object/from16 v0, p19
8487 + iput-object v0, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
8489 + move/from16 v0, p20
8491 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
8493 + move/from16 v0, p21
8495 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
8497 + move/from16 v0, p22
8499 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
8501 + move/from16 v0, p23
8503 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
8505 + move/from16 v0, p24
8507 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
8509 + move/from16 v0, p25
8511 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
8513 + move/from16 v0, p26
8515 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
8517 + move/from16 v0, p27
8519 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
8521 + move/from16 v0, p28
8523 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
8525 + move/from16 v0, p29
8527 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
8529 + move/from16 v0, p30
8531 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
8533 + move/from16 v0, p34
8535 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
8537 + move/from16 v0, p35
8539 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
8541 + move-object/from16 v0, p36
8543 + iput-object v0, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
8545 + return-void
8546 +.end method
8548 +.method private getRandomLat()Ljava/lang/String;
8549 + .registers 10
8551 + const-wide v7, 0x4056800000000000L
8553 + invoke-static {}, Ljava/lang/Math;->random()D
8555 + move-result-wide v3
8557 + const-wide v5, 0x4066800000000000L
8559 + mul-double v0, v3, v5
8561 + cmpl-double v3, v0, v7
8563 + if-lez v3, :cond_35
8565 + new-instance v2, Ljava/math/BigDecimal;
8567 + sub-double v3, v0, v7
8569 + invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;-><init>(D)V
8571 + :goto_1b
8572 + new-instance v3, Ljava/lang/StringBuilder;
8574 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
8576 + const/4 v4, 0x6
8578 + const/4 v5, 0x4
8580 + invoke-virtual {v2, v4, v5}, Ljava/math/BigDecimal;->setScale(II)Ljava/math/BigDecimal;
8582 + move-result-object v4
8584 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
8586 + move-result-object v3
8588 + const-string v4, ""
8590 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8592 + move-result-object v3
8594 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8596 + move-result-object v3
8598 + return-object v3
8600 + :cond_35
8601 + new-instance v2, Ljava/math/BigDecimal;
8603 + neg-double v3, v0
8605 + invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;-><init>(D)V
8607 + goto :goto_1b
8608 +.end method
8610 +.method private getRandomLon()Ljava/lang/String;
8611 + .registers 10
8613 + const-wide v7, 0x4066800000000000L
8615 + invoke-static {}, Ljava/lang/Math;->random()D
8617 + move-result-wide v3
8619 + const-wide v5, 0x4076800000000000L
8621 + mul-double v0, v3, v5
8623 + cmpl-double v3, v0, v7
8625 + if-lez v3, :cond_35
8627 + new-instance v2, Ljava/math/BigDecimal;
8629 + sub-double v3, v0, v7
8631 + invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;-><init>(D)V
8633 + :goto_1b
8634 + new-instance v3, Ljava/lang/StringBuilder;
8636 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
8638 + const/4 v4, 0x6
8640 + const/4 v5, 0x4
8642 + invoke-virtual {v2, v4, v5}, Ljava/math/BigDecimal;->setScale(II)Ljava/math/BigDecimal;
8644 + move-result-object v4
8646 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
8648 + move-result-object v3
8650 + const-string v4, ""
8652 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8654 + move-result-object v3
8656 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8658 + move-result-object v3
8660 + return-object v3
8662 + :cond_35
8663 + new-instance v2, Ljava/math/BigDecimal;
8665 + neg-double v3, v0
8667 + invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;-><init>(D)V
8669 + goto :goto_1b
8670 +.end method
8673 +# virtual methods
8674 +.method public describeContents()I
8675 + .registers 2
8677 + const/4 v0, 0x0
8679 + return v0
8680 +.end method
8682 +.method public getAccountsAuthTokensSetting()B
8683 + .registers 2
8685 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
8687 + return v0
8688 +.end method
8690 +.method public getAccountsSetting()B
8691 + .registers 2
8693 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
8695 + return v0
8696 +.end method
8698 +.method public getAllowedContacts()[I
8699 + .registers 2
8701 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
8703 + return-object v0
8704 +.end method
8706 +.method public getBookmarksSetting()B
8707 + .registers 2
8709 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
8711 + return v0
8712 +.end method
8714 +.method public getCalendarSetting()B
8715 + .registers 2
8717 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
8719 + return v0
8720 +.end method
8722 +.method public getCallLogSetting()B
8723 + .registers 2
8725 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
8727 + return v0
8728 +.end method
8730 +.method public getContactsSetting()B
8731 + .registers 2
8733 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
8735 + return v0
8736 +.end method
8738 +.method public getDeviceId()Ljava/lang/String;
8739 + .registers 6
8741 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
8743 + const/4 v3, 0x1
8745 + if-ne v2, v3, :cond_8
8747 + const-string v2, ""
8749 + :goto_7
8750 + return-object v2
8752 + :cond_8
8753 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
8755 + const/4 v3, 0x3
8757 + if-ne v2, v3, :cond_35
8759 + new-instance v0, Ljava/util/Random;
8761 + invoke-direct {v0}, Ljava/util/Random;-><init>()V
8763 + new-instance v2, Ljava/lang/StringBuilder;
8765 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
8767 + invoke-virtual {v0}, Ljava/util/Random;->nextLong()J
8769 + move-result-wide v3
8771 + invoke-static {v3, v4}, Ljava/lang/Math;->abs(J)J
8773 + move-result-wide v3
8775 + invoke-virtual {v2, v3, v4}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
8777 + move-result-object v2
8779 + const-string v3, ""
8781 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8783 + move-result-object v2
8785 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8787 + move-result-object v1
8789 + const/4 v2, 0x0
8791 + const/16 v3, 0xf
8793 + invoke-virtual {v1, v2, v3}, Ljava/lang/String;->substring(II)Ljava/lang/String;
8795 + move-result-object v2
8797 + goto :goto_7
8799 + :cond_35
8800 + iget-object v2, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
8802 + goto :goto_7
8803 +.end method
8805 +.method public getDeviceIdSetting()B
8806 + .registers 2
8808 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
8810 + return v0
8811 +.end method
8813 +.method public getIncomingCallsSetting()B
8814 + .registers 2
8816 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
8818 + return v0
8819 +.end method
8821 +.method public getIntentBootCompletedSetting()B
8822 + .registers 2
8824 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
8826 + return v0
8827 +.end method
8829 +.method public getLine1Number()Ljava/lang/String;
8830 + .registers 6
8832 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
8834 + const/4 v3, 0x1
8836 + if-ne v2, v3, :cond_8
8838 + const-string v2, ""
8840 + :goto_7
8841 + return-object v2
8843 + :cond_8
8844 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
8846 + const/4 v3, 0x3
8848 + if-ne v2, v3, :cond_3b
8850 + new-instance v0, Ljava/util/Random;
8852 + invoke-direct {v0}, Ljava/util/Random;-><init>()V
8854 + new-instance v2, Ljava/lang/StringBuilder;
8856 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
8858 + const-string v3, "+"
8860 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8862 + move-result-object v2
8864 + invoke-virtual {v0}, Ljava/util/Random;->nextLong()J
8866 + move-result-wide v3
8868 + invoke-static {v3, v4}, Ljava/lang/Math;->abs(J)J
8870 + move-result-wide v3
8872 + invoke-virtual {v2, v3, v4}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
8874 + move-result-object v2
8876 + const-string v3, ""
8878 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8880 + move-result-object v2
8882 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8884 + move-result-object v1
8886 + const/4 v2, 0x0
8888 + const/16 v3, 0xd
8890 + invoke-virtual {v1, v2, v3}, Ljava/lang/String;->substring(II)Ljava/lang/String;
8892 + move-result-object v2
8894 + goto :goto_7
8896 + :cond_3b
8897 + iget-object v2, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
8899 + goto :goto_7
8900 +.end method
8902 +.method public getLine1NumberSetting()B
8903 + .registers 2
8905 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
8907 + return v0
8908 +.end method
8910 +.method public getLocationGpsLat()Ljava/lang/String;
8911 + .registers 3
8913 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8915 + const/4 v1, 0x1
8917 + if-ne v0, v1, :cond_8
8919 + const-string v0, ""
8921 + :goto_7
8922 + return-object v0
8924 + :cond_8
8925 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8927 + const/4 v1, 0x3
8929 + if-ne v0, v1, :cond_12
8931 + invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLat()Ljava/lang/String;
8933 + move-result-object v0
8935 + goto :goto_7
8937 + :cond_12
8938 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
8940 + goto :goto_7
8941 +.end method
8943 +.method public getLocationGpsLon()Ljava/lang/String;
8944 + .registers 3
8946 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8948 + const/4 v1, 0x1
8950 + if-ne v0, v1, :cond_8
8952 + const-string v0, ""
8954 + :goto_7
8955 + return-object v0
8957 + :cond_8
8958 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8960 + const/4 v1, 0x3
8962 + if-ne v0, v1, :cond_12
8964 + invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLon()Ljava/lang/String;
8966 + move-result-object v0
8968 + goto :goto_7
8970 + :cond_12
8971 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
8973 + goto :goto_7
8974 +.end method
8976 +.method public getLocationGpsSetting()B
8977 + .registers 2
8979 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
8981 + return v0
8982 +.end method
8984 +.method public getLocationNetworkLat()Ljava/lang/String;
8985 + .registers 3
8987 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
8989 + const/4 v1, 0x1
8991 + if-ne v0, v1, :cond_8
8993 + const-string v0, ""
8995 + :goto_7
8996 + return-object v0
8998 + :cond_8
8999 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
9001 + const/4 v1, 0x3
9003 + if-ne v0, v1, :cond_12
9005 + invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLat()Ljava/lang/String;
9007 + move-result-object v0
9009 + goto :goto_7
9011 + :cond_12
9012 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
9014 + goto :goto_7
9015 +.end method
9017 +.method public getLocationNetworkLon()Ljava/lang/String;
9018 + .registers 3
9020 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
9022 + const/4 v1, 0x1
9024 + if-ne v0, v1, :cond_8
9026 + const-string v0, ""
9028 + :goto_7
9029 + return-object v0
9031 + :cond_8
9032 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
9034 + const/4 v1, 0x3
9036 + if-ne v0, v1, :cond_12
9038 + invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLon()Ljava/lang/String;
9040 + move-result-object v0
9042 + goto :goto_7
9044 + :cond_12
9045 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
9047 + goto :goto_7
9048 +.end method
9050 +.method public getLocationNetworkSetting()B
9051 + .registers 2
9053 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
9055 + return v0
9056 +.end method
9058 +.method public getMmsSetting()B
9059 + .registers 2
9061 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
9063 + return v0
9064 +.end method
9066 +.method public getNetworkInfoSetting()B
9067 + .registers 2
9069 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
9071 + return v0
9072 +.end method
9074 +.method public getNotificationSetting()B
9075 + .registers 2
9077 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
9079 + return v0
9080 +.end method
9082 +.method public getOutgoingCallsSetting()B
9083 + .registers 2
9085 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
9087 + return v0
9088 +.end method
9090 +.method public getPackageName()Ljava/lang/String;
9091 + .registers 2
9093 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
9095 + return-object v0
9096 +.end method
9098 +.method public getSimInfoSetting()B
9099 + .registers 2
9101 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
9103 + return v0
9104 +.end method
9106 +.method public getSimSerialNumber()Ljava/lang/String;
9107 + .registers 5
9109 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
9111 + const/4 v2, 0x1
9113 + if-ne v1, v2, :cond_8
9115 + const-string v1, ""
9117 + :goto_7
9118 + return-object v1
9120 + :cond_8
9121 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
9123 + const/4 v2, 0x3
9125 + if-ne v1, v2, :cond_2e
9127 + new-instance v0, Ljava/util/Random;
9129 + invoke-direct {v0}, Ljava/util/Random;-><init>()V
9131 + new-instance v1, Ljava/lang/StringBuilder;
9133 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
9135 + invoke-virtual {v0}, Ljava/util/Random;->nextLong()J
9137 + move-result-wide v2
9139 + invoke-static {v2, v3}, Ljava/lang/Math;->abs(J)J
9141 + move-result-wide v2
9143 + invoke-virtual {v1, v2, v3}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
9145 + move-result-object v1
9147 + const-string v2, ""
9149 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9151 + move-result-object v1
9153 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
9155 + move-result-object v1
9157 + goto :goto_7
9159 + :cond_2e
9160 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
9162 + goto :goto_7
9163 +.end method
9165 +.method public getSimSerialNumberSetting()B
9166 + .registers 2
9168 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
9170 + return v0
9171 +.end method
9173 +.method public getSmsSetting()B
9174 + .registers 2
9176 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
9178 + return v0
9179 +.end method
9181 +.method public getSubscriberId()Ljava/lang/String;
9182 + .registers 6
9184 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
9186 + const/4 v3, 0x1
9188 + if-ne v2, v3, :cond_8
9190 + const-string v2, ""
9192 + :goto_7
9193 + return-object v2
9195 + :cond_8
9196 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
9198 + const/4 v3, 0x3
9200 + if-ne v2, v3, :cond_35
9202 + new-instance v0, Ljava/util/Random;
9204 + invoke-direct {v0}, Ljava/util/Random;-><init>()V
9206 + new-instance v2, Ljava/lang/StringBuilder;
9208 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
9210 + invoke-virtual {v0}, Ljava/util/Random;->nextLong()J
9212 + move-result-wide v3
9214 + invoke-static {v3, v4}, Ljava/lang/Math;->abs(J)J
9216 + move-result-wide v3
9218 + invoke-virtual {v2, v3, v4}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
9220 + move-result-object v2
9222 + const-string v3, ""
9224 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9226 + move-result-object v2
9228 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
9230 + move-result-object v1
9232 + const/4 v2, 0x0
9234 + const/16 v3, 0xf
9236 + invoke-virtual {v1, v2, v3}, Ljava/lang/String;->substring(II)Ljava/lang/String;
9238 + move-result-object v2
9240 + goto :goto_7
9242 + :cond_35
9243 + iget-object v2, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
9245 + goto :goto_7
9246 +.end method
9248 +.method public getSubscriberIdSetting()B
9249 + .registers 2
9251 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
9253 + return v0
9254 +.end method
9256 +.method public getSystemLogsSetting()B
9257 + .registers 2
9259 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
9261 + return v0
9262 +.end method
9264 +.method public getUid()I
9265 + .registers 2
9267 + iget v0, p0, Landroid/privacy/PrivacySettings;->uid:I
9269 + return v0
9270 +.end method
9272 +.method public get_id()Ljava/lang/Integer;
9273 + .registers 2
9275 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
9277 + return-object v0
9278 +.end method
9280 +.method public setAccountsAuthTokensSetting(B)V
9281 + .registers 2
9283 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
9285 + return-void
9286 +.end method
9288 +.method public setAccountsSetting(B)V
9289 + .registers 2
9291 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
9293 + return-void
9294 +.end method
9296 +.method public setAllowedContacts([I)V
9297 + .registers 2
9299 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
9301 + return-void
9302 +.end method
9304 +.method public setBookmarksSetting(B)V
9305 + .registers 2
9307 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
9309 + return-void
9310 +.end method
9312 +.method public setCalendarSetting(B)V
9313 + .registers 2
9315 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
9317 + return-void
9318 +.end method
9320 +.method public setCallLogSetting(B)V
9321 + .registers 2
9323 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
9325 + return-void
9326 +.end method
9328 +.method public setContactsSetting(B)V
9329 + .registers 2
9331 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
9333 + return-void
9334 +.end method
9336 +.method public setDeviceId(Ljava/lang/String;)V
9337 + .registers 2
9339 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
9341 + return-void
9342 +.end method
9344 +.method public setDeviceIdSetting(B)V
9345 + .registers 2
9347 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
9349 + return-void
9350 +.end method
9352 +.method public setIncomingCallsSetting(B)V
9353 + .registers 2
9355 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
9357 + return-void
9358 +.end method
9360 +.method public setIntentBootCompletedSetting(B)V
9361 + .registers 2
9363 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
9365 + return-void
9366 +.end method
9368 +.method public setLine1Number(Ljava/lang/String;)V
9369 + .registers 2
9371 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
9373 + return-void
9374 +.end method
9376 +.method public setLine1NumberSetting(B)V
9377 + .registers 2
9379 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
9381 + return-void
9382 +.end method
9384 +.method public setLocationGpsLat(Ljava/lang/String;)V
9385 + .registers 2
9387 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
9389 + return-void
9390 +.end method
9392 +.method public setLocationGpsLon(Ljava/lang/String;)V
9393 + .registers 2
9395 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
9397 + return-void
9398 +.end method
9400 +.method public setLocationGpsSetting(B)V
9401 + .registers 2
9403 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
9405 + return-void
9406 +.end method
9408 +.method public setLocationNetworkLat(Ljava/lang/String;)V
9409 + .registers 2
9411 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
9413 + return-void
9414 +.end method
9416 +.method public setLocationNetworkLon(Ljava/lang/String;)V
9417 + .registers 2
9419 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
9421 + return-void
9422 +.end method
9424 +.method public setLocationNetworkSetting(B)V
9425 + .registers 2
9427 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
9429 + return-void
9430 +.end method
9432 +.method public setMmsSetting(B)V
9433 + .registers 2
9435 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
9437 + return-void
9438 +.end method
9440 +.method public setNetworkInfoSetting(B)V
9441 + .registers 2
9443 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
9445 + return-void
9446 +.end method
9448 +.method public setNotificationSetting(B)V
9449 + .registers 2
9451 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
9453 + return-void
9454 +.end method
9456 +.method public setOutgoingCallsSetting(B)V
9457 + .registers 2
9459 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
9461 + return-void
9462 +.end method
9464 +.method public setPackageName(Ljava/lang/String;)V
9465 + .registers 2
9467 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
9469 + return-void
9470 +.end method
9472 +.method public setSimInfoSetting(B)V
9473 + .registers 2
9475 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
9477 + return-void
9478 +.end method
9480 +.method public setSimSerialNumber(Ljava/lang/String;)V
9481 + .registers 2
9483 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
9485 + return-void
9486 +.end method
9488 +.method public setSimSerialNumberSetting(B)V
9489 + .registers 2
9491 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
9493 + return-void
9494 +.end method
9496 +.method public setSmsSetting(B)V
9497 + .registers 2
9499 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
9501 + return-void
9502 +.end method
9504 +.method public setSubscriberId(Ljava/lang/String;)V
9505 + .registers 2
9507 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
9509 + return-void
9510 +.end method
9512 +.method public setSubscriberIdSetting(B)V
9513 + .registers 2
9515 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
9517 + return-void
9518 +.end method
9520 +.method public setSystemLogsSetting(B)V
9521 + .registers 2
9523 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
9525 + return-void
9526 +.end method
9528 +.method public setUid(I)V
9529 + .registers 2
9531 + iput p1, p0, Landroid/privacy/PrivacySettings;->uid:I
9533 + return-void
9534 +.end method
9536 +.method public toString()Ljava/lang/String;
9537 + .registers 3
9539 + new-instance v0, Ljava/lang/StringBuilder;
9541 + invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
9543 + const-string v1, "PrivacySettings [_id="
9545 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9547 + move-result-object v0
9549 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
9551 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
9553 + move-result-object v0
9555 + const-string v1, ", accountsAuthTokensSetting="
9557 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9559 + move-result-object v0
9561 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
9563 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9565 + move-result-object v0
9567 + const-string v1, ", accountsSetting="
9569 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9571 + move-result-object v0
9573 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
9575 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9577 + move-result-object v0
9579 + const-string v1, ", bookmarksSetting="
9581 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9583 + move-result-object v0
9585 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
9587 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9589 + move-result-object v0
9591 + const-string v1, ", calendarSetting="
9593 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9595 + move-result-object v0
9597 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
9599 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9601 + move-result-object v0
9603 + const-string v1, ", callLogSetting="
9605 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9607 + move-result-object v0
9609 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
9611 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9613 + move-result-object v0
9615 + const-string v1, ", contactsSetting="
9617 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9619 + move-result-object v0
9621 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
9623 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9625 + move-result-object v0
9627 + const-string v1, ", deviceId="
9629 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9631 + move-result-object v0
9633 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
9635 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9637 + move-result-object v0
9639 + const-string v1, ", deviceIdSetting="
9641 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9643 + move-result-object v0
9645 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
9647 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9649 + move-result-object v0
9651 + const-string v1, ", incomingCallsSetting="
9653 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9655 + move-result-object v0
9657 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
9659 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9661 + move-result-object v0
9663 + const-string v1, ", intentBootCompletedSetting="
9665 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9667 + move-result-object v0
9669 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
9671 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9673 + move-result-object v0
9675 + const-string v1, ", line1Number="
9677 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9679 + move-result-object v0
9681 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
9683 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9685 + move-result-object v0
9687 + const-string v1, ", line1NumberSetting="
9689 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9691 + move-result-object v0
9693 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
9695 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9697 + move-result-object v0
9699 + const-string v1, ", locationGpsLat="
9701 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9703 + move-result-object v0
9705 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
9707 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9709 + move-result-object v0
9711 + const-string v1, ", locationGpsLon="
9713 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9715 + move-result-object v0
9717 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
9719 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9721 + move-result-object v0
9723 + const-string v1, ", locationGpsSetting="
9725 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9727 + move-result-object v0
9729 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
9731 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9733 + move-result-object v0
9735 + const-string v1, ", locationNetworkLat="
9737 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9739 + move-result-object v0
9741 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
9743 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9745 + move-result-object v0
9747 + const-string v1, ", locationNetworkLon="
9749 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9751 + move-result-object v0
9753 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
9755 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9757 + move-result-object v0
9759 + const-string v1, ", locationNetworkSetting="
9761 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9763 + move-result-object v0
9765 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
9767 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9769 + move-result-object v0
9771 + const-string v1, ", mmsSetting="
9773 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9775 + move-result-object v0
9777 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
9779 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9781 + move-result-object v0
9783 + const-string v1, ", networkInfoSetting="
9785 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9787 + move-result-object v0
9789 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
9791 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9793 + move-result-object v0
9795 + const-string v1, ", notificationSetting="
9797 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9799 + move-result-object v0
9801 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
9803 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9805 + move-result-object v0
9807 + const-string v1, ", outgoingCallsSetting="
9809 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9811 + move-result-object v0
9813 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
9815 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9817 + move-result-object v0
9819 + const-string v1, ", packageName="
9821 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9823 + move-result-object v0
9825 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
9827 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9829 + move-result-object v0
9831 + const-string v1, ", simInfoSetting="
9833 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9835 + move-result-object v0
9837 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
9839 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9841 + move-result-object v0
9843 + const-string v1, ", simSerialNumber="
9845 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9847 + move-result-object v0
9849 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
9851 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9853 + move-result-object v0
9855 + const-string v1, ", simSerialNumberSetting="
9857 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9859 + move-result-object v0
9861 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
9863 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9865 + move-result-object v0
9867 + const-string v1, ", smsSetting="
9869 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9871 + move-result-object v0
9873 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
9875 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9877 + move-result-object v0
9879 + const-string v1, ", subscriberId="
9881 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9883 + move-result-object v0
9885 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
9887 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9889 + move-result-object v0
9891 + const-string v1, ", subscriberIdSetting="
9893 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9895 + move-result-object v0
9897 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
9899 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9901 + move-result-object v0
9903 + const-string v1, ", systemLogsSetting="
9905 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9907 + move-result-object v0
9909 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
9911 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9913 + move-result-object v0
9915 + const-string v1, ", uid="
9917 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9919 + move-result-object v0
9921 + iget v1, p0, Landroid/privacy/PrivacySettings;->uid:I
9923 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
9925 + move-result-object v0
9927 + const-string v1, "]"
9929 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9931 + move-result-object v0
9933 + invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
9935 + move-result-object v0
9937 + return-object v0
9938 +.end method
9940 +.method public writeToParcel(Landroid/os/Parcel;I)V
9941 + .registers 4
9943 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
9945 + if-nez v0, :cond_a9
9947 + const/4 v0, -0x1
9949 + :goto_5
9950 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeInt(I)V
9952 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
9954 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9956 + iget v0, p0, Landroid/privacy/PrivacySettings;->uid:I
9958 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeInt(I)V
9960 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
9962 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9964 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
9966 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9968 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
9970 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9972 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
9974 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9976 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
9978 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9980 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
9982 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9984 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
9986 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9988 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
9990 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
9992 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
9994 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9996 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
9998 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
10000 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
10002 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
10004 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
10006 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
10008 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
10010 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
10012 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
10014 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
10016 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
10018 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
10020 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
10022 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
10024 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
10026 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
10028 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
10030 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
10032 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
10034 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
10036 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
10038 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
10040 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
10042 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
10044 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
10046 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
10048 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
10050 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
10052 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
10054 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
10056 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
10058 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
10060 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
10062 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
10064 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
10066 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
10068 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
10070 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
10072 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
10074 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
10076 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
10078 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeIntArray([I)V
10080 + return-void
10082 + :cond_a9
10083 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
10085 + invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
10087 + move-result v0
10089 + goto/16 :goto_5
10090 +.end method
10091 diff -NpruEbB stock_framework/smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali moded_framework/smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali
10092 --- stock_framework/smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali 1969-12-31 16:00:00.000000000 -0800
10093 +++ moded_framework/smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali 2012-09-13 08:58:54.565398507 -0700
10094 @@ -0,0 +1,129 @@
10095 +.class Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10096 +.super Ljava/lang/Object;
10097 +.source "PrivacyAccountManager.java"
10099 +# interfaces
10100 +.implements Landroid/accounts/AccountManagerFuture;
10103 +# annotations
10104 +.annotation system Ldalvik/annotation/EnclosingClass;
10105 + value = Landroid/privacy/surrogate/PrivacyAccountManager;
10106 +.end annotation
10108 +.annotation system Ldalvik/annotation/InnerClass;
10109 + accessFlags = 0x2
10110 + name = "PrivacyAccountManagerFuture"
10111 +.end annotation
10113 +.annotation system Ldalvik/annotation/Signature;
10114 + value = {
10115 + "<V:",
10116 + "Ljava/lang/Object;",
10117 + ">",
10118 + "Ljava/lang/Object;",
10119 + "Landroid/accounts/AccountManagerFuture",
10120 + "<TV;>;"
10122 +.end annotation
10125 +# instance fields
10126 +.field private result:Ljava/lang/Object;
10127 + .annotation system Ldalvik/annotation/Signature;
10128 + value = {
10129 + "TV;"
10131 + .end annotation
10132 +.end field
10134 +.field final synthetic this$0:Landroid/privacy/surrogate/PrivacyAccountManager;
10137 +# direct methods
10138 +.method public constructor <init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
10139 + .registers 3
10140 + .annotation system Ldalvik/annotation/Signature;
10141 + value = {
10142 + "(TV;)V"
10144 + .end annotation
10146 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->this$0:Landroid/privacy/surrogate/PrivacyAccountManager;
10148 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
10150 + iput-object p2, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->result:Ljava/lang/Object;
10152 + return-void
10153 +.end method
10156 +# virtual methods
10157 +.method public cancel(Z)Z
10158 + .registers 3
10160 + const/4 v0, 0x0
10162 + return v0
10163 +.end method
10165 +.method public getResult()Ljava/lang/Object;
10166 + .registers 2
10167 + .annotation system Ldalvik/annotation/Signature;
10168 + value = {
10169 + "()TV;"
10171 + .end annotation
10173 + .annotation system Ldalvik/annotation/Throws;
10174 + value = {
10175 + Landroid/accounts/OperationCanceledException;,
10176 + Ljava/io/IOException;,
10177 + Landroid/accounts/AuthenticatorException;
10179 + .end annotation
10181 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->result:Ljava/lang/Object;
10183 + return-object v0
10184 +.end method
10186 +.method public getResult(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;
10187 + .registers 5
10188 + .annotation system Ldalvik/annotation/Signature;
10189 + value = {
10190 + "(J",
10191 + "Ljava/util/concurrent/TimeUnit;",
10192 + ")TV;"
10194 + .end annotation
10196 + .annotation system Ldalvik/annotation/Throws;
10197 + value = {
10198 + Landroid/accounts/OperationCanceledException;,
10199 + Ljava/io/IOException;,
10200 + Landroid/accounts/AuthenticatorException;
10202 + .end annotation
10204 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->result:Ljava/lang/Object;
10206 + return-object v0
10207 +.end method
10209 +.method public isCancelled()Z
10210 + .registers 2
10212 + const/4 v0, 0x0
10214 + return v0
10215 +.end method
10217 +.method public isDone()Z
10218 + .registers 2
10220 + const/4 v0, 0x1
10222 + return v0
10223 +.end method
10224 diff -NpruEbB stock_framework/smali/android/privacy/surrogate/PrivacyAccountManager.smali moded_framework/smali/android/privacy/surrogate/PrivacyAccountManager.smali
10225 --- stock_framework/smali/android/privacy/surrogate/PrivacyAccountManager.smali 1969-12-31 16:00:00.000000000 -0800
10226 +++ moded_framework/smali/android/privacy/surrogate/PrivacyAccountManager.smali 2012-09-13 08:58:54.565398507 -0700
10227 @@ -0,0 +1,701 @@
10228 +.class public final Landroid/privacy/surrogate/PrivacyAccountManager;
10229 +.super Landroid/accounts/AccountManager;
10230 +.source "PrivacyAccountManager.java"
10233 +# annotations
10234 +.annotation system Ldalvik/annotation/MemberClasses;
10235 + value = {
10236 + Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10238 +.end annotation
10241 +# static fields
10242 +.field private static final TAG:Ljava/lang/String; = "PrivacyAccountManager"
10245 +# instance fields
10246 +.field private context:Landroid/content/Context;
10248 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
10251 +# direct methods
10252 +.method public constructor <init>(Landroid/content/Context;Landroid/accounts/IAccountManager;)V
10253 + .registers 5
10255 + invoke-direct {p0, p1, p2}, Landroid/accounts/AccountManager;-><init>(Landroid/content/Context;Landroid/accounts/IAccountManager;)V
10257 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10259 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
10261 + const-string/jumbo v1, "privacy"
10263 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
10265 + move-result-object v1
10267 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
10269 + move-result-object v1
10271 + invoke-direct {v0, p1, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
10273 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10275 + return-void
10276 +.end method
10278 +.method public constructor <init>(Landroid/content/Context;Landroid/accounts/IAccountManager;Landroid/os/Handler;)V
10279 + .registers 6
10281 + invoke-direct {p0, p1, p2, p3}, Landroid/accounts/AccountManager;-><init>(Landroid/content/Context;Landroid/accounts/IAccountManager;Landroid/os/Handler;)V
10283 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10285 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
10287 + const-string/jumbo v1, "privacy"
10289 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
10291 + move-result-object v1
10293 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
10295 + move-result-object v1
10297 + invoke-direct {v0, p1, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
10299 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10301 + return-void
10302 +.end method
10305 +# virtual methods
10306 +.method public blockingGetAuthToken(Landroid/accounts/Account;Ljava/lang/String;Z)Ljava/lang/String;
10307 + .registers 12
10308 + .annotation system Ldalvik/annotation/Throws;
10309 + value = {
10310 + Landroid/accounts/OperationCanceledException;,
10311 + Ljava/io/IOException;,
10312 + Landroid/accounts/AuthenticatorException;
10314 + .end annotation
10316 + const/4 v5, 0x0
10318 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10320 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10322 + move-result-object v1
10324 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10326 + move-result v2
10328 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10330 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10332 + move-result-object v6
10334 + if-eqz v6, :cond_23
10336 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
10338 + move-result v0
10340 + if-eqz v0, :cond_23
10342 + const/4 v7, 0x0
10344 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10346 + const/4 v3, 0x1
10348 + const-string v4, "authTokens"
10350 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10352 + :goto_22
10353 + return-object v7
10355 + :cond_23
10356 + invoke-super {p0, p1, p2, p3}, Landroid/accounts/AccountManager;->blockingGetAuthToken(Landroid/accounts/Account;Ljava/lang/String;Z)Ljava/lang/String;
10358 + move-result-object v7
10360 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10362 + const/4 v3, 0x0
10364 + const-string v4, "authTokens"
10366 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10368 + goto :goto_22
10369 +.end method
10371 +.method public getAccounts()[Landroid/accounts/Account;
10372 + .registers 10
10374 + const/4 v5, 0x0
10376 + const/4 v3, 0x0
10378 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10380 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10382 + move-result-object v1
10384 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10386 + move-result v2
10388 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10390 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10392 + move-result-object v6
10394 + if-eqz v6, :cond_27
10396 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
10398 + move-result v0
10400 + if-eqz v0, :cond_27
10402 + const-string v8, "[empty accounts list]"
10404 + new-array v7, v3, [Landroid/accounts/Account;
10406 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10408 + const/4 v3, 0x1
10410 + const-string v4, "accountsList"
10412 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10414 + :goto_26
10415 + return-object v7
10417 + :cond_27
10418 + const-string v8, "[real value]"
10420 + invoke-super {p0}, Landroid/accounts/AccountManager;->getAccounts()[Landroid/accounts/Account;
10422 + move-result-object v7
10424 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10426 + const-string v4, "accountsList"
10428 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10430 + goto :goto_26
10431 +.end method
10433 +.method public getAccountsByType(Ljava/lang/String;)[Landroid/accounts/Account;
10434 + .registers 11
10436 + const/4 v5, 0x0
10438 + const/4 v3, 0x0
10440 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10442 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10444 + move-result-object v1
10446 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10448 + move-result v2
10450 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10452 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10454 + move-result-object v6
10456 + if-eqz v6, :cond_27
10458 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
10460 + move-result v0
10462 + if-eqz v0, :cond_27
10464 + const-string v8, "[empty accounts list]"
10466 + new-array v7, v3, [Landroid/accounts/Account;
10468 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10470 + const/4 v3, 0x1
10472 + const-string v4, "accountsList"
10474 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10476 + :goto_26
10477 + return-object v7
10479 + :cond_27
10480 + const-string v8, "[real value]"
10482 + invoke-super {p0, p1}, Landroid/accounts/AccountManager;->getAccountsByType(Ljava/lang/String;)[Landroid/accounts/Account;
10484 + move-result-object v7
10486 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10488 + const-string v4, "accountsList"
10490 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10492 + goto :goto_26
10493 +.end method
10495 +.method public getAccountsByTypeAndFeatures(Ljava/lang/String;[Ljava/lang/String;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
10496 + .registers 14
10497 + .annotation system Ldalvik/annotation/Signature;
10498 + value = {
10499 + "(",
10500 + "Ljava/lang/String;",
10501 + "[",
10502 + "Ljava/lang/String;",
10503 + "Landroid/accounts/AccountManagerCallback",
10504 + "<[",
10505 + "Landroid/accounts/Account;",
10506 + ">;",
10507 + "Landroid/os/Handler;",
10508 + ")",
10509 + "Landroid/accounts/AccountManagerFuture",
10510 + "<[",
10511 + "Landroid/accounts/Account;",
10512 + ">;"
10514 + .end annotation
10516 + const/4 v5, 0x0
10518 + const/4 v3, 0x0
10520 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10522 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10524 + move-result-object v1
10526 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10528 + move-result v2
10530 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10532 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10534 + move-result-object v6
10536 + if-eqz v6, :cond_2c
10538 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
10540 + move-result v0
10542 + if-eqz v0, :cond_2c
10544 + const-string v8, "[false]"
10546 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10548 + new-array v0, v3, [Landroid/accounts/Account;
10550 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
10552 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10554 + const/4 v3, 0x1
10556 + const-string v4, "accountsList"
10558 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10560 + :goto_2b
10561 + return-object v7
10563 + :cond_2c
10564 + const-string v8, "[real value]"
10566 + 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;
10568 + move-result-object v7
10570 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10572 + const-string v4, "accountsList"
10574 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10576 + goto :goto_2b
10577 +.end method
10579 +.method public getAuthToken(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;Landroid/app/Activity;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
10580 + .registers 16
10581 + .annotation system Ldalvik/annotation/Signature;
10582 + value = {
10583 + "(",
10584 + "Landroid/accounts/Account;",
10585 + "Ljava/lang/String;",
10586 + "Landroid/os/Bundle;",
10587 + "Landroid/app/Activity;",
10588 + "Landroid/accounts/AccountManagerCallback",
10589 + "<",
10590 + "Landroid/os/Bundle;",
10591 + ">;",
10592 + "Landroid/os/Handler;",
10593 + ")",
10594 + "Landroid/accounts/AccountManagerFuture",
10595 + "<",
10596 + "Landroid/os/Bundle;",
10597 + ">;"
10599 + .end annotation
10601 + const/4 v5, 0x0
10603 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10605 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10607 + move-result-object v1
10609 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10611 + move-result v2
10613 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10615 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10617 + move-result-object v6
10619 + if-eqz v6, :cond_2e
10621 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
10623 + move-result v0
10625 + if-eqz v0, :cond_2e
10627 + const-string v8, "[empty]"
10629 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10631 + new-instance v0, Landroid/os/Bundle;
10633 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
10635 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
10637 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10639 + const/4 v3, 0x1
10641 + const-string v4, "authTokens"
10643 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10645 + :goto_2d
10646 + return-object v7
10648 + :cond_2e
10649 + const-string v8, "[real value]"
10651 + 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;
10653 + move-result-object v7
10655 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10657 + const/4 v3, 0x0
10659 + const-string v4, "authTokens"
10661 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10663 + goto :goto_2d
10664 +.end method
10666 +.method public getAuthToken(Landroid/accounts/Account;Ljava/lang/String;ZLandroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
10667 + .registers 15
10668 + .annotation system Ldalvik/annotation/Signature;
10669 + value = {
10670 + "(",
10671 + "Landroid/accounts/Account;",
10672 + "Ljava/lang/String;",
10673 + "Z",
10674 + "Landroid/accounts/AccountManagerCallback",
10675 + "<",
10676 + "Landroid/os/Bundle;",
10677 + ">;",
10678 + "Landroid/os/Handler;",
10679 + ")",
10680 + "Landroid/accounts/AccountManagerFuture",
10681 + "<",
10682 + "Landroid/os/Bundle;",
10683 + ">;"
10685 + .end annotation
10687 + const/4 v5, 0x0
10689 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10691 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10693 + move-result-object v1
10695 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10697 + move-result v2
10699 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10701 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10703 + move-result-object v6
10705 + if-eqz v6, :cond_2e
10707 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
10709 + move-result v0
10711 + if-eqz v0, :cond_2e
10713 + const-string v8, "[empty]"
10715 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10717 + new-instance v0, Landroid/os/Bundle;
10719 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
10721 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
10723 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10725 + const/4 v3, 0x1
10727 + const-string v4, "authTokens"
10729 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10731 + :goto_2d
10732 + return-object v7
10734 + :cond_2e
10735 + const-string v8, "[real value]"
10737 + invoke-super/range {p0 .. p5}, Landroid/accounts/AccountManager;->getAuthToken(Landroid/accounts/Account;Ljava/lang/String;ZLandroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
10739 + move-result-object v7
10741 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10743 + const/4 v3, 0x0
10745 + const-string v4, "authTokens"
10747 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10749 + goto :goto_2d
10750 +.end method
10752 +.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;
10753 + .registers 18
10754 + .annotation system Ldalvik/annotation/Signature;
10755 + value = {
10756 + "(",
10757 + "Ljava/lang/String;",
10758 + "Ljava/lang/String;",
10759 + "[",
10760 + "Ljava/lang/String;",
10761 + "Landroid/app/Activity;",
10762 + "Landroid/os/Bundle;",
10763 + "Landroid/os/Bundle;",
10764 + "Landroid/accounts/AccountManagerCallback",
10765 + "<",
10766 + "Landroid/os/Bundle;",
10767 + ">;",
10768 + "Landroid/os/Handler;",
10769 + ")",
10770 + "Landroid/accounts/AccountManagerFuture",
10771 + "<",
10772 + "Landroid/os/Bundle;",
10773 + ">;"
10775 + .end annotation
10777 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10779 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10781 + move-result-object v1
10783 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10785 + move-result v2
10787 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10789 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10791 + move-result-object v6
10793 + if-eqz v6, :cond_2e
10795 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
10797 + move-result v0
10799 + if-eqz v0, :cond_2e
10801 + const-string v8, "[empty]"
10803 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10805 + new-instance v0, Landroid/os/Bundle;
10807 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
10809 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
10811 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10813 + const/4 v3, 0x1
10815 + const-string v4, "authTokens"
10817 + const/4 v5, 0x0
10819 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10821 + :goto_2d
10822 + return-object v7
10824 + :cond_2e
10825 + const-string v8, "[real value]"
10827 + 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;
10829 + move-result-object v7
10831 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10833 + const/4 v3, 0x0
10835 + const-string v4, "authTokens"
10837 + const/4 v5, 0x0
10839 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10841 + goto :goto_2d
10842 +.end method
10844 +.method public hasFeatures(Landroid/accounts/Account;[Ljava/lang/String;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
10845 + .registers 14
10846 + .annotation system Ldalvik/annotation/Signature;
10847 + value = {
10848 + "(",
10849 + "Landroid/accounts/Account;",
10850 + "[",
10851 + "Ljava/lang/String;",
10852 + "Landroid/accounts/AccountManagerCallback",
10853 + "<",
10854 + "Ljava/lang/Boolean;",
10855 + ">;",
10856 + "Landroid/os/Handler;",
10857 + ")",
10858 + "Landroid/accounts/AccountManagerFuture",
10859 + "<",
10860 + "Ljava/lang/Boolean;",
10861 + ">;"
10863 + .end annotation
10865 + const/4 v5, 0x0
10867 + const/4 v3, 0x0
10869 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
10871 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
10873 + move-result-object v1
10875 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
10877 + move-result v2
10879 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10881 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10883 + move-result-object v6
10885 + if-eqz v6, :cond_2e
10887 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
10889 + move-result v0
10891 + if-eqz v0, :cond_2e
10893 + const-string v8, "[false]"
10895 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
10897 + invoke-static {v3}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
10899 + move-result-object v0
10901 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
10903 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10905 + const/4 v3, 0x1
10907 + const-string v4, "accountsList"
10909 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10911 + :goto_2d
10912 + return-object v7
10914 + :cond_2e
10915 + const-string v8, "[real value]"
10917 + 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;
10919 + move-result-object v7
10921 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10923 + const-string v4, "accountsList"
10925 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10927 + goto :goto_2d
10928 +.end method
10929 diff -NpruEbB stock_framework/smali/android/privacy/surrogate/PrivacyActivityManagerService.smali moded_framework/smali/android/privacy/surrogate/PrivacyActivityManagerService.smali
10930 --- stock_framework/smali/android/privacy/surrogate/PrivacyActivityManagerService.smali 1969-12-31 16:00:00.000000000 -0800
10931 +++ moded_framework/smali/android/privacy/surrogate/PrivacyActivityManagerService.smali 2012-09-13 08:58:54.586403523 -0700
10932 @@ -0,0 +1,1087 @@
10933 +.class public final Landroid/privacy/surrogate/PrivacyActivityManagerService;
10934 +.super Ljava/lang/Object;
10935 +.source "PrivacyActivityManagerService.java"
10938 +# static fields
10939 +.field private static final TAG:Ljava/lang/String; = "PrivacyActivityManagerService"
10941 +.field private static pSetMan:Landroid/privacy/PrivacySettingsManager;
10943 +.field private static tmpIn:Landroid/content/Intent;
10945 +.field private static tmpInHash:J
10947 +.field private static tmpInReceivers:I
10949 +.field private static tmpMms:Landroid/content/Intent;
10951 +.field private static tmpMmsHash:J
10953 +.field private static tmpMmsReceivers:I
10955 +.field private static tmpOut:Landroid/content/Intent;
10957 +.field private static tmpOutHash:J
10959 +.field private static tmpOutReceivers:I
10961 +.field private static tmpPackageAddedHash:J
10963 +.field private static tmpSms:Landroid/content/Intent;
10965 +.field private static tmpSmsHash:J
10967 +.field private static tmpSmsReceivers:I
10970 +# direct methods
10971 +.method static constructor <clinit>()V
10972 + .registers 3
10974 + const/4 v2, 0x0
10976 + const-wide/16 v0, 0x0
10978 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInHash:J
10980 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
10982 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutHash:J
10984 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
10986 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsHash:J
10988 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
10990 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsHash:J
10992 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
10994 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpPackageAddedHash:J
10996 + return-void
10997 +.end method
10999 +.method public constructor <init>()V
11000 + .registers 1
11002 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
11004 + return-void
11005 +.end method
11007 +.method public static enforcePrivacyPermission(Ljava/lang/String;ILandroid/content/Intent;Landroid/content/Context;I)V
11008 + .registers 22
11010 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11012 + if-nez v2, :cond_11
11014 + const-string/jumbo v2, "privacy"
11016 + move-object/from16 v0, p3
11018 + invoke-virtual {v0, v2}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
11020 + move-result-object v2
11022 + check-cast v2, Landroid/privacy/PrivacySettingsManager;
11024 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11026 + :cond_11
11027 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->getAction()Ljava/lang/String;
11029 + move-result-object v9
11031 + const-string v2, "android.intent.action.NEW_OUTGOING_CALL"
11033 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11035 + move-result v2
11037 + if-eqz v2, :cond_ad
11039 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11041 + move-object/from16 v0, p0
11043 + move/from16 v1, p1
11045 + invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
11047 + move-result-object v8
11049 + const-string v2, "android.intent.extra.PHONE_NUMBER"
11051 + move-object/from16 v0, p2
11053 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
11055 + move-result-object v16
11057 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutHash:J
11059 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11061 + move-result-wide v4
11063 + cmp-long v2, v2, v4
11065 + if-eqz v2, :cond_49
11067 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->clone()Ljava/lang/Object;
11069 + move-result-object v2
11071 + check-cast v2, Landroid/content/Intent;
11073 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOut:Landroid/content/Intent;
11075 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11077 + move-result-wide v2
11079 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutHash:J
11081 + sput p4, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
11083 + :cond_49
11084 + if-eqz v8, :cond_76
11086 + :try_start_4b
11087 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getOutgoingCallsSetting()B
11089 + move-result v2
11091 + if-eqz v2, :cond_76
11093 + const-string v16, ""
11095 + const-string v2, "android.intent.extra.PHONE_NUMBER"
11097 + move-object/from16 v0, p2
11099 + move-object/from16 v1, v16
11101 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
11103 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11105 + const/4 v5, 0x1
11107 + const-string/jumbo v6, "outgoingCall"
11109 + const/4 v7, 0x0
11111 + move-object/from16 v3, p0
11113 + move/from16 v4, p1
11115 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11116 + :try_end_6a
11117 + .catch Ljava/lang/Exception; {:try_start_4b .. :try_end_6a} :catch_a0
11119 + :cond_6a
11120 + :goto_6a
11121 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
11123 + const/4 v3, 0x1
11125 + if-le v2, v3, :cond_a9
11127 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
11129 + add-int/lit8 v2, v2, -0x1
11131 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
11133 + :cond_75
11134 + :goto_75
11135 + return-void
11137 + :cond_76
11138 + :try_start_76
11139 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutHash:J
11141 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11143 + move-result-wide v4
11145 + cmp-long v2, v2, v4
11147 + if-nez v2, :cond_6a
11149 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOut:Landroid/content/Intent;
11151 + const-string v3, "android.intent.extra.PHONE_NUMBER"
11153 + invoke-virtual {v2, v3}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
11155 + move-result-object v16
11157 + const-string v2, "android.intent.extra.PHONE_NUMBER"
11159 + move-object/from16 v0, p2
11161 + move-object/from16 v1, v16
11163 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
11165 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11167 + const/4 v5, 0x0
11169 + const-string/jumbo v6, "outgoingCall"
11171 + const/4 v7, 0x0
11173 + move-object/from16 v3, p0
11175 + move/from16 v4, p1
11177 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11178 + :try_end_9f
11179 + .catch Ljava/lang/Exception; {:try_start_76 .. :try_end_9f} :catch_a0
11181 + goto :goto_6a
11183 + :catch_a0
11184 + move-exception v13
11186 + const-string v2, "PrivacyActivityManagerService"
11188 + const-string v3, "failed to enforce intent broadcast permission"
11190 + invoke-static {v2, v3, v13}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
11192 + goto :goto_6a
11194 + :cond_a9
11195 + const/4 v2, 0x0
11197 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOut:Landroid/content/Intent;
11199 + goto :goto_75
11201 + :cond_ad
11202 + const-string v2, "android.intent.action.PHONE_STATE"
11204 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11206 + move-result v2
11208 + if-eqz v2, :cond_14d
11210 + const-string v2, "incoming_number"
11212 + move-object/from16 v0, p2
11214 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
11216 + move-result-object v16
11218 + if-eqz v16, :cond_75
11220 + invoke-virtual/range {v16 .. v16}, Ljava/lang/String;->isEmpty()Z
11222 + move-result v2
11224 + if-nez v2, :cond_75
11226 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11228 + move-object/from16 v0, p0
11230 + move/from16 v1, p1
11232 + invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
11234 + move-result-object v8
11236 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInHash:J
11238 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11240 + move-result-wide v4
11242 + cmp-long v2, v2, v4
11244 + if-eqz v2, :cond_e9
11246 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->clone()Ljava/lang/Object;
11248 + move-result-object v2
11250 + check-cast v2, Landroid/content/Intent;
11252 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpIn:Landroid/content/Intent;
11254 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11256 + move-result-wide v2
11258 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInHash:J
11260 + sput p4, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
11262 + :cond_e9
11263 + if-eqz v8, :cond_116
11265 + :try_start_eb
11266 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getIncomingCallsSetting()B
11268 + move-result v2
11270 + if-eqz v2, :cond_116
11272 + const-string v16, ""
11274 + const-string v2, "incoming_number"
11276 + move-object/from16 v0, p2
11278 + move-object/from16 v1, v16
11280 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
11282 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11284 + const/4 v5, 0x1
11286 + const-string v6, "incomingCall"
11288 + const/4 v7, 0x0
11290 + move-object/from16 v3, p0
11292 + move/from16 v4, p1
11294 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11295 + :try_end_109
11296 + .catch Ljava/lang/Exception; {:try_start_eb .. :try_end_109} :catch_13f
11298 + :cond_109
11299 + :goto_109
11300 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
11302 + const/4 v3, 0x1
11304 + if-le v2, v3, :cond_148
11306 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
11308 + add-int/lit8 v2, v2, -0x1
11310 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
11312 + goto/16 :goto_75
11314 + :cond_116
11315 + :try_start_116
11316 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInHash:J
11318 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11320 + move-result-wide v4
11322 + cmp-long v2, v2, v4
11324 + if-nez v2, :cond_109
11326 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpIn:Landroid/content/Intent;
11328 + const-string v3, "incoming_number"
11330 + invoke-virtual {v2, v3}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
11332 + move-result-object v16
11334 + const-string v2, "incoming_number"
11336 + move-object/from16 v0, p2
11338 + move-object/from16 v1, v16
11340 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
11342 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11344 + const/4 v5, 0x0
11346 + const-string v6, "incomingCall"
11348 + const/4 v7, 0x0
11350 + move-object/from16 v3, p0
11352 + move/from16 v4, p1
11354 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11355 + :try_end_13e
11356 + .catch Ljava/lang/Exception; {:try_start_116 .. :try_end_13e} :catch_13f
11358 + goto :goto_109
11360 + :catch_13f
11361 + move-exception v13
11363 + const-string v2, "PrivacyActivityManagerService"
11365 + const-string v3, "failed to enforce intent broadcast permission"
11367 + invoke-static {v2, v3, v13}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
11369 + goto :goto_109
11371 + :cond_148
11372 + const/4 v2, 0x0
11374 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpIn:Landroid/content/Intent;
11376 + goto/16 :goto_75
11378 + :cond_14d
11379 + const-string v2, "android.provider.Telephony.SMS_RECEIVED"
11381 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11383 + move-result v2
11385 + if-eqz v2, :cond_222
11387 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11389 + move-object/from16 v0, p0
11391 + move/from16 v1, p1
11393 + invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
11395 + move-result-object v8
11397 + const-string v16, "[real]"
11399 + const-string/jumbo v2, "pdus"
11401 + move-object/from16 v0, p2
11403 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
11405 + move-result-object v2
11407 + check-cast v2, [Ljava/lang/Object;
11409 + move-object v15, v2
11411 + check-cast v15, [Ljava/lang/Object;
11413 + if-eqz v15, :cond_1cd
11415 + const/4 v2, 0x0
11417 + aget-object v2, v15, v2
11419 + check-cast v2, [B
11421 + check-cast v2, [B
11423 + move-object v12, v2
11425 + :goto_179
11426 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsHash:J
11428 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11430 + move-result-wide v4
11432 + cmp-long v2, v2, v4
11434 + if-eqz v2, :cond_193
11436 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->clone()Ljava/lang/Object;
11438 + move-result-object v2
11440 + check-cast v2, Landroid/content/Intent;
11442 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSms:Landroid/content/Intent;
11444 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11446 + move-result-wide v2
11448 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsHash:J
11450 + sput p4, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
11452 + :cond_193
11453 + if-eqz v8, :cond_1cf
11455 + :try_start_195
11456 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getSmsSetting()B
11458 + move-result v2
11460 + if-eqz v2, :cond_1cf
11462 + const-string v16, "[empty]"
11464 + const/4 v2, 0x1
11466 + new-array v14, v2, [Ljava/lang/Object;
11468 + const/4 v2, 0x0
11470 + const/16 v3, 0x10
11472 + new-array v3, v3, [B
11474 + fill-array-data v3, :array_350
11476 + aput-object v3, v14, v2
11478 + const-string/jumbo v2, "pdus"
11480 + move-object/from16 v0, p2
11482 + invoke-virtual {v0, v2, v14}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent;
11484 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11486 + const/4 v5, 0x1
11488 + const-string/jumbo v6, "sms"
11490 + const/4 v7, 0x0
11492 + move-object/from16 v3, p0
11494 + move/from16 v4, p1
11496 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11497 + :try_end_1c0
11498 + .catch Ljava/lang/Exception; {:try_start_195 .. :try_end_1c0} :catch_212
11500 + :cond_1c0
11501 + :goto_1c0
11502 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
11504 + const/4 v3, 0x1
11506 + if-le v2, v3, :cond_21d
11508 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
11510 + add-int/lit8 v2, v2, -0x1
11512 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
11514 + goto/16 :goto_75
11516 + :cond_1cd
11517 + const/4 v12, 0x0
11519 + goto :goto_179
11521 + :cond_1cf
11522 + :try_start_1cf
11523 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsHash:J
11525 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11527 + move-result-wide v4
11529 + cmp-long v2, v2, v4
11531 + if-nez v2, :cond_1c0
11533 + const-string/jumbo v2, "pdus"
11535 + sget-object v3, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSms:Landroid/content/Intent;
11537 + const-string/jumbo v4, "pdus"
11539 + invoke-virtual {v3, v4}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
11541 + move-result-object v3
11543 + move-object/from16 v0, p2
11545 + invoke-virtual {v0, v2, v3}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent;
11547 + const-string/jumbo v2, "pdus"
11549 + move-object/from16 v0, p2
11551 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
11553 + move-result-object v2
11555 + check-cast v2, [Ljava/lang/Object;
11557 + move-object v0, v2
11559 + check-cast v0, [Ljava/lang/Object;
11561 + move-object v15, v0
11563 + if-eqz v15, :cond_21b
11565 + const/4 v2, 0x0
11567 + aget-object v2, v15, v2
11569 + check-cast v2, [B
11571 + check-cast v2, [B
11573 + move-object v12, v2
11575 + :goto_203
11576 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11578 + const/4 v5, 0x0
11580 + const-string/jumbo v6, "sms"
11582 + const/4 v7, 0x0
11584 + move-object/from16 v3, p0
11586 + move/from16 v4, p1
11588 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11589 + :try_end_211
11590 + .catch Ljava/lang/Exception; {:try_start_1cf .. :try_end_211} :catch_212
11592 + goto :goto_1c0
11594 + :catch_212
11595 + move-exception v13
11597 + const-string v2, "PrivacyActivityManagerService"
11599 + const-string v3, "failed to enforce intent broadcast permission"
11601 + invoke-static {v2, v3, v13}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
11603 + goto :goto_1c0
11605 + :cond_21b
11606 + const/4 v12, 0x0
11608 + goto :goto_203
11610 + :cond_21d
11611 + const/4 v2, 0x0
11613 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSms:Landroid/content/Intent;
11615 + goto/16 :goto_75
11617 + :cond_222
11618 + const-string v2, "android.provider.Telephony.WAP_PUSH_RECEIVED"
11620 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11622 + move-result v2
11624 + if-nez v2, :cond_232
11626 + const-string v2, "android.intent.action.DATA_SMS_RECEIVED"
11628 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11630 + move-result v2
11632 + if-eqz v2, :cond_2ff
11634 + :cond_232
11635 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11637 + move-object/from16 v0, p0
11639 + move/from16 v1, p1
11641 + invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
11643 + move-result-object v8
11645 + const-string v16, "[real]"
11647 + const-string/jumbo v2, "pdus"
11649 + move-object/from16 v0, p2
11651 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
11653 + move-result-object v2
11655 + check-cast v2, [Ljava/lang/Object;
11657 + move-object v15, v2
11659 + check-cast v15, [Ljava/lang/Object;
11661 + if-eqz v15, :cond_2aa
11663 + const/4 v2, 0x0
11665 + aget-object v2, v15, v2
11667 + check-cast v2, [B
11669 + check-cast v2, [B
11671 + move-object v12, v2
11673 + :goto_256
11674 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsHash:J
11676 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11678 + move-result-wide v4
11680 + cmp-long v2, v2, v4
11682 + if-eqz v2, :cond_270
11684 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->clone()Ljava/lang/Object;
11686 + move-result-object v2
11688 + check-cast v2, Landroid/content/Intent;
11690 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMms:Landroid/content/Intent;
11692 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11694 + move-result-wide v2
11696 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsHash:J
11698 + sput p4, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
11700 + :cond_270
11701 + if-eqz v8, :cond_2ac
11703 + :try_start_272
11704 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getMmsSetting()B
11706 + move-result v2
11708 + if-eqz v2, :cond_2ac
11710 + const-string v16, "[empty]"
11712 + const/4 v2, 0x1
11714 + new-array v14, v2, [Ljava/lang/Object;
11716 + const/4 v2, 0x0
11718 + const/16 v3, 0x10
11720 + new-array v3, v3, [B
11722 + fill-array-data v3, :array_35c
11724 + aput-object v3, v14, v2
11726 + const-string/jumbo v2, "pdus"
11728 + move-object/from16 v0, p2
11730 + invoke-virtual {v0, v2, v14}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent;
11732 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11734 + const/4 v5, 0x1
11736 + const-string/jumbo v6, "mms"
11738 + const/4 v7, 0x0
11740 + move-object/from16 v3, p0
11742 + move/from16 v4, p1
11744 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11745 + :try_end_29d
11746 + .catch Ljava/lang/Exception; {:try_start_272 .. :try_end_29d} :catch_2ef
11748 + :cond_29d
11749 + :goto_29d
11750 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
11752 + const/4 v3, 0x1
11754 + if-le v2, v3, :cond_2fa
11756 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
11758 + add-int/lit8 v2, v2, -0x1
11760 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
11762 + goto/16 :goto_75
11764 + :cond_2aa
11765 + const/4 v12, 0x0
11767 + goto :goto_256
11769 + :cond_2ac
11770 + :try_start_2ac
11771 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsHash:J
11773 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11775 + move-result-wide v4
11777 + cmp-long v2, v2, v4
11779 + if-nez v2, :cond_29d
11781 + const-string/jumbo v2, "pdus"
11783 + sget-object v3, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMms:Landroid/content/Intent;
11785 + const-string/jumbo v4, "pdus"
11787 + invoke-virtual {v3, v4}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
11789 + move-result-object v3
11791 + move-object/from16 v0, p2
11793 + invoke-virtual {v0, v2, v3}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent;
11795 + const-string/jumbo v2, "pdus"
11797 + move-object/from16 v0, p2
11799 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
11801 + move-result-object v2
11803 + check-cast v2, [Ljava/lang/Object;
11805 + move-object v0, v2
11807 + check-cast v0, [Ljava/lang/Object;
11809 + move-object v15, v0
11811 + if-eqz v15, :cond_2f8
11813 + const/4 v2, 0x0
11815 + aget-object v2, v15, v2
11817 + check-cast v2, [B
11819 + check-cast v2, [B
11821 + move-object v12, v2
11823 + :goto_2e0
11824 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11826 + const/4 v5, 0x0
11828 + const-string/jumbo v6, "mms"
11830 + const/4 v7, 0x0
11832 + move-object/from16 v3, p0
11834 + move/from16 v4, p1
11836 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
11837 + :try_end_2ee
11838 + .catch Ljava/lang/Exception; {:try_start_2ac .. :try_end_2ee} :catch_2ef
11840 + goto :goto_29d
11842 + :catch_2ef
11843 + move-exception v13
11845 + const-string v2, "PrivacyActivityManagerService"
11847 + const-string v3, "failed to enforce intent broadcast permission"
11849 + invoke-static {v2, v3, v13}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
11851 + goto :goto_29d
11853 + :cond_2f8
11854 + const/4 v12, 0x0
11856 + goto :goto_2e0
11858 + :cond_2fa
11859 + const/4 v2, 0x0
11861 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMms:Landroid/content/Intent;
11863 + goto/16 :goto_75
11865 + :cond_2ff
11866 + const-string v2, "android.intent.action.BOOT_COMPLETED"
11868 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11870 + move-result v2
11872 + if-eqz v2, :cond_30e
11874 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11876 + invoke-virtual {v2}, Landroid/privacy/PrivacySettingsManager;->setBootCompleted()V
11878 + goto/16 :goto_75
11880 + :cond_30e
11881 + const-string v2, "android.intent.action.PACKAGE_ADDED"
11883 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11885 + move-result v2
11887 + if-eqz v2, :cond_75
11889 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpPackageAddedHash:J
11891 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11893 + move-result-wide v4
11895 + cmp-long v2, v2, v4
11897 + if-eqz v2, :cond_75
11899 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
11901 + move-result-wide v2
11903 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpPackageAddedHash:J
11905 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->getData()Landroid/net/Uri;
11907 + move-result-object v2
11909 + invoke-virtual {v2}, Landroid/net/Uri;->getSchemeSpecificPart()Ljava/lang/String;
11911 + move-result-object v10
11913 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->getExtras()Landroid/os/Bundle;
11915 + move-result-object v2
11917 + const-string v3, "android.intent.extra.UID"
11919 + invoke-virtual {v2, v3}, Landroid/os/Bundle;->getInt(Ljava/lang/String;)I
11921 + move-result v11
11923 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11925 + invoke-virtual {v2, v10, v11}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
11927 + move-result-object v8
11929 + if-eqz v8, :cond_75
11931 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getUid()I
11933 + move-result v2
11935 + if-eq v2, v11, :cond_75
11937 + invoke-virtual {v8, v11}, Landroid/privacy/PrivacySettings;->setUid(I)V
11939 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
11941 + invoke-virtual {v2, v8}, Landroid/privacy/PrivacySettingsManager;->saveSettings(Landroid/privacy/PrivacySettings;)Z
11943 + goto/16 :goto_75
11945 + :array_350
11946 + .array-data 0x1
11947 + 0x0t
11948 + 0x20t
11949 + 0x1t
11950 + 0x81t
11951 + 0xf0t
11952 + 0x0t
11953 + 0x0t
11954 + 0x11t
11955 + 0x90t
11956 + 0x1t
11957 + 0x30t
11958 + 0x22t
11959 + 0x22t
11960 + 0x80t
11961 + 0x1t
11962 + 0x20t
11963 + .end array-data
11965 + :array_35c
11966 + .array-data 0x1
11967 + 0x0t
11968 + 0x20t
11969 + 0x1t
11970 + 0x81t
11971 + 0xf0t
11972 + 0x0t
11973 + 0x0t
11974 + 0x11t
11975 + 0x90t
11976 + 0x1t
11977 + 0x30t
11978 + 0x22t
11979 + 0x22t
11980 + 0x80t
11981 + 0x1t
11982 + 0x20t
11983 + .end array-data
11984 +.end method
11986 +.method private static hashCode(Landroid/content/Intent;)J
11987 + .registers 7
11989 + const-wide/16 v3, 0x0
11991 + const-string/jumbo v2, "privacy_hash"
11993 + invoke-virtual {p0, v2, v3, v4}, Landroid/content/Intent;->getLongExtra(Ljava/lang/String;J)J
11995 + move-result-wide v0
11997 + cmp-long v2, v0, v3
11999 + if-nez v2, :cond_1e
12001 + invoke-virtual {p0}, Landroid/content/Intent;->filterHashCode()I
12003 + move-result v2
12005 + int-to-long v2, v2
12007 + invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
12009 + move-result-wide v4
12011 + add-long v0, v2, v4
12013 + const-string/jumbo v2, "privacy_hash"
12015 + invoke-virtual {p0, v2, v0, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;J)Landroid/content/Intent;
12017 + :cond_1e
12018 + return-wide v0
12019 +.end method
12020 diff -NpruEbB stock_framework/smali/android/privacy/surrogate/PrivacyContentResolver.smali moded_framework/smali/android/privacy/surrogate/PrivacyContentResolver.smali
12021 --- stock_framework/smali/android/privacy/surrogate/PrivacyContentResolver.smali 1969-12-31 16:00:00.000000000 -0800
12022 +++ moded_framework/smali/android/privacy/surrogate/PrivacyContentResolver.smali 2012-09-13 08:58:54.587403762 -0700
12023 @@ -0,0 +1,624 @@
12024 +.class public final Landroid/privacy/surrogate/PrivacyContentResolver;
12025 +.super Ljava/lang/Object;
12026 +.source "PrivacyContentResolver.java"
12029 +# static fields
12030 +.field private static final TAG:Ljava/lang/String; = "PrivacyContentResolver"
12032 +.field private static pSetMan:Landroid/privacy/PrivacySettingsManager;
12035 +# direct methods
12036 +.method public constructor <init>()V
12037 + .registers 1
12039 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
12041 + return-void
12042 +.end method
12044 +.method private static arrayToString([Ljava/lang/String;)Ljava/lang/String;
12045 + .registers 8
12047 + new-instance v4, Ljava/lang/StringBuffer;
12049 + invoke-direct {v4}, Ljava/lang/StringBuffer;-><init>()V
12051 + if-eqz p0, :cond_2d
12053 + move-object v0, p0
12055 + array-length v3, v0
12057 + const/4 v2, 0x0
12059 + :goto_a
12060 + if-ge v2, v3, :cond_30
12062 + aget-object v1, v0, v2
12064 + new-instance v5, Ljava/lang/StringBuilder;
12066 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
12068 + const-string v6, "["
12070 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
12072 + move-result-object v5
12074 + invoke-virtual {v5, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
12076 + move-result-object v5
12078 + const-string v6, "]"
12080 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
12082 + move-result-object v5
12084 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
12086 + move-result-object v5
12088 + invoke-virtual {v4, v5}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
12090 + add-int/lit8 v2, v2, 0x1
12092 + goto :goto_a
12094 + :cond_2d
12095 + const-string v5, ""
12097 + :goto_2f
12098 + return-object v5
12100 + :cond_30
12101 + invoke-virtual {v4}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String;
12103 + move-result-object v5
12105 + goto :goto_2f
12106 +.end method
12108 +.method public static enforcePrivacyPermission(Landroid/net/Uri;[Ljava/lang/String;Landroid/content/Context;Landroid/database/Cursor;)Landroid/database/Cursor;
12109 + .registers 21
12110 + .annotation system Ldalvik/annotation/Throws;
12111 + value = {
12112 + Landroid/os/RemoteException;
12114 + .end annotation
12116 + if-eqz p0, :cond_1e4
12118 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12120 + if-nez v1, :cond_13
12122 + const-string/jumbo v1, "privacy"
12124 + move-object/from16 v0, p2
12126 + invoke-virtual {v0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
12128 + move-result-object v1
12130 + check-cast v1, Landroid/privacy/PrivacySettingsManager;
12132 + sput-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12134 + :cond_13
12135 + invoke-virtual/range {p2 .. p2}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
12137 + move-result-object v2
12139 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
12141 + move-result v3
12143 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12145 + invoke-virtual {v1, v2, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
12147 + move-result-object v7
12149 + invoke-virtual/range {p0 .. p0}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
12151 + move-result-object v9
12153 + const-string v15, "[real]"
12155 + move-object/from16 v13, p3
12157 + if-eqz v9, :cond_54
12159 + const-string v1, "contacts"
12161 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12163 + move-result v1
12165 + if-nez v1, :cond_3b
12167 + const-string v1, "com.android.contacts"
12169 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12171 + move-result v1
12173 + if-eqz v1, :cond_ab
12175 + :cond_3b
12176 + if-eqz v7, :cond_54
12178 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getContactsSetting()B
12180 + move-result v1
12182 + const/4 v4, 0x1
12184 + if-ne v1, v4, :cond_55
12186 + const-string v15, "[empty]"
12188 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12190 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12192 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12194 + const/4 v4, 0x1
12196 + const-string v5, "contacts"
12198 + const/4 v6, 0x0
12200 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12202 + :cond_54
12203 + :goto_54
12204 + return-object v13
12206 + :cond_55
12207 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getContactsSetting()B
12209 + move-result v1
12211 + const/4 v4, 0x2
12213 + if-ne v1, v4, :cond_a1
12215 + invoke-virtual/range {p0 .. p0}, Landroid/net/Uri;->toString()Ljava/lang/String;
12217 + move-result-object v1
12219 + sget-object v4, Landroid/provider/ContactsContract$Contacts;->CONTENT_URI:Landroid/net/Uri;
12221 + invoke-virtual {v4}, Landroid/net/Uri;->toString()Ljava/lang/String;
12223 + move-result-object v4
12225 + invoke-virtual {v1, v4}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
12227 + move-result v1
12229 + if-eqz v1, :cond_a1
12231 + const/4 v11, 0x0
12233 + if-eqz p1, :cond_82
12235 + move-object/from16 v8, p1
12237 + array-length v12, v8
12239 + const/4 v10, 0x0
12241 + :goto_73
12242 + if-ge v10, v12, :cond_82
12244 + aget-object v16, v8, v10
12246 + const-string v1, "_id"
12248 + move-object/from16 v0, v16
12250 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12252 + move-result v1
12254 + if-eqz v1, :cond_93
12256 + const/4 v11, 0x1
12258 + :cond_82
12259 + if-nez v11, :cond_96
12261 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12263 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12265 + :goto_89
12266 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12268 + const/4 v4, 0x2
12270 + const-string v5, "contacts"
12272 + const/4 v6, 0x0
12274 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12276 + goto :goto_54
12278 + :cond_93
12279 + add-int/lit8 v10, v10, 0x1
12281 + goto :goto_73
12283 + :cond_96
12284 + new-instance v14, Landroid/privacy/surrogate/PrivacyCursor;
12286 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getAllowedContacts()[I
12288 + move-result-object v1
12290 + invoke-direct {v14, v13, v1}, Landroid/privacy/surrogate/PrivacyCursor;-><init>(Landroid/database/Cursor;[I)V
12292 + move-object v13, v14
12294 + goto :goto_89
12296 + :cond_a1
12297 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12299 + const/4 v4, 0x0
12301 + const-string v5, "contacts"
12303 + const/4 v6, 0x0
12305 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12307 + goto :goto_54
12309 + :cond_ab
12310 + const-string v1, "com.android.calendar"
12312 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12314 + move-result v1
12316 + if-eqz v1, :cond_d8
12318 + if-eqz v7, :cond_cd
12320 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getCalendarSetting()B
12322 + move-result v1
12324 + const/4 v4, 0x1
12326 + if-ne v1, v4, :cond_cd
12328 + const-string v15, "[empty]"
12330 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12332 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12334 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12336 + const/4 v4, 0x1
12338 + const-string v5, "calendar"
12340 + const/4 v6, 0x0
12342 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12344 + goto :goto_54
12346 + :cond_cd
12347 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12349 + const/4 v4, 0x0
12351 + const-string v5, "calendar"
12353 + const/4 v6, 0x0
12355 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12357 + goto/16 :goto_54
12359 + :cond_d8
12360 + sget-object v1, Landroid/provider/Telephony$Mms;->CONTENT_URI:Landroid/net/Uri;
12362 + invoke-virtual {v1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
12364 + move-result-object v1
12366 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12368 + move-result v1
12370 + if-eqz v1, :cond_10c
12372 + if-eqz v7, :cond_100
12374 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getMmsSetting()B
12376 + move-result v1
12378 + const/4 v4, 0x1
12380 + if-ne v1, v4, :cond_100
12382 + const-string v15, "[empty]"
12384 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12386 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12388 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12390 + const/4 v4, 0x1
12392 + const-string/jumbo v5, "mms"
12394 + const/4 v6, 0x0
12396 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12398 + goto/16 :goto_54
12400 + :cond_100
12401 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12403 + const/4 v4, 0x0
12405 + const-string/jumbo v5, "mms"
12407 + const/4 v6, 0x0
12409 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12411 + goto/16 :goto_54
12413 + :cond_10c
12414 + sget-object v1, Landroid/provider/Telephony$Sms;->CONTENT_URI:Landroid/net/Uri;
12416 + invoke-virtual {v1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
12418 + move-result-object v1
12420 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12422 + move-result v1
12424 + if-eqz v1, :cond_140
12426 + if-eqz v7, :cond_134
12428 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getSmsSetting()B
12430 + move-result v1
12432 + const/4 v4, 0x1
12434 + if-ne v1, v4, :cond_134
12436 + const-string v15, "[empty]"
12438 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12440 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12442 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12444 + const/4 v4, 0x1
12446 + const-string/jumbo v5, "sms"
12448 + const/4 v6, 0x0
12450 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12452 + goto/16 :goto_54
12454 + :cond_134
12455 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12457 + const/4 v4, 0x0
12459 + const-string/jumbo v5, "sms"
12461 + const/4 v6, 0x0
12463 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12465 + goto/16 :goto_54
12467 + :cond_140
12468 + sget-object v1, Landroid/provider/Telephony$MmsSms;->CONTENT_URI:Landroid/net/Uri;
12470 + invoke-virtual {v1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
12472 + move-result-object v1
12474 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12476 + move-result v1
12478 + if-nez v1, :cond_155
12480 + const-string/jumbo v1, "mms-sms-v2"
12482 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12484 + move-result v1
12486 + if-eqz v1, :cond_184
12488 + :cond_155
12489 + if-eqz v7, :cond_178
12491 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getMmsSetting()B
12493 + move-result v1
12495 + const/4 v4, 0x1
12497 + if-eq v1, v4, :cond_165
12499 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getSmsSetting()B
12501 + move-result v1
12503 + const/4 v4, 0x1
12505 + if-ne v1, v4, :cond_178
12507 + :cond_165
12508 + const-string v15, "[empty]"
12510 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12512 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12514 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12516 + const/4 v4, 0x1
12518 + const-string/jumbo v5, "mmsSms"
12520 + const/4 v6, 0x0
12522 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12524 + goto/16 :goto_54
12526 + :cond_178
12527 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12529 + const/4 v4, 0x0
12531 + const-string/jumbo v5, "mmsSms"
12533 + const/4 v6, 0x0
12535 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12537 + goto/16 :goto_54
12539 + :cond_184
12540 + const-string v1, "call_log"
12542 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12544 + move-result v1
12546 + if-eqz v1, :cond_1b2
12548 + if-eqz v7, :cond_1a7
12550 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getCallLogSetting()B
12552 + move-result v1
12554 + const/4 v4, 0x1
12556 + if-ne v1, v4, :cond_1a7
12558 + const-string v15, "[empty]"
12560 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12562 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12564 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12566 + const/4 v4, 0x1
12568 + const-string v5, "callLog"
12570 + const/4 v6, 0x0
12572 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12574 + goto/16 :goto_54
12576 + :cond_1a7
12577 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12579 + const/4 v4, 0x0
12581 + const-string v5, "callLog"
12583 + const/4 v6, 0x0
12585 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12587 + goto/16 :goto_54
12589 + :cond_1b2
12590 + sget-object v1, Landroid/provider/Browser;->BOOKMARKS_URI:Landroid/net/Uri;
12592 + invoke-virtual {v1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
12594 + move-result-object v1
12596 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12598 + move-result v1
12600 + if-eqz v1, :cond_54
12602 + if-eqz v7, :cond_1d9
12604 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getBookmarksSetting()B
12606 + move-result v1
12608 + const/4 v4, 0x1
12610 + if-ne v1, v4, :cond_1d9
12612 + const-string v15, "[empty]"
12614 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
12616 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
12618 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12620 + const/4 v4, 0x1
12622 + const-string v5, "bookmarks"
12624 + const/4 v6, 0x0
12626 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12628 + goto/16 :goto_54
12630 + :cond_1d9
12631 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
12633 + const/4 v4, 0x0
12635 + const-string v5, "bookmarks"
12637 + const/4 v6, 0x0
12639 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12641 + goto/16 :goto_54
12643 + :cond_1e4
12644 + move-object/from16 v13, p3
12646 + goto/16 :goto_54
12647 +.end method
12648 diff -NpruEbB stock_framework/smali/android/privacy/surrogate/PrivacyCursor.smali moded_framework/smali/android/privacy/surrogate/PrivacyCursor.smali
12649 --- stock_framework/smali/android/privacy/surrogate/PrivacyCursor.smali 1969-12-31 16:00:00.000000000 -0800
12650 +++ moded_framework/smali/android/privacy/surrogate/PrivacyCursor.smali 2012-09-13 08:58:54.588404003 -0700
12651 @@ -0,0 +1,1225 @@
12652 +.class public Landroid/privacy/surrogate/PrivacyCursor;
12653 +.super Ljava/lang/Object;
12654 +.source "PrivacyCursor.java"
12656 +# interfaces
12657 +.implements Landroid/database/Cursor;
12660 +# static fields
12661 +.field private static final TAG:Ljava/lang/String; = "PrivacyCursor"
12664 +# instance fields
12665 +.field private allowedIdMapping:[I
12667 +.field private allowedIds:[I
12669 +.field private realCursor:Landroid/database/Cursor;
12672 +# direct methods
12673 +.method public constructor <init>()V
12674 + .registers 1
12676 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
12678 + return-void
12679 +.end method
12681 +.method public constructor <init>(Landroid/database/Cursor;[I)V
12682 + .registers 7
12684 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
12686 + if-eqz p2, :cond_8
12688 + array-length v2, p2
12690 + if-nez v2, :cond_9
12692 + :cond_8
12693 + const/4 p1, 0x0
12695 + :cond_9
12696 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12698 + iput-object p2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIds:[I
12700 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12702 + if-eqz v2, :cond_3f
12704 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12706 + invoke-interface {v2}, Landroid/database/Cursor;->getPosition()I
12708 + move-result v0
12710 + array-length v2, p2
12712 + new-array v2, v2, [I
12714 + iput-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
12716 + const/4 v1, 0x0
12718 + :cond_1d
12719 + :goto_1d
12720 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12722 + invoke-interface {v2}, Landroid/database/Cursor;->moveToNext()Z
12724 + move-result v2
12726 + if-eqz v2, :cond_3a
12728 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12730 + invoke-direct {p0, v2}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(Landroid/database/Cursor;)Z
12732 + move-result v2
12734 + if-eqz v2, :cond_1d
12736 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
12738 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12740 + invoke-interface {v3}, Landroid/database/Cursor;->getPosition()I
12742 + move-result v3
12744 + aput v3, v2, v1
12746 + add-int/lit8 v1, v1, 0x1
12748 + goto :goto_1d
12750 + :cond_3a
12751 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12753 + invoke-interface {v2, v0}, Landroid/database/Cursor;->moveToPosition(I)Z
12755 + :cond_3f
12756 + return-void
12757 +.end method
12759 +.method private getContactId(Landroid/database/Cursor;)I
12760 + .registers 5
12762 + const-string v2, "_id"
12764 + invoke-interface {p1, v2}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
12766 + move-result v0
12768 + const/4 v1, -0x1
12770 + const/4 v2, -0x1
12772 + if-eq v0, v2, :cond_e
12774 + invoke-interface {p1, v0}, Landroid/database/Cursor;->getInt(I)I
12776 + move-result v1
12778 + :cond_e
12779 + return v1
12780 +.end method
12782 +.method private getMappedPos(I)I
12783 + .registers 4
12785 + const/4 v0, 0x0
12787 + :goto_1
12788 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
12790 + array-length v1, v1
12792 + if-ge v0, v1, :cond_10
12794 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
12796 + aget v1, v1, v0
12798 + if-ne v1, p1, :cond_d
12800 + :goto_c
12801 + return v0
12803 + :cond_d
12804 + add-int/lit8 v0, v0, 0x1
12806 + goto :goto_1
12808 + :cond_10
12809 + const/4 v0, -0x1
12811 + goto :goto_c
12812 +.end method
12814 +.method private isAllowed(I)Z
12815 + .registers 7
12817 + const/4 v4, 0x0
12819 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIds:[I
12821 + array-length v3, v0
12823 + const/4 v2, 0x0
12825 + :goto_5
12826 + if-ge v2, v3, :cond_c
12828 + aget v1, v0, v2
12830 + if-ne p1, v1, :cond_d
12832 + const/4 v4, 0x1
12834 + :cond_c
12835 + return v4
12837 + :cond_d
12838 + add-int/lit8 v2, v2, 0x1
12840 + goto :goto_5
12841 +.end method
12843 +.method private isAllowed(Landroid/database/Cursor;)Z
12844 + .registers 3
12846 + invoke-direct {p0, p1}, Landroid/privacy/surrogate/PrivacyCursor;->getContactId(Landroid/database/Cursor;)I
12848 + move-result v0
12850 + invoke-direct {p0, v0}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(I)Z
12852 + move-result v0
12854 + return v0
12855 +.end method
12858 +# virtual methods
12859 +.method public close()V
12860 + .registers 2
12862 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12864 + if-eqz v0, :cond_9
12866 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12868 + invoke-interface {v0}, Landroid/database/Cursor;->close()V
12870 + :cond_9
12871 + return-void
12872 +.end method
12874 +.method public copyStringToBuffer(ILandroid/database/CharArrayBuffer;)V
12875 + .registers 4
12877 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12879 + if-eqz v0, :cond_9
12881 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12883 + invoke-interface {v0, p1, p2}, Landroid/database/Cursor;->copyStringToBuffer(ILandroid/database/CharArrayBuffer;)V
12885 + :cond_9
12886 + return-void
12887 +.end method
12889 +.method public deactivate()V
12890 + .registers 2
12892 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12894 + if-eqz v0, :cond_9
12896 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12898 + invoke-interface {v0}, Landroid/database/Cursor;->deactivate()V
12900 + :cond_9
12901 + return-void
12902 +.end method
12904 +.method public getBlob(I)[B
12905 + .registers 3
12907 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12909 + if-eqz v0, :cond_b
12911 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12913 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getBlob(I)[B
12915 + move-result-object v0
12917 + :goto_a
12918 + return-object v0
12920 + :cond_b
12921 + const/4 v0, 0x0
12923 + new-array v0, v0, [B
12925 + goto :goto_a
12926 +.end method
12928 +.method public getColumnCount()I
12929 + .registers 2
12931 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12933 + if-eqz v0, :cond_b
12935 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12937 + invoke-interface {v0}, Landroid/database/Cursor;->getColumnCount()I
12939 + move-result v0
12941 + :goto_a
12942 + return v0
12944 + :cond_b
12945 + const/4 v0, 0x0
12947 + goto :goto_a
12948 +.end method
12950 +.method public getColumnIndex(Ljava/lang/String;)I
12951 + .registers 3
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;->getColumnIndex(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 getColumnIndexOrThrow(Ljava/lang/String;)I
12973 + .registers 3
12974 + .annotation system Ldalvik/annotation/Throws;
12975 + value = {
12976 + Ljava/lang/IllegalArgumentException;
12978 + .end annotation
12980 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12982 + if-eqz v0, :cond_b
12984 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
12986 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getColumnIndexOrThrow(Ljava/lang/String;)I
12988 + move-result v0
12990 + :goto_a
12991 + return v0
12993 + :cond_b
12994 + const/4 v0, -0x1
12996 + goto :goto_a
12997 +.end method
12999 +.method public getColumnName(I)Ljava/lang/String;
13000 + .registers 3
13002 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13004 + if-eqz v0, :cond_b
13006 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13008 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getColumnName(I)Ljava/lang/String;
13010 + move-result-object v0
13012 + :goto_a
13013 + return-object v0
13015 + :cond_b
13016 + const-string v0, ""
13018 + goto :goto_a
13019 +.end method
13021 +.method public getColumnNames()[Ljava/lang/String;
13022 + .registers 4
13024 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13026 + if-eqz v0, :cond_b
13028 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13030 + invoke-interface {v0}, Landroid/database/Cursor;->getColumnNames()[Ljava/lang/String;
13032 + move-result-object v0
13034 + :goto_a
13035 + return-object v0
13037 + :cond_b
13038 + const/4 v0, 0x1
13040 + new-array v0, v0, [Ljava/lang/String;
13042 + const/4 v1, 0x0
13044 + const-string v2, ""
13046 + aput-object v2, v0, v1
13048 + goto :goto_a
13049 +.end method
13051 +.method public getCount()I
13052 + .registers 4
13054 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13056 + if-eqz v0, :cond_23
13058 + const-string v0, "PrivacyCursor"
13060 + new-instance v1, Ljava/lang/StringBuilder;
13062 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
13064 + const-string v2, "getCount: "
13066 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13068 + move-result-object v1
13070 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13072 + array-length v2, v2
13074 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
13076 + move-result-object v1
13078 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
13080 + move-result-object v1
13082 + invoke-static {v0, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
13084 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13086 + array-length v0, v0
13088 + :goto_22
13089 + return v0
13091 + :cond_23
13092 + const/4 v0, 0x0
13094 + goto :goto_22
13095 +.end method
13097 +.method public getDouble(I)D
13098 + .registers 4
13100 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13102 + if-eqz v0, :cond_b
13104 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13106 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getDouble(I)D
13108 + move-result-wide v0
13110 + :goto_a
13111 + return-wide v0
13113 + :cond_b
13114 + const-wide/16 v0, 0x0
13116 + goto :goto_a
13117 +.end method
13119 +.method public getExtras()Landroid/os/Bundle;
13120 + .registers 2
13122 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13124 + if-eqz v0, :cond_b
13126 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13128 + invoke-interface {v0}, Landroid/database/Cursor;->getExtras()Landroid/os/Bundle;
13130 + move-result-object v0
13132 + :goto_a
13133 + return-object v0
13135 + :cond_b
13136 + new-instance v0, Landroid/os/Bundle;
13138 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
13140 + goto :goto_a
13141 +.end method
13143 +.method public getFloat(I)F
13144 + .registers 3
13146 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13148 + if-eqz v0, :cond_b
13150 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13152 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getFloat(I)F
13154 + move-result v0
13156 + :goto_a
13157 + return v0
13159 + :cond_b
13160 + const/4 v0, 0x0
13162 + goto :goto_a
13163 +.end method
13165 +.method public getInt(I)I
13166 + .registers 4
13168 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13170 + if-eqz v1, :cond_b
13172 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13174 + invoke-interface {v1, p1}, Landroid/database/Cursor;->getInt(I)I
13176 + move-result v0
13178 + :goto_a
13179 + return v0
13181 + :cond_b
13182 + const/4 v0, 0x0
13184 + goto :goto_a
13185 +.end method
13187 +.method public getLong(I)J
13188 + .registers 4
13190 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13192 + if-eqz v0, :cond_b
13194 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13196 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getLong(I)J
13198 + move-result-wide v0
13200 + :goto_a
13201 + return-wide v0
13203 + :cond_b
13204 + const-wide/16 v0, 0x0
13206 + goto :goto_a
13207 +.end method
13209 +.method public getPosition()I
13210 + .registers 5
13212 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13214 + if-eqz v1, :cond_37
13216 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13218 + invoke-interface {v1}, Landroid/database/Cursor;->getPosition()I
13220 + move-result v1
13222 + invoke-direct {p0, v1}, Landroid/privacy/surrogate/PrivacyCursor;->getMappedPos(I)I
13224 + move-result v0
13226 + const-string v1, "PrivacyCursor"
13228 + new-instance v2, Ljava/lang/StringBuilder;
13230 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
13232 + const-string v3, "getPosition - mapped position: "
13234 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13236 + move-result-object v2
13238 + invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
13240 + move-result-object v2
13242 + const-string v3, " real position: "
13244 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13246 + move-result-object v2
13248 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13250 + invoke-interface {v3}, Landroid/database/Cursor;->getPosition()I
13252 + move-result v3
13254 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
13256 + move-result-object v2
13258 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
13260 + move-result-object v2
13262 + invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
13264 + :goto_36
13265 + return v0
13267 + :cond_37
13268 + const/4 v0, -0x1
13270 + goto :goto_36
13271 +.end method
13273 +.method public getShort(I)S
13274 + .registers 3
13276 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13278 + if-eqz v0, :cond_b
13280 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13282 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getShort(I)S
13284 + move-result v0
13286 + :goto_a
13287 + return v0
13289 + :cond_b
13290 + const/4 v0, 0x0
13292 + goto :goto_a
13293 +.end method
13295 +.method public getString(I)Ljava/lang/String;
13296 + .registers 3
13298 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13300 + if-eqz v0, :cond_b
13302 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13304 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
13306 + move-result-object v0
13308 + :goto_a
13309 + return-object v0
13311 + :cond_b
13312 + const-string v0, ""
13314 + goto :goto_a
13315 +.end method
13317 +.method public getType(I)I
13318 + .registers 3
13320 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13322 + if-eqz v0, :cond_b
13324 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13326 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getType(I)I
13328 + move-result v0
13330 + :goto_a
13331 + return v0
13333 + :cond_b
13334 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13336 + const/4 v0, 0x0
13338 + goto :goto_a
13339 +.end method
13341 +.method public getWantsAllOnMoveCalls()Z
13342 + .registers 2
13344 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13346 + if-eqz v0, :cond_b
13348 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13350 + invoke-interface {v0}, Landroid/database/Cursor;->getWantsAllOnMoveCalls()Z
13352 + move-result v0
13354 + :goto_a
13355 + return v0
13357 + :cond_b
13358 + const/4 v0, 0x0
13360 + goto :goto_a
13361 +.end method
13363 +.method public isAfterLast()Z
13364 + .registers 2
13366 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13368 + if-eqz v0, :cond_b
13370 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13372 + invoke-interface {v0}, Landroid/database/Cursor;->isAfterLast()Z
13374 + move-result v0
13376 + :goto_a
13377 + return v0
13379 + :cond_b
13380 + const/4 v0, 0x0
13382 + goto :goto_a
13383 +.end method
13385 +.method public isBeforeFirst()Z
13386 + .registers 2
13388 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13390 + if-eqz v0, :cond_b
13392 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13394 + invoke-interface {v0}, Landroid/database/Cursor;->isBeforeFirst()Z
13396 + move-result v0
13398 + :goto_a
13399 + return v0
13401 + :cond_b
13402 + const/4 v0, 0x0
13404 + goto :goto_a
13405 +.end method
13407 +.method public isClosed()Z
13408 + .registers 2
13410 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13412 + if-eqz v0, :cond_b
13414 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13416 + invoke-interface {v0}, Landroid/database/Cursor;->isClosed()Z
13418 + move-result v0
13420 + :goto_a
13421 + return v0
13423 + :cond_b
13424 + const/4 v0, 0x0
13426 + goto :goto_a
13427 +.end method
13429 +.method public isFirst()Z
13430 + .registers 4
13432 + const/4 v0, 0x0
13434 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13436 + if-eqz v1, :cond_12
13438 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13440 + invoke-interface {v1}, Landroid/database/Cursor;->getPosition()I
13442 + move-result v1
13444 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13446 + aget v2, v2, v0
13448 + if-ne v1, v2, :cond_12
13450 + const/4 v0, 0x1
13452 + :cond_12
13453 + return v0
13454 +.end method
13456 +.method public isLast()Z
13457 + .registers 4
13459 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13461 + if-eqz v0, :cond_17
13463 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13465 + invoke-interface {v0}, Landroid/database/Cursor;->getPosition()I
13467 + move-result v0
13469 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13471 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13473 + array-length v2, v2
13475 + add-int/lit8 v2, v2, -0x1
13477 + aget v1, v1, v2
13479 + if-ne v0, v1, :cond_17
13481 + const/4 v0, 0x1
13483 + :goto_16
13484 + return v0
13486 + :cond_17
13487 + const/4 v0, 0x0
13489 + goto :goto_16
13490 +.end method
13492 +.method public isNull(I)Z
13493 + .registers 3
13495 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13497 + if-eqz v0, :cond_b
13499 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13501 + invoke-interface {v0, p1}, Landroid/database/Cursor;->isNull(I)Z
13503 + move-result v0
13505 + :goto_a
13506 + return v0
13508 + :cond_b
13509 + const/4 v0, 0x0
13511 + goto :goto_a
13512 +.end method
13514 +.method public move(I)Z
13515 + .registers 8
13517 + const/4 v2, 0x0
13519 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13521 + if-eqz v3, :cond_33
13523 + const-string v3, "PrivacyCursor"
13525 + new-instance v4, Ljava/lang/StringBuilder;
13527 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
13529 + const-string/jumbo v5, "move - offset: "
13531 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13533 + move-result-object v4
13535 + invoke-virtual {v4, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
13537 + move-result-object v4
13539 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
13541 + move-result-object v4
13543 + invoke-static {v3, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
13545 + :try_start_1e
13546 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13548 + iget-object v4, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13550 + invoke-interface {v4}, Landroid/database/Cursor;->getPosition()I
13552 + move-result v4
13554 + invoke-direct {p0, v4}, Landroid/privacy/surrogate/PrivacyCursor;->getMappedPos(I)I
13556 + move-result v4
13558 + add-int/2addr v4, p1
13560 + aget v1, v3, v4
13562 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13564 + invoke-interface {v3, v1}, Landroid/database/Cursor;->moveToPosition(I)Z
13565 + :try_end_32
13566 + .catch Ljava/lang/ArrayIndexOutOfBoundsException; {:try_start_1e .. :try_end_32} :catch_34
13568 + move-result v2
13570 + :cond_33
13571 + :goto_33
13572 + return v2
13574 + :catch_34
13575 + move-exception v0
13577 + goto :goto_33
13578 +.end method
13580 +.method public moveToFirst()Z
13581 + .registers 4
13583 + const/4 v0, 0x0
13585 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13587 + if-eqz v1, :cond_f
13589 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13591 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13593 + aget v2, v2, v0
13595 + invoke-interface {v1, v2}, Landroid/database/Cursor;->moveToPosition(I)Z
13597 + move-result v0
13599 + :cond_f
13600 + return v0
13601 +.end method
13603 +.method public moveToLast()Z
13604 + .registers 5
13606 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13608 + if-eqz v1, :cond_14
13610 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13612 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13614 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13616 + array-length v3, v3
13618 + add-int/lit8 v3, v3, -0x1
13620 + aget v2, v2, v3
13622 + invoke-interface {v1, v2}, Landroid/database/Cursor;->moveToPosition(I)Z
13624 + move-result v0
13626 + :goto_13
13627 + return v0
13629 + :cond_14
13630 + const/4 v0, 0x0
13632 + goto :goto_13
13633 +.end method
13635 +.method public moveToNext()Z
13636 + .registers 3
13638 + const/4 v0, 0x0
13640 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13642 + if-eqz 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 v1
13650 + if-nez v1, :cond_e
13652 + :cond_d
13653 + return v0
13655 + :cond_e
13656 + const/4 v0, 0x1
13658 + :goto_f
13659 + const/4 v1, 0x1
13661 + if-ne v0, v1, :cond_d
13663 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13665 + invoke-direct {p0, v1}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(Landroid/database/Cursor;)Z
13667 + move-result v1
13669 + if-nez v1, :cond_d
13671 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13673 + invoke-interface {v1}, Landroid/database/Cursor;->moveToNext()Z
13675 + move-result v0
13677 + goto :goto_f
13678 +.end method
13680 +.method public moveToPosition(I)Z
13681 + .registers 6
13683 + const/4 v1, 0x0
13685 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13687 + if-eqz v2, :cond_f
13689 + :try_start_5
13690 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13692 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
13694 + aget v3, v3, p1
13696 + invoke-interface {v2, v3}, Landroid/database/Cursor;->moveToPosition(I)Z
13697 + :try_end_e
13698 + .catch Ljava/lang/ArrayIndexOutOfBoundsException; {:try_start_5 .. :try_end_e} :catch_10
13700 + move-result v1
13702 + :cond_f
13703 + :goto_f
13704 + return v1
13706 + :catch_10
13707 + move-exception v0
13709 + goto :goto_f
13710 +.end method
13712 +.method public moveToPrevious()Z
13713 + .registers 3
13715 + const/4 v0, 0x0
13717 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13719 + if-eqz 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 v1
13727 + if-nez v1, :cond_e
13729 + :cond_d
13730 + return v0
13732 + :cond_e
13733 + const/4 v0, 0x1
13735 + :goto_f
13736 + const/4 v1, 0x1
13738 + if-ne v0, v1, :cond_d
13740 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13742 + invoke-direct {p0, v1}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(Landroid/database/Cursor;)Z
13744 + move-result v1
13746 + if-nez v1, :cond_d
13748 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13750 + invoke-interface {v1}, Landroid/database/Cursor;->moveToPrevious()Z
13752 + move-result v0
13754 + goto :goto_f
13755 +.end method
13757 +.method public registerContentObserver(Landroid/database/ContentObserver;)V
13758 + .registers 3
13760 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13762 + if-eqz v0, :cond_9
13764 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13766 + invoke-interface {v0, p1}, Landroid/database/Cursor;->registerContentObserver(Landroid/database/ContentObserver;)V
13768 + :cond_9
13769 + return-void
13770 +.end method
13772 +.method public registerDataSetObserver(Landroid/database/DataSetObserver;)V
13773 + .registers 3
13775 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13777 + if-eqz v0, :cond_9
13779 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13781 + invoke-interface {v0, p1}, Landroid/database/Cursor;->registerDataSetObserver(Landroid/database/DataSetObserver;)V
13783 + :cond_9
13784 + return-void
13785 +.end method
13787 +.method public requery()Z
13788 + .registers 2
13790 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13792 + if-eqz v0, :cond_b
13794 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13796 + invoke-interface {v0}, Landroid/database/Cursor;->requery()Z
13798 + move-result v0
13800 + :goto_a
13801 + return v0
13803 + :cond_b
13804 + const/4 v0, 0x0
13806 + goto :goto_a
13807 +.end method
13809 +.method public respond(Landroid/os/Bundle;)Landroid/os/Bundle;
13810 + .registers 3
13812 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13814 + if-eqz v0, :cond_b
13816 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13818 + invoke-interface {v0, p1}, Landroid/database/Cursor;->respond(Landroid/os/Bundle;)Landroid/os/Bundle;
13820 + move-result-object v0
13822 + :goto_a
13823 + return-object v0
13825 + :cond_b
13826 + new-instance v0, Landroid/os/Bundle;
13828 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
13830 + goto :goto_a
13831 +.end method
13833 +.method public setNotificationUri(Landroid/content/ContentResolver;Landroid/net/Uri;)V
13834 + .registers 4
13836 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13838 + if-eqz v0, :cond_9
13840 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13842 + invoke-interface {v0, p1, p2}, Landroid/database/Cursor;->setNotificationUri(Landroid/content/ContentResolver;Landroid/net/Uri;)V
13844 + :cond_9
13845 + return-void
13846 +.end method
13848 +.method public unregisterContentObserver(Landroid/database/ContentObserver;)V
13849 + .registers 3
13851 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13853 + if-eqz v0, :cond_9
13855 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13857 + invoke-interface {v0, p1}, Landroid/database/Cursor;->unregisterContentObserver(Landroid/database/ContentObserver;)V
13859 + :cond_9
13860 + return-void
13861 +.end method
13863 +.method public unregisterDataSetObserver(Landroid/database/DataSetObserver;)V
13864 + .registers 3
13866 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13868 + if-eqz v0, :cond_9
13870 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
13872 + invoke-interface {v0, p1}, Landroid/database/Cursor;->unregisterDataSetObserver(Landroid/database/DataSetObserver;)V
13874 + :cond_9
13875 + return-void
13876 +.end method
13877 diff -NpruEbB stock_framework/smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali moded_framework/smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali
13878 --- stock_framework/smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali 1969-12-31 16:00:00.000000000 -0800
13879 +++ moded_framework/smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali 2012-09-13 08:58:54.588404003 -0700
13880 @@ -0,0 +1,134 @@
13881 +.class Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
13882 +.super Ljava/lang/Thread;
13883 +.source "PrivacyLocationManager.java"
13886 +# annotations
13887 +.annotation system Ldalvik/annotation/EnclosingClass;
13888 + value = Landroid/privacy/surrogate/PrivacyLocationManager;
13889 +.end annotation
13891 +.annotation system Ldalvik/annotation/InnerClass;
13892 + accessFlags = 0x2
13893 + name = "PrivacyLocationUpdater"
13894 +.end annotation
13897 +# instance fields
13898 +.field private intent:Landroid/app/PendingIntent;
13900 +.field private latitude:D
13902 +.field private listener:Landroid/location/LocationListener;
13904 +.field private longitude:D
13906 +.field private provider:Ljava/lang/String;
13908 +.field final synthetic this$0:Landroid/privacy/surrogate/PrivacyLocationManager;
13911 +# direct methods
13912 +.method public constructor <init>(Landroid/privacy/surrogate/PrivacyLocationManager;Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;DD)V
13913 + .registers 9
13915 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->this$0:Landroid/privacy/surrogate/PrivacyLocationManager;
13917 + invoke-direct {p0}, Ljava/lang/Thread;-><init>()V
13919 + iput-object p2, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->provider:Ljava/lang/String;
13921 + iput-object p3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->listener:Landroid/location/LocationListener;
13923 + iput-object p4, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->intent:Landroid/app/PendingIntent;
13925 + iput-wide p5, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->latitude:D
13927 + iput-wide p7, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->longitude:D
13929 + return-void
13930 +.end method
13933 +# virtual methods
13934 +.method public run()V
13935 + .registers 8
13937 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->provider:Ljava/lang/String;
13939 + if-eqz v3, :cond_43
13941 + new-instance v2, Landroid/location/Location;
13943 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->provider:Ljava/lang/String;
13945 + invoke-direct {v2, v3}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
13947 + iget-wide v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->latitude:D
13949 + invoke-virtual {v2, v3, v4}, Landroid/location/Location;->setLatitude(D)V
13951 + iget-wide v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->longitude:D
13953 + invoke-virtual {v2, v3, v4}, Landroid/location/Location;->setLongitude(D)V
13955 + const/4 v1, 0x0
13957 + :goto_16
13958 + const/4 v3, 0x5
13960 + if-ge v1, v3, :cond_43
13962 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->listener:Landroid/location/LocationListener;
13964 + if-eqz v3, :cond_34
13966 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->listener:Landroid/location/LocationListener;
13968 + invoke-interface {v3, v2}, Landroid/location/LocationListener;->onLocationChanged(Landroid/location/Location;)V
13970 + :cond_22
13971 + :goto_22
13972 + :try_start_22
13973 + invoke-static {}, Ljava/lang/Math;->random()D
13975 + move-result-wide v3
13977 + const-wide v5, 0x408f400000000000L
13979 + mul-double/2addr v3, v5
13981 + double-to-int v3, v3
13983 + int-to-long v3, v3
13985 + invoke-static {v3, v4}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->sleep(J)V
13986 + :try_end_31
13987 + .catch Ljava/lang/InterruptedException; {:try_start_22 .. :try_end_31} :catch_3e
13989 + :goto_31
13990 + add-int/lit8 v1, v1, 0x1
13992 + goto :goto_16
13994 + :cond_34
13995 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->intent:Landroid/app/PendingIntent;
13997 + if-eqz v3, :cond_22
13999 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->intent:Landroid/app/PendingIntent;
14001 + invoke-virtual {v3}, Landroid/app/PendingIntent;->cancel()V
14003 + goto :goto_22
14005 + :catch_3e
14006 + move-exception v0
14008 + invoke-virtual {v0}, Ljava/lang/InterruptedException;->printStackTrace()V
14010 + goto :goto_31
14012 + :cond_43
14013 + return-void
14014 +.end method
14015 diff -NpruEbB stock_framework/smali/android/privacy/surrogate/PrivacyLocationManager.smali moded_framework/smali/android/privacy/surrogate/PrivacyLocationManager.smali
14016 --- stock_framework/smali/android/privacy/surrogate/PrivacyLocationManager.smali 1969-12-31 16:00:00.000000000 -0800
14017 +++ moded_framework/smali/android/privacy/surrogate/PrivacyLocationManager.smali 2012-09-13 08:58:54.590404482 -0700
14018 @@ -0,0 +1,2091 @@
14019 +.class public final Landroid/privacy/surrogate/PrivacyLocationManager;
14020 +.super Landroid/location/LocationManager;
14021 +.source "PrivacyLocationManager.java"
14024 +# annotations
14025 +.annotation system Ldalvik/annotation/MemberClasses;
14026 + value = {
14027 + Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
14029 +.end annotation
14032 +# static fields
14033 +.field private static final CUSTOM_LOCATION_UPDATE_COUNT:I = 0x5
14035 +.field private static final TAG:Ljava/lang/String; = "PrivacyLocationManager"
14038 +# instance fields
14039 +.field private context:Landroid/content/Context;
14041 +.field private lock:Ljava/lang/Object;
14043 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
14046 +# direct methods
14047 +.method public constructor <init>(Landroid/location/ILocationManager;Landroid/content/Context;)V
14048 + .registers 5
14050 + invoke-direct {p0, p1}, Landroid/location/LocationManager;-><init>(Landroid/location/ILocationManager;)V
14052 + new-instance v0, Ljava/lang/Object;
14054 + invoke-direct {v0}, Ljava/lang/Object;-><init>()V
14056 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->lock:Ljava/lang/Object;
14058 + iput-object p2, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
14060 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
14062 + const-string/jumbo v1, "privacy"
14064 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
14066 + move-result-object v1
14068 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
14070 + move-result-object v1
14072 + invoke-direct {v0, p2, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
14074 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14076 + return-void
14077 +.end method
14079 +.method private requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
14080 + .registers 7
14082 + const/4 v2, 0x3
14084 + if-nez p1, :cond_5
14086 + const/4 v0, 0x0
14088 + :goto_4
14089 + return v0
14091 + :cond_5
14092 + invoke-virtual {p1}, Landroid/location/Criteria;->getAccuracy()I
14094 + move-result v0
14096 + const/4 v1, 0x1
14098 + if-eq v0, v1, :cond_24
14100 + invoke-virtual {p1}, Landroid/location/Criteria;->getBearingAccuracy()I
14102 + move-result v0
14104 + if-eq v0, v2, :cond_24
14106 + invoke-virtual {p1}, Landroid/location/Criteria;->getHorizontalAccuracy()I
14108 + move-result v0
14110 + if-eq v0, v2, :cond_24
14112 + invoke-virtual {p1}, Landroid/location/Criteria;->getVerticalAccuracy()I
14114 + move-result v0
14116 + if-eq v0, v2, :cond_24
14118 + invoke-virtual {p1}, Landroid/location/Criteria;->getSpeedAccuracy()I
14120 + move-result v0
14122 + if-ne v0, v2, :cond_2b
14124 + :cond_24
14125 + const-string v0, "gps"
14127 + invoke-direct {p0, v0, p2, p3}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
14129 + move-result v0
14131 + goto :goto_4
14133 + :cond_2b
14134 + const-string/jumbo v0, "network"
14136 + invoke-direct {p0, v0, p2, p3}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
14138 + move-result v0
14140 + goto :goto_4
14141 +.end method
14143 +.method private requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
14144 + .registers 24
14146 + move-object/from16 v0, p0
14148 + iget-object v0, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->lock:Ljava/lang/Object;
14150 + move-object/from16 v19, v0
14152 + monitor-enter v19
14154 + :try_start_7
14155 + move-object/from16 v0, p0
14157 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
14159 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
14161 + move-result-object v2
14163 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
14165 + move-result v3
14167 + move-object/from16 v0, p0
14169 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14171 + invoke-virtual {v1, v2, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
14173 + move-result-object v7
14175 + const/16 v18, 0x0
14177 + if-eqz v7, :cond_239
14179 + const-string v1, "gps"
14181 + move-object/from16 v0, p1
14183 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
14185 + move-result v1
14187 + if-eqz v1, :cond_111
14189 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
14191 + move-result v1
14193 + packed-switch v1, :pswitch_data_25e
14195 + :cond_30
14196 + :goto_30
14197 + monitor-exit v19
14199 + return v18
14201 + :pswitch_32
14202 + move-object/from16 v0, p0
14204 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14206 + const/4 v4, 0x0
14208 + const-string v5, "locationGPS"
14210 + const/4 v6, 0x0
14212 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14214 + goto :goto_30
14216 + :catchall_3e
14217 + move-exception v1
14219 + monitor-exit v19
14220 + :try_end_40
14221 + .catchall {:try_start_7 .. :try_end_40} :catchall_3e
14223 + throw v1
14225 + :pswitch_41
14226 + if-eqz p3, :cond_46
14228 + :try_start_43
14229 + invoke-virtual/range {p3 .. p3}, Landroid/app/PendingIntent;->cancel()V
14231 + :cond_46
14232 + const/16 v18, 0x1
14234 + move-object/from16 v0, p0
14236 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14238 + const/4 v4, 0x1
14240 + const-string v5, "locationGPS"
14242 + const/4 v6, 0x0
14244 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14245 + :try_end_53
14246 + .catchall {:try_start_43 .. :try_end_53} :catchall_3e
14248 + goto :goto_30
14250 + :pswitch_54
14251 + :try_start_54
14252 + new-instance v8, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
14254 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
14256 + move-result-object v1
14258 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14260 + move-result-wide v13
14262 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
14264 + move-result-object v1
14266 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14268 + move-result-wide v15
14270 + move-object/from16 v9, p0
14272 + move-object/from16 v10, p1
14274 + move-object/from16 v11, p2
14276 + move-object/from16 v12, p3
14278 + 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
14280 + invoke-virtual {v8}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->start()V
14281 + :try_end_74
14282 + .catchall {:try_start_54 .. :try_end_74} :catchall_3e
14283 + .catch Ljava/lang/NumberFormatException; {:try_start_54 .. :try_end_74} :catch_a6
14285 + const/16 v18, 0x1
14287 + :goto_76
14288 + :try_start_76
14289 + move-object/from16 v0, p0
14291 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14293 + const/4 v4, 0x2
14295 + const-string v5, "locationGPS"
14297 + new-instance v6, Ljava/lang/StringBuilder;
14299 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
14301 + const-string v8, "Lat: "
14303 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14305 + move-result-object v6
14307 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
14309 + move-result-object v8
14311 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14313 + move-result-object v6
14315 + const-string v8, " Lon: "
14317 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14319 + move-result-object v6
14321 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
14323 + move-result-object v8
14325 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14327 + move-result-object v6
14329 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14331 + move-result-object v6
14333 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14335 + goto :goto_30
14337 + :catch_a6
14338 + move-exception v17
14340 + const-string v1, "PrivacyLocationManager"
14342 + const-string/jumbo v4, "requestLocationUpdates: invalid coordinates"
14344 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
14345 + :try_end_af
14346 + .catchall {:try_start_76 .. :try_end_af} :catchall_3e
14348 + const/16 v18, 0x1
14350 + goto :goto_76
14352 + :pswitch_b2
14353 + :try_start_b2
14354 + new-instance v8, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
14356 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
14358 + move-result-object v1
14360 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14362 + move-result-wide v13
14364 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
14366 + move-result-object v1
14368 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14370 + move-result-wide v15
14372 + move-object/from16 v9, p0
14374 + move-object/from16 v10, p1
14376 + move-object/from16 v11, p2
14378 + move-object/from16 v12, p3
14380 + 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
14382 + invoke-virtual {v8}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->start()V
14383 + :try_end_d2
14384 + .catchall {:try_start_b2 .. :try_end_d2} :catchall_3e
14385 + .catch Ljava/lang/NumberFormatException; {:try_start_b2 .. :try_end_d2} :catch_105
14387 + const/16 v18, 0x1
14389 + :goto_d4
14390 + :try_start_d4
14391 + move-object/from16 v0, p0
14393 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14395 + const/4 v4, 0x3
14397 + const-string v5, "locationGPS"
14399 + new-instance v6, Ljava/lang/StringBuilder;
14401 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
14403 + const-string v8, "Lat: "
14405 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14407 + move-result-object v6
14409 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
14411 + move-result-object v8
14413 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14415 + move-result-object v6
14417 + const-string v8, " Lon: "
14419 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14421 + move-result-object v6
14423 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
14425 + move-result-object v8
14427 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14429 + move-result-object v6
14431 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14433 + move-result-object v6
14435 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14437 + goto/16 :goto_30
14439 + :catch_105
14440 + move-exception v17
14442 + const-string v1, "PrivacyLocationManager"
14444 + const-string/jumbo v4, "requestLocationUpdates: invalid coordinates"
14446 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
14448 + const/16 v18, 0x1
14450 + goto :goto_d4
14452 + :cond_111
14453 + const-string/jumbo v1, "network"
14455 + move-object/from16 v0, p1
14457 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
14459 + move-result v1
14461 + if-eqz v1, :cond_204
14463 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
14465 + move-result v1
14467 + packed-switch v1, :pswitch_data_26a
14469 + goto/16 :goto_30
14471 + :pswitch_125
14472 + move-object/from16 v0, p0
14474 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14476 + const/4 v4, 0x0
14478 + const-string v5, "locationNetwork"
14480 + const/4 v6, 0x0
14482 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14484 + goto/16 :goto_30
14486 + :pswitch_132
14487 + if-eqz p3, :cond_137
14489 + invoke-virtual/range {p3 .. p3}, Landroid/app/PendingIntent;->cancel()V
14491 + :cond_137
14492 + const/16 v18, 0x1
14494 + move-object/from16 v0, p0
14496 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14498 + const/4 v4, 0x1
14500 + const-string v5, "locationNetwork"
14502 + const/4 v6, 0x0
14504 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14505 + :try_end_144
14506 + .catchall {:try_start_d4 .. :try_end_144} :catchall_3e
14508 + goto/16 :goto_30
14510 + :pswitch_146
14511 + :try_start_146
14512 + new-instance v8, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
14514 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
14516 + move-result-object v1
14518 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14520 + move-result-wide v13
14522 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
14524 + move-result-object v1
14526 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14528 + move-result-wide v15
14530 + move-object/from16 v9, p0
14532 + move-object/from16 v10, p1
14534 + move-object/from16 v11, p2
14536 + move-object/from16 v12, p3
14538 + 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
14540 + invoke-virtual {v8}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->start()V
14541 + :try_end_166
14542 + .catchall {:try_start_146 .. :try_end_166} :catchall_3e
14543 + .catch Ljava/lang/NumberFormatException; {:try_start_146 .. :try_end_166} :catch_199
14545 + const/16 v18, 0x1
14547 + :goto_168
14548 + :try_start_168
14549 + move-object/from16 v0, p0
14551 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14553 + const/4 v4, 0x2
14555 + const-string v5, "locationNetwork"
14557 + new-instance v6, Ljava/lang/StringBuilder;
14559 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
14561 + const-string v8, "Lat: "
14563 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14565 + move-result-object v6
14567 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
14569 + move-result-object v8
14571 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14573 + move-result-object v6
14575 + const-string v8, " Lon: "
14577 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14579 + move-result-object v6
14581 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
14583 + move-result-object v8
14585 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14587 + move-result-object v6
14589 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14591 + move-result-object v6
14593 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14595 + goto/16 :goto_30
14597 + :catch_199
14598 + move-exception v17
14600 + const-string v1, "PrivacyLocationManager"
14602 + const-string/jumbo v4, "requestLocationUpdates: invalid coordinates"
14604 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
14605 + :try_end_1a2
14606 + .catchall {:try_start_168 .. :try_end_1a2} :catchall_3e
14608 + const/16 v18, 0x1
14610 + goto :goto_168
14612 + :pswitch_1a5
14613 + :try_start_1a5
14614 + new-instance v8, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
14616 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
14618 + move-result-object v1
14620 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14622 + move-result-wide v13
14624 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
14626 + move-result-object v1
14628 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
14630 + move-result-wide v15
14632 + move-object/from16 v9, p0
14634 + move-object/from16 v10, p1
14636 + move-object/from16 v11, p2
14638 + move-object/from16 v12, p3
14640 + 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
14642 + invoke-virtual {v8}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->start()V
14643 + :try_end_1c5
14644 + .catchall {:try_start_1a5 .. :try_end_1c5} :catchall_3e
14645 + .catch Ljava/lang/NumberFormatException; {:try_start_1a5 .. :try_end_1c5} :catch_1f8
14647 + const/16 v18, 0x1
14649 + :goto_1c7
14650 + :try_start_1c7
14651 + move-object/from16 v0, p0
14653 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14655 + const/4 v4, 0x3
14657 + const-string v5, "locationNetwork"
14659 + new-instance v6, Ljava/lang/StringBuilder;
14661 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
14663 + const-string v8, "Lat: "
14665 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14667 + move-result-object v6
14669 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
14671 + move-result-object v8
14673 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14675 + move-result-object v6
14677 + const-string v8, " Lon: "
14679 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14681 + move-result-object v6
14683 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
14685 + move-result-object v8
14687 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14689 + move-result-object v6
14691 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14693 + move-result-object v6
14695 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14697 + goto/16 :goto_30
14699 + :catch_1f8
14700 + move-exception v17
14702 + const-string v1, "PrivacyLocationManager"
14704 + const-string/jumbo v4, "requestLocationUpdates: invalid coordinates"
14706 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
14708 + const/16 v18, 0x1
14710 + goto :goto_1c7
14712 + :cond_204
14713 + const-string/jumbo v1, "passive"
14715 + move-object/from16 v0, p1
14717 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
14719 + move-result v1
14721 + if-eqz v1, :cond_30
14723 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
14725 + move-result v1
14727 + if-nez v1, :cond_22a
14729 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
14731 + move-result v1
14733 + if-nez v1, :cond_22a
14735 + const/16 v18, 0x0
14737 + move-object/from16 v0, p0
14739 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14741 + const/4 v4, 0x0
14743 + const-string v5, "locationGPS"
14745 + const/4 v6, 0x0
14747 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14749 + goto/16 :goto_30
14751 + :cond_22a
14752 + const/16 v18, 0x1
14754 + move-object/from16 v0, p0
14756 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14758 + const/4 v4, 0x1
14760 + const-string v5, "locationGPS"
14762 + const/4 v6, 0x0
14764 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14766 + goto/16 :goto_30
14768 + :cond_239
14769 + const-string/jumbo v1, "network"
14771 + move-object/from16 v0, p1
14773 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
14775 + move-result v1
14777 + if-eqz v1, :cond_251
14779 + move-object/from16 v0, p0
14781 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14783 + const/4 v4, 0x0
14785 + const-string v5, "locationNetwork"
14787 + const/4 v6, 0x0
14789 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14791 + goto/16 :goto_30
14793 + :cond_251
14794 + move-object/from16 v0, p0
14796 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14798 + const/4 v4, 0x0
14800 + const-string v5, "locationGPS"
14802 + const/4 v6, 0x0
14804 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14805 + :try_end_25c
14806 + .catchall {:try_start_1c7 .. :try_end_25c} :catchall_3e
14808 + goto/16 :goto_30
14810 + :pswitch_data_25e
14811 + .packed-switch 0x0
14812 + :pswitch_32
14813 + :pswitch_41
14814 + :pswitch_54
14815 + :pswitch_b2
14816 + .end packed-switch
14818 + :pswitch_data_26a
14819 + .packed-switch 0x0
14820 + :pswitch_125
14821 + :pswitch_132
14822 + :pswitch_146
14823 + :pswitch_1a5
14824 + .end packed-switch
14825 +.end method
14828 +# virtual methods
14829 +.method public addNmeaListener(Landroid/location/GpsStatus$NmeaListener;)Z
14830 + .registers 10
14832 + const/4 v5, 0x0
14834 + const/4 v7, 0x0
14836 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
14838 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
14840 + move-result-object v1
14842 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
14844 + move-result v2
14846 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14848 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
14850 + move-result-object v6
14852 + if-eqz v6, :cond_24
14854 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
14856 + move-result v0
14858 + if-eqz v0, :cond_24
14860 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14862 + const/4 v3, 0x1
14864 + const-string v4, "locationGPS"
14866 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14868 + move v0, v7
14870 + :goto_23
14871 + return v0
14873 + :cond_24
14874 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14876 + const-string v4, "locationGPS"
14878 + move v3, v7
14880 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14882 + invoke-super {p0, p1}, Landroid/location/LocationManager;->addNmeaListener(Landroid/location/GpsStatus$NmeaListener;)Z
14884 + move-result v0
14886 + goto :goto_23
14887 +.end method
14889 +.method public getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
14890 + .registers 14
14892 + const/4 v11, 0x3
14894 + const/4 v10, 0x2
14896 + const/4 v8, 0x1
14898 + const/4 v3, 0x0
14900 + const/4 v5, 0x0
14902 + if-nez p1, :cond_c
14904 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
14906 + move-result-object v7
14908 + :cond_b
14909 + :goto_b
14910 + return-object v7
14912 + :cond_c
14913 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
14915 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
14917 + move-result-object v1
14919 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
14921 + move-result v2
14923 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14925 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
14927 + move-result-object v6
14929 + const/4 v7, 0x0
14931 + if-eqz v6, :cond_22c
14933 + const-string v0, "gps"
14935 + invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
14937 + move-result v0
14939 + if-eqz v0, :cond_ff
14941 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
14943 + move-result v0
14945 + packed-switch v0, :pswitch_data_29a
14947 + goto :goto_b
14949 + :pswitch_2f
14950 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
14952 + move-result-object v7
14954 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14956 + const-string v4, "locationGPS"
14958 + if-eqz v7, :cond_5e
14960 + new-instance v5, Ljava/lang/StringBuilder;
14962 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
14964 + const-string v8, "Lat: "
14966 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14968 + move-result-object v5
14970 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
14972 + move-result-wide v8
14974 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
14976 + move-result-object v5
14978 + const-string v8, " Lon: "
14980 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14982 + move-result-object v5
14984 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
14986 + move-result-wide v8
14988 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
14990 + move-result-object v5
14992 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14994 + move-result-object v5
14996 + :cond_5e
14997 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14999 + goto :goto_b
15001 + :pswitch_62
15002 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15004 + const-string v4, "locationGPS"
15006 + move v3, v8
15008 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15010 + goto :goto_b
15012 + :pswitch_6b
15013 + new-instance v7, Landroid/location/Location;
15015 + invoke-direct {v7, p1}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
15017 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
15019 + move-result-object v0
15021 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
15023 + move-result-wide v3
15025 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLatitude(D)V
15027 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
15029 + move-result-object v0
15031 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
15033 + move-result-wide v3
15035 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLongitude(D)V
15037 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15039 + const-string v4, "locationGPS"
15041 + new-instance v3, Ljava/lang/StringBuilder;
15043 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
15045 + const-string v5, "Lat: "
15047 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15049 + move-result-object v3
15051 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15053 + move-result-wide v8
15055 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15057 + move-result-object v3
15059 + const-string v5, " Lon: "
15061 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15063 + move-result-object v3
15065 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15067 + move-result-wide v8
15069 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15071 + move-result-object v3
15073 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15075 + move-result-object v5
15077 + move v3, v10
15079 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15081 + goto/16 :goto_b
15083 + :pswitch_b5
15084 + new-instance v7, Landroid/location/Location;
15086 + invoke-direct {v7, p1}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
15088 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
15090 + move-result-object v0
15092 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
15094 + move-result-wide v3
15096 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLatitude(D)V
15098 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
15100 + move-result-object v0
15102 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
15104 + move-result-wide v3
15106 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLongitude(D)V
15108 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15110 + const-string v4, "locationGPS"
15112 + new-instance v3, Ljava/lang/StringBuilder;
15114 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
15116 + const-string v5, "Lat: "
15118 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15120 + move-result-object v3
15122 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15124 + move-result-wide v8
15126 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15128 + move-result-object v3
15130 + const-string v5, " Lon: "
15132 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15134 + move-result-object v3
15136 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15138 + move-result-wide v8
15140 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15142 + move-result-object v3
15144 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15146 + move-result-object v5
15148 + move v3, v11
15150 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15152 + goto/16 :goto_b
15154 + :cond_ff
15155 + const-string/jumbo v0, "network"
15157 + invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15159 + move-result v0
15161 + if-eqz v0, :cond_1e3
15163 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15165 + move-result v0
15167 + packed-switch v0, :pswitch_data_2a6
15169 + goto/16 :goto_b
15171 + :pswitch_111
15172 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
15174 + move-result-object v7
15176 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15178 + const-string v4, "locationNetwork"
15180 + if-eqz v7, :cond_140
15182 + new-instance v5, Ljava/lang/StringBuilder;
15184 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
15186 + const-string v8, "Lat: "
15188 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15190 + move-result-object v5
15192 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15194 + move-result-wide v8
15196 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15198 + move-result-object v5
15200 + const-string v8, " Lon: "
15202 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15204 + move-result-object v5
15206 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15208 + move-result-wide v8
15210 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15212 + move-result-object v5
15214 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15216 + move-result-object v5
15218 + :cond_140
15219 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15221 + goto/16 :goto_b
15223 + :pswitch_145
15224 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15226 + const-string v4, "locationNetwork"
15228 + move v3, v8
15230 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15232 + goto/16 :goto_b
15234 + :pswitch_14f
15235 + new-instance v7, Landroid/location/Location;
15237 + invoke-direct {v7, p1}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
15239 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
15241 + move-result-object v0
15243 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
15245 + move-result-wide v3
15247 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLatitude(D)V
15249 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
15251 + move-result-object v0
15253 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
15255 + move-result-wide v3
15257 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLongitude(D)V
15259 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15261 + const-string v4, "locationNetwork"
15263 + new-instance v3, Ljava/lang/StringBuilder;
15265 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
15267 + const-string v5, "Lat: "
15269 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15271 + move-result-object v3
15273 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15275 + move-result-wide v8
15277 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15279 + move-result-object v3
15281 + const-string v5, " Lon: "
15283 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15285 + move-result-object v3
15287 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15289 + move-result-wide v8
15291 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15293 + move-result-object v3
15295 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15297 + move-result-object v5
15299 + move v3, v10
15301 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15303 + goto/16 :goto_b
15305 + :pswitch_199
15306 + new-instance v7, Landroid/location/Location;
15308 + invoke-direct {v7, p1}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
15310 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
15312 + move-result-object v0
15314 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
15316 + move-result-wide v3
15318 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLatitude(D)V
15320 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
15322 + move-result-object v0
15324 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
15326 + move-result-wide v3
15328 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLongitude(D)V
15330 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15332 + const-string v4, "locationNetwork"
15334 + new-instance v3, Ljava/lang/StringBuilder;
15336 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
15338 + const-string v5, "Lat: "
15340 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15342 + move-result-object v3
15344 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15346 + move-result-wide v8
15348 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15350 + move-result-object v3
15352 + const-string v5, " Lon: "
15354 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15356 + move-result-object v3
15358 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15360 + move-result-wide v8
15362 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15364 + move-result-object v3
15366 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15368 + move-result-object v5
15370 + move v3, v11
15372 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15374 + goto/16 :goto_b
15376 + :cond_1e3
15377 + const-string/jumbo v0, "passive"
15379 + invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15381 + move-result v0
15383 + if-eqz v0, :cond_b
15385 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
15387 + move-result v0
15389 + if-nez v0, :cond_b
15391 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15393 + move-result v0
15395 + if-nez v0, :cond_b
15397 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
15399 + move-result-object v7
15401 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15403 + const-string v4, "locationGPS"
15405 + if-eqz v7, :cond_227
15407 + new-instance v5, Ljava/lang/StringBuilder;
15409 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
15411 + const-string v8, "Lat: "
15413 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15415 + move-result-object v5
15417 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15419 + move-result-wide v8
15421 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15423 + move-result-object v5
15425 + const-string v8, " Lon: "
15427 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15429 + move-result-object v5
15431 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15433 + move-result-wide v8
15435 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15437 + move-result-object v5
15439 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15441 + move-result-object v5
15443 + :cond_227
15444 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15446 + goto/16 :goto_b
15448 + :cond_22c
15449 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
15451 + move-result-object v7
15453 + const-string/jumbo v0, "network"
15455 + invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15457 + move-result v0
15459 + if-eqz v0, :cond_269
15461 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15463 + const-string v4, "locationNetwork"
15465 + if-eqz v7, :cond_264
15467 + new-instance v5, Ljava/lang/StringBuilder;
15469 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
15471 + const-string v8, "Lat: "
15473 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15475 + move-result-object v5
15477 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15479 + move-result-wide v8
15481 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15483 + move-result-object v5
15485 + const-string v8, " Lon: "
15487 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15489 + move-result-object v5
15491 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15493 + move-result-wide v8
15495 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15497 + move-result-object v5
15499 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15501 + move-result-object v5
15503 + :cond_264
15504 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15506 + goto/16 :goto_b
15508 + :cond_269
15509 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15511 + const-string v4, "locationGPS"
15513 + if-eqz v7, :cond_294
15515 + new-instance v5, Ljava/lang/StringBuilder;
15517 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
15519 + const-string v8, "Lat: "
15521 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15523 + move-result-object v5
15525 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
15527 + move-result-wide v8
15529 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15531 + move-result-object v5
15533 + const-string v8, " Lon: "
15535 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15537 + move-result-object v5
15539 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
15541 + move-result-wide v8
15543 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
15545 + move-result-object v5
15547 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15549 + move-result-object v5
15551 + :cond_294
15552 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15554 + goto/16 :goto_b
15556 + nop
15558 + :pswitch_data_29a
15559 + .packed-switch 0x0
15560 + :pswitch_2f
15561 + :pswitch_62
15562 + :pswitch_6b
15563 + :pswitch_b5
15564 + .end packed-switch
15566 + :pswitch_data_2a6
15567 + .packed-switch 0x0
15568 + :pswitch_111
15569 + :pswitch_145
15570 + :pswitch_14f
15571 + :pswitch_199
15572 + .end packed-switch
15573 +.end method
15575 +.method public getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15576 + .registers 7
15578 + if-nez p1, :cond_7
15580 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15582 + move-result-object v0
15584 + :cond_6
15585 + :goto_6
15586 + return-object v0
15588 + :cond_7
15589 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15591 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
15593 + invoke-virtual {v3}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
15595 + move-result-object v3
15597 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
15599 + move-result v4
15601 + invoke-virtual {v2, v3, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
15603 + move-result-object v1
15605 + const/4 v0, 0x0
15607 + if-eqz v1, :cond_5f
15609 + const-string v2, "gps"
15611 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15613 + move-result v2
15615 + if-eqz v2, :cond_2f
15617 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
15619 + move-result v2
15621 + packed-switch v2, :pswitch_data_64
15623 + :pswitch_29
15624 + goto :goto_6
15626 + :pswitch_2a
15627 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15629 + move-result-object v0
15631 + goto :goto_6
15633 + :cond_2f
15634 + const-string/jumbo v2, "network"
15636 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15638 + move-result v2
15640 + if-eqz v2, :cond_45
15642 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15644 + move-result v2
15646 + packed-switch v2, :pswitch_data_70
15648 + :pswitch_3f
15649 + goto :goto_6
15651 + :pswitch_40
15652 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15654 + move-result-object v0
15656 + goto :goto_6
15658 + :cond_45
15659 + const-string/jumbo v2, "passive"
15661 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15663 + move-result v2
15665 + if-eqz v2, :cond_6
15667 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
15669 + move-result v2
15671 + if-eqz v2, :cond_5a
15673 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15675 + move-result v2
15677 + if-nez v2, :cond_6
15679 + :cond_5a
15680 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15682 + move-result-object v0
15684 + goto :goto_6
15686 + :cond_5f
15687 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
15689 + move-result-object v0
15691 + goto :goto_6
15693 + :pswitch_data_64
15694 + .packed-switch 0x0
15695 + :pswitch_2a
15696 + :pswitch_29
15697 + :pswitch_2a
15698 + :pswitch_2a
15699 + .end packed-switch
15701 + :pswitch_data_70
15702 + .packed-switch 0x0
15703 + :pswitch_40
15704 + :pswitch_3f
15705 + :pswitch_40
15706 + :pswitch_40
15707 + .end packed-switch
15708 +.end method
15710 +.method public isProviderEnabled(Ljava/lang/String;)Z
15711 + .registers 7
15713 + if-nez p1, :cond_7
15715 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
15717 + move-result v0
15719 + :cond_6
15720 + :goto_6
15721 + :pswitch_6
15722 + return v0
15724 + :cond_7
15725 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15727 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
15729 + invoke-virtual {v3}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
15731 + move-result-object v3
15733 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
15735 + move-result v4
15737 + invoke-virtual {v2, v3, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
15739 + move-result-object v1
15741 + const/4 v0, 0x0
15743 + if-eqz v1, :cond_65
15745 + const-string v2, "gps"
15747 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15749 + move-result v2
15751 + if-eqz v2, :cond_31
15753 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
15755 + move-result v2
15757 + packed-switch v2, :pswitch_data_6a
15759 + goto :goto_6
15761 + :pswitch_2a
15762 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
15764 + move-result v0
15766 + goto :goto_6
15768 + :pswitch_2f
15769 + const/4 v0, 0x1
15771 + goto :goto_6
15773 + :cond_31
15774 + const-string/jumbo v2, "network"
15776 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15778 + move-result v2
15780 + if-eqz v2, :cond_49
15782 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15784 + move-result v2
15786 + packed-switch v2, :pswitch_data_76
15788 + goto :goto_6
15790 + :pswitch_42
15791 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
15793 + move-result v0
15795 + goto :goto_6
15797 + :pswitch_47
15798 + const/4 v0, 0x1
15800 + goto :goto_6
15802 + :cond_49
15803 + const-string/jumbo v2, "passive"
15805 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15807 + move-result v2
15809 + if-eqz v2, :cond_6
15811 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
15813 + move-result v2
15815 + if-eqz v2, :cond_5e
15817 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15819 + move-result v2
15821 + if-nez v2, :cond_63
15823 + :cond_5e
15824 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
15826 + move-result v0
15828 + goto :goto_6
15830 + :cond_63
15831 + const/4 v0, 0x0
15833 + goto :goto_6
15835 + :cond_65
15836 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
15838 + move-result v0
15840 + goto :goto_6
15842 + :pswitch_data_6a
15843 + .packed-switch 0x0
15844 + :pswitch_2a
15845 + :pswitch_6
15846 + :pswitch_2f
15847 + :pswitch_2f
15848 + .end packed-switch
15850 + :pswitch_data_76
15851 + .packed-switch 0x0
15852 + :pswitch_42
15853 + :pswitch_6
15854 + :pswitch_47
15855 + :pswitch_47
15856 + .end packed-switch
15857 +.end method
15859 +.method public requestLocationUpdates(JFLandroid/location/Criteria;Landroid/app/PendingIntent;)V
15860 + .registers 7
15862 + if-eqz p4, :cond_4
15864 + if-nez p5, :cond_8
15866 + :cond_4
15867 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/app/PendingIntent;)V
15869 + :cond_7
15870 + :goto_7
15871 + return-void
15873 + :cond_8
15874 + const/4 v0, 0x0
15876 + invoke-direct {p0, p4, v0, p5}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15878 + move-result v0
15880 + if-nez v0, :cond_7
15882 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/app/PendingIntent;)V
15884 + goto :goto_7
15885 +.end method
15887 +.method public requestLocationUpdates(JFLandroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
15888 + .registers 8
15890 + if-eqz p4, :cond_4
15892 + if-nez p5, :cond_8
15894 + :cond_4
15895 + invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
15897 + :cond_7
15898 + :goto_7
15899 + return-void
15901 + :cond_8
15902 + const/4 v0, 0x0
15904 + invoke-direct {p0, p4, p5, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15906 + move-result v0
15908 + if-nez v0, :cond_7
15910 + invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
15912 + goto :goto_7
15913 +.end method
15915 +.method public requestLocationUpdates(Ljava/lang/String;JFLandroid/app/PendingIntent;)V
15916 + .registers 7
15918 + if-eqz p1, :cond_4
15920 + if-nez p5, :cond_8
15922 + :cond_4
15923 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/app/PendingIntent;)V
15925 + :cond_7
15926 + :goto_7
15927 + return-void
15929 + :cond_8
15930 + const/4 v0, 0x0
15932 + invoke-direct {p0, p1, v0, p5}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15934 + move-result v0
15936 + if-nez v0, :cond_7
15938 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/app/PendingIntent;)V
15940 + goto :goto_7
15941 +.end method
15943 +.method public requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;)V
15944 + .registers 7
15946 + if-eqz p1, :cond_4
15948 + if-nez p5, :cond_8
15950 + :cond_4
15951 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;)V
15953 + :cond_7
15954 + :goto_7
15955 + return-void
15957 + :cond_8
15958 + const/4 v0, 0x0
15960 + invoke-direct {p0, p1, p5, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15962 + move-result v0
15964 + if-nez v0, :cond_7
15966 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;)V
15968 + goto :goto_7
15969 +.end method
15971 +.method public requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;Landroid/os/Looper;)V
15972 + .registers 8
15974 + if-eqz p1, :cond_4
15976 + if-nez p5, :cond_8
15978 + :cond_4
15979 + invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;Landroid/os/Looper;)V
15981 + :cond_7
15982 + :goto_7
15983 + return-void
15985 + :cond_8
15986 + const/4 v0, 0x0
15988 + invoke-direct {p0, p1, p5, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
15990 + move-result v0
15992 + if-nez v0, :cond_7
15994 + invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;Landroid/os/Looper;)V
15996 + goto :goto_7
15997 +.end method
15999 +.method public requestSingleUpdate(Landroid/location/Criteria;Landroid/app/PendingIntent;)V
16000 + .registers 4
16002 + if-eqz p1, :cond_4
16004 + if-nez p2, :cond_8
16006 + :cond_4
16007 + invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/app/PendingIntent;)V
16009 + :cond_7
16010 + :goto_7
16011 + return-void
16013 + :cond_8
16014 + const/4 v0, 0x0
16016 + invoke-direct {p0, p1, v0, p2}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
16018 + move-result v0
16020 + if-nez v0, :cond_7
16022 + invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/app/PendingIntent;)V
16024 + goto :goto_7
16025 +.end method
16027 +.method public requestSingleUpdate(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
16028 + .registers 5
16030 + if-eqz p1, :cond_4
16032 + if-nez p2, :cond_8
16034 + :cond_4
16035 + invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
16037 + :cond_7
16038 + :goto_7
16039 + return-void
16041 + :cond_8
16042 + const/4 v0, 0x0
16044 + invoke-direct {p0, p1, p2, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
16046 + move-result v0
16048 + if-nez v0, :cond_7
16050 + invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
16052 + goto :goto_7
16053 +.end method
16055 +.method public requestSingleUpdate(Ljava/lang/String;Landroid/app/PendingIntent;)V
16056 + .registers 4
16058 + if-eqz p1, :cond_4
16060 + if-nez p2, :cond_8
16062 + :cond_4
16063 + invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/app/PendingIntent;)V
16065 + :cond_7
16066 + :goto_7
16067 + return-void
16069 + :cond_8
16070 + const/4 v0, 0x0
16072 + invoke-direct {p0, p1, v0, p2}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
16074 + move-result v0
16076 + if-nez v0, :cond_7
16078 + invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/app/PendingIntent;)V
16080 + goto :goto_7
16081 +.end method
16083 +.method public requestSingleUpdate(Ljava/lang/String;Landroid/location/LocationListener;Landroid/os/Looper;)V
16084 + .registers 5
16086 + if-eqz p1, :cond_4
16088 + if-nez p2, :cond_8
16090 + :cond_4
16091 + invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/location/LocationListener;Landroid/os/Looper;)V
16093 + :cond_7
16094 + :goto_7
16095 + return-void
16097 + :cond_8
16098 + const/4 v0, 0x0
16100 + invoke-direct {p0, p1, p2, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
16102 + move-result v0
16104 + if-nez v0, :cond_7
16106 + invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/location/LocationListener;Landroid/os/Looper;)V
16108 + goto :goto_7
16109 +.end method
16110 diff -NpruEbB stock_framework/smali/android/privacy/surrogate/PrivacyTelephonyManager.smali moded_framework/smali/android/privacy/surrogate/PrivacyTelephonyManager.smali
16111 --- stock_framework/smali/android/privacy/surrogate/PrivacyTelephonyManager.smali 1969-12-31 16:00:00.000000000 -0800
16112 +++ moded_framework/smali/android/privacy/surrogate/PrivacyTelephonyManager.smali 2012-09-13 08:58:54.612409736 -0700
16113 @@ -0,0 +1,731 @@
16114 +.class public final Landroid/privacy/surrogate/PrivacyTelephonyManager;
16115 +.super Landroid/telephony/TelephonyManager;
16116 +.source "PrivacyTelephonyManager.java"
16119 +# static fields
16120 +.field private static final TAG:Ljava/lang/String; = "PrivacyTelephonyManager"
16123 +# instance fields
16124 +.field private context:Landroid/content/Context;
16126 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
16129 +# direct methods
16130 +.method public constructor <init>(Landroid/content/Context;)V
16131 + .registers 4
16133 + invoke-direct {p0, p1}, Landroid/telephony/TelephonyManager;-><init>(Landroid/content/Context;)V
16135 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16137 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
16139 + const-string/jumbo v1, "privacy"
16141 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
16143 + move-result-object v1
16145 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
16147 + move-result-object v1
16149 + invoke-direct {v0, p1, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
16151 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16153 + return-void
16154 +.end method
16156 +.method private getNetworkInfo()Ljava/lang/String;
16157 + .registers 8
16159 + const/4 v5, 0x0
16161 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16163 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16165 + move-result-object v1
16167 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16169 + move-result v2
16171 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16173 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16175 + move-result-object v6
16177 + if-eqz v6, :cond_25
16179 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
16181 + move-result v0
16183 + if-eqz v0, :cond_25
16185 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16187 + const/4 v3, 0x1
16189 + const-string/jumbo v4, "networkInfoCurrent"
16191 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16193 + const-string v5, ""
16195 + :goto_24
16196 + return-object v5
16198 + :cond_25
16199 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16201 + const/4 v3, 0x0
16203 + const-string/jumbo v4, "networkInfoCurrent"
16205 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16207 + goto :goto_24
16208 +.end method
16210 +.method private getSimInfo()Ljava/lang/String;
16211 + .registers 8
16213 + const/4 v5, 0x0
16215 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16217 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16219 + move-result-object v1
16221 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16223 + move-result v2
16225 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16227 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16229 + move-result-object v6
16231 + if-eqz v6, :cond_25
16233 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSimInfoSetting()B
16235 + move-result v0
16237 + if-eqz v0, :cond_25
16239 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16241 + const/4 v3, 0x1
16243 + const-string/jumbo v4, "networkInfoSIM"
16245 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16247 + const-string v5, ""
16249 + :goto_24
16250 + return-object v5
16252 + :cond_25
16253 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16255 + const/4 v3, 0x0
16257 + const-string/jumbo v4, "networkInfoSIM"
16259 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16261 + goto :goto_24
16262 +.end method
16265 +# virtual methods
16266 +.method public getDeviceId()Ljava/lang/String;
16267 + .registers 8
16269 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16271 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16273 + move-result-object v1
16275 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16277 + move-result v2
16279 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16281 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16283 + move-result-object v6
16285 + if-eqz v6, :cond_28
16287 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
16289 + move-result v0
16291 + if-eqz v0, :cond_28
16293 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceId()Ljava/lang/String;
16295 + move-result-object v5
16297 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16299 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
16301 + move-result v3
16303 + const-string v4, "deviceID"
16305 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16307 + :goto_27
16308 + return-object v5
16310 + :cond_28
16311 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getDeviceId()Ljava/lang/String;
16313 + move-result-object v5
16315 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16317 + const/4 v3, 0x0
16319 + const-string v4, "deviceID"
16321 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16323 + goto :goto_27
16324 +.end method
16326 +.method public getLine1Number()Ljava/lang/String;
16327 + .registers 8
16329 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16331 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16333 + move-result-object v1
16335 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16337 + move-result v2
16339 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16341 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16343 + move-result-object v6
16345 + if-eqz v6, :cond_28
16347 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
16349 + move-result v0
16351 + if-eqz v0, :cond_28
16353 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1Number()Ljava/lang/String;
16355 + move-result-object v5
16357 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16359 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
16361 + move-result v3
16363 + const-string v4, "line1Number"
16365 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16367 + :goto_27
16368 + return-object v5
16370 + :cond_28
16371 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getLine1Number()Ljava/lang/String;
16373 + move-result-object v5
16375 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16377 + const/4 v3, 0x0
16379 + const-string v4, "line1Number"
16381 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16383 + goto :goto_27
16384 +.end method
16386 +.method public getNeighboringCellInfo()Ljava/util/List;
16387 + .registers 10
16388 + .annotation system Ldalvik/annotation/Signature;
16389 + value = {
16390 + "()",
16391 + "Ljava/util/List",
16392 + "<",
16393 + "Landroid/telephony/NeighboringCellInfo;",
16394 + ">;"
16396 + .end annotation
16398 + iget-object v6, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16400 + iget-object v7, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16402 + invoke-virtual {v7}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16404 + move-result-object v7
16406 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16408 + move-result v8
16410 + invoke-virtual {v6, v7, v8}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16412 + move-result-object v5
16414 + const/4 v3, 0x0
16416 + const-string v4, "[null]"
16418 + if-eqz v5, :cond_1c
16420 + invoke-virtual {v5}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
16422 + move-result v6
16424 + const/4 v7, 0x1
16426 + if-ne v6, v7, :cond_1d
16428 + :cond_1c
16429 + :goto_1c
16430 + return-object v3
16432 + :cond_1d
16433 + invoke-virtual {v5}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
16435 + move-result v6
16437 + if-eqz v6, :cond_2b
16439 + new-instance v3, Ljava/util/ArrayList;
16441 + invoke-direct {v3}, Ljava/util/ArrayList;-><init>()V
16443 + const-string v4, "[empty list of cells]"
16445 + goto :goto_1c
16447 + :cond_2b
16448 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNeighboringCellInfo()Ljava/util/List;
16450 + move-result-object v3
16452 + const-string v0, ""
16454 + invoke-interface {v3}, Ljava/util/List;->iterator()Ljava/util/Iterator;
16456 + move-result-object v2
16458 + :goto_35
16459 + invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z
16461 + move-result v6
16463 + if-eqz v6, :cond_5f
16465 + invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
16467 + move-result-object v1
16469 + check-cast v1, Landroid/telephony/NeighboringCellInfo;
16471 + new-instance v6, Ljava/lang/StringBuilder;
16473 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
16475 + invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16477 + move-result-object v6
16479 + const-string v7, "\t"
16481 + invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16483 + move-result-object v6
16485 + invoke-virtual {v6, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
16487 + move-result-object v6
16489 + const-string v7, "\n"
16491 + invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16493 + move-result-object v6
16495 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
16497 + move-result-object v0
16499 + goto :goto_35
16501 + :cond_5f
16502 + new-instance v6, Ljava/lang/StringBuilder;
16504 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
16506 + const-string v7, "[real value]:\n"
16508 + invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16510 + move-result-object v6
16512 + invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16514 + move-result-object v6
16516 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
16518 + move-result-object v4
16520 + goto :goto_1c
16521 +.end method
16523 +.method public getNetworkCountryIso()Ljava/lang/String;
16524 + .registers 2
16526 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getNetworkInfo()Ljava/lang/String;
16528 + move-result-object v0
16530 + if-nez v0, :cond_a
16532 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNetworkCountryIso()Ljava/lang/String;
16534 + move-result-object v0
16536 + :cond_a
16537 + return-object v0
16538 +.end method
16540 +.method public getNetworkOperator()Ljava/lang/String;
16541 + .registers 2
16543 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getNetworkInfo()Ljava/lang/String;
16545 + move-result-object v0
16547 + if-nez v0, :cond_a
16549 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNetworkOperator()Ljava/lang/String;
16551 + move-result-object v0
16553 + :cond_a
16554 + return-object v0
16555 +.end method
16557 +.method public getNetworkOperatorName()Ljava/lang/String;
16558 + .registers 2
16560 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getNetworkInfo()Ljava/lang/String;
16562 + move-result-object v0
16564 + if-nez v0, :cond_a
16566 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNetworkOperatorName()Ljava/lang/String;
16568 + move-result-object v0
16570 + :cond_a
16571 + return-object v0
16572 +.end method
16574 +.method public getSimCountryIso()Ljava/lang/String;
16575 + .registers 2
16577 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getSimInfo()Ljava/lang/String;
16579 + move-result-object v0
16581 + if-nez v0, :cond_a
16583 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSimCountryIso()Ljava/lang/String;
16585 + move-result-object v0
16587 + :cond_a
16588 + return-object v0
16589 +.end method
16591 +.method public getSimOperator()Ljava/lang/String;
16592 + .registers 2
16594 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getSimInfo()Ljava/lang/String;
16596 + move-result-object v0
16598 + if-nez v0, :cond_a
16600 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSimOperator()Ljava/lang/String;
16602 + move-result-object v0
16604 + :cond_a
16605 + return-object v0
16606 +.end method
16608 +.method public getSimOperatorName()Ljava/lang/String;
16609 + .registers 2
16611 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getSimInfo()Ljava/lang/String;
16613 + move-result-object v0
16615 + if-nez v0, :cond_a
16617 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSimOperatorName()Ljava/lang/String;
16619 + move-result-object v0
16621 + :cond_a
16622 + return-object v0
16623 +.end method
16625 +.method public getSimSerialNumber()Ljava/lang/String;
16626 + .registers 8
16628 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16630 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16632 + move-result-object v1
16634 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16636 + move-result v2
16638 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16640 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16642 + move-result-object v6
16644 + if-eqz v6, :cond_29
16646 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSimSerialNumberSetting()B
16648 + move-result v0
16650 + if-eqz v0, :cond_29
16652 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSimSerialNumber()Ljava/lang/String;
16654 + move-result-object v5
16656 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16658 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSimSerialNumberSetting()B
16660 + move-result v3
16662 + const-string/jumbo v4, "simSerial"
16664 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16666 + :goto_28
16667 + return-object v5
16669 + :cond_29
16670 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSimSerialNumber()Ljava/lang/String;
16672 + move-result-object v5
16674 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16676 + const/4 v3, 0x0
16678 + const-string/jumbo v4, "simSerial"
16680 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16682 + goto :goto_28
16683 +.end method
16685 +.method public getSubscriberId()Ljava/lang/String;
16686 + .registers 8
16688 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16690 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16692 + move-result-object v1
16694 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16696 + move-result v2
16698 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16700 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16702 + move-result-object v6
16704 + if-eqz v6, :cond_29
16706 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberIdSetting()B
16708 + move-result v0
16710 + if-eqz v0, :cond_29
16712 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberId()Ljava/lang/String;
16714 + move-result-object v5
16716 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16718 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberIdSetting()B
16720 + move-result v3
16722 + const-string/jumbo v4, "subscriberID"
16724 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16726 + :goto_28
16727 + return-object v5
16729 + :cond_29
16730 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSubscriberId()Ljava/lang/String;
16732 + move-result-object v5
16734 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16736 + const/4 v3, 0x0
16738 + const-string/jumbo v4, "subscriberID"
16740 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16742 + goto :goto_28
16743 +.end method
16745 +.method public getVoiceMailNumber()Ljava/lang/String;
16746 + .registers 8
16748 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16750 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16752 + move-result-object v1
16754 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16756 + move-result v2
16758 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16760 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16762 + move-result-object v6
16764 + if-eqz v6, :cond_28
16766 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
16768 + move-result v0
16770 + if-eqz v0, :cond_28
16772 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1Number()Ljava/lang/String;
16774 + move-result-object v5
16776 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16778 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
16780 + move-result v3
16782 + const-string v4, "line1Number"
16784 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16786 + :goto_27
16787 + return-object v5
16789 + :cond_28
16790 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getVoiceMailNumber()Ljava/lang/String;
16792 + move-result-object v5
16794 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16796 + const/4 v3, 0x0
16798 + const-string v4, "line1Number"
16800 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16802 + goto :goto_27
16803 +.end method
16805 +.method public listen(Landroid/telephony/PhoneStateListener;I)V
16806 + .registers 4
16808 + and-int/lit8 v0, p2, 0x10
16810 + if-nez v0, :cond_8
16812 + and-int/lit8 v0, p2, 0x20
16814 + if-eqz v0, :cond_21
16816 + :cond_8
16817 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16819 + invoke-virtual {p1, v0}, Landroid/telephony/PhoneStateListener;->setContext(Landroid/content/Context;)V
16821 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
16823 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16825 + move-result-object v0
16827 + invoke-virtual {p1, v0}, Landroid/telephony/PhoneStateListener;->setPackageName(Ljava/lang/String;)V
16829 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16831 + move-result v0
16833 + invoke-virtual {p1, v0}, Landroid/telephony/PhoneStateListener;->setUid(I)V
16835 + invoke-super {p0, p1, p2}, Landroid/telephony/TelephonyManager;->listen(Landroid/telephony/PhoneStateListener;I)V
16837 + :goto_20
16838 + return-void
16840 + :cond_21
16841 + invoke-super {p0, p1, p2}, Landroid/telephony/TelephonyManager;->listen(Landroid/telephony/PhoneStateListener;I)V
16843 + goto :goto_20
16844 +.end method
16845 diff -NpruEbB stock_framework/smali/android/telephony/PhoneStateListener$1.smali moded_framework/smali/android/telephony/PhoneStateListener$1.smali
16846 --- stock_framework/smali/android/telephony/PhoneStateListener$1.smali 2012-09-13 08:58:07.174075289 -0700
16847 +++ moded_framework/smali/android/telephony/PhoneStateListener$1.smali 2012-09-13 08:58:55.580641077 -0700
16848 @@ -64,23 +64,196 @@
16849 .end method
16851 .method public onCallStateChanged(ILjava/lang/String;)V
16852 - .registers 6
16853 + .registers 19
16855 - iget-object v0, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16856 + move-object/from16 v0, p0
16858 - iget-object v0, v0, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
16859 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16861 - const/16 v1, 0x20
16862 + #getter for: Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
16863 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
16865 - const/4 v2, 0x0
16866 + move-result-object v3
16868 - invoke-static {v0, v1, p1, v2, p2}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
16869 + if-eqz v3, :cond_99
16871 - move-result-object v0
16872 + if-eqz p2, :cond_99
16874 - invoke-virtual {v0}, Landroid/os/Message;->sendToTarget()V
16875 + invoke-virtual/range {p2 .. p2}, Ljava/lang/String;->isEmpty()Z
16877 + move-result v3
16879 + if-nez v3, :cond_99
16881 + move-object/from16 v0, p0
16883 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16885 + #getter for: Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
16886 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
16888 + move-result-object v3
16890 + const-string/jumbo v4, "privacy"
16892 + invoke-virtual {v3, v4}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
16894 + move-result-object v2
16896 + check-cast v2, Landroid/privacy/PrivacySettingsManager;
16898 + move-object/from16 v0, p0
16900 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16902 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
16903 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
16905 + move-result-object v3
16907 + move-object/from16 v0, p0
16909 + iget-object v4, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16911 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
16912 + invoke-static {v4}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
16914 + move-result v4
16916 + invoke-virtual {v2, v3, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16918 + move-result-object v8
16920 + if-eqz v8, :cond_6a
16922 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getIncomingCallsSetting()B
16924 + move-result v3
16926 + if-eqz v3, :cond_6a
16928 + const-string v7, ""
16930 + move-object/from16 v0, p0
16932 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16934 + iget-object v3, v3, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
16936 + const/16 v4, 0x20
16938 + const/4 v5, 0x0
16940 + move/from16 v0, p1
16942 + invoke-static {v3, v4, v0, v5, v7}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
16944 + move-result-object v3
16946 + invoke-virtual {v3}, Landroid/os/Message;->sendToTarget()V
16948 + move-object/from16 v0, p0
16950 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16952 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
16953 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
16955 + move-result-object v3
16957 + move-object/from16 v0, p0
16959 + iget-object v4, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16961 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
16962 + invoke-static {v4}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
16964 + move-result v4
16966 + const/4 v5, 0x1
16968 + const-string v6, "incomingCall"
16970 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16972 + :goto_69
16973 return-void
16975 + :cond_6a
16976 + move-object/from16 v0, p0
16978 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
16980 + iget-object v3, v3, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
16982 + const/16 v4, 0x20
16984 + const/4 v5, 0x0
16986 + move/from16 v0, p1
16988 + move-object/from16 v1, p2
16990 + invoke-static {v3, v4, v0, v5, v1}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
16992 + move-result-object v3
16994 + invoke-virtual {v3}, Landroid/os/Message;->sendToTarget()V
16996 + move-object/from16 v0, p0
16998 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
17000 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
17001 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
17003 + move-result-object v10
17005 + move-object/from16 v0, p0
17007 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
17009 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
17010 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
17012 + move-result v11
17014 + const/4 v12, 0x0
17016 + const-string v13, "incomingCall"
17018 + move-object v9, v2
17020 + move-object/from16 v14, p2
17022 + move-object v15, v8
17024 + invoke-virtual/range {v9 .. v15}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
17026 + goto :goto_69
17028 + :cond_99
17029 + move-object/from16 v0, p0
17031 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
17033 + iget-object v3, v3, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
17035 + const/16 v4, 0x20
17037 + const/4 v5, 0x0
17039 + move/from16 v0, p1
17041 + move-object/from16 v1, p2
17043 + invoke-static {v3, v4, v0, v5, v1}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
17045 + move-result-object v3
17047 + invoke-virtual {v3}, Landroid/os/Message;->sendToTarget()V
17049 + goto :goto_69
17050 .end method
17052 .method public onCellInfoChanged(Landroid/telephony/CellInfo;)V
17053 @@ -104,27 +277,124 @@
17054 .end method
17056 .method public onCellLocationChanged(Landroid/os/Bundle;)V
17057 - .registers 6
17058 + .registers 10
17060 + const/4 v5, 0x0
17062 const/4 v3, 0x0
17064 invoke-static {p1}, Landroid/telephony/CellLocation;->newFromBundle(Landroid/os/Bundle;)Landroid/telephony/CellLocation;
17066 + move-result-object v7
17068 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
17070 + #getter for: Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
17071 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
17073 + move-result-object v1
17075 + if-eqz v1, :cond_4a
17077 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
17079 + #getter for: Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
17080 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
17082 + move-result-object v1
17084 + const-string/jumbo v2, "privacy"
17086 + invoke-virtual {v1, v2}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
17088 move-result-object v0
17090 + check-cast v0, Landroid/privacy/PrivacySettingsManager;
17092 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
17094 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
17095 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
17097 + move-result-object v1
17099 + iget-object v2, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
17101 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
17102 + invoke-static {v2}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
17104 + move-result v2
17106 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
17108 + move-result-object v6
17110 + if-eqz v6, :cond_4b
17112 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
17114 + move-result v1
17116 + if-eqz v1, :cond_4b
17118 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
17120 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
17121 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
17123 + move-result-object v1
17125 + iget-object v2, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
17127 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
17128 + invoke-static {v2}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
17130 + move-result v2
17132 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
17134 + move-result v3
17136 + const-string v4, "locationNetwork"
17138 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
17140 + :cond_4a
17141 + :goto_4a
17142 + return-void
17144 + :cond_4b
17145 iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
17147 iget-object v1, v1, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
17149 const/16 v2, 0x10
17151 - invoke-static {v1, v2, v3, v3, v0}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
17152 + invoke-static {v1, v2, v3, v3, v7}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
17154 move-result-object v1
17156 invoke-virtual {v1}, Landroid/os/Message;->sendToTarget()V
17158 - return-void
17159 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
17161 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
17162 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
17164 + move-result-object v1
17166 + iget-object v2, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
17168 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
17169 + invoke-static {v2}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
17171 + move-result v2
17173 + const-string v4, "locationNetwork"
17175 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
17177 + goto :goto_4a
17178 .end method
17180 .method public onDataActivity(I)V
17181 diff -NpruEbB stock_framework/smali/android/telephony/PhoneStateListener.smali moded_framework/smali/android/telephony/PhoneStateListener.smali
17182 --- stock_framework/smali/android/telephony/PhoneStateListener.smali 2012-09-13 08:58:03.614224735 -0700
17183 +++ moded_framework/smali/android/telephony/PhoneStateListener.smali 2012-09-13 08:58:52.056799126 -0700
17184 @@ -31,12 +31,20 @@
17186 .field public static final LISTEN_SIGNAL_STRENGTHS:I = 0x100
17188 +.field private static final TAG:Ljava/lang/String; = "PhoneStateListener"
17191 # instance fields
17192 .field callback:Lcom/android/internal/telephony/IPhoneStateListener;
17194 +.field private context:Landroid/content/Context;
17196 .field mHandler:Landroid/os/Handler;
17198 +.field private packageName:Ljava/lang/String;
17200 +.field private uid:I
17203 # direct methods
17204 .method public constructor <init>()V
17205 @@ -59,6 +67,30 @@
17206 return-void
17207 .end method
17209 +.method static synthetic access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
17210 + .registers 2
17212 + iget-object v0, p0, Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
17214 + return-object v0
17215 +.end method
17217 +.method static synthetic access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
17218 + .registers 2
17220 + iget-object v0, p0, Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
17222 + return-object v0
17223 +.end method
17225 +.method static synthetic access$200(Landroid/telephony/PhoneStateListener;)I
17226 + .registers 2
17228 + iget v0, p0, Landroid/telephony/PhoneStateListener;->uid:I
17230 + return v0
17231 +.end method
17234 # virtual methods
17235 .method public onCallForwardingIndicatorChanged(Z)V
17236 @@ -134,3 +166,27 @@
17238 return-void
17239 .end method
17241 +.method public setContext(Landroid/content/Context;)V
17242 + .registers 2
17244 + iput-object p1, p0, Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
17246 + return-void
17247 +.end method
17249 +.method public setPackageName(Ljava/lang/String;)V
17250 + .registers 2
17252 + iput-object p1, p0, Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
17254 + return-void
17255 +.end method
17257 +.method public setUid(I)V
17258 + .registers 2
17260 + iput p1, p0, Landroid/telephony/PhoneStateListener;->uid:I
17262 + return-void
17263 +.end method
17264 diff -NpruEbB stock_framework/smali/android/widget/AppSecurityPermissions.smali moded_framework/smali/android/widget/AppSecurityPermissions.smali
17265 --- stock_framework/smali/android/widget/AppSecurityPermissions.smali 2012-09-13 08:58:09.312586244 -0700
17266 +++ moded_framework/smali/android/widget/AppSecurityPermissions.smali 2012-09-13 08:58:57.565115230 -0700
17267 @@ -1883,7 +1883,7 @@
17269 iget-boolean v0, p0, Landroid/widget/AppSecurityPermissions;->localLOGV:Z
17271 - if-eqz v0, :cond_1e
17272 + if-eqz v0, :cond_1f
17274 const-string v0, "AppSecurityPermissions"
17276 @@ -1891,7 +1891,7 @@
17278 invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
17280 - const-string v2, "mExpanded="
17281 + const-string/jumbo v2, "mExpanded="
17283 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17285 @@ -1909,22 +1909,22 @@
17287 invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
17289 - :cond_1e
17290 + :cond_1f
17291 iget-boolean v0, p0, Landroid/widget/AppSecurityPermissions;->mExpanded:Z
17293 - if-nez v0, :cond_29
17294 + if-nez v0, :cond_2a
17296 const/4 v0, 0x1
17298 - :goto_23
17299 + :goto_24
17300 iput-boolean v0, p0, Landroid/widget/AppSecurityPermissions;->mExpanded:Z
17302 invoke-direct {p0}, Landroid/widget/AppSecurityPermissions;->showPermissions()V
17304 return-void
17306 - :cond_29
17307 + :cond_2a
17308 const/4 v0, 0x0
17310 - goto :goto_23
17311 + goto :goto_24
17312 .end method